- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Verilog HDL数字系统设计及其应用第9章
第9章 测试与仿真 第9章 测 试 与 仿 真 9.1 测试与仿真的流程 9.2 测试举例 9.1 测试与仿真的流程 对已设计模块的测试与仿真通常可分为以下三个步骤: (1) 产生输入向量,包括输入向量的初始化与产生测试波形。 (2) 将输入向量添加到已设计模块并给出相应的输出结果。 (3) 将输出结果与设计要求相比较。 9.1.1 产生输入向量 对输入向量的初始化可通过initial过程块来实现。 【例9-1】输入向量的初始化。 initial begin clk = 1b0; globalReset = 1b1; in = 1b1; end 在上面的例子中,将二进制表示形式的0值赋给变量clk。实际上,对于值0与1,没有必要采用二进制表示形式1b0与1b1,直接用0与1给出即可。 当给输入向量赋值时,可以利用一定的延迟时间来控制测试与仿真程序(参见下面的例子)。 【例9-2】带延迟的向量赋值。 #100 globalReset = 0; #100 in = 0; #100 in = 1; #300 in = 0; 经过100个时间单位的延迟后将变量globalReset的值置为0,再经过100个时间单位的延迟把变量in变为0,依次类推。这里需要注意的是,时延是一个相对的概念,即相对于上一条语句执行完后的时刻而言,并非相对于仿真的起始时间。 如果测试模块中没有控制仿真结束时刻的语句,那么当对测试模块进行仿真实验时,程序就会陷入死循环。通过在initial过程块中加入带有延迟的系统任务$finish或$stop,就可轻易解决该问题。 【例9-3】仿真结束语句的应用。 initial begin #100 globalReset = 0; #100 in = 0; #100 in = 1; #300 in = 0; #400 $finish end 采用always过程块可以很容易实现时钟信号,下面是一个产生某测试模块的时钟信号的例子。 【例9-4】时钟信号的产生。 always begin #10 clk = ~clk; end 该例用来产生一个周期为20个时间单位的时钟信号。 如果输入信号的值有规律地变化时,例如按相同的延迟重复出现n次,那么就可以通过repeat循环语句来实现。 【例9-5】repeat循环语句的例子。 repeat(10) begin #40 in = 0; #20 in = 1; end 9.1.2 测试模块 【例9-6】4选1多路选择器的功能模块与测试模块。 //功能模块部分 module multiplexor4_1 (out, in1, in2, in3, in4, cntrl1, cntrl2); output out; input in1,in2,in3,in4,cntrl1,cntrl2; reg out; always @(in1 or in2 or in3 or in4 or cntrl1 or cntrl2) case ({cntrl1,cntrl2}) 2b00:out = in1; 2b01:out = in2; 2b10:out = in3; 2b11:out = in4; default:$display(Please check control bits); endcase endmodule //测试模块部分 module muxstimulus; reg IN1,IN2,IN3,IN4,CNTRL1,CNTRL2; wire OUT; multiplexor4_1 mux1_4(OUT,IN1,IN2,IN3,IN4,CNTRL1,CNTRL2); initial begin IN1 = 1;IN2 = 0;IN3 = 1;IN4 = 0; $display(Initial arbitrary values); #0 $display(input1 = %b,input2 = %b,input3 = %b,input4 = %b\n, IN1,IN2,IN3,IN4); {CNTRL1,CNTRL2} = 2b00; #1 $display(cntrl1=%b,cntrl2=%b,output is %b,CNTRL1, CNTRL2, OUT); {CNTRL1, CNTRL2} = 2b01; #1 $display(cntrl1=%b,cntrl2=%b output is %b,CNTRL1,CNTRL2,OUT); {CNTRL1,CNTRL2} = 2b10; #1 $display(cntrl1=%b,cntrl2=%b output is %b,CNTR
您可能关注的文档
- unit5新视野大学英语.ppt
- UNIT6英国资产阶级革命X.pptx
- Unit7 period 2课件新目标七年级上.ppt
- Unit7you may call him课件.ppt
- unit8 let's go to the park 课件.ppt
- unit_2_This_is_my_sister_seciton_B_1a-1c_教案.ppt
- Unit_4_I_want_to_be_an_actor说课.ppt
- Unit_5考古.ppt
- UNIT_6_IBM与ORACLE的数据仓库实现方法.ppt
- unit_6__第二课时.ppt
- 2025年碳中和目标驱动下能源政策创新与能源产业竞争力提升.docx
- 低空经济eVTOL适航认证标准在航空市场拓展中的实施与产业协同创新.docx
- 文化艺术中心建筑绿色建筑评价初步设计报告.docx
- 2025特种作业煤矿安全作业题库附完整答案详解【名师系列】.docx
- 2025特种作业煤矿安全作业题库附参考答案详解【完整版】.docx
- 仿制药一致性评价2025年对医药行业可持续发展影响报告.docx
- 低空经济eVTOL适航认证标准完善策略,2025年产业布局规划报告.docx
- 2025年可穿戴医疗设备在慢性疼痛管理中的市场需求与技术进展报告.docx
- 低空经济eVTOL适航认证标准制定与航空安全风险管理报告.docx
- 2025特种作业煤矿安全作业题库附完整答案详解【历年真题】.docx
最近下载
- 冠心病合并房颤的抗凝抗栓策略.ppt VIP
- 副高中医护理试题及答案.docx
- 员工职业发展通道设计课程.ppt VIP
- 注册安全工程师中级其他安全生产专业实务(电气安全)模拟试卷3.pdf VIP
- VDI2230高强度螺栓连接的系统计算中文版.pdf VIP
- 汉威KB500可燃气体报警控制器使用说明书.pdf
- 2024-2030全球摩托车和机车头盔行业调研及趋势分析报告.docx
- 2024-2030全球全面式蓝牙摩托车头盔行业调研及趋势分析报告.docx
- 神木市东安煤业有限公司煤炭资源整合项目(0.60Mt_a)(重大变动)环境影响报告书.pdf VIP
- (高清版)DB11∕T 1702-2019 生活饮用水样品采集技术规范.pdf VIP
文档评论(0)