数字系统的验证ppt课件

上传人:痛*** 文档编号:159399365 上传时间:2022-10-09 格式:PPT 页数:37 大小:855KB
收藏 版权申诉 举报 下载
数字系统的验证ppt课件_第1页
第1页 / 共37页
数字系统的验证ppt课件_第2页
第2页 / 共37页
数字系统的验证ppt课件_第3页
第3页 / 共37页
资源描述:

《数字系统的验证ppt课件》由会员分享,可在线阅读,更多相关《数字系统的验证ppt课件(37页珍藏版)》请在装配图网上搜索。

1、第五章第五章 数字系统的验证数字系统的验证 义务:n设计一个具有“百分秒、秒、分计时功能的数字跑表,可以实现一个小时以内准确百分之一秒的计时,具有复位、暂停功能,其设计方案框图如图5.1所示。要求复位信号高电平有效,对系统异步清零,暂停信号高电平有效,即高电平停顿计数,低电平继续计数,百分秒、秒、分钟计数均采用BCD码计数方式。逻辑设计ntimescale 1ns/1nsnModule paobiao(clk,reset,pause,ms_h,ms_l,s_h,s_l,m_h,m_l);3.Testbench设计n在数字系统设计完成后,就要对设计电路进展功能仿真,以验证设计的正确性,这是本义务

2、的中心步骤。编写Testbench的主要目的是为了对运用硬件描画言语HDL设计的电路进展仿真验证,测试设计电路的功能、部分性能能否与预期的目的相符。nmodule tb_paobiao;nregclk,reset,pause;nwire 3:0ms_h,ms_l,s_h,s_l,m_h,m_l;npaobiao u_paobiao(clk,reset,pause,ms_h,ms_l,s_h,s_l,m_h,m_l);n/时钟产生模块ninitial beginnclk=1b0;nendnalwaysn#5 clk=clk;n/复位信号产生ninitial beginnreset=1b0;n#1

3、00 reset=1b1;n#10 reset=1b0;nendn/暂停信号产生ninitial beginnpause=1b1;n#300 pause=1b0;n#119905 pause=1b1;n#30 pause=1b0;nendninitialn$monitor($stime,reset,clk,pause,ms_h,ms_l,s_h,s_l,m_h,m_l);nendmoduleModelsim仿真 1新建project1选择菜单File/new/project,弹出Create Project对话框,如图5.2所示。Modelsim仿真 1新建project2添加文件到Proje

4、ct中在弹出的Create Project对话框中点击OK,弹出Add items to the Project对话框,选择Add Existing File,弹出Create Project File对话框,如图5.3所示。Modelsim仿真 1新建project3在Add file as Type 栏中选择Verilog,点击Browse,添加文件后的对话框,如图5.4所示。Modelsim仿真 2编译源代码点击菜单Compile/Compile all,编译后的文件形状如图5.5所示。Modelsim仿真 3启动仿真器 点击Start Simulation,启动仿真器,如图5.6所示。

5、Modelsim仿真 3启动仿真器 在work任务库下找到testbench文件,并选中,然后点击OK,如图5.7所示。Modelsim仿真 4执行仿真 将仿真信号添加到仿真波形窗口,用鼠标选中仿真信号,选择菜单Add/Wave/Selected Signals,如图5.8所示。Modelsim仿真 4执行仿真 选择菜单Simulation/Run/Run All,执行仿真,仿真波形如图5.9所示。ModelsimnModelsim是Mentor公司开发的HDL硬件描画言语仿真软件,该软件可以用来实现对用户设计的VHDL、Verilog或者两种言语混合的程序进展仿真,同时也支持IEEE常见的各

6、种硬件描画言语规范。运用运用Modelsim进展功能仿真进展功能仿真 1.新建工程新建工程 在Modelsim软件中选择“File菜单下的“New选项,选择“Project选项,翻开如图5.16所示的新建工程对话框。在该对话框中填写工程称号,途径和库。单击“OK按钮,弹出如图5.17所示的添加工程工程对话框。选择向工程添加的工程类型,然后单击“Close按钮完成工程的建立。这里选择“Add Exiting File工程。运用运用Modelsim进展功能仿真进展功能仿真 2.参与文件参与文件在新建工程时,也可以不选择添加的工程种类,而是在project栏里面单击右键,在弹出的菜单中选择“Add

7、to ProjectExisting File,如图5.18所示。运用运用Modelsim进展功能仿真进展功能仿真 3.编译源代码编译源代码Verilog 源文件的GUI方式的编译方法是:直接执行主窗口中“Compile菜单下的各种不同的编译命令,如图5.20所示。运用运用Modelsim进展功能仿真进展功能仿真 3.编译源代码编译源代码当文件窗口中“Status栏的“图标变成一个“的图标时,阐明文件编译胜利,如图5.21所示。运用运用Modelsim进展功能仿真进展功能仿真 4.启动仿真启动仿真器并加载器并加载顶层设计顶层设计这一步骤的GUI操作方法:执行主菜单中的Simulate/Simu

8、late命令。翻开开场仿真对话框,如图5.24所示,选择顶层模块,如图5.25所示。运用运用Modelsim进展功能仿真进展功能仿真 5.执行仿真,执行仿真,查看波形查看波形右键单击test,选择“Add选项下面的“Add to Wave选项,为波形窗口添加信号,如图5.26所示。运用运用Modelsim进展功能仿真进展功能仿真 5.执行仿真,执行仿真,查看波形查看波形此时即可在新弹出的窗口中看到已添加的信号,如图5.27所示。运用运用Modelsim进展功能仿真进展功能仿真 5.执行仿真,执行仿真,查看波形查看波形单击工具栏中的图标就能看见仿真结果了,如图5.28所示。5.3 Testben

