硬件描述语言Verilog第5章.ppt

  1. 1、本文档共132页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
硬件描述语言Verilog第5章

* * Microelectronics School Xidian University (3)`timescale 10ns/1ns `timescale 10ns/1ns module delay_tb; reg set; parameter d=1.55; initial begin #d set=0; #d set=1; end endmodule 在这个例子中,`timescale命令定义了模块delay_tb的时间单位为10ns、时间精度为1ns。因此在模块test中,所有的时间值应为10ns的整数倍,且以1ns为时间精度。这样经过取整操作,存在参数d中的延迟时间实际是16ns(即1.6×10ns),这意味着在仿真时刻为16ns时寄存器set被赋值0,在仿真时刻为32ns时寄存器set被赋值1。仿真时刻值是按照以下的步骤来计算的。 5.9.4 条件编译命令 条件编译命令有以下几种形式: (1)`ifdef 宏名 (标识符) 程序段1 `else 程序段2 `endif 它的作用是当宏名已经被定义过(用`define命令定义),则对程序段1进行编译,程序段2将被忽略;否则编译程序段2,程序段1被忽略。其中`else部分可以没有,即: (2)`ifdef 宏名 (标识符) 程序段1 `endif * * Microelectronics School Xidian University 5.9.5其它语句 (1)`default_nettype语句 `default_nettype用于为隐式线网类型,也就是将那些没有被说明的连线定义为线网类型。 例如:`default_nettype wand 该实例定义的默认的线网为线与类型。因此,如果在此指令后面的任何模块中没有说明的连线,那么该线网被假定为线与类型。 (2)`resetall语句 `resetall编译器指令将所有的编译指令重新设置为默认值。 例如:`resetall 该指令使得默认连线类型为线网类型。 * * Microelectronics School Xidian University (3)`unconnected_drive语句 `unconnected_drive和`nounconnected_drive在模块实例化中,出现在这这两个编译器指令间的任何未连接的输入端口或者为正偏电路状态或者为反偏电路状态。 例如:`unconnect_drive pull1 /*在这两个程序指令间的所有未连接的输入端口为正偏电路状态(连接到高电平)*/ `nounconnected_drive `unconnected_drive pull0 /*在这两个程序指令间的所有未连接的输入端口为反偏电路状态(连接到低电平)*/ `nounconected_drive * * Microelectronics School Xidian University (4)`celldefine语句 `celldefine和`endcelldefine这两个程序指令用于将模块标记为单元模块,表示包含模块定义,例如: `celldefine module FD1S3AX(D,CK,Z); ... endmodule `endcelldefine * * Microelectronics School Xidian University 5.10 Verilog HDL测试方法简介 在集成电路测试领域,常用的测试方法有完全测试法、随机测试法和自动测试法。 (1)完全测试法 对于复杂的设计来说,常常通过检查代码的覆盖率来检查验证工作是否完成的一种重要方法。代码覆盖率可以指示Verilog HDL代码描述的功能有多少在仿真过程中被验证过。通常代码覆盖率包括以下内容: ·语句覆盖率 ·路径覆盖率 ·状态机覆盖率 ·触发覆盖率 ·表达式覆盖率 * * Microelectronics School Xidian University (2)随机测试法 在Verilog HDL中提供了多个用于随机测试的系统命令,通常使用随机测试的系统函数来仿真真实应用的情况,如在通信领域中常用的帧同步搜索电路需要从接收的数据流中检测发送端固定插入的某个特殊的码型,而数据本身也有可能包括该码型,在这种情况下进行随机化测试就更接近于真实应用的情况。其中最常用的系统命令是随机数产生系统任务$random。 (3)自动测试法 在集成电路测试领域,全面准确的测试才能保证大规模集成电路的正常工作,而确保一个设计能够得到全面测试的唯一途径就是实现任务的自动化。通常通过创建一个检验表,使用相应个数的采样值。当修改过源代码后,所有的测试程序都自动被再次执行。但需要注

文档评论(0)

sunshaoying + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档