次verilogHDL课.pptVIP

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
次verilogHDL课

EDA技术——Verilog HDL 胡 俊 杰 第二讲 设计举例 进一步学习Verilog的结构描述和行为描述 Verilog混合(抽象)级仿真 语言的主要特点 module能够表示: 物理块,如IC或ASIC单元 逻辑块,如一个CPU设计的ALU部分 整个系统 每一个模块的描述从关键词module开始,有一个名称(如SN74LS74,DFF,ALU等等),由关键词endmodule结束。 语言的主要特点—模块端口(module ports) 注意模块的名称DFF,端口列表及说明 模块通过端口与外部通信 语言的主要特点 语言的主要特点 可以将模块的实例通过端口连接起来构成一个大的系统或元件。 在上面的例子中,REG4有模块DFF的四个实例。注意,每个实例都有自己的名字(d0, d1, d2, d3)。实例名是每个对象唯一的标记,通过这个标记可以查看每个实例的内部。 实例中端口的次序与模块定义的次序相同。 模块实例化与调用程序不同。每个实例都是模块的一个完全的拷贝,相互独立、并行。 Verilog描述举例 Verilog描述举例 一个包括测试的简单例子 test fixture 被测试器件DUT是一个二选一多路器。测试装置(test fixture)提供测试激励及验证机制。 Test fixture使用行为级描述,DUT采用门级描述。下面将给出Test fixture的描述、DUT的描述及如何进行混合仿真。 DUT 被测器件 (device under test) a, b, sel是输入端口,out是输出端口。所有信号通过这些端口从模块输入/输出。 另一个模块可以通过模块名及端口说明使用多路器。实例化多路器时不需要知道其实现细节。这正是自上而下设计方法的一个重要特点。模块的实现可以是行为级也可以是门级,但并不影响高层次模块对它的使用。 Test Fixture template Test Fixture — 如何说明实例 Test Fixture —过程(procedural block) Test Fixture —过程(procedural block) 通常采用过程语句进行行为级描述。test fixture的激励信号在一个过程语句中描述。 过程语句的活动与执行是有差别的 所有过程在时间0处于活动状态,并根据用户定义的条件等待执行; 所有过程并行执行,以描述硬件内在的并行性; Test fixture 激励描述 例子中,a, b, sel说明为reg类数据。reg类数据是寄存器类数据信号,在重新赋值前一直保持当前数据。 #5 用于指示等待5个时间单位。 $finish是结束仿真的系统任务。 Test Fixture 响应产生 $time 系统函数,给出当前仿真时间 $monitor 系统任务,若参数列表中的参数值发生变化,则在时间单位末显示参数值。 $monitor ([“format_specifiers”,] arguments); 例如: $monitor($time, o, in1, in2); $monitor($time, , out, , a, , b, , sel); $monitor($time, “%b %h %d %o”, sig1, sig2, sig3, sig4); Test Fixture 响应产生 $time是一个系统函数,返回当前返回仿真时间。时间用64位整数表示。 $monitor 在时间单位末,若参数列表中的参数值发生变化则显示所列参数的值。由$time引起的变化不会显示。 $monitor系统任务支持不同的数基。缺省数基是十进制。支持的数基还有二进制、八进制、十进制。 完整的Test Fixture 时间单位末的概念 复习 Verilog的基本构建模块是什么?是如何构成一个系统的? module怎样与其它模块通信? 仿真时两个性质不同的模块是什么? 在test fixture中两类不同的过程语句是什么?它们有什么不同? 用什么方法能以文本格式显示仿真结果? 第三讲 Verilog的词汇约定(Lexical convention) 理解Verilog中使用的词汇约定 认识语言专用标记(tokens) 学习timescale 术语及定义 空白符:空格、tabs及换行 Identifier: 标志符,Verilog中对象(如模块或端口)的名字 Lexical: 语言中的字或词汇,或与其相关。由其文法(grammar)或语法(syntax)区分。 LSB:最低有效位(Lease significant bit) MSB:最高有效位(Most signifi

文档评论(0)

phltaotao + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档