中南大学EDA技术与Veriloghdl实验指导书剖析.doc

中南大学EDA技术与Veriloghdl实验指导书剖析.doc

中南大学EDA技术与Veriloghdl实验指导书剖析

实验1: QuartusII基本设计流程体验实验 实验步骤: 1. 启动QuartusII。 2. 创建工程。 (1)选择File-New Project Wizard命令 (2)输入工程库文件夹(注意:不要使用Quartus安装目录,不要使用路径中包含中文的目录,例如桌面等)。输入工程名:MUX41a (3)跳过“添加文件”步骤。 (4)选择目标芯片(EP3C55F484C8) (5)跳过“工具设置”步骤,点击“Finish”。 3. 输入设计文件。 (1)选择“File-New”命令,选择Verilog HDL File选项。 (2)在文本编辑器中输入4选一选择器的代码(使用Case语句)。 (3)选择File-Save As命令保存文件。 3. 进行全程编译。编译过程中注意Processing窗口的编译信息。 4. 查看编译报告。 扩展实验与思考: 将代码中Case语句修改为if-else语句,比较两者的编译结果(硬件资源使用情况)。 将if-else语句改为不完整条件语句,再次编译后查看编译结果(1.查看综合报告中的警告信息;2.利用ToolsNetlist ViewersRTL Viewer查看结构图)。 实验2: ModelSim仿真实验1 实验步骤: (1)启动Modelsim; (2)选择File-New-Project建立新工程,工程目录指定为实验1所用目录,加入验证对象文件MUX41a.v; (3)在Project窗口中选中设计文件,单击鼠标右键,选择Compile-Compile All编译源代码;如有编译错误,修改源代码; (4)选择Simulate-Start Simulation或点击Simulate按键,选Library窗口中work-MUX41a,点击OK。 (5)在Object窗口中选择需要观察的信号,单击鼠标右键,选择Add-To Wave- Selected Singals,添加待观察信号至波形窗口; (6)在Transcript窗口中使用force输入激励信号;例如:force A 0 (7)在Transcript窗口输入run命令或点击run按键执行仿真,查看结果. (8)改变激励信号,执行仿真并查看结果。 扩展实验与思考: 将设计文件改为第61页例3-17中的计数器电路,进行仿真,观察波形。其中时钟信号的激励使用命令:force clk 0 0,1 50 –repeat 100 实验3 ModelSim仿真实验2 1. 实验目的: 学习使用描述语言生产激励信号的方法。 2. 实验步骤: (1)启动Modelsim; (2)建立新工程,加入文件:教科书第290页中方法一所设计的三段代码:测试对象addr4.v, 信号发生器signal_gen.v, 仿真测试模块test_adder4.v (3)编译源代码;如有编译错误,修改源代码; (4)进入仿真状态,选择仿真模块; (5)添加待观察信号至波形窗口; (6)执行仿真,查看结果; 扩展实验: 参考第六章6.1,定制计数器模块,并设计测试模块testbench,创建新的modelsim工程进行仿真测试。 实验4: LED驱动实验 实验步骤: 1. 启动QuartusII建立一个空白工程,保存为led_test.qpf。 2. 将test1\led.v、setup.tcl拷入工程目录。 3. 将led.v加入工程并创建符号文件led.bsf。 4. 建立图形设计文件led_test.bdf,放入led模块,添加输出引脚,并命名为led[7..0],将led输出与输出引脚相连。 5. 参考setup.tcl进行引脚锁定,将未使用的引脚设置为三态输入(必须)。在led_test.bdf中可以察看引脚锁定情况。 6. 将led_test.bdf设置为顶层模块,进行全程编译,察看编译报告。 7. 确保JP6上的LED0-LED7已通过跳线与FPGA引脚相连。 8. 打开电源,将led_test.sof下载至FPGA,观察LED1-LED8的亮灯状态是否与设计吻合。 扩展实验与思考: 1.修改led.v中代码,重新编译下载后,观察LED的状态变化。 实验5:流水灯 实验步骤 1. 启动QuartusII建立一个空白工程,保存为led_water.qpf. 2. 将test2\ledwater.v、int_div.v、setup.tcl拷入工程目录。 3. 将ledwater.v、int_div.v加入工程并创建符号文件led.bsf、int_div.bsf。 4. 建立图形设计文件led_water.bdf,放入ledwater、int_div模块;添加输入输出引脚,将输入引脚命名为clock,将输出引脚命名为led[7..0];将输入引脚cl

文档评论(0)

1亿VIP精品文档

相关文档