quartus软件及modelsim仿真实验报告

上传人:M****1 文档编号:504379378 上传时间:2022-08-10 格式:DOCX 页数:9 大小:39.18KB
返回 下载 相关 举报
quartus软件及modelsim仿真实验报告_第1页
第1页 / 共9页
quartus软件及modelsim仿真实验报告_第2页
第2页 / 共9页
quartus软件及modelsim仿真实验报告_第3页
第3页 / 共9页
quartus软件及modelsim仿真实验报告_第4页
第4页 / 共9页
quartus软件及modelsim仿真实验报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《quartus软件及modelsim仿真实验报告》由会员分享,可在线阅读,更多相关《quartus软件及modelsim仿真实验报告(9页珍藏版)》请在金锄头文库上搜索。

1、quartus软件及modelsim仿真实验报告Verilog实验报告 实验一 Quartus及Modelsim软件的基本使用 一、 实验目的 熟悉Quartus和Modelsim软件的基本使用方法和步骤,熟悉基本的Verilog语法,学会用Verilog语言编写简单的程序。 二、 实验要求 熟练掌握Quartus和Modelsim软件工程建立、添加文件、编译运行和仿真的方法,学会写程序文件和测试文件。 三、 实验仪器和设备 1、 硬件:计算机 2、 软件:Quartus、Modelsim、 四、 实验内容 1、 运行Quartus软件建立工程并添加程序.v文件,编译运行,查看电路图。 2、

2、运行Modelsim软件建立工程并添加测试.v文件,进行仿真,查看波形图。 五、 实验方法和步骤 Quartus软件的使用 1、 启动Quartus软件:双击桌面的Quartus快捷图标,进入如图1所示的界面。图1-1启动界面 2、 建立工程:选择菜单栏的命令,弹出图2所示新建工程向导。图1-2 新建工程向导 单击跳转至下一页。为方便工程管理,在新建工程之前,先新建一个文件夹,把工程保存在新建的文件下,并对工程进行命名。如图3所示。图1-3命名和存放 单击跳转至下一页。添加事先写好的.v文件。如图4所示。图1-4 添加文件 单击跳转至下一页。选择FPGA型号,如图6所示。因为本次实验不在硬件上

3、实现,因此此步跳过。直接单击跳转至下一页。图1-6 选择FPGA型号 直到出现界面,单击。如图7所示。图1-7结束 3、 编写程序:由按键控制led灯的亮灭。如图8。图1-8编写程序 4、 编译程序:在栏中找到如图所示,编译程序。如图9所示。图1-9编译程序 编译成功如图10所示。图1-10编译成功 5、 查看电路图:在文件夹下的中查看程序对应电路图。如图11所示。图1-11 电路图 Modelsim软件的使用 1、启动Modelsim软件:双击桌面的Modelsim快捷图标面。,进入如图12所示的界图1-12 启动界面 2、建立工程:选择菜单栏的命令,弹出图所示新建工程向导。如图13所示。图

4、1-13新建工程 在弹出窗口中选择,添加事先写好的测试文件和程序文件,如图14所示。 图1-14 添加文件 3、 编译运行:在空白处右键,在弹出窗口中选择,编译成功后如图15所示。图1-15 编译成功 4、 进行仿真:选择标签,单击前的,在选中的测试文件中单击右键,在弹出菜单中选择,如图16所示。图1-16 开始仿真 稍等后在如图17所示界面中选择文件,右键选择。图1-17 添加波形 单击菜单栏中的图标开始绘制波形图。仿真结果如图18所示: 图1-18 仿真结果 六、 实验参考程序 1、 程序文件 module ex1( input wire clk, input wire rst_n, ou

5、tput reg led ); /定义输入输出 always(posedge clk) /设置时钟沿检测 if(rst_n=0) /按键按下则led熄灭 led = 0; else led = 1; endmodule 2、 测试文件 timescale 1ns/1ns /定义时间单位,/后面是时间精度 module tb_ex1; /测试模块名定义tb reg clk; reg rst_n; initial /初始化 begin clk = 1; rst_n = 0; #200 /延时200ns rst_n = 1; /结束复位 end always #5 clk=clk; /延时5ns后取

