- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FPGA入门及QuartusII使用教程(内部资料).doc
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
您可能关注的文档
- E调控一体化防误管理系统(中间版).ppt
- E网智慧供热.ppt
- FANUC数控系统综合实验台电气原理主轴.ppt
- FanucRobotBasicTrainingFANUC机器人培训教材(基本).ppt
- FDA药品质量控制实验室检查指南培训.ppt
- FDLTE网络优化无线参数部分.ppt
- FDWTCD温度传感器特性综合实验仪说明书.doc
- FEM绪论及弹性力学基础.ppt
- FEM绪论及弹性力学基础cai.ppt
- FE第六章蒸发.ppt
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)