FPGA嵌入式系统开发与实例PPT课件(共6章)第4章Verilog HDL基础.pptxVIP

FPGA嵌入式系统开发与实例PPT课件(共6章)第4章Verilog HDL基础.pptx

  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文档。上传文档
查看更多
第4章 Verilog HDL基础; 4.1 Verilog HDL简介; 4.1.2 Verilog HDL的特点   在设计一个复杂的硬件电路时,设计人员采取自上向下策略将其拆分为简单的功能来实现,这就是所谓的模块化设计。而Verilog HDL为此提供了可能。Verilog HDL使用模块来描述硬件的基本设计单元,模块的互连和结合能够完成复杂的功能设计。这种模块化的设计有利于系统层次的划分,提高效率的同时亦降低了成本。;   Verilog HDL的主要特点:   · 基本逻辑门,例如and、or和nand等都内置在Verilog HDL中;开关级基本结构模型,例如PMOS和NMOS等也被内置在Verilog HDL中。   · 用户定义原语(UDP)创建灵活。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。Verilog HDL还具有内置逻辑函数,例如“”(按位与)和“|”(按位或)。;   · 可采用三种不同方式或混合方式对设计建模。这些方式包括:   行为描述方式——使用过程化结构建模;   数据流方式——使用连续赋值语句方式建模;   结构化方式——使用门和模块实例语句描述建模。   · 设计的规模可以是任意的,语言不对设计的规模(大小)施加任何限制。   · 能够在多个层次上对所设计的系统加以描述,如从开关级、门级、寄存器传送级 (RTL)到算法级,包括进程和队列级。 ;   · ?Verilog HDL 具有混合建模能力,即在一个设计中的每个模块可以在不同设计层次上建模和描述。   · 具有和高级编程语言类似的结构,例如条件语句、情况语句和循环语句。可以显式地对并发和定时进行建模。 ; 4.1.3 Verilog HDL与VHDL   1987年,VHDL(Very-High-Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)被IEEE和美国国防部确认为标准硬件描述语言,主要应用于数字电路的设计。   VHDL和Verilog HDL都能抽象表示电路的结构和行为,支持逻辑设计中层次与领域的描述,具有电路仿真与验证机制,能够保证设计的正确性。 ;   Verilog HDL相比于VHDL来说,简单易学,其语法结构与C语言类似。Verilog HDL在系统级抽象方面略差一些,但其在门级开关电路描述方面??VHDL强得多。考虑到多方面的因素,本书选择Verilog HDL进行讲述,便于读者学习和理解。 ; 4.2 Verilog层次建模与模块;;; 4.2.2 模块   Verilog使用模块(module)表示一个基本的功能块,模块是Verilog语言中的基本单位。模块可以是一个元件,也可以是低层次模块的组合。良好的模块设计可以大大提高代码的重用性。每个模块通过接口(即模块的输入和输出)同其他模块交互。接口屏蔽了模块内部的实现细节,这使得设计者可以在不修改模块接口的前提下方便地对模块的实现进行修改,而不影响设计的其他部分。;   模块声明的语法结构如下,需要注意的是模块不允许嵌套声明。;   Verilog允许在一个模块中混合使用多个抽象层次。一般来说,抽象的层次越高,设计的灵活性和工艺无关性就越强;随着抽象层次的降低,灵活性和工艺无关性逐渐变差,微小的调整都可能导致对设计的多处修改。; 4.2.3 实例化   模块提供了创建实例的模板,当一个模块被调用时会根据模板创建一个唯一的实例,每个实例都有自己的名字、变量、参数和输入输出接口。例如,已经定义了一个下降沿触发的T触发器(在每个下降沿状态反转)模块,为了构建三位二进制异步计数器,需要实例化三个T触发器,然后将上一级的输出连接到下一级的时钟输入上,其电路原理图如图4-3所示。;;   下面为三位二进制异步计数器的Verilog代码。由代码可以看出模块实例化的过程实际上就是模块被调用的过程。Verilog允许设计人员可以像设计电路一样,将模块实例相互连接组装成更加复杂的单元,实现特定的功能。同时,正是这种模块化的封装,使得Verilog中层次化建模成为可能。;; 4.3 Verilog HDL基础;   2. 标识符   标识符是用户提供的用来描述目标的名称。标识符分为普通标识符、转义标识符、生成标识符、关键字。   1) 普通标识符   普通标识符是由字母、数字、货币符号($)、下划线(_)构成的序列。第一个符号可以是字母或者下划线,例如_bus,bus_index,n$90等。   2) 转义标识符   转义标识符以反斜杠作为起始,以空白字符结尾,例如?\{A,B},\busa+index等。工具不同,对转义字符串的支持可能有所不同。;   3. 数字   Ver

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

从事职业教育近20年,高级职称。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档