数字逻辑设计及运用 5-1 verilog HDL.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
About the HDL? What is the HDL? Hardware Description Language Sofe Core Hard Core Why we used the HDL? Verilog HDL IEEE std1364-2001 Verilog HDL and C Languaue Verilog HDL and VHDL example m o d u l e m o d u l e _ n a m e (p o r t _ l i s t) ; D e c l a r a t i o n s : reg, wire, parameter, input, output, inout, function, task, . . . S t a t e m e n t s : Initial statement Always statement Module instantiation Gate instantiation UDP instantiation Continuous assignment e n d m o d u l e Half Adder m o d u l e H a l f A d d e r (A, B, Sum, Carry) ; i n p u t A, B; o u t p u t Sum, Carry; a s s i g n #2 Sum = A ^ B; a s s i g n #5 Carry = A B; e n d m o d u l e 模块的名字是H a l f A d d e r。模块有4个端口: 两个输入端口A和B,两个输出端口S u m和C a rry。由于没有定义端口的位数, 所有端口大小都为1位;同时, 由于没有各端口的数据类型说明, 这四个端口都是线网数据类型。模块包含两条描述半加器数据流行为的连续赋值语句。从这种意义上讲,这些语句在模块中出现的顺序无关紧要,这些语句是并发的。每条语句的执行顺序依赖于发生在变量A和B上的事件。 Half Adder m o d u l e H a l f A d d e r (A, B, Sum, Carry) ; i n p u t A, B; o u t p u t Sum, Carry; a s s i g n #2 Sum = A ^ B; a s s i g n #5 Carry = A B; e n d m o d u l e # 2指2个时间单位。使用编译指令将时间单位与物理时间相关联。这样的编译器指令需在模块描述前定义,如下所示: ` timescale 1ns /100ps,此语句说明时延时间单位为1 n s并且时间精度为100ps (时间精度是指所有的时延必须被限定在 0 . 1 n s内)。如果此编译器指令所在的模块包含上面的连续赋值语句, #2 代表2 n s。 时延举例 ` t i m e s c a l e 1ns/ 1ns m o d u l e D e c o d e r 2 x 4 (A, B, EN, Z) ; i n p u t A, B, EN; o u t p u t [ 0 :3] Z; wire Abar, Bbar; assign #1 Abar = ~ A; / 语/ 句1。 assign #1 Bbar = ~ B; / 语/ 句2。 assign #2 Z[0] = ~ (Abar Bbar EN ) ; / / 语句3。 assign #2 Z[1] = ~ (Abar B EN) ; / / 语句4。 assign #2 Z[2] = ~ (A Bbar EN) ; / / 语句5。 assign #2 Z[3] = ~ ( A B EN) ; / / 语句6。 e n d m o d u l e 以反引号“ ` ”开始的第一条语句是编译器指令, 编译器指令` t i m e s c a l e 将模块中所有时延的单位设置为1 n s,时间精度为1 ns。 例如,在连续赋值语句中时延值# 1和# 2分别对应时延1 ns 和2 ns。 Verilog HDL 设计的行为功能使用下述过程语句结构描述: 1) initial语句:此语句只执行一次。 2) always语句:此语句总是循环执行, 或者说此语句重复执行。 initial语句 ` t i m e s c a l

文档评论(0)

today-is-pqsczlx + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档