2022年Verilog+HDL+华为入门教程 .pdf

上传人:C****o 文档编号:32517769 上传时间:2022-08-09 格式:PDF 页数:41 大小:592.70KB
返回 下载 相关 举报
2022年Verilog+HDL+华为入门教程 .pdf_第1页
第1页 / 共41页
2022年Verilog+HDL+华为入门教程 .pdf_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《2022年Verilog+HDL+华为入门教程 .pdf》由会员分享,可在线阅读,更多相关《2022年Verilog+HDL+华为入门教程 .pdf(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、共41页资源类别: HDL 语言内部公开1.0密级版本文档编号文档中心Verilog HDL 入门教程(仅供内部使用 )yyyy/mm/dd日期:批准:日期:中研基础批准:2004.8.3日期:中研基础拟制:版权所有不得复制名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 41 页 - - - - - - - - - 修订记录初稿完成1.002004.8.3作者描述修订版本日期绝密请输入文档编号Verilog HDL 入门教程2004-08-16第2页,共 41页版权所有,

2、侵权必究名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 41 页 - - - - - - - - - 目 录285 结构建模. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274.8 case 语句. . . . . . . . . . . . . . . . . . . .

3、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254.7 条件语句. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254.6.6 连接运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4、 . . . . . . . .254.6.5 条件运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244.6.4 按位逻辑运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234.6.3 逻辑运算符. . . . . . . . . . . . . . . . . . . . . . .

5、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224.6.2 关系运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214.6.1 算术运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214.6 运算符和

6、表达式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204.5.2 寄存器类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204.5.1 线网类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7、. . . . . . . . . . . . . . . . . . . . .204.5 数据类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184.4.2 常量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184.4.1 值集合

8、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184.4 数字值集合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184.3 格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174.2 注释. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174.1.3 书写规范建议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10、 .174.1.2 关键词. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174.1.1 定义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174.1 标识符. . . . . . . . . . . . . . . . . . . . . . .

11、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174 Verilog HDL 基本语法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163.3.4 混合设计描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12、. . . . .153.3.3 行为描述方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143.3.2 数据流描述方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .123.3.1 结构化描述方式. . . . . . . . . . . . . . . . . . . . . . . . . . .

13、 . . . . . . . . . . . . . . . . . . . . .123.3 三种建模方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113.2 时延. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .113.1.3 模块

14、语法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103.1.2 模块的结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93.1.1 简单事例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15、. . . . . . . . . . . . . . . . . . . . . . .93.1 模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93 Verilog HDL 建模概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

16、2.4.2 能力. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72.4.1 历史. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72.4 Verilog HDL 简介. . . . . . . . . . . . . . . . .

17、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62.3 设计方法学. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62.2 硬件描述语言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18、 . . . . . . .52.1 数字电路设计方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52 HDL 设计方法学简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 前言. . . . . . . . . . . . . . . . . . . . . .

19、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .绝密请输入文档编号Verilog HDL 入门教程2004-08-16第3页,共 41页版权所有,侵权必究名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 41 页 - - - - - - - - - 4010 附录 A Verilog 保留字. . . . . . . . . . . . . .

20、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .399 习题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .398 其他方面. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21、. . . . . . . . . . . . . . . . . . . . .377.4 行为建模具体实例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .367.3 过程赋值语句. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357.2 顺序语句块. . . . . . .

22、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357.1 简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .357 行为建模. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23、. . . . . . . . . . . . . . . . . . . . . . . . . . . . .346.3 数据流建模具体实例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346.2 阻塞赋值语句. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346.1 连续赋值语句

24、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .346 数据流建模. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315.4 结构化建模具体实例. . . . . . . . . . . . . . . . . . . . . . . . .

25、. . . . . . . . . . . . . . . . . . . . . . . .295.3 实例化语句. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285.2 模块端口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .285.1

26、模块定义结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .绝密请输入文档编号Verilog HDL 入门教程2004-08-16第4页,共 41页版权所有,侵权必究名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 41 页 - - - - - - - - - Verilog HDL 入门教程关键词:摘要:本文

27、主要介绍了Verilog HDL 语言的一些基本知识,目的是使初学者能够迅速掌握HDL设计方法,初步了解并掌握Verilog HDL语言的基本要素,能够读懂简单的设计代码并能够进行一些简单设计的Verilog HDL建模。缩略语清单:对本文所用缩略语进行说明,要求提供每个缩略语的英文全名和中文解释。参考资料清单:请在表格中罗列本文档所引用的有关参考文献名称、作者、标题、编号、发布日期和出版单位等基本信息。机 械 工 业 出 版社图书馆2000.7J.Bhasker 著徐振林 等译Verilog HDL硬件描述语言苏文彪 AMBIT DesignSystemQuisckReference for

28、Verilog HDL出版单位(若不为本公司发布的文献,请填写此列)查阅地点或渠道发布日期编号作者名称参考资料清单1前言当前业界的硬件描述语言中主要有VHDL 和Verilog HDL。公司根据本身ASIC 设计现有的特点、现状,主推Verilog HDL 语言,逐渐淡化VHDL 语言,从而统一公司的ASIC/FPGA 设计平台,简化流程。为使新员工在上岗培训中能迅速掌握ASIC/FPGA 设计的基本技能,中研基础部ASIC 设计中心开发了一系列的培训教材。该套HDL 语言培训系列包括如下教程:Verilog HDL 入门教程Verilog HDL 代码书写规范Verilog 基本电路设计指导

29、书TestBench 编码技术系列教材完成得较匆忙,本身尚有许多不完善的地方,同时,可能还需要其他知识方面的培训但没有形成培训教材,希望大家在培训过程中,多提宝贵意见,以便我们对它进行修改和完善。2 HDL 设计方法学简介绝密请输入文档编号Verilog HDL 入门教程2004-08-16第5页,共 41页版权所有,侵权必究名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 41 页 - - - - - - - - - 2.1 数字电路设计方法当前的数字电路设计从层次上分可

30、分成以下几个层次:1. 算法级设计:利用高级语言如C语言及其他一些系统分析工具(如MATLAB )对设计从系统的算法级方式进行描述。算法级不需要包含时序信息。2. RTL 级设计:用数据流在寄存器间传输的模式来对设计进行描述。3. 门级:用逻辑级的与、或、非门等门级之间的连接对设计进行描述。4. 开关级:用晶体管和寄存器及他们之间的连线关系来对设计进行描述。算法级是高级的建模,一般对特大型设计或有较复杂的算法时使用,特别是通讯方面的一些系统,通过算法级的建模来保证设计的系统性能。在算法级通过后,再把算法级用RTL 级进行描述。门级一般对小型设计可适合。开关级一般是在版图级进行。2.2 硬件描述

31、语言在传统的设计方法中,当设计工程师设计一个新的硬件、一个新的数字电路或一个数字逻辑系统时,他或许在CAE 工作站上做设计,为了能在CAE 工作站做设计,设计者必须为设计画一张线路图,通常地,线路图是由表示信号的线和表示基本设计单元的符号连在一起组成线路图,符号取自设计者用于构造线路图的零件库。若设计者是用标准逻辑器件(如74系列等)做板极设计线路图,那么在线路图中,符号取自标准逻辑零件符号库;若设计是进行ASIC设计,则这些符号取自 ASIC库的可用的专用宏单元。这就是传统的原理图设计方法。对线路图的逻辑优化,设计者或许利用一些EDA 工具或者人工地进行逻辑的布尔函数逻辑优化。为了能够对设计

32、进行验证,设计者必须通过搭个硬件平台(如电路板),对设计进行验证。随着电子设计技术的飞速发展,设计的集成度、复杂度越来越高,传统的设计方法已满足不了设计的要求,因此要求能够借助当今先进的EDA 工具,使用一种描述语言,对数字电路和数字逻辑系统能够进行形式化的描述,这就是硬件描述语言。硬件描述语言HDL (Hardware Description Language )是一种用形式化方法来描述数字电路和数字逻辑系统的语言。数字逻辑电路设计者可利用这种语言来描述自己的设计思想,然后利用EDA 工具进行仿真,再自动综合到门级电路,最后用ASIC或FPGA实现其功能。举个例子,在传统的设计方法中,对2输

33、入的与门,我们可能需到标准器件库中调个74系列的器件出来,但在硬件描述语言中,“& ”就是一个与门的形式描述,“C = A & B ”就是一个 2输入与门的描述。而“and”就是一个与门器件。硬件描述语言发展至今已有二十多年历史,当今业界的标准中(IEEE标准)主要有VHDL 和Verilog HDL 这两种硬件描述语言。2.3 设计方法学当前的 ASIC设计有多种设计方法,但一般地采用自顶向下的设计方法。随着技术的发展,一个芯片上往往集成了几十万到几百万个器件,传统的自底向上的设计方法已不太现实。因此,一个设计往往从系统级设计开始,把系统划分成几个大的基本的功能模块,每个功能模块再按一定的规

34、则分成下一个层次的基本单元,如此一直划分下去。自顶向下的设计方法可用下面的树状结构表示:绝密请输入文档编号Verilog HDL 入门教程2004-08-16第6页,共 41页版权所有,侵权必究名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 41 页 - - - - - - - - - 系 统 级的 顶 层 模 块模 块 A模块 B模块 C模 块 B1模 块B2模 块 C1图1 TOP-DOWN 设计思想通过自顶向下的设计方法,可实现设计的结构化,使一个复杂的系统设计可由

35、多个设计者分工合作;还可以实现层次化的管理。2.4 Verilog HDL 简介Verilog HDL 是一种硬件描述语言,用于从算法级、RTL级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可介于简单的门级和完整的电子数字系统之间。数字系统可按层次描述。2.4.1 历史Verilog HDL 语言最初是于1983 年由 Gateway Design Automation 公司为其模拟器产品开发的硬件建模语言。那时它只是一种专用语言。由于他们的模拟、仿真器产品的广泛使用,Verilog HDL作为一种便于使用且实用的语言逐渐为众多设计者所接受。在一次努力增加语言普

36、及性的活动中, Verilog HDL 语言于 1990 年被推向公众领域。Open Verilog International(O V I )是促进Verilog 发展的国际性组织。1992 年, OVI 决定致力于推广Verilog OVI 标准成为 IEEE 标准。这一努力最后获得成功,Verilog 语言于 1995 年成为 IEEE 标准,称为IEEE Std1364 1995 。完整的标准在 Verilog 硬件描述语言参考手册中有详细描述。2.4.2 能力对初学者,可先大致了解一下Verilog HDL 所提供的能力,掌握Verilog HDL 语言的核心子集就可以了。1. 概述

37、Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外, Verilog HDL 语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL 语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog 仿真器进行验证。语言从C 编程语言中继承了多种操作符和结构。Verilog HDL 提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilo

38、g绝密请输入文档编号Verilog HDL 入门教程2004-08-16第7页,共 41页版权所有,侵权必究名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 41 页 - - - - - - - - - HDL 语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。2. 主要功能 list y基本逻辑门,例如and 、or 和nand 等都内置在语言中。y开关级基本结构模型,例如pmos 和n

39、mos 等也被内置在语言中。y可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式使用过程化结构建模;数据流方式使用连续赋值语句方式建模;结构化方式使用门和模块实例语句描述建模。yVerilog HDL 中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。y能够描述层次设计,可使用模块实例结构描述任何层次。y设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。yVerilog HDL 不再是某些公司的专有语言而是I E E E 标准。y人和机器都可阅读Verilog 语言,因此它可作为E D A 的工具和设

40、计者之间的交互语言。y设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级(RT L )到算法级。y能够使用内置开关级原语在开关级对设计完整建模。y同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。yVerilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。y在行为级描述中,Verilog HDL 不仅能够在 RT L 级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述。y能够使用门和模块实例化语句在结构级进行结构描述。y对高级编程语言结构,例如条件语

41、句、情况语句和循环语句,语言中都可以使用。下图显示了 Verilog HDL 的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。开 关算 法RTL门门开 关图2 混合设计层次建模示意图绝密请输入文档编号Verilog HDL 入门教程2004-08-16第8页,共 41页版权所有,侵权必究名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 41 页 - - - - - - - - - 3 Verilog HDL 建模概述在数字电路设计中,数字电路可简单归纳

42、为两种要素:线和器件。线是器件管脚之间的物理连线;器件也可简单归纳为组合逻辑器件(如与或非门等)和时序逻辑器件(如寄存器、锁存器、 RAM 等)。一个数字系统(硬件)就是多个器件通过一定的连线关系组合在一块的。因此,Verilog HDL 的建模实际上就是如何使用HDL 语言对数字电路的两种基本要素的特性及相互之间的关系进行描述的过程。下面通过一些实例,以便对Verilog HDL 的设计建模有个大概的印象。3.1 模块模块( module)是 Verilog 的基本描述单位,用于描述某个设计的功能或结构及与其他模块通信的外部端口。模块在概念上可等同一个器件就如我们调用通用器件(与门、三态门等

43、)或通用宏单元(计数器、 ALU 、CPU)等,因此,一个模块可在另一个模块中调用。一个电路设计可由多个模块组合而成,因此一个模块的设计只是一个系统设计中的某个层次设计,模块设计可采用多种建模方式。3.1.1 简单事例下面先介绍几个简单的Verilog HDL 程序。例1 加法器module addr (a, b, cin, count, sum);input 2:0 a;input 2:0 b;input cin;output count;output 2:0 sum;assign count,sum = a +b + cin;endmodule该例描述一个3位加法器,从例子可看出整个模块是

44、以module 开始, endmodule 结束。例2 比较器module compare (equal,a,b);input1:0 a,b; / declare the input signal ;outputequare ; / declare the output signal;assignequare = (a = b) ? 1:0 ; / * if a = b , output 1, otherwise 0 ;*/endmodule 绝密请输入文档编号Verilog HDL 入门教程2004-08-16第9页,共 41页版权所有,侵权必究名师资料总结 - - -精品资料欢迎下载 -

45、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 41 页 - - - - - - - - - 该例描述一个比较器,从上可看到,/* . */ 和 / . 表示注释部分。注释只是为了方便设计者读懂代码,对编译并不起作用。例3 三态驱动器module mytri (din, d_en, d_out);input din;input d_en;output d_out;/ - Enter your statements here - /assignd_out = d_en ? din :bz;endmodulemodule

46、 trist (din, d_en, d_out);input din;input d_en;output d_out;/ - statements here - /mytri u_mytri(din,d_en,d_out);endmodule该例描述了一个三态驱动器。其中三态驱动门在模块 mytri 中描述,而在模块trist 中调用了模块mytri 。模块 mytri 对trist 而言相当于一个已存在的器件,在trist 模块中对该器件进行实例化,实例化名 u_mytri 。3.1.2 模块的结构通过上面的实例可看出,一个设计是由一个个模块(module)构成的。一个模块的设计如下:1、

47、模块内容是嵌在module 和 endmodule两个语句之间。每个模块实现特定的功能,模块可进行层次的嵌套,因此可以将大型的数字电路设计分割成大小不一的小模块来实现特定的功能,最后通过由顶层模块调用子模块来实现整体功能,这就是Top-Down 的设计思想,如 3.3.1的例 3。2、模块包括接口描述部分和逻辑功能描述部分。这可以把模块与器件相类比。模块的端口定义部分:如上例: module addr (a, b, cin, count, sum); 其中 module 是模块的保留字,addr 是模块的名字,相当于器件名。()内是该模块的端口声明,定义了该模块的管脚名,是该模块与其他模块通讯

48、的外部接口,相当于器件的pin 。模块的内容,包括I/O说明,内部信号、调用模块等的声明语句和功能定义语句。I/O说明语句如:input 2:0 a; input 2:0 b;input cin; output count; 其 中 的 input 、output、inout 是保留字,定义了管脚信号的流向,n:0 表示该信号的位宽(总线或单根信号线)。绝密请输入文档编号Verilog HDL 入门教程2004-08-16第10页,共 41页版权所有,侵权必究名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -

49、- - - - - 第 10 页,共 41 页 - - - - - - - - - 逻辑功能描述部分如: assignd_out = d_en ? din :bz; mytri u_mytri(din,d_en,d_out);功能描述用来产生各种逻辑(主要是组合逻辑和时序逻辑,可用多种方法进行描述,具体的用法下面章节有介绍),还可用来实例化一个器件,该器件可以是厂家的器件库也可以是我们自己用 HDL 设计的模块(相当于在原理图输入时调用一个库元件)。在逻辑功能描述中,主要用到assign 和 always 两个语句。3、对每个模块都要进行端口定义,并说明输入、输出口,然后对模块的功能进行逻辑描

50、述,当然,对测试模块,可以没有输入输出口。4、Verilog HDL 的书写格式自由,一行可以写几个语句,也可以一个语句分几行写。具体由代码书写规范约束。5、除 endmodule 语句外,每个语句后面需有分号表示该语句结束。3.1.3 模块语法1. 一个模块的基本语法如下:一个模块的基本语法如下:module module_name (port1, port2, .) ;/ D e c l a r a t i o n s :input, output, inout,reg, wire, parameter,function, task, . . ./S t a t e m e n t s :

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com