网站支持
EDA
先锋工作室是与人民邮电出版社紧密合作的一支电子设计领域专业书籍创作队伍。
该工作室的成员都是电子、通信、半导体行业的资深研发人员。
为了配合本书的学习,
EDA
先锋工作室在
"EDA
专业论坛"
(问
://www
础
cn.ne
t)上
开办了《设计与验证一
-Verilog
HD
L))的讨论园地。利用该园地,作者联合业界专业人士长
期在论坛上为读者答疑解惑,讨论
EDA
工程经验与设计技巧,并对书中所述问题加以引申,
借此与读者共同切磋,互相提高。网站提供了本书光盘中所附资料的下载服务,并介绍了
EDA
先锋工作室所编图书的出版动态。
EDA
先锋工作室非常重视您的批评和建议,您可以通过电子函件以及网站反馈您的信
息。
电子信箱
altera
_
book@edacn.net
。
EDA
先锋工作皇
主编:王诚
副主编:薛小刚
钟信潮
编委:李楠吴继华庞健由武军袁园
周海涛侯小辉寿开宇范丽珍薛宁
路远梁晓明伊贵业吴义涛张世卓
张伟平王书松吴蕾胡安琪吴卫旋
董振东于春华
失于本书
内容和特点
Verilog
HDL
作为两大硬件描述语言之一,拥有很大的用户群。据调查,目前美国有
90%
左右的
IC
设计人员使用
Verilog.
在中国,大概再
50%
左右的人在使用
Verilog
。当前数字芯
片设计行业正处于强劲上升时期,风头盖过了几年前的软件设计业,己经成为电子和
IT
类
的高薪行业。大量高校毕业生和部分软件设计人员正在不断涌入这个领域。要想尽快在
IC
设计领域站稳脚跟,就必须要尽快掌握
HDL
语言的设计方法。
现在市场上关于
Verilog
的书籍大多数是介绍语法和建模的,没有真正体现出理论性与
实用性的结合。针对这种情况,本工作室创作了本书。
全书共分
9
章,各章内容简要介绍如下。
•
第
1
章:介绍
HDL
的设计方法,
Verilog
与
VHDL
、
C
等语言的区别,以及
HDL
语言的设计与验证流程。
•
第
2
章:介绍
Verilog
的语言基础.
•
第
3
章:重点介绍
Verilog
的
3
种描述方法和不同的设计层次.
•
第
4
章:介绍
RTL
建模的概念和一些常用电路的
Verilog
设计方法,最后引申
出
Verilog
语言的可综合子集。
第
5
章:总结了常用的
RTL
同步设计原则,逐一介绍了设计模块的划分、设
计组合逻辑和时序逻辑时应该注意的问题,以及优化
RTL
代码的方法等内
容.
•
第
6
章:介绍状态机的设计方法和技巧。
•
第
7
章:介绍如何搭建测试平台,对设计进行验证。
•
第
8
章:详细描述了
Verilog
语言的语义和仿真原理,是
Verilog
语言的精髓所
在.
•
第
9
章:总结并展望
HDL
和
HVL
的发展趋势。
读者对象
本书可作为高等院校通信工程、电子工程、计算机、微电子和半导体等相关专业的教
材,也可作为硬件工程师和
IC
工程师的参考书。
光盘使用说明
本书配套光盘中提供了书中示例的工程文件、设计源文件和说明文件,示例按照章节编
号和出现的先后顺序排列,例如
"Example-2-1
"表示第
2
章中的第
1
个示例。
工程示例文件夹中包含该工程的项目文件、源文件、报告文件和生成结果等文件。
对于一些相对复杂的示例,说明文件中给出了示例的详细信息和操作指南,而对于一些
简单的实例,则只给出了源代码。
另外,为了配合读者进一步学习,光盘中还提供了
Verilog
1995
和
Verilog
2001
这两
个版本的
IEEE
标准文献,读者可以从中查阅
Verilog
的语法细节。
本书约定
为了方便读者阅读,本书还设计了
4
个小图标,这些图标的含义如下。
苦苦行家指点
z
用于介绍使用经验和咐,或罗列一些重要的概念。
.注意事项:用于提醒读者应该注意的问题.
鲁多学一招:用于介绍实现同一功能嗣同方法。
1-曹操作实例:用于引出一个操作题目和相应的一组操作步骤。
本书第
1 、
4
、
5
、
6
章由王诚编写,第
2
、
3
、
7
、
8
、
9
章由吴继华编写。由于作者水平
有限,书中难免会有疏漏,敬请读者批评指正。
感谢您选择了本书,也请您把对本书的意见和建议告诉我们。
EDA
先锋工作室网站
h
句
://www.EDACN.net
。
EDA
先锋工作室
2006
年
7
月
目录
1
章
HDL
设计方法简介..............
…………….........………………
1
1.1
设计方法的变迁.......….........................….......…................……
................................................1
1.2
Verilog
语言的特点..........……………………………………………………………………………
................2
1.2.1
Verilog
的由来
..................................................................................................................2
1.2.2
HDL
与原理图.............…
.................................................................................................2
1.2
.3
Verilog
和
VHDL.................................................
…..........................…
............................3
1.2
.4
Verilog
和
C
语言.........................….......….......….......….......…......................…
................4
1.
3
HDL
的设计与验证流程.......….......…
....................................................................................5
1.
4
问题与思考.................................................…
..........................................................................7
第
2
章
Verilog
语言基础................……………·………………
...9
2.1
Top-Down
和
Bottom-Up........................................
……...............…........…
.............................9
2.2
驰
rilog
的
3
种描述方法...............….....................................................................................四
2.2.1
实例
.................................................................................................................................10
2.2.2
3
种描述方法………………………………………………………………………….......…........…
........13
2
.3
基本词法..........…
...................................................................................................................14
2
.4模块和端口............................................................................................................................臼
2.5
编译指令...........................….......…
........................................................................................16
2.6
逻辑值与常量........................................................................................................................口
2.6.1
逻辑值.......…...................................................................................................................口
2.6.2
常量....………………………………………………………………………………………………..............…
18
2.7
变量类型.......…......................................................................................................................四
2.7.1
线网类型.........…
............................................................................................................19
2.7.2
寄存器类型..........…........…
...........................................................................................19
2.7
.3
变量的物理含义..........….......….......…
...........................................................................20
2.7
.4
驱动和赋值..........….......................................................................................................却
2.8
参数..........….................….......…....................................…........….......…..............…
................22
2.9
Verilog
中的并发与顺序
.......................................................................................................22
2.10
操作数、操作符和表达式...............................…............................................................
2.11
系统任务和系统函数.......….........…
.....................................................................................28
2.1
1.1显示任务......................….........….........……......................…........…..............…
...............28
2.1
1.
2
文件输入/输出任务..........................................................…........….........…........…
........28
2
.11.3其他系统任务和系统函数
............................................................................................29
2
.1
2
小结.....................................…
................................................................................................29
2.13
问题与思考.................................…...............…….......….....................……........…
...................29
第
3
章
描述方式和设计层次...........……………
...................................31
3
.1
描述方式..............................….......….....................................................................................3
1
3.2
数据流描述...............….......….......….......….................….......................................................且
3.2.1
数据流
.............................................................................................................................31
3.2.2
连续献值语句
................................................................................................................31
3.2
.3
延时............…….......….....................................................................................................妇
3.2
.4
多驱动源线网.........…..................….............……............................................................3
4
3
.3
行为描述................................................................................................................................3
6
3
.3.1
行为描述的语句格式
....................................................................................................36
3
.3
.2
过程赋值语句................................................................................................................4
0
3.3
.3
语句组~.
.•.
.••••.......•
....………..........................................…..........…….............................43
3
.3.4
高级编程语句.......…
......................................................................................................44
3
.4
结构化描述........…
.................................................................................................................50
3
.4.1
实例化模块的方法..........…...........................................................................................但
3
.4
.2
参数化模块.......................................…….......................................................................妇
3.5
设计层次................................................................................................................................们
3.5.1
系统级和行为级...............…......................….................….................……
......................57
3
.5
.2
RTL
级....................................................…·….................................................…
.............59
3
.5.3
门级................................…….......…........…·…….......…........……...
第
4
章
RTL
概念与
RTL
级建模.....................................................….......………·
2
4.1
RTL
与综合的概念.............................................…….......…
..................................................65
4.2
RTL
级设计的基本要素和步骤...........................…............……..................……..…..…......…
65
4
.3
常用的
RTL
级建模............……........…................................................……........…
................67