Verilog+HDL+入门教程华为Word下载.docx
《Verilog+HDL+入门教程华为Word下载.docx》由会员分享,可在线阅读,更多相关《Verilog+HDL+入门教程华为Word下载.docx(49页珍藏版)》请在冰豆网上搜索。
![Verilog+HDL+入门教程华为Word下载.docx](https://file1.bdocx.com/fileroot1/2023-1/3/69805476-9956-4d62-9904-df1b94c42b4c/69805476-9956-4d62-9904-df1b94c42b4c1.gif)
日期:
2004.8.3
yyyy/mm/dd
版权所有不得复制
VerilogHDL入门教程
绝密请输入文档编号
日期
修订版本
1.00
描述
初稿完成
修订记录
作者
2004-08-16第2页,共41页版权所有,XX
1前言...................................................................5
2HDL设计方法学简介......................................................5
2.1数字电路设计方法....................................................5
2.2硬件描述语言.......................................................6
2.3设计方法学.........................................................6
2.4VerilogHDL简介.....................................................7
2.4.1历史..........................................................7
2.4.2能力..........................................................7
3VerilogHDL建模概述.....................................................9
3.1模块..............................................................9
3.1.1简单事例.......................................................9
3.1.2模块的结构....................................................10
3.1.3模块语法......................................................11
3.2时延.............................................................11
3.3三种建模方式......................................................12
3.3.1结构化描述方式................................................12
3.3.2数据流描述方式................................................14
3.3.3行为描述方式..................................................15
3.3.4混合设计描述..................................................16
4VerilogHDL基本语法....................................................17
4.1标识符............................................................17
4.1.1定义.........................................................17
4.1.2关键词.......................................................17
4.1.3书写规范建议..................................................17
4.2注释.............................................................17
4.3格式.............................................................18
4.4数字值集合........................................................18
4.4.1值集合.......................................................18
4.4.2常量.........................................................18
4.5数据类型..........................................................20
4.5.1线网类型......................................................20
4.5.2寄存器类型...................................................20
4.6运算符和表达式.....................................................21
4.6.1算术运算符....................................................21
4.6.2关系运算符....................................................22
4.6.3逻辑运算符....................................................23
4.6.4按位逻辑运算符................................................24
4.6.5条件运算符....................................................25
4.6.6连接运算符....................................................25
4.7条件语句..........................................................25
4.8case语句..........................................................27
5结构建模..............................................................28
2004-08-16第3页,共41页版权所有,XX
5.1模块定义结构......................................................28
5.2模块端口..........................................................28
5.3实例化语句........................................................29
5.4结构化建模具体实例.................................................31
6数据流建模............................................................34
6.1连续赋值语句......................................................34
6.2阻塞赋值语句......................................................34
6.3数据流建模具体实例.................................................34
7行为建模..............................................................35
7.1简介.............................................................35
7.2顺序语句块........................................................35
7.3过程赋值语句......................................................36
7.4行为建模具体实例...................................................37
8其他方面..............................................................39
9习题..................................................................39
10附录AVerilog保留字...................................................40
2004-08-16第4页,共41页版权所有,XX
关键词:
摘要:
本文主要介绍了VerilogHDL语言的一些基本知识,目的是使初学者能够迅速掌握HDL设计方法,初步了解并掌握VerilogHDL语言的基本要素,能够读懂简单的设计代码并能够进行一些简单设计的VerilogHDL建模。
缩略语清单:
对本文所用缩略语进行说明,要求提供每个缩略语的英文全名和中文解释。
参考资料清单:
请在表格中罗列本文档所引用的有关参考文献名称、作者、标题、编号、发布日
期和出版单位等基本信息。
参考资料清单
名称
Quisck
AMBITDesign
编号
发布日期
查阅地点或渠道
苏文彪
出版单位(若不为本公司发布的文献,请填写此列)
ReferenceforSystem
VerilogHDL
VerilogHDL硬J.Bhasker著
2000.7
图书馆
机械工业出版
件描述语言
徐振林等译
社
1前言
当前业界的硬件描述语言中主要有VHDL和VerilogHDL。
公司根据本身ASIC设计现有的特
点、现状,主推VerilogHDL语言,逐渐淡化VHDL语言,从而统一公司的ASIC/FPGA设计平台,简化流程。
为使新员工在上岗培训中能迅速掌握ASIC/FPGA设计的基本技能,中研基础部ASIC设计中心开发了一系列的培训教材。
该套HDL语言培训系列包括如下教程:
《VerilogHDL入门教程》
《VerilogHDL代码书写规范》
《Verilog基本电路设计指导书》
《TestBench编码技术》系列教材完成得较匆忙,本身尚有许多不完善的地方,同时,可能还需要其他知识方面的培
训但没有形成培训教材,希望大家在培训过程中,多提宝贵意见,以便我们对它进行修改和完善。
2HDL设计方法学简介
2004-08-16第5页,共41页版权所有,XX
2.1数字电路设计方法
当前的数字电路设计从层次上分可分成以下几个层次:
1.算法级设计:
利用高级语言如C语言及其他一些系统分析工具(如MATLAB)对设计从系统
的算法级方式进行描述。
算法级不需要包含时序信息。
2.RTL级设计:
用数据流在寄存器间传输的模式来对设计进行描述。
3.门级:
用逻辑级的与、或、非门等门级之间的连接对设计进行描述。
4.开关级:
用晶体管和寄存器及他们之间的连线关系来对设计进行描述。
算法级是高级的建模,一般对特大型设计或有较复杂的算法时使用,特别是通讯方面的一些
系统,通过算法级的建模来保证设计的系统性能。
在算法级通过后,再把算法级用RTL级进行描述。
门级一般对小型设计可适合。
开关级一般是在版图级进行。
2.2硬件描述语言
在传统的设计方法中,当设计工程师设计一个新的硬件、一个新的数字电路或一个数字逻辑系统时,他或许在CAE工作站上做设计,为了能在CAE工作站做设计,设计者必须为设计画一张线路图,通常地,线路图是由表示信号的线和表示基本设计单元的符号连在一起组成线路图,符号取自设计者用于构造线路图的零件库。
若设计者是用标准逻辑器件(如74系列等)做板极设计线路图,那么在线路图中,符号取自标准逻辑零件符号库;
若设计是进行ASIC设计,则这些符号取自ASIC库的可用的专用宏单元。
这就是传统的原理图设计方法。
对线路图的逻辑优化,设计者或许利用一些EDA工具或者人工地进行逻辑的布尔函数逻辑优化。
为了能够对设计进行验证,设计者必须通过搭个硬件平台(如电路板),对设计进行验证。
随着电子设计技术的飞速发展,设计的集成度、复杂度越来越高,传统的设计方法已满足不了设计的要求,因此要求能够借助当今先进的EDA工具,使用一种描述语言,对数字电路和数字逻辑系统能够进行形式化的描述,这就是硬件描述语言。
硬件描述语言HDL(HardwareDescriptionLanguage)是一种用形式化方法来描述数字电路和数字逻辑系统的语言。
数字逻辑电路设计者可利用这种语言来描述自己的设计思想,然后利用EDA工具进行仿真,再自动综合到门级电路,最后用ASIC或FPGA实现其功能。
举个例子,在传统的设计方法中,对2输入的与门,我们可能需到标准器件库中调个74系列的器件出来,但在硬件描述语言中,“&
”就是一个与门的形式描述,“C=A&
B”就是一个2输入与门的描述。
而“and
”就是一个与门器件。
硬件描述语言发展至今已有二十多年历史,当今业界的标准中(IEEE标准)主要有VHDL和
VerilogHDL这两种硬件描述语言。
2.3设计方法学
当前的ASIC设计有多种设计方法,但一般地采用自顶向下的设计方法。
随着技术的发展,一个芯片上往往集成了几十万到几百万个器件,传统的自底向上的设计方
法已不太现实。
因此,一个设计往往从系统级设计开始,把系统划分成几个大的基本的功能模块,每个功能模块再按一定的规则分成下一个层次的基本单元,如此一直划分下去。
自顶向下的设计方法可用下面的树状结构表示