Verilog实验指导书1.docx
- 文档编号:10429512
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:26
- 大小:801.90KB
Verilog实验指导书1.docx
《Verilog实验指导书1.docx》由会员分享,可在线阅读,更多相关《Verilog实验指导书1.docx(26页珍藏版)》请在冰豆网上搜索。
Verilog实验指导书1
实验指导书
实验一:
QuartusII软件操作
1.实验目的
(1)掌握组合逻辑电路的设计方法。
(2)掌握QuartusII软件的使用方法,以及原理图输入方法。
(3)掌握半加器和全加器的电路设计。
2.QuartusII的原理图输入法
本节通过几个简单的例子向大家介绍FPGA开发软件QuartusII的原理图输入法的设计步骤。
QuartusII的原理图编辑输入法设计电路时,首先要建立设计项目。
第1步:
打开QuartusII。
第2步:
新建一个空项目。
执行File->NewProjectWizard命令,进入新建项目向导。
如图1-1所示,填入项目的名称,默认项目保存路径在Quartus安装下,建议修改为其他地址,新建一个文件夹作为当前项目存放地址。
图1-1新建项目向导
第3步:
执行Next,进入向导的下一页进行项目内文件的添加操作,如果没有文件需要添加进项目,则直接按Next按钮既可。
第4步:
指定CPLD/FPGA器件,如图1-2所示,选择芯片系列为“CycloneII”,型号为“EP2C35F672C6N”。
选择型号时,可直接在列表框中查找,也可通过指定封装方式(Package)为“FBGA”、引脚数(Pincount)为“672”以及速度等级(Speedgrade)为“6”这3个参数值来进行筛选。
图1-2器件选择
第5步:
向导的后面几步不做更改,直接按Next即可,最后按Finish结束向导。
到此即完成了一个项目的新建工作。
第6步:
新建一个图形文件。
由于之前建立的项目还是一个空项目,所以接着需要为项目新建文件。
执行File->New命令,在“DeviceDesignFiles”选项页中选择“BlockDiagram/SchematicFile”,然后点击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-insertmode”点击OK按钮,可反复在编辑窗口中放入输入符号,直到单击右键取消放置为止。
由于输入信号一共有2个,所以需要放入2个输入符号,并将2个输入符号命名为a和b。
用同样的方法放置2个输出“output”符号,并分别命名为s、cout。
再选择工具栏中的
按钮,将各符号连接起来,结果如图1-9所示。
图1-8“input”符号图1-9符号连接
第11步:
保存图形文件,进行语法检查和编译。
通过快捷按钮
,对上面的原理图进行语法检查和综合,同时在信息(Messages)窗口中显示检查结果,如原理图设计中有错误,也将指出错误的地方以便修正。
如果没有错误,则使用快捷按钮进行编译。
编译结束后会自动打开一个编译报告(CompilationReport)窗口,如图3-10所示。
图1-10编译报告
第12步:
仿真。
在开发板上实现该电路之前,可以先在Quartus软件中对电路进行功能仿真,以测试电路逻辑的正确性。
在仿真之前,先要建立一个矢量波形文件,包含输入信号的波形,并指定需要观察的输出信号。
执行File->New命令,选择“OtherFiles”选项页中VectorWaveformFile,并单击OK按钮,打开矢量波形编辑器窗口,如图1-11所示。
图1-11矢量波形编辑器窗口
第13步:
另存矢量波形文件为hadder.vwf。
执行Edit->InsertNodeorBus命令,将需要仿真的输入和输出节点加入到波形中来,其窗口如图1-12所示。
可以在Name框中直接输入节点的名称,也可点击NodeFinder按钮,打开节点搜索窗口,如图1-13所示。
在Filter下拉框中选择所要寻找的节点类型,这里选择“Pins:
all”,点击List按钮,在NodesFound框中列出所有的引脚。
图1-12加入要仿真的输入输出节点
图1-13节点搜索窗口
第14步:
选择所有引脚,单击
按钮,将所有引脚添加到SelectedNodes框中,再按OK按钮返回波形编辑器窗口,如图1-14所示。
选择波形工具栏中的
按钮,在波形图上左击或右击分别进行波形的放大和缩小。
图1-14波形编辑器窗口
第15步:
编辑a和b的输入波形,再由仿真器输出y的波形。
首先选中需要编辑的波形区间,再选择波形工具栏中的
按钮,对选中区间进行置1或0。
最后的输入波形如图1-15所示,保存矢量波形文件。
图1-15编辑输入波形
第16步:
功能仿真。
选择Processing->SimulatorTool,窗口如图1-16所示。
选择仿真模式(Simulatormode)为“Functional”,并选择hadder.vwf文件作为仿真输入(Simulationinput)波形文件。
点击GenerateFunctionalSimulationNetlist按钮,生成仿真网表。
然后点击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。
信号
FPGA引脚
DE2上的器件
a
PIN_N25
SW0
b
PIN_N26
SW1
s
PIN_AE22
LEDG0
cout
PIN_AF22
LEDG1
选择Assignments->Pins命令,打开引脚规划器(PinPlanner),如图1-18所示。
接着双击信号a的Location栏,在下拉框中选择PIN_N25,其他信号通过相同的办法进行分配。
图1-18引脚分配
第18步:
在仿真正确,并锁定自定引脚后,通过按钮
对项目再次编译。
第19步:
时序仿真。
时序仿真不仅可以仿真其逻辑功能是否正确,同时可以仿真出信号之间的时间延迟。
时序仿真又称后仿真,通常是在编译完成后进行。
再次选择Processing->SimulatorTool,并将仿真模式设为“Timing”,然后点击Start按钮。
最后点击Report按钮查看仿真结果,结果如图1-19所示。
与功能仿真结果图相比较,可以看出时序仿真的输出带有一定的延迟。
如图1-19 时序仿真波形
第20步:
程序下载(配置FPGA)。
用USB连接线连接DE2的USBBlaster端口和电脑即可进行程序的下载。
在DE2平台上,可以对FPGA进行两种模式配置:
一种是JTAG模式,通过USBBlaster直接配置FPGA,但掉电后,FPGA中的配置内容会丢失,再次上电需要用电脑重新配置;另一种是在AS模式下,通过USBBlaster对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)图中第一列显示“NoHardware”,说明未指定硬件设备,单击HardwareSetup按钮,打开硬件设置窗口,如下图所示。
双击列表框中的USB-Blaster,然后点击Close按钮,完成硬件设置。
3)从下图可以看出,硬件已经设置完成,而且待配置的文件也已经在文件列表中。
然后选中Program/Config选项,单击Start按钮,开始编程。
编程结束后,即可在DE2上验证。
第22步:
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位置,再进行测试。
附录:
DE2平台上EP2C35F672的引脚分配表
DE2平台上的模块
FPGA引脚
DE2平台上的模块
FPGA引脚
DE2平台上的模块
FPGA引脚
SW[0]
PIN_N25
DRAM_CLK
PIN_AA7
FL_ADDR[12]
PIN_W16
SW[1]
PIN_N26
DRAM_CS_N
PIN_AC3
FL_ADDR[13]
PIN_W15
SW[2]
PIN_P25
DRAM_DQ[0]
PIN_V6
FL_ADDR[14]
PIN_AC16
SW[3]
PIN_AE14
DRAM_DQ[1]
PIN_AA2
FL_ADDR[15]
PIN_AD16
SW[4]
PIN_AF14
DRAM_DQ[2]
PIN_AA1
FL_ADDR[16]
PIN_AE16
SW[5]
PIN_AD13
DRAM_DQ[3]
PIN_Y3
FL_ADDR[17]
PIN_AC15
SW[6]
PIN_AC13
DRAM_DQ[4]
PIN_Y4
FL_ADDR[18]
PIN_AB15
SW[7]
PIN_C13
DRAM_DQ[5]
PIN_R8
FL_ADDR[19]
PIN_AA15
SW[8]
PIN_B13
DRAM_DQ[6]
PIN_T8
FL_ADDR[20]
PIN_Y15
SW[9]
PIN_A13
DRAM_DQ[7]
PIN_V7
FL_ADDR[21]
PIN_Y14
SW[10]
PIN_N1
DRAM_DQ[8]
PIN_W6
FL_CE_N
PIN_V17
SW[11]
PIN_P1
DRAM_DQ[9]
PIN_AB2
FL_OE_N
PIN_W17
SW[12]
PIN_P2
DRAM_DQ[10]
PIN_AB1
FL_DQ[0]
PIN_AD19
SW[13]
PIN_T7
DRAM_DQ[11]
PIN_AA4
FL_DQ[1]
PIN_AC19
SW[14]
PIN_U3
DRAM_DQ[12]
PIN_AA3
FL_DQ[2]
PIN_AF20
SW[15]
PIN_U4
DRAM_DQ[13]
PIN_AC2
FL_DQ[3]
PIN_AE20
SW[16]
PIN_V1
DRAM_DQ[14]
PIN_AC1
FL_DQ[4]
PIN_AB20
SW[17]
PIN_V2
DRAM_DQ[15]
PIN_AA5
FL_DQ[5]
PIN_AC20
DRAM_ADDR[0]
PIN_T6
DRAM_LDQM
PIN_AD2
FL_DQ[6]
PIN_AF21
DRAM_ADDR[1]
PIN_V4
DRAM_UDQM
PIN_Y5
FL_DQ[7]
PIN_AE21
DRAM_ADDR[2]
PIN_V3
DRAM_RAS_N
PIN_AB4
FL_RST_N
PIN_AA18
DRAM_ADDR[3]
PIN_W2
DRAM_WE_N
PIN_AD3
FL_WE_N
PIN_AA17
DRAM_ADDR[4]
PIN_W1
FL_ADDR[0]
PIN_AC18
HEX0[0]
PIN_AF10
DRAM_ADDR[5]
PIN_U6
FL_ADDR[1]
PIN_AB18
HEX0[1]
PIN_AB12
DRAM_ADDR[6]
PIN_U7
FL_ADDR[2]
PIN_AE19
HEX0[2]
PIN_AC12
DRAM_ADDR[7]
PIN_U5
FL_ADDR[3]
PIN_AF19
HEX0[3]
PIN_AD11
DRAM_ADDR[8]
PIN_W4
FL_ADDR[4]
PIN_AE18
HEX0[4]
PIN_AE11
DRAM_ADDR[9]
PIN_W3
FL_ADDR[5]
PIN_AF18
HEX0[5]
PIN_V14
DRAM_ADDR[10]
PIN_Y1
FL_ADDR[6]
PIN_Y16
HEX0[6]
PIN_V13
DRAM_ADDR[11]
PIN_V5
FL_ADDR[7]
PIN_AA16
HEX1[0]
PIN_V20
DRAM_BA_0
PIN_AE2
FL_ADDR[8]
PIN_AD17
HEX1[1]
PIN_V21
DRAM_BA_1
PIN_AE3
FL_ADDR[9]
PIN_AC17
HEX1[2]
PIN_W21
DRAM_CAS_N
PIN_AB3
FL_ADDR[10]
PIN_AE17
HEX1[3]
PIN_Y22
DRAM_CKE
PIN_AA6
FL_ADDR[11]
PIN_AF17
HEX1[4]
PIN_AA24
DE2平台上的模块
FPGA引脚
DE2平台上的模块
FPGA引脚
DE2平台上的模块
FPGA引脚
HEX1[5]
PIN_AA23
HEX6[4]
PIN_M3
LEDG[2]
PIN_W19
HEX1[6]
PIN_AB24
HEX6[5]
PIN_M5
LEDG[3]
PIN_V18
HEX2[0]
PIN_AB23
HEX6[6]
PIN_M4
LEDG[4]
PIN_U18
HEX2[1]
PIN_V22
HEX7[0]
PIN_L3
LEDG[5]
PIN_U17
HEX2[2]
PIN_AC25
HEX7[1]
PIN_L2
LEDG[6]
PIN_AA20
HEX2[3]
PIN_AC26
HEX7[2]
PIN_L9
LEDG[7]
PIN_Y18
HEX2[4]
PIN_AB26
HEX7[3]
PIN_L6
LEDG[8]
PIN_Y12
HEX2[5]
PIN_AB25
HEX7[4]
PIN_L7
CLOCK_27
PIN_D13
HEX2[6]
PIN_Y24
HEX7[5]
PIN_P9
CLOCK_50
PIN_N2
HEX3[0]
PIN_Y23
HEX7[6]
PIN_N9
EXT_CLOCK
PIN_P26
HEX3[1]
PIN_AA25
KEY[0]
PIN_G26
PS2_CLK
PIN_D26
HEX3[2]
PIN_AA26
KEY[1]
PIN_N23
PS2_DAT
PIN_C24
HEX3[3]
PIN_Y26
KEY[2]
PIN_P23
UART_RXD
PIN_C25
HEX3[4]
PIN_Y25
KEY[3]
PIN_W26
UART_TXD
PIN_B25
HEX3[5]
PIN_U22
LEDR[0]
PIN_AE23
LCD_RW
PIN_K4
HEX3[6]
PIN_W24
LEDR[1]
PIN_AF23
LCD_EN
PIN_K3
HEX4[0]
PIN_U9
LEDR[2]
PIN_AB21
LCD_RS
PIN_K1
HEX4[1]
PIN_U1
LEDR[3]
PIN_AC22
LCD_DATA[0]
PIN_J1
HEX4[2]
PIN_U2
LEDR[4]
PIN_AD22
LCD_DATA[1]
PIN_J2
HEX4[3]
PIN_T4
LEDR[5]
PIN_AD23
LCD_DATA[2]
PIN_H1
HEX4[4]
PIN_R7
LEDR[6]
PIN_AD21
LCD_DATA[3]
PIN_H2
HEX4[5]
PIN_R6
LEDR[7]
PIN_AC21
LCD_DATA[4]
PIN_J4
HEX4[6]
PIN_T3
LEDR[8]
PIN_AA14
LCD_DATA[5]
PIN_J3
HEX5[0]
PIN_T2
LEDR[9]
PIN_Y13
LCD_DATA[6]
PIN_H4
HEX5[1]
PIN_P6
LEDR[10]
PIN_AA13
LCD_DATA[7]
PIN_H3
HEX5[2]
PIN_P7
LEDR[11]
PIN_AC14
LCD_ON
PIN_L4
HEX5[3]
PIN_T9
LEDR[12]
PIN_AD15
LCD_BLON
PIN_K2
HEX5[4]
PIN_R5
LEDR[13]
PIN_AE15
SRAM_ADDR[0]
PIN_AE4
HEX5[5]
PIN_R4
LEDR[14]
PIN_AF13
SRAM_ADDR[1]
PIN_AF4
HEX5[6]
PIN_R3
LEDR[15]
PIN_AE13
SRAM_ADDR[2]
PIN_AC5
HEX6[0]
PIN_R2
LEDR[16]
PIN_AE12
SRAM_ADDR[3]
PIN_AC6
HEX6[1]
PIN_P4
LEDR[17]
PIN_AD12
SRAM_ADDR[4]
PIN_AD4
HEX6[2]
PIN_P3
LEDG[0]
PIN_AE22
SRAM_ADDR[5]
PIN_AD5
HEX6[3]
PIN_M2
LEDG[1]
PIN_AF22
SRAM_ADDR[6]
PIN_AE5
DE2平台上的模块
FPGA引脚
DE2平台上的模块
FPGA引脚
DE2平台上的模块
FPGA引脚
SRAM_ADDR[7]
PIN_AF5
OTG_CS_N
PIN_F1
VGA_R[1]
PIN_F10
SRAM_ADDR[8]
PIN_AD6
OTG_RD_N
PIN_G2
VGA_R[2]
PIN_G10
SRAM_ADDR[9]
PIN_AD7
OTG_WR_N
PIN_G1
VGA_R[3]
PIN_D9
SRAM_ADDR[10]
PIN_V10
OTG_RST_N
PIN_G5
VGA_R[4]
PIN_C9
SRAM_ADDR[11]
PIN_V9
OTG_DATA[0]
PIN_F4
VGA_R[5]
PIN_A8
SRAM_ADDR[12]
PIN_AC7
OTG_DATA[1]
PIN_D2
VGA_R[6]
PIN_H11
SRAM_ADDR[13]
PIN_W8
OTG_DATA[2]
PIN_D1
VGA_R[7]
PIN_H12
SRAM_ADDR[14]
PIN_W10
OTG_DATA[3]
PIN_F7
VGA_R[8]
PIN_F11
SRAM_ADDR[15]
PIN_Y10
OTG_DATA[4]
PIN_J5
VGA_R[9]
PIN_E10
SRAM_ADDR[16]
PIN_AB8
OTG_DATA[5]
PIN_J8
VGA_G[0]
PIN_B9
SRAM_ADDR[17]
PIN_AC8
OTG_DATA[6]
PIN_J7
VGA_G[1]
PIN_A9
SRAM_DQ[0]
PIN_AD8
OTG_DATA[7]
PIN_H6
VGA_G[2]
PIN_C10
SRAM_DQ[1]
PIN_AE6
OTG_DATA[8]
PIN_E2
VGA_G[3]
PIN_D10
SRAM_DQ[2]
PIN_AF6
OTG_DATA[9]
PIN_E1
VGA_G[4]
PIN_B1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Verilog 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)