Verilog HDL数字系统设计——原理、实例及仿真 教学课件 作者 康磊 第1 7章 第2章.pptVIP

Verilog HDL数字系统设计——原理、实例及仿真 教学课件 作者 康磊 第1 7章 第2章.ppt

  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文档。上传文档
查看更多
    2.1 Verilog HDL的特点   Verilog HDL语言描述硬件单元的结构简单、易读,其最大特点就是易学易用,如果有C语言的编程经验,在一个较短的时间内即能很快掌握。但Verilog HDL较自由的语法,也容易使初学者犯一些错误,这一点应注意。   Verilog HDL 语言具有多种描述能力,包括设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。   Verilog HDL语言编写的模型可使用Verilog仿真器进行验证,它从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解,但是Verilog HDL的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。完整的硬件描述语言可以对从最复杂的芯片到完整的电子系统进行描述,主要特点如下:   (1) ?Verilog HDL是一种用于数字逻辑电路描述的语言,主要用于逻辑电路的建模、仿真和设计。   (2) 用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型。   (3) ?Verilog HDL 既是一种行为描述语言也是一种结构描述语言,既可以用电路的功能描述,也可以用元器件和它们之间的连接来建立所设计电路的Verilog HDL模型。   (4) ?Verilog模型可以是实际电路不同级别的抽象,这些抽象的级别和它们对应的模型类型共有以下五种:   系统级(System)——用高级语言结构实现设计模块行为的模型;   算法级(Algorithmic)——用高级语言结构实现设计算法行为的模型,部分可综合;   RTL级(Register Transfer Level)——描述数据在寄存器之间流动和处理这些数据行为的模型,可综合;   门级(Gate-Level)——描述逻辑门以及逻辑门之间连接的模型;   开关级(Switch-Level)——描述器件中三极管和存储器件以及它们之间连接的模型。      2.2 程序设计流程   图2.1所示是一个典型的FPGA/CPLD设计流程,而如果是ASIC设计,则不需要STEP5这个环节,只要把综合后的结果直接交给集成电路生产厂家即可。 图2.1 典型的FPGA/CPLD设计流程 2.3 程序的基本结构 2.3.1 模块的概念   模块(module)是Verilog HDL设计中的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口。每个Verilog HDL设计的系统都是由若干个模块组成的,所以在学习基本语法之前有必要了解模块的概念。模块具有如下特征:   (1) 每个模块在语言形式上是以关键词module开始、以关键词endmodule结束的一段程序。   (2) 模块代表硬件电路上的逻辑实体,其范围可以从简单的门到整个大的系统,比如一个计数器、一个存储子系统、一个微处理器等。   (3) 模块可以根据描述方法的不同定义成行为型或结构型(或者是二者的组合)。行为型模块通过传统的编程语言结构定义数字系统(模块)的状态,如使用if条件语句、赋值语句等。结构型模块是将数字系统(模块)的状态表达为具有层次概念的互相连接的子模块。   (4) 每个模块都可实现特定的功能。   (5) 模块是分层的,高层模块通过调用、连接底层模块的实例来实现复杂的功能。   (6) 模块之间是并行运行的。   图2.2是一个完整模块的结构示意图,从图中我们可以看出模块作为Verilog HDL设计中最基本的单元的结构组成。 图2.2 模块结构示意图   ? 模块名是模块唯一性的标识符(模块的名称)。   ? 端口定义是端口(输入、输出和双向端口)的列表,这些端口用来与其他模块进行连接。端口类型有三种:输入端口(input)、输出端口(output)和输入/输出(双向)端口(inout)。   通过图2.3模块的端口示意图,我们可以更清楚地了解模块端口。 图2.3 模块的端口示意图   ? 数据类型声明是对模块中所用到的信号(包括端口信号、节点信号等)进行数据类型的定义,也就是指定数据对象为寄存器型、存储器型、线型等。   ? 逻辑功能定义是模块中最核心的部分,有多种方法可在模块中描述和定义逻辑功能,还可以调用函数(function)和任务(task)来描述逻辑功能,可以包含 initial结构、always结构、连续赋值或模块实例等。   ? 标识模块结束的endmodule之后没有分号。  【例2.1】 一个三位二进制加法器。  【例2.2】 2选1数据选择器。 图2.4 2选1数据选择器逻辑图  【例2.3】 一位比较器。  【例2

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档