数字逻辑基础 VerilogHDL语言基础.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文档。上传文档
查看更多
数字逻辑基础 VerilogHDL语言基础

* * * * * * * * * * 4.3 VerilogHDL模块的3种建模方式   从VerilogHDL的描述风格看,分为结构描述、数据流描述、行为描述以及混合描述。   通过一个例子认识Verilog HDL的3种建模方式,图中电路实现的功能是,当sel=0时,out=a;当sel=1时,out=b。 * * * * * * * 第四章 Verilog HDL语言基础 * 4.1 什么是Verilog HDL?   Verilog HDL是目前应用最为广泛的硬件描述语言。Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。   Verilog HDL适合算法级,寄存器级,逻辑级,开关级、系统级和版图级等各个层次的设计和描述。   Verilog HDL进行设计最大的优点是其工艺无关性。这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路。 * Verilog HDL模块化设计理念   Verilog HDL支持以模块集合的形式构造数字系统。利用层次化、结构化的设计方法,一个完整的硬件设计任务可以划分成若干个模块,每一个模块又可以划分成若干个子模块,子模块还可以进一步划分。   各个模块可以是自主开发的模块,也可以是从商业渠道购买的具有知识产权的IP核。 * 4.2 VerilogHDL基础知识   Verilog HDL的运算符与C语言的运算符几乎完全相同,但数据类型是Verilog HDL特有的。   在实际应用中,要认真体会、深入理解硬件描述语言与软件编程语言的本质区别。 4.2.1 VerilogHDL模块结构   模块是Verilog HDL的基本单元,用于描述某个设计的功能或结构以及与其他模块通信的外部端口。   模块的实际意义是代表硬件电路上的逻辑实体,每个模块都实现特定的功能。 * 模块的基本结构 * Verilog HDL语言描述F=AB+CD 模块结构举例   VerilogHDL模块结构完全嵌在module和endmodule关键字之间,包括四部分,即模块声明、端口定义、信号类型说明和逻辑功能定义。 * 1.模块声明   模块声明包括模块名和模块的端口列表。其格式如下:   Module 模块名(端口名1/端口名2,…,端口名n);   … //模块的其他部分  endmodule //模块结束关键字   模块端口列表中端口名的排列顺序是任意的。 * 2.端口(Port)定义   端口是模块与外界或其他模块进行连接、通信的信号线。因此,对端口列表中哪些端口是输入端口、哪些端口是输出端口要进行明确说明。   在Verilog HDL中有3种端口类型;输入端口、输出端口、双向端口(既可用作输入也可用作输出)。 * 1)用input定义输入端口,格式如下: input [位宽] 端口名1,端口名2,…,端口名n; 2)用output定义输出端口,格式如下: output [位宽] 端口名1,端口名2,…,端口名n; 3)用inout定义双向端口,格式如下: inout [位宽] 端口名1,端口名2,…,端口名n; 使用上述3种定义格式时应注意: .位宽的说明应遵循[n:1]或[n-1:0]的规则; .不同位宽的端口应分别定义; .位宽说明省略时,默认值为1。 * 3.数据(信号)类型说明   在模块中用到的所有信号(包括端口信号、节点信号、中间变量等)都必须进行数据类型的定义。VerilogHDL中提供了各种信号类型,最常用的是连线型(wire)、寄存器型(reg)和参数型(parameter)。   数据类型定义的实例: reg [4:1) cout; //定义信号cout的数据类型为4位寄存器(reg)型 wire a,b,c; //定义信号a,b,c为1位连线(wire)型 注意:   输入端口和双向端口不能说明为寄存器型;端口信号的数据类型说明缺省时,EDA的综合器将其默认为wire型。 * 4.逻辑功能定义 模块中的核心部分是逻辑功能的定义。   Verilog HDL提供了多种逻辑功能的定义方式,其中调用逻辑门元件(元件例化)、持续赋值语句(assign)、过程块(always)3种定义方式比较常用。   相对应在模块设计中的3种描述方法:门级描述方式、数据流描述方式、行为描述方式,以及以上混合描述方式。 * 1)通过调用逻辑门元件(元件例化)定义   通过调用Verilog HDL提供

文档评论(0)

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

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

1亿VIP精品文档

相关文档