文档详情

FPGA入门及QuartusII使用教程(内部资料).doc

发布:2015-12-20约9.12千字共46页下载文档
文本预览下载声明
FPGA入门及Quartus II使用教程 FPGA是英文Field?Programmable?Gate?Array的缩写,即现场可编程门阵列,它是在可编程阵列逻辑PAL(Programmable?Array?Logic)、门阵列逻辑GAL(Gate?Array?Logic)等可编程器件的基础上进一步发展的产物Application Specific Integrated Circuit )内部的所有资源,是用积木堆积起来的小房子,可以是一个欧美风情的房子,还可以是一个北京四合院…….而FPGA内部就可以说是一个个小积木,也就是内部有大量的资源提供给我们,根据我们的需求进行内部的设计。并且可以通过软件仿真,我们可以事先验证设计的正确性。…… 引脚也可以自己设置输入输出引脚并且命名。 设置当前实体为最高实体,再次进行编译 编译完成后,要分配引脚,通常分配引脚有两种方式,一种是直接在工程分配,这种方式对于引脚较少比较方便,如下图所示。 选择PIN 双击引脚分配处的to和location,就可以确定应用的FPGA引脚分配情况。 分配好引脚后,点击保存,再看原理图,每个引脚后边都有一个“小尾巴”,表示信号线的实际物理引脚分配情况。 然后再编译。最后在点击TOOL-Programmer,或者直接点击下载图标 就会出现下载对话框 点击Hardware Setup 如果你没插USB-BLASTER,打开后不会有显示,如果插上后,这里就会显示有一个硬件可以选择,右上位置选择下载方式。注意:JTAG模式和AS模式接口是不同的 选择好USB-BLASTER后,点Close,然后点Start 当前选择的是JTAG模式,因此下载程序到RAM,可以看调试结果。 至此,FPGA的原理图制作,代码编写流程及下载流程已经全部完毕。现在以一个简单的分频器来讲一下。 第一件事,如同单片机的最小系统一样,FPGA的系统需要一个时钟源作为支撑,FPGA内部有个PLL(锁相环)资源,这个PLL可以对输入频率进行倍频。因此,几乎在每个系统设计的时候,都需要对这个PLL进行设置。如下所示 选择第一个 点NEXT,往下进行选择IO栏目下的ALTPLL,给这个模块起一个名字叫PLL然后点NEXT 根据提示进行选择,选择好了后,点击进入下一个设置 在这里,把所有的勾全部去掉就可以,然后一直点下一步,一直到下面图示, 每个芯片可以设置输出的频率个数不同,当前我用的ep2s60总共有2个PLL,每个PLL可以设置6个不同的频率输出。现在就可以一直点下一步,直到Finish就可以。然后再Project里边将PLL放置到原理图上。 新建一个test_div的程序,程序代码如下 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity test_div is port( clkin:in std_logic; clkout1:out std_logic; clkout2:out std_logic ); end test_div; architecture fenpin_arc of test_div is signal count1:integer range 0 to 7; --计数寄存器16分频 signal clkbuff1:std_logic; signal count2:integer range 0 to 3; --计数寄存器8分频 signal clkbuff2:std_logic; begin process(clkin,count1,count2) begin if rising_edge(clkin) then --计数、分频1 if (count1 = 7) then count1 = 0; clkbuff1 = not clkbuff1; else count1 = count1 + 1; clkout1 = clkbuff1; end if; end if; if rising_edge(clkin) then --计数、分频2 if (count2 = 3) then
显示全部
相似文档