《FPGA设计》实验指导书安全操作注意事项1、接插下载电缆前,请务必关闭实验箱开关,避免损坏下载电缆或实验箱器件。
2、操作过程中应防止静电。
3、保持实验箱和电路板的表面清洁。
4、小心轻放,避免不必要的硬件损伤或者人身受伤。
实验箱简介实验一 Quartus ii软件的操作使用一、实验目的1、熟悉Quartus II软件的使用;2、掌握用原理图输入法和硬件描述语言(Verilog HDL)两种方法来设计逻辑电路;3、通过电路的仿真及验证,进一步了解4选1数据选择器的功能;二、实验内容1、用原理图输入法来设计4选1数据选择器参照按图1-1所示来编辑完成4选1数据选择器的原理图输入,其中a、b、c、d 为数据输入端,sel[1]、sel[0]为控制输入端,q为4选1数据输出端。
存盘仿真后,观察仿真波形,以验证数据选择器的功能。
图1-1 4选1数据选择器原理图2、用Verilog HDL硬件描述语言来设计数据选择器用QuartusII中的文本编辑器,编辑输入4选1数据选择器源程序:(1)Verilog HDL的行为描述建模方式方式一:用case语句程序中的a、b、c、d 依然为数据输入端,s1、s0为控制输入端,y为4选1数据输出端。
存盘后进行仿真,并观察仿真波形,以验证数据选择器的功能。
方式二:用if语句(2)Verilog HDL的数据流描述建模方式例一:例二:本题要求同(1)(3)Verilog HDL的结构描述建模方式举例上图是2选一多路选择器的Verilog结构级描述建模方式。
实验要求同上。
三、实验仪器、设备及材料电脑、EDA软件、实验箱、下载电缆。
四、实验原理4选1数据选择器的原理框图及真值表如图1-2及表1-1所示,sel[1:0]可能出现四种组合情况:00 01 10 11,它分别对应选通四个不同的数据输入a、b、c、d,从q端输出。
结合以前所学数字电路的知识,可由真值表得出利用“与非门”实现的逻辑电路,进而可用QuartusII原理图输入方法,设计出该4选1数据选择器;如应用EDA技术所学的Verilog HDL硬件描述语言来描述该电路功能,即可设计出该4选1数据选择器的源程序。
图1-2 4选1数据选择器的原理框图q Sel[1]输出选择输入0a 01b 00c 11d1Sel[0]表1-1 真值表五、重点、难点本实验技术重点在于理解4选1数据选择器的功能后,用原理图输入法和硬件描述语言(Verilog HDL )两种方法来设计该逻辑电路。
其难点是要仿真出4选1数据选择器的波形,然后通过观测仿真波形,来验证该数据选择器的功能。
六、实验步骤(一)原理图输入法的设计步骤:(1)进入Windows 操作系统,双击Quartus II 图标,启动软件。
1、单击File \ New Project Wizard 菜单,输入文件名路径与设计项目的名字mux41,点击finish, 完成设计项目建立。
da b c点击Assignment \ Device菜单,选择器件(本设计选用cyclone 系列的EP1C12Q240C8)。
2、启动菜单File \ New,选择Block Diagram/Schematic File,点OK,启动原理图编辑器。
画出图1-1(具体方法见后面说明)。
默认存盘名为mux41,保存。
(2)设计的输入1. 在原理图空白处双击,会出现元件选择对话框,在name处输入元件名,点OK完成元件放置。
依次放置4个三输入端与门(and3)、1个四输入端或门(or4),2个非门(not)器件、及6个输入端(input)、1个输入端(output)在原理图上;2. 添加连线到器件的管脚上把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字,按住鼠标右键拖动,即可画出连线,参照图1连好相应元件的输入、输出脚。
3.保存原理图单击保存按钮。
原理图文件出现在红色箭头所指的地方。
(3)编译点击菜单栏上红色箭头所指的工具图标,完成编译。
图1-3 编译编译通过后,选择File/New,在弹出的对话框中点击选择Vector Waveform File,并点击OK,建立一个波形文件,如图1-4、图1-5所示,保存波形文件。
图1-4图1-510、在图1-5左边的空白栏处点鼠标右键,选择insert Node or bus,如图1-6再点Node Finder,在波形文件加入输入输出端口,如图1-7所示。
图1-711、对加入到波形文件中的输入端口进行初始值设置,并点击Processing/Start Simuliation进行仿真。
查看仿真结果是否符合要求。
12、仿真无误后,选择Assignments/Assing Pins对实验中用到的管脚进行绑定分配,如图1-7所示。
图1-713、对于复用的引脚,需做进一步处理,使其成为通用I/O。
14、最后再编译一次,编译无误后,用下载电缆通过JTAG接口将对应的dff2.sof文件下载到FPGA中。
15、在实验系统中正确连线,观察实验结果是否与仿真结果相吻合。
(二)用Verilog HDL语言完成的设计步骤:(1)运行Quartus II软件,先建立一个新的项目。
(2)启动File \ New菜单命令(如图1-5);图1-5 新建文本文件的选择对话框(3)选择verilog hdl file,点击OK后,键入上面“二、实验内容”中的程序。
(4)以默认文件名和路径保存。
(5)参照原理图输入设计进行仿真,并观察仿真波形,以验证所设计电路的功能。
七、实验报告要求1. 对于原理图设计要求有设计过程。
2. 详细论述实验步骤。
3. 给出原理图输入法和Verilog HDL语言设计两种方法的仿真波形。
八、实验注意事项1. 使用原理图设计时,其文件名[mux41.gdf]要与仿真的波形文件名[mux41.vwf]相同,只是文件的后缀不同;使用Verilog HDL语言设计时,其文件名(m4_1.V)要与模块名[module m4_1( a, b, c, d, sel, q);]相同,且仿真的波形文件名[m4_1.vwf]也要相同。
2. 用原理图输入法和Verilog HDL语言两种方法所做的设计,一定要建两个不同的工程,最好放在不同的目录中,且目录名不要出现中文字符。
3.在Waveform Editor仿真时,应先在菜单选项的Edit/ Grid Size…中所弹出的对话框中将Grid Size:改为1.0us。
九、思考题1. 如何用设计好的4选1数据选择器,来实现8选1数据选择器的设计(用原理图输入法来设计),试给出设计与仿真的结果。
2.谈谈使用原理图输入法和Verilog HDL语言设计两种方法的优劣心得。
实验二组合逻辑电路设计一、实验目的1、学习Verilog HDL基本语法;2、巩固Quartus II环境下的Verilog HDL编程设计的基础二、主要仪器设备EDA实验系统1台PC机三、实验内容1、设计一个四线至二线编码器,其真值表如下:表2.1 四线至二线编码器的真值表2、设计一个2位信号的比较器,该比较器的电路符号如图2.1所示。
图2.1 比较器电路符号引脚说明:A、B皆为二位信号;CLK为时钟脉冲输入;RST为清除控制信号。
AGTB:当A>B时,其值为1,否则为0;AEQB:当A=B时,其值为1,否则为0;ALTB:当A<B时,其值为1,否则为0;3、设计一个四位全加器。
四、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,管脚分配,硬件测试结果等内容。
实验三时序逻辑电路设计一、实验目的理解触发器概念,掌握时序器件的Verilog HDL语言程序设计的方法二、主要仪器设备EDA实验系统1台PC机三、实验内容设计以下内容:1、基本的D触发器;2、同步复位的D触发器;3、异步复位的D触发器;4、同步置位/复位的D触发器;四、实验报告根据以上实验内容写出实验报告,包括程序设计,管脚分配;并提交其仿真结果及分析。
实验四一般计数器的设计及数码管显示一、实验目的1、学习计数器的设计、仿真和硬件测试;2、掌握原理图与文本混合设计方法;3、学习硬件扫描显示电路的设计方法。
二、主要仪器设备EDA/SOPC实验系统1台三、实验原理1、设计1个模为24的8421BCD码加法计数器。
2、设计24分频时序电路。
3、将分频或计数结果在数码管上显示。
五、实验报告要求根据以上实验内容写出实验报告,包括仿真结果及分析、硬件实现、硬件测试等内容。
实验五 正弦信号发生器的设计一、实验目的熟悉基于DDS 的正弦信号发生器的基本工作原理 二、主要仪器设备EDA/SOPC 实验系统1台,示波器1台三、实验原理如图5-1所示为基本DDS 结构,由相位累加器、相位调制器、正弦ROM 查找表、D/A 构成。
相位累加器是整个DDS 的核心,完成相位累加运算。
相位累加器的输入是相位增量θ∆B ,又由于θ∆B 与输出频率out f 呈线性关系:clkoutNf f B ⋅=∆2θ,因此相位累加器的输入又可称为频率字输入。
相位调制器接收相位累加器的相位输出,加上一个相位偏移量,用于信号的相位调制,不用时可以去掉,或者加一固定值。
正弦ROM 查找表完成()θB f sin 的查表转换,也就是相位到幅度的转换,它的输入是相位调制器的输出,事实上就是ROM 的地址。
图5-1 DDS 原理框图四、实验内容1、本实验要完成任务就是设计一个正弦信号发生器,用Verilog 设计出同步寄存器、相位累加器等,正弦ROM 查找表建议采用定制器件的方法完成,正弦ROM 数据文件可以用C 代码完成。
2、(选做内容)改变ROM 存放数据格式,使之为方波或三角波,设计出可以输出包括正弦、三角及方波的DDS 信号源。
五、实验报告根据以上实验内容写出实验报告,包括仿真结果及分析、硬件实现、硬件测试等内容。
实验六ModelSim 仿真测试一、实验目的1、掌握一般计数器的ModelSim 仿真测试方法。
二、主要仪器设备EDA实验系统1台PC机三、实验原理以下是2选一多路选择器的verilog结构描述程序:下面是它的测试模块:四、ModelSim仿真步骤见参考资料《ModelSim操作简介》五、实验内容试设计一个含异步复位、同步计数使能和可预置的十进制计数器,请写出它的Verilog 程序和test bench模块,并在ModelSim软件平台上进行仿真测试。
五、实验报告根据以上实验内容写出实验报告,包括verilog源程序和verilog test bench程序,并绘出仿真波形图,总结ModelSim仿真的主要工作流程。
实验七综合设计实验一、实验目的1、学习动态数码管的工作原理;2、实现FPGA对四位动态数码管的控制;3、学习设计硬件乐曲演奏电路以及相关的控制电路;3、熟悉模块化编程的操作流程。