Verilog实验指导书(1)

  • 格式:doc
  • 大小:9.85 MB
  • 文档页数:19

实验指导书实验一:Quartus II软件操作1.实验目的(1)掌握组合逻辑电路的设计方法。

(2)掌握Quartus II 软件的使用方法,以及原理图输入方法。

(3)掌握半加器和全加器的电路设计。

2.Quartus II 的原理图输入法本节通过几个简单的例子向大家介绍FPGA开发软件Quartus II的原理图输入法的设计步骤。

Quartus II 的原理图编辑输入法设计电路时,首先要建立设计项目。

第1步:打开Quartus II。

第2步:新建一个空项目。

执行File->New Project Wizard命令,进入新建项目向导。

如图1-1所示,填入项目的名称,默认项目保存路径在Quartus安装下,建议修改为其他地址,新建一个文件夹作为当前项目存放地址。

图1-1 新建项目向导第3步:执行Next,进入向导的下一页进行项目内文件的添加操作,如果没有文件需要添加进项目,则直接按Next按钮既可。

第4步:指定CPLD/FPGA器件,如图1-2所示,选择芯片系列为“CycloneII”,型号为“EP2C35F672C6N”。

选择型号时,可直接在列表框中查找,也可通过指定封装方式(Package)为“FBGA”、引脚数(Pin count)为“672”以及速度等级(Speed grade)为“6”这3个参数值来进行筛选。

图1-2 器件选择第5步:向导的后面几步不做更改,直接按Next即可,最后按Finish结束向导。

到此即完成了一个项目的新建工作。

第6步:新建一个图形文件。

由于之前建立的项目还是一个空项目,所以接着需要为项目新建文件。

执行File->New命令,在“Device Design Files”选项页中选择“Block Diagram/Schematic File”,然后点击OK按钮。

将该图形文件另存为hadder.bdf。

图形编辑窗口如图1-3所示,窗口左边是图形编辑工具条。

图1-3 图形编辑窗口第7步:在图形编辑窗口的空白处双击,打开符号库窗口,如图1-4所示。

展开符号库“c://.../libraries/”,可以看到有三个类别,分别是“megafunctions”——表示具有宏功能的符号,“others”——主要是一些常用的集成电路符号,“primitives”——主要是一些基本门电路符号、引脚和接地、电源符号等。

窗口中的“name”框可快速检索到需要的符号,例如当输入型号“7408”,符号库立刻找到相应集成电路的符号,如图1-5所示。

图1-4符号库图1-5 选中符号方法一第8步:选择好需要的符号后,单击OK按钮,界面将回到原理图编辑界面,然后单击左键即在窗口内放置该符号。

再用同样的方法,在“name”框中输入“xor”即可找到异或门的符号,如图1-6所示。

图1-6 选中符号方法二第9步:在图形编辑窗口中分别放置与门“7408”和异或门“xor”,如图1-7所示。

图1-7 图形编辑窗口第10步:再次打开符号,在“name”栏中输入“input”,符号库自动在库中找到输入“input”符号(如图3-8所示),并选中“Repeat-insert mode”点击OK 按钮,可反复在编辑窗口中放入输入符号,直到单击右键取消放置为止。

由于输入信号一共有2个,所以需要放入2个输入符号,并将2个输入符号命名为a和b。

用同样的方法放置2个输出“output”符号,并分别命名为s、cout。

再选择工具栏中的按钮,将各符号连接起来,结果如图1-9所示。

图1-8 “input”符号图1-9 符号连接第11步:保存图形文件,进行语法检查和编译。

通过快捷按钮,对上面的原理图进行语法检查和综合,同时在信息(Messages)窗口中显示检查结果,如原理图设计中有错误,也将指出错误的地方以便修正。

如果没有错误,则使用快捷按钮进行编译。

编译结束后会自动打开一个编译报告(Compilation Report)窗口,如图3-10所示。

图1-10 编译报告第12步:仿真。

在开发板上实现该电路之前,可以先在Quartus软件中对电路进行功能仿真,以测试电路逻辑的正确性。

在仿真之前,先要建立一个矢量波形文件,包含输入信号的波形,并指定需要观察的输出信号。

执行File->New命令,选择“Other Files”选项页中Vector Waveform File,并单击OK按钮,打开矢量波形编辑器窗口,如图1-11所示。

图1-11 矢量波形编辑器窗口第13步:另存矢量波形文件为hadder.vwf。

执行Edit->Insert Node or Bus命令,将需要仿真的输入和输出节点加入到波形中来,其窗口如图1-12所示。

可以在Name框中直接输入节点的名称,也可点击Node Finder按钮,打开节点搜索窗口,如图1-13所示。

在Filter下拉框中选择所要寻找的节点类型,这里选择“Pins:all”,点击List按钮,在Nodes Found框中列出所有的引脚。