9、ch设计方法n通常Testbench没有输入与输出端口,通常应包括信号或变量定义,产生鼓励波形语句,例化设计模块,监控和比较呼应输出语句。5.3.1 Testbench根本构造 module test_bench;信号或变量定义声明 运用initial或always语句来产生鼓励波形 例化设计模块 监控和比较输出呼应endmodule5.3 Testbench设计方法nHDL用于描画硬件电路,同样也可以用于描画仿真鼓励的产生。HDL描画可以产生所需求的控制信号,以及一些简单的数据。5.3.2 简单CPU接口鼓励产生方式 initialbegincs_n=1;/CPU接口初始形状wr_n=1;r

10、d_n=1;addr=8hxx;data=8hzz;#1000;/一次写操作cs_n=0;wr_n=0;addr=8h80;data=8h00;#100;cs_n=1;wr_n=1;#10;addr=8hxx;data=8hzz;end5.3 Testbench设计方法5.3.4 常用产生鼓励描画方式1产生时钟的几种方式 1运用initial方式产生占空比为50%的时钟 initialbeginclk=0;#delay;forever#(period/2)clk=clk;end5.3 Testbench设计方法5.3.4 常用产生鼓励描画方式1产生时钟的几种方式 2运用always方式 ini

11、tialclk=0;always#(period/2)clk=clk;5.3 Testbench设计方法5.3.4 常用产生鼓励描画方式1产生时钟的几种方式 3运用repeat方式产生确定数目的时钟脉冲 initialbeginclk=0;repeat6#(period/2)clk=clk;end5.3 Testbench设计方法5.3.4 常用产生鼓励描画方式1产生时钟的几种方式 4产生占空比非50%的时钟 initialclk=0;alwaysbegin#3 clk=clk;#2 clk=clk;end5.3 Testbench设计方法5.3.4 常用产生鼓励描画方式2产生复位信号的几种方

12、式 1异步复位initialbeginrst=1;#100;rst=0;#500;rst=1;end5.3 Testbench设计方法5.3.4 常用产生鼓励描画方式2产生复位信号的几种方式 2同步复位1initialbeginrst=1;negedge clk;/等待时钟下降沿 rst=0;#30;negedge clk;/等待时钟下降沿rst=1;end5.3 Testbench设计方法5.3.4 常用产生鼓励描画方式2产生复位信号的几种方式 3同步复位2initialbeginrst=1;negedge clk;/等待时钟下降沿 repeat(3)negedge clk;/经过3个时钟下

13、降沿rst=1;end5.4 常用的Verilog测试语句1.$display/$monitor/在终端上打印信号的ASCII值initial begin$timeformat(-9,1,“ns,12);/设置输出时钟格式$display(“stime clk rst pause ms_h ms_l s_h s_l m_h m_l);/显示输入的字符串$monitor(“%t%b%b%b%b%b%b%b%b,/设置输出信号格式$realtime,clock,reset,pause,ms_h,ms_l,s_h,s_l,m_h,m_l);/指定输出的信号end$display是将函数内部双引号中的

14、字符串输出在终端上。而$monitor那么不同,它的输出是事件驱动的。在例子中,$monitor信号列表中的$realtime信号变化会触发终端显示事件的发生,该信号被设计者对应到仿真时间中,每次$monitor的触发将会把信号列表中的信号值显示在终端中。$monitor语句中的“%用于定义信号列表中信号的输出格式。例如,%t将信号按照时间格式输出,%b将信号按照二进制格式输出。另外Verilog HDL言语还提供了其它的输出格式,比如%h为十六进制输出,%d为十进制输出,%o为八进制输出等。5.4 常用的Verilog测试语句2.timescalestimescale 1ns/1ps /度量

15、参考为1ns,精度为1psmodule testbench;initial begin#10 rst=1;/10个仿真时间延时,相当于10 x1ns=10ns的仿真时间endinitial begin/display语句将在每一个仿真推进布进中执行,也就是1ps执行一次$display(%d,rst=%bm$time,rst);endendmoduletimescale reference_time/precision其中reference_time是单位时间的度量,precision决议了仿真的推进延迟精度,同时也设置了仿真的推提高进单位。5.4 常用的Verilog测试语句3.force/

16、releasemodule testbench;.initial beginrst=1;/在仿真时间零点将rst赋值1force data=101;/在仿真时间零点强迫使data为101,并坚持#30 rst=0;/在仿真绝对时间30将rst赋值0#50 release data;/在仿真绝对时间80释放./data值将坚持直到下一个对它的赋值语句endendmoduleforce和release语句可以用来强迫对执行过程中的存放器或网络型信号量赋值。这两条语句共同完成一个强迫赋值的过程。当一个被force的信号被release以后,这个信号将会坚持当时的形状直到下一个赋值语句产生为止。5.4

17、 常用的Verilog测试语句4.assign/deassignmodule testbench;.initial beginrst=1;/在仿真时间零点将rst赋值1force data=101;#30 rst=0;/在仿真绝对时间30将rst赋值0#30 release data;.endinitial begin#20 assign rst=1;/此条语句覆盖之前的赋值语句即绝对时间零点的赋值#30 rst=0;/绝对时间50对rst赋值0#50 release rst;/绝对时间100释放rst信号endmoduleassign/deassign语句与force/release语句相类似,不过assign/deassign语句只能对设计中的存放器类型信号赋值。它们经常用来设置输入值 nThanks!

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!