- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
五章数字系统的验证ppt课件
5.3 Testbench设计方法 5.3.4 常用产生激励描述方式 2)产生复位信号的几种方式 (3)同步复位2 initial begin rst = 1; @(negedge clk); //等待时钟下降沿 repeat(3) @(negedge clk); //经过3个时钟下降沿 rst = 1; end 5.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是将函数内部双引号中的字符串输出在终端上。而$monitor则不同,它的输出是事件驱动的。在例子中,$monitor信号列表中的$realtime信号变化会触发终端显示事件的发生,该信号被设计者对应到仿真时间中,每次$monitor的触发将会把信号列表中的信号值显示在终端中。 $monitor语句中的“%”用于定义信号列表中信号的输出格式。例如,%t将信号按照时间格式输出,%b将信号按照二进制格式输出。另外Verilog HDL语言还提供了其它的输出格式,比如%h为十六进制输出,%d为十进制输出,%o为八进制输出等。 5.4 常用的Verilog测试语句 2. timescales timescale 1ns/1ps //度量参考为1ns,精度为1ps module testbench; … initial begin #10 rst = 1; //10个仿真时间延时,相当于10x1ns=10ns的仿真时间 … end initial begin //display语句将在每一个仿真推进布进中执行,也就是1ps执行一次 $display (%d, rst = %bm $time, rst); end endmodule timescale reference_time/precision 其中reference_time是单位时间的度量,precision决定了仿真的推进延迟精度,同时也设置了仿真的推进步进单位。 5.4 常用的Verilog测试语句 3. force/release module testbench; ... initial begin rst = 1; //在仿真时间零点将rst赋值1 force data = 101; //在仿真时间零点强制使data为101,并保持 #30 rst = 0; //在仿真绝对时间30将rst赋值0 #50 release data; //在仿真绝对时间80释放 ... //data值将保持直到下一个对它的赋值语句 end endmodule force和release语句可以用来强制对执行过程中的寄存器或网络型信号量赋值。这两条语句共同完成一个强制赋值的过程。当一个被force的信号被release以后,这个信号将会保持当时的状态直到下一个赋值语句产生为止。 5.4 常用的Verilog测试语句 4. assign/deassign module testbench; ... initial begin rst = 1; //在仿真时间零点将rst赋值1 force data = 101; #30 rst = 0; //在仿真绝对时间30将rst赋值0 #30 release data; ... end initial begin #20 assign rst = 1; //此条语句覆盖之前的赋值语句(即绝对时间零点的赋值) #30 rst = 0; //绝对时间50对rst赋值0 #50 release rst; //绝对时间100释放rst信号 endmodule assign/deassign语句与force/release语句相类似,不过assign/deassign语句只能对设计中的寄存器类型信
您可能关注的文档
最近下载
- 2024年银行考试-授信业务资格笔试参考题库含答案.docx
- 2023-2024学年重庆市高二上册数学期末试卷1(人教版).docx VIP
- 园林景观施工技术交底记录大全.docx
- 期末周末作业题(含解析)2024-2025学年人教新目标(Go for it)版英语八年级上册.docx VIP
- 2024山西省农商银行招聘1340人笔试模拟试题及答案解析.docx
- 人教版2024-2025学年度第一学期七年级期末数学试卷.docx
- 可信数据空间建设及应用参考指南1.0.docx
- 2024江苏高考政治真题(原卷版).docx
- 三年级数学上册专项练习(拔高题)北师大版.pdf
- Rhino5.0&KeyShot产品设计实例教程(第2版).ppt VIP
文档评论(0)