图1-12 加入要仿真的输入输出节点图1-13 节点搜索窗口第14步:选择所有引脚,单击按钮,将所有引脚添加到Selected Nodes框中,再按OK按钮返回波形编辑器窗口,如图1-14所示。

选择波形工具栏中的按钮,在波形图上左击或右击分别进行波形的放大和缩小。

图1-14 波形编辑器窗口第15步:编辑a和b的输入波形,再由仿真器输出y的波形。

首先选中需要编辑的波形区间,再选择波形工具栏中的按钮,对选中区间进行置1或0。

最后的输入波形如图1-15所示,保存矢量波形文件。

图1-15 编辑输入波形第16步:功能仿真。

选择Processing->Simulator Tool,窗口如图1-16所示。

选择仿真模式(Simulator mode)为“Functional”,并选择hadder.vwf文件作为仿真输入(Simulation input)波形文件。

点击Generate Functional Simulation Netlist按钮,生成仿真网表。

然后点击Start按钮,开始仿真。

在仿真完成后,点击Report按钮即可观看仿真的结果,如图1-17所示。

从波形可以看出,程序的逻辑功能与半加器相符。

图1-16 仿真模式选择图1-17 功能仿真输出波形第17步:引脚分配。

通常,如果用户不对引脚进行分配,Quartus软件会自动随机为设计分配引脚,这一般无法满足需求。

在开发板上,FPGA与外部器件的连接是确定的,其连接关系可参看附录。

如果选择数码开关SW0和SW1分别代表输入信号a和b、LEDG1和LEDG0代表输出信号s和cout,则通过附录查表可知它们分别对应FPGA的引脚PIN_N25、PIN_N26、PIN_AE22和PIN_ AF22。

选择Assignments->Pins命令,打开引脚规划器(Pin Planner),如图1-18所示。

接着双击信号a的Location栏,在下拉框中选择PIN_N25,其他信号通过相同的办法进行分配。

图1-18 引脚分配第18步:在仿真正确,并锁定自定引脚后,通过按钮对项目再次编译。

第19步:时序仿真。

时序仿真不仅可以仿真其逻辑功能是否正确,同时可以仿真出信号之间的时间延迟。

时序仿真又称后仿真,通常是在编译完成后进行。

再次选择Processing->Simulator Tool,并将仿真模式设为“Timing”,然后点击Start按钮。

最后点击Report按钮查看仿真结果,结果如图1-19所示。

与功能仿真结果图相比较,可以看出时序仿真的输出带有一定的延迟。

如图1-19时序仿真波形第20步:程序下载(配置FPGA)。

用USB连接线连接DE2的USB Blaster端口和电脑即可进行程序的下载。

在DE2平台上,可以对FPGA进行两种模式配置:一种是JTAG模式,通过USB Blaster直接配置FPGA,但掉电后,FPGA中的配置内容会丢失,再次上电需要用电脑重新配置;另一种是在AS模式下,通过USB Blaster对DE2平台上的串行配置器件EPCS16进行编程,平台上电后,EPCS16会自动配置FPGA。

通过DE2平台上的SW19选择配置模式,SW19置于RUN位置,即选择JTAG模式配置;置于PROG位置,则选择AS模式对EPCS16进行编程。

第21步:JTAG模式配置。

1)用USB连接线连接DE2和电脑,将SW19置于RUN位置。

选择Tools->Programmer命令,打开配置窗口,如图1-20所示。

图1-20 下载配置窗口2)图中第一列显示“No Hardware”,说明未指定硬件设备,单击Hardware Setup按钮,打开硬件设置窗口,如下图所示。

双击列表框中的USB-Blaster,然后点击Close按钮,完成硬件设置。

3)从下图可以看出,硬件已经设置完成,而且待配置的文件也已经在文件列表中。

然后选中Program/Config选项,单击Start按钮,开始编程。

编程结束后,即可在DE2上验证。

第22步:AS模式配置。

1)首先需要设置串口配置器件,选择Assignments->Settings命令,打开设置窗口如下图所示。

2)单击Device&Pin Options..按钮,打开器件及引脚选项窗口,如下图所示。

切换到Configuration页。

在Configuration Device下拉框中选择“EPCS16”,单击OK按钮结束配置。

3)将DE2上的SW19置于PROG位置。

重新选择Tools->Programmer命令,打开编程窗口,在Mode下拉框中选择“Active Serial Programming”,这时会弹出下图的对话框,提示是否清除现有编程器件,选择“是”即可。

4)接着需要重新添加配置文件,单击Add Files按钮,添加and2.pof配置文件。

选中Program/Config选项。

单击Start按钮,开始编程。

编程结束后,将SW19置于RUN位置,再进行测试。

附录:DE2平台上EP2C35F672的引脚分配表。