第9单元 Verilog HDL模型的不同.pptVIP

  1. 1、本文档共17页,可阅读全部内容。
  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文档。上传文档
查看更多
第9单元 Verilog HDL模型的不同

第9章 Verilog HDL模型的不同抽象级别 概述 9.1 门级结构 9.2 Verilog HDL的行为描述建模 9.3 用户定义的原语 * * Verilog模型可以是实际电路不同级别的抽象。所谓不同的抽象级别,实际上是指同一个物理电路,可以在不同的层次上用Verilog语言来描述它,如果只从行为和功能的角度来描述某一电路模块,就称为行为模块;如果从电路结构的角度来描述该电路模块,就称为结构模块。抽象的级别和它们对应的模块类型常可以分为以下5种 (1) 系统级(system) (2) 算法级(algorithmic) (3) RTL级(RegisterTransferLevel): (4) 门级(gate-level): (5) 开关级(switch-level) 系统级、算法级和RTL级是属于行为级的,门级是属于结构级的。 对于数字系统的逻辑设计工程师而言,熟练地掌握门级、RTL级、算法级、系统级是非常重要的。而对于电路基本部件(如门、缓冲器、驱动器等)库的设计者而言,则需要掌握用户自定义源语元件(UDP)和开关级的描述。 一个复杂电路的完整Verilog HDL模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。这些模块可以分别用不同抽象级别的Verilog HDL描述,在一个模块中也可以有多种级别的描述。利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计。 一个逻辑网络是由许多逻辑门和开关所组成,因此用逻辑门的模型来描述逻辑网络是最直观的。 Verilog HDL提供了一些门类型的关键字,可以用于门级结构建模。 9.1.1 与非门、或门和反向器及其说明语法 Verilog HDL中有关门类型的关键字共有26个之多。我们只介绍8个。 and 与门 nand 与非门 nor 或非门 or 或门 xor 异或门 xnor 异或非门 buf 缓冲器 not 非门 门声明语句的格式如下: 门的类型[驱动能力延时]门实例1[,门实例2,…门实例n]; 9.1.2用门级结构描述D触发器 例9.1用基本逻辑单元组成D型主从触发器 module flop(data,clock,clear,q,qb); input data,clock,clear; output q,qb; nand #10 nd1(a,data,clock,clear), nd2(b,ndata,clock), nd4(d,c,b,clear), nd5(e,c,nclock), nd6(f,d,nclock), nd8(qb,q,f,clear); nand #9 nd3(c,a,d), nd7(q,e,qb); not #10 iv1(ndata,data), iv2(nclock,clock); endmodule 9.1.3 .由已经设计成的模块来构成更高一层的模块 clr d q clk clr d q clk clr d q clk q0 d0 clr d q clk d3 d2 q2 q3 q1 d1 clrb clk f4 f3 f2 f1 四位寄存器电路结构图 `include flop.v module hardreg(d,clk,clrb,q); input clk,clrb; input[3:0] d; output[3:0] q; flop f1(d[0],clk,clrb,q[0],), f2(d[1],clk,clrb,q[1],), f3(d[2],clk,clrb,q[2],), f4(d[3],clk,clrb,q[3],); endmodule module hardreg(d,clk,clrb,q); input clk,clrb; input[3:0] d; output[3:0] q; reg [3:0] q; always @ (negedge clk or posedge clrb) begin if (clrb) q = 0; else q = d; end endmodule 9.2.1 仅用于产生仿真测试信号的Verilog HDL行为描述建模 `include flop.v `include hardreg.v module hardreg_to

文档评论(0)

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

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

1亿VIP精品文档

相关文档