6、反,得到clk周期 ex1 ex1_inst( /实例化 .clk(clk), /关联程序文件和测试文件的端口 .rst_n(rst_n), /前面用.连接 .led(led) ); endmodule 七、 实验小结 1、 做实验要养成良好的习惯,每次做实验时,都要建立一个新的文件夹存放实验所需的程序文件,为仿真时添加文件做准备,也方便以后的查找和使用。 2、 写程序前要想清楚电路实现原理,根据所学数电知识对各个元器件进行控制。 3、 写程序时注意排版美观整洁,同时注意添加注释。 4、注意程序中模块名要和文件名一致,否则程序报错,无法编译通过。 实验二时钟分频和流水灯 八、 实验目的 学会对

7、时钟进行分频,任意定义一段时间。同时写一个简单的流水灯程序。 九、 实验要求 能够掌握分频原理,并能进行任意时间的分频。运用分频,写一个流水灯程序,并用Modelsim软件进行仿真,查看波形图。 十、 实验仪器和设备 3、 硬件:计算机 4、 软件:Quartus、Modelsim、 十一、 实验内容 5、 编写时钟分频程序和测试程序,并进行仿真。查看波形图。 6、 编写流水灯程序和测试程序,并进行仿真。查看波形图。 十二、 实验方法和步骤 时钟分频 6、 编写分频程序。 7、 编写测试程序。 8、 进行仿真,波形如图1所示。 图2-1分频仿真结果 流水灯 1、编写分频程序。 7、 编写测试程

8、序。 3、进行仿真,波形如图2所示。 图2-2流水灯仿真结果 十三、 实验参考程序 时钟分频 1、程序文件 module div_clk( input wire clk, input wire rst_n, output reg clk_4 ); reg3:0 cnt; always(posedge clk) if(rst_n=0) cnt = else if(cnt=3) cnt = else cnt = always(posedge clk) if(rst_n=0) clk_4 = else if(cnt=1) clk_4 = else if(cnt=3) clk_4 = /模块名与文件名

9、一致。定义端口列表, /输入线型 /输出定义为寄存器型 /中括号定义位宽,定义中间变量cnt 0; 0; cnt+1; /复位为0,计数器也为0 /当计数器=3时清零 /计数器自加1 0; 1; 0; /复位为0.clk_4为0 /当计数器为1时,时钟跳变为1 /当计数器为3时,时钟跳变为0 endmodule 2、测试文件 timescale 1ns/1ns module tb_div_clk; reg clk; reg rst_n; wire clk_4; initial begin clk = 0; rst_n = 0; #100 rst_n = 1; end always #5 clk

10、=clk; div_clk div_clk_inst( .clk(clk), .rst_n(rst_n), .clk_4(clk_4) ); endmodule 流水灯 1、 程序文件 module LSD( input wire clk, input wire rst_n, output reg3:0 led ); reg5:0 cnt; reg clk_4; always(posedge clk) if(rst_n=0) cnt = 0; else if(cnt=49) cnt = 0; /模块名与文件名一致。定义端口列表,/输入线型 /中括号定义位宽,定义中间变量cnt /复位为0,计数

11、器也为0 /当计数器=3时清零 else cnt = cnt+1; /计数器自加1 always(posedge clk or negedge clk) /异步复位 if(rst_n=0) clk_4 = 0; /复位为0.clk_4为0 else if(cnt=24) clk_4 = 1; /当计数器为1时,时钟跳变为1 else if(cnt=49) clk_4 = 0; /当计数器为3时,时钟跳变为0 else clk_4 = clk_4; always(posedge clk_4 or negedge clk_4) if(rst_n=0) led = 4b0001; else led

12、= led2:0,led3;/位拼接 endmodule 2、 测试文件 timescale 1ns/1ns module LSD; reg clk; reg rst_n; reg cnt; wire led; initial begin clk = 0; rst_n = 0; #100 rst_n = 1; end always #5 clk=clk; LSD LSD_inst( .clk(clk), .rst_n(rst_n), .led(led) ); endmodule 十四、 实验小结 1、 位拼接的用法: a=4b1010 b=3b101 c=4b0101 d=5b10001 用位拼接 d=b2:1,c1,a2:1 流水灯 4b0001 4b0010 4b0100 4b1000 相当于把低三位左移,并最高位放在最低位 用位拼接可写为: led=led2:0,led3; 低三位最高位 2、 仿真时,可以选择不同的进制。在想要更改的地方右键,选择,其中为二进制。如图3所示。 图2-3更改进制

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号