Quartus软件操作.docx
《Quartus软件操作.docx》由会员分享,可在线阅读,更多相关《Quartus软件操作.docx(17页珍藏版)》请在冰豆网上搜索。
Quartus软件操作
Quartus软件操作
Quartus的学习以与了解DE2,通过简单stepbystep例子的引导。
本实验通过几个简单的例子向大家介绍FPGA开发软件QuartusII的使用流程以与文本输入和图形输入法的设计步骤。
1.Quartus
的文本编辑输入法
QuartusII的文本编辑输入法设计电路时,首先要建立设计项目
实验步骤:
第1步:
打开QuartusII。
第2步:
新建一个空项目。
执行File->NewProjectWizard命令,进入新建项目向导。
如如下图所示,填入项目的名称,默认项目保存路径在Quartus安装下,也可修改为其他地址,视具体情况而定。
〔图中and2的地方改为输入and2gate〕
第3步:
执行Next,进入向导的下一页进展项目内文件的添加操作,如果没有文件需要添加进项目,如此直接按Next按钮既可。
第4步:
指定CPLD/FPGA器件,如如下图所示,选择芯片系列为“CycloneII〞,型号为“EP2C35F672C6N〞。
选择型号时,可直接在列表框中查找,也可通过指定封装方式〔Package〕为“FBGA〞、引脚数〔Pincount〕为“672〞以与速度等级〔Speedgrade〕为“6〞这3个参数值来进展筛选。
第5步:
向导的后面几步不做更改,直接按Next即可,最后按Finish完毕向导。
到此即完成了一个项目的新建工作。
第6步:
新建一个VHDL文件。
由于之前建立的项目还是一个空项目,所以接着需要为项目新建文件。
执行File->New命令,在“DeviceDesignFiles〞选项页中选择“VHDLFile〞,然后点击OK按钮。
这时自动新建一个名为Vhdl1.vhd的文档,执行File->SaveAs命令,将文档另存为and2gate.vhd文件,结果如下列图。
第7步:
代码输入。
在and2gate.vhd代码编辑窗口内输入以下代码:
libraryieee;
entityand2gateis
port(
a,b:
instd_logic;
y:
outstd_logic);
endand2gate;
architecturebehav_and2gateofand2gateis
begin
y<=aandb;
endbehav_and2gate;
第8步:
代码的语法检查和编译。
通过快捷按钮
,对上面的代码进展语法检查和综合,同时在信息〔Messages〕窗口中显示检查结果,如程序中有错误,也将指出错误的地方以便修正。
如果没有错误,如此使用快捷按钮进展编译。
编译完毕后会自动打开一个编译报告〔pilationReport〕窗口,如下列图。
第9步:
仿真。
在DE2平台上实现该电路之前,可以先在Quartus软件中对电路进展功能仿真,以测试电路逻辑的正确性。
在仿真之前,先要建立一个矢量波形文件,包含输入信号的波形,并指定需要观察的输出信号。
执行File->New命令,选择“OtherFiles〞选项页中VectorWaveformFile,并单击OK按钮,打开矢量波形编辑器窗口,如如下图所示。
第10步:
另存矢量波形文件为and2gate.vwf。
执行Edit->InsertNodeorBus命令,将需要仿真的输入和输出节点参加到波形中来。
其窗口如如下图所示。
可以在Name框中直接输入节点的名称,也可点击“NodeFinder〞按钮,打开节点搜索窗口,如如下图所示。
在Filter下拉框中选择所要寻找的节点类型,这里选择“Pins:
all〞,点击List按钮,在NodesFound框中列出所有的引脚。
第11步:
选择所有引脚,单击
按钮,将所有引脚添加到SelectedNodes框中,再按OK按钮返回波形编辑器窗口,如如下图所示。
选择波形工具栏中的
按钮,在波形图上左击或右击分别进展波形的放大和缩小。
第12步:
编辑a和b的输入波形,再由仿真器输出y的波形。
首先选中需要编辑的波形区间,再选择波形工具栏中的
按钮,对选中区间进展置1或0。
最后的输入波形如如下图所示,保存矢量波形文件。
第13步:
功能仿真。
选择Processing->SimulatorTool,窗口如如下图所示。
选择仿真模式〔Simulatormode〕为“Functional〞,并选择and2gate.vwf文件作为仿真输入〔Simulationinput〕波形文件。
点击GenerateFunctionalSimulationNetlist按钮,生成仿真网表。
然后点击Start按钮,开始仿真。
在仿真完成后,点击Report按钮即可观看仿真的结果,如如下图所示。
从波形可以看出,程序的逻辑功能是正确的。
第14步:
时序仿真。
再次选择Processing->SimulatorTool,并将仿真模式设为“Timing〞,然后点击Start按钮。
最后点击Report按钮查看仿真结果,结果如如下图。
与功能仿真结果图相比拟,可以看出时序仿真的输出带有一定的延迟。
第15步:
引脚分配。
在之前的编译过程中,Quartus软件已经自动为设计分配了引脚。
而在DE2平台上,FPGA与外部器件的连接是确定的,其连接关系可参看附录A和B。
如果选择SW0和SW1分别代表输入信号a和b、LEDG0代表输出信号y,如此通过附录B查表可知它们分别对应FPGA的引脚PIN_N25、PIN_N26和PIN_AE22。
选择Assignments->Pins命令,打开引脚规划器〔PinPlanner〕,如如下图所示。
接着双击信号a的Location栏,在下拉框中选择PIN_N25,其他信号通过一样的方法进展分配。
第16步:
在仿真正确,并锁定自定引脚后,通过按钮
对项目再次编译。
第17步:
程序下载〔配置FPGA〕。
用USB连接线连接DE2的USBBlaster端口和电脑即可进展程序的下载。
在DE2平台上,可以对FPGA进展两种模式配置:
一种是JTAG模式,通过USBBlaster直接配置FPGA,但掉电后,FPGA中的配置内容会丢失,再次上电需要用电脑重新配置;另一种是在AS模式下,通过USBBlaster对DE2平台上的串行配置器件EPCS16进展编程,平台上电后,EPCS16会自动配置FPGA。
通过DE2平台上的SW19选择配置模式,SW19置于RUN位置,即选择JTAG模式配置;置于PROG位置,如此选择AS模式对EPCS16进展编程。
第18步:
JTAG模式配置。
1)用USB连接线连接DE2和电脑,将SW19置于RUN位置。
选择Tools->Programmer命令,打开配置窗口,如如下图所示。
2)图中第一列显示“NoHardware〞,说明未指定硬件设备,单击HardwareSetup按钮,打开硬件设置窗口,如如下图所示。
双击列表框中的USB-Blaster,然后点击Close按钮,完成硬件设置。
3)从如下图可以看出,硬件已经设置完成,而且待配置的文件也已经在文件列表中。
然后选中Program/Config选项,单击Start按钮,开始编程。
编程完毕后,即可在DE2上验证,将SW0和SW1置于1的位置,可以看到LEDG0灯亮。
第19步:
AS模式配置。
1)首先需要设置串口配置器件,选择Assignments->Settings命令,打开设置窗口如如下图所示。
2)单击Device&PinOptions..按钮,打开器件与引脚选项窗口,如如下图所示。
切换到Configuration页。
在ConfigurationDevice下拉框中选择“EPCS16”,单击OK按钮完毕配置。
3)将DE2上的SW19置于PROG位置。
重新选择Tools->Programmer命令,打开编程窗口,在Mode下拉框中选择“ActiveSerialProgramming〞,这时会弹出如下图的对话框,提示是否去除现有编程器件,选择“是〞即可。
4)接着需要重新添加配置文件,单击AddFiles按钮,添加and2.pof配置文件。
选中Program/Config选项。
单击Start按钮,开始编程。
编程完毕后,将SW19置于RUN位置,再进展测试。
2简单电路的设计
用上面同样的方法设计以下3个简单的电路。
三态门
电路有2个输入信号:
数据输入信号din和三态使能信号en。
还有一个输出信号dout。
三态门的逻辑功能是:
当en='1'时,dout<=din;当en='0'时,dout<='Z'。
VHDL程序如下:
libraryieee;
entitytrigateis
port(
din,en:
instd_logic;
dout:
outstd_logic);
endtrigate;
architecturebehave_trigateoftrigateis
begin
process(en,din)
begin
if(en='1')then
dout<=din;
else
dout<='Z';
endif;
endprocess;
endbehave_trigate;
实验步骤如下:
第1步:
在前面那个项目的根底上新建一个VHDL文件,起名为trigate.vhd,并输入上方的源程序。
第2步:
在项目导向〔ProjectNavigator〕窗口中,选择文件〔Files〕管理页面,点开DeviceDesignFiles项,右击trigate.vhd文件,选择“SetasTop-LevelEntity〞选项。
目的是将trigate.vhd文件设为项目的顶层实体。
第3步:
对源程序进展语法检查,直到程序无误。
第4步:
功能仿真,新建矢量波形图,起名为trigate.vwf,仿真结果如如下图。
第5步:
按照下表进展引脚分配。
重新编译,并下载。
信号
FPGA引脚
DE2板上器件
din
PIN_N25
SW0
en
PIN_N26
SW1
dout
PIN_AE22
LEDG0
2.Quartus
的图形编辑输入法
三态与门
利用前面已完成的与门和三态门组合成一个三态与门。
与前面两个例子不同的是,在这里不是采用文本编辑器完成设计输入,而是采用图形编辑器。
图形编辑输入法也称为原理图输入设计法。
用QuartusII的原理图输入设计法进展数字系统设计时,不需要了解任何硬件描述语言知识,只要掌握数字逻辑电路根本知识,就能使用QuartusII提供的EDA平台设计数字电路或系统。
QuartusII的原理图输入设计法可以与传统的数字电路设计法接轨,即把传统方法得到的设计电路的原理图,用EDA平台完成设计电路的输入、仿真验证和综合,最后编程下载到可编程逻辑器件(FPGA/CPLD)或专用集成电路(ASIC)中。
在EDA设计中,不必进展传统电路设计过程的布线、绘制印刷电路板、电路焊接、电路加电测试等,从而提高了设计效率,降低了设计本钱,减轻了设计者的劳动强度。
然而,原理图输入设计法的优点不仅如此,它还可以方便地实现数字系统的层次化设计,这是传统设计方法无法比拟的。
层次化设计也称为"自底向上"的设计,即将一个大的设计项目分解为假如干个子项目或假如干个层次来完成。
先从底层的电路设计开始,然后从高层次的设计中逐级调用低层次的设计结果,直至顶层系统电路的实现。
对于每个层次的设计结果,都经过严格的仿真验证,以尽量减少系统设计中的错误。
每个层次的设计均可以用原理图输入法实现,也可以用其他方法(如HDL文本输入法)实现,这种方法称为"混合设计输入法"。
层次化设计为大型系统设计与SOC或SOPC的设计提供了方便、直观的设计途径。
实验步骤如下:
第1步:
首先将上述两个VHDL文件生成为符号〔Symbol〕,以供后续步骤使用。
右击and2gate.vhd,选择CreateSymbolFilesforCurrentFile命令,即生成了and2gate符号。
用同样的方法生成trigate符号。
第2步:
新建一个图形文件。
选择File->New命令,选择“Diagram/SchematicFile〞,点击OK按钮完成。
将该图形文件另存为tri_and_gate.bdf。
图形编辑窗口如如下图所示,窗口左边是图形编辑工具条。
第3步:
在图形编辑窗口的空白处双击,打开符号库,如如下图所示。
展开Project项,可以看到有两个之前生成的符号分别是and2gate和trigate。
选择and2gate,单击OK按钮,该符号就会出现在图形编辑窗口,单击左键即在窗口内放置该符号。
用同样的方法放置trigate符号。
第4步:
再次打开符号,在name输入栏中输入“input〞,符号库自动在库中找到输入〔input〕符号,并选中“Repeat-insertmode〞点击OK按钮,可反复在编辑窗口中放入输入符号,直单击右键取消放置为止。
由于输入信号一共有3个,所以需要放入3个输入符号,并将3个输入符号命名为dina、dinb和en。
用同样的方法放置1个输出〔output〕符号,并命名为dout。
再选择工具栏中的
按钮,将各符号连接起来,结果如下列图。
第5步:
保存图形文件,并将tri_and_gate.bdf设置为顶层实体。
再次编译项目文件,并进展功能仿真,仿真结果如下列图。
第6步:
按照下表分配引脚,重新编译并下载验证。
信号
FPGA引脚
DE2上的器件
dina
PIN_N25
SW0
dinb
PIN_N26
SW1
en
PIN_P25
SW2
dout
PIN_AE22
LEDG0