标题：VerilogHDL与数字系统设计简明教程
版权信息
书 名: VerilogHDL与数字系统设计简明教程 
作　者：吴戈
出版社： 人民邮电出版社
出版时间： 2009
ISBN: 9787115193667
开本： 16
定价: 35.00 元
内容简介
《VerilogHDL与数字系统设计简明教程》分3部分，第1部分(第1～6章)是语法部分，详细讲解VerilogHDL语法知识和基本应用；第2部分(第7～9章)是实例部分，通过从已公布的成熟源代码中精选的50多个最具代表性的建模实例，辅以框图和详细注释帮助读者理解程序，从而学习典型电路单元的建模方法；第3部分(第10章)是系统设计实战，为初学者展示了一个小型系统的详细设计流程。
《VerilogHDL与数字系统设计简明教程》内容丰富、实用性强，适合高等院校相关专业高年级学生和研究生学习和阅读，对参加相关工作的工程技术人员也有很强的参考价值。
编辑推荐
VerilogHDL发展至今20多年中积累的文档、书籍和各种资料可谓不计其数，《VerilogHDL与数字系统设计简明教程》力图从这些资料中，找到适合初学者学习的内容，用一种更好的组织方式，将之呈现给读者。
实例丰富、注释和分析详尽，可以在设计阶段直接使用书上的程序，从而节省时间。
目录
第1章初识VerilogHDL　1
1.1什么是VerilogHDL　1
1.2主要功能　1
1.3设计流程　2
1.4基本结构　2
1.4.1模块的概念　3
1.4.2模块调用　4
1.4.3测试模块　5
1.5程序设计基础　6
1.5.1程序格式　7
1.5.2注释语句　7
1.5.3标识符和关键词　8
1.5.4参数声明　8
1.5.5预处理指令　8
第2章数据类型与表达式　12
2.1数据类型　12
2.1.1常量　12
2.1.2变量　14
2.2表达式　21
2.2.1操作数　21
2.2.2操作符　24
第3章行为建模方法　32
3.1数据流行为建模　32
3.1.1连续赋值语句　32
3.1.2线网声明赋值　33
3.1.3时延的概念　34
3.1.4线网时延　35
3.1.5用数据流建模方式实现1位全加器　36
3.2顺序行为建模　36
3.2.1过程结构语句　36
3.2.2时序控制　42
3.2.3语句块　45
3.2.4过程性赋值　48
3.2.5if语句　55
3.2.6case语句　58
3.2.7循环语句　60
3.2.8握手协议实例　63
第4章结构建模方法　65
4.1VerilogHDL内置基元　66
4.1.1内置基本门　66
4.1.2上拉、下拉电阻　70
4.1.3MOS开关　71
4.1.4双向开关　73
4.1.5给基元定义时延　74
4.1.6描述实例数组　74
4.1.7内置基元建模实例　74
4.2用户定义基元　76
4.2.1UDP的定义　76
4.2.2组合电路UDP　77
4.2.3时序电路UDP　78
4.2.4VerilogHDL速记符号　80
4.2.5电平触发和边沿触发混合的UDP　81
4.3模块实例化　83
4.3.1端口关联方式　83
4.3.2悬空端口　85
4.3.3端口匹配　85
4.3.4模块参数值　86
4.3.5建模实例　88
4.4行为描述和结构描述的混合使用　90
第5章任务、函数及其他　91
5.1任务　91
5.1.1任务定义　91
5.1.2任务调用　92
5.2函数　94
5.2.1函数定义　94
5.2.2函数调用　95
5.3系统任务和函数　96
5.3.1显示任务　96
5.3.2文件输入/输出任务　99
5.3.3时间标度任务　101
5.3.4仿真控制任务　102
5.3.5时序验证任务　102
5.3.6仿真时间函数　102
5.3.7实数变换函数　103
5.3.8随机函数　103
5.4其他重要概念　104
5.4.1禁止语句　104
5.4.2命名事件　105
5.4.3层次路径名　107
5.4.4共享任务和函数　109
5.4.5VCD文件　111
5.4.6指定块　117
5.4.7强度　117
第6章编写测试程序　120
6.1测试模块　120
6.2产生输入信号　121
6.2.1特定值序列　121
6.2.2重复模式　123
6.3从文本文件中读取向量　127
6.4向文本文件中写入向量　129
6.5测试程序实例　130
6.5.1半加器　130
6.5.25位计数器　131
6.5.32选1选择器　133
6.5.42-4解码器　134
6.5.5D触发器　135
第7章初级建模实例　138
7.1触发器　138
7.1.1上升沿触发器　138
7.1.2带异步复位端的上升沿触发器　139
7.1.3带异步置位端的上升沿触发器　140
7.1.4带异步复位端和异步置位端的上升沿触发器　140
7.1.5带同步复位端的上升沿触发器　141
7.1.6带同步置位端的上升沿触发器　142
7.1.7带异步复位端和输出使能端的上升沿触发器　142
7.2锁存器　143
7.2.1带使能端的锁存器　143
7.2.2可异步选通数据的锁存器　143
7.2.3可选通使能端的锁存器　144
7.2.4带异步复位端的锁存器　145
7.3编码器　145
7.4解码器　146
7.5多路数据选择器　147
7.5.1用if-else构造的4选1选择器　147
7.5.2用case构造的4选1选择器　148
7.5.3用case构造的12选1选择器　149
7.5.4带忽略位的多路选择器　150
7.6计数器　151
7.6.1带计数使能端和异步复位端的8位计数器　151
7.6.2可设定计数输出并带异步复位端的8位计数器　152
7.6.3可设定计数输出并带使能端、进位端和复位端的8位计数器　153
7.7输入输出缓冲器　154
7.7.1三态缓冲器　154
7.7.2双向缓冲器　155
7.8加法器　156
7.8.1半加器　156
7.8.2全加器　157
7.8.3串行进位加法器　159
7.8.4超前进位加法器　160
7.9移位寄存器　165
7.10频率转换器　166
7.11模数转换器　169
第8章高级建模实例　172
8.1状态机建模　172
8.1.1乘法器状态机　172
8.1.2交互状态机　174
8.1.3Moore型有限状态机　178
8.1.4Mealy型有限状态机　180
8.2序列检测器　182
8.3FIFO(先入先出电路)　185
8.3.116×16FIFO　185
8.3.24×16FIFO　187
8.4UART(通用异步收发器)　196
第9章程序综合实例　208
9.1可综合设计　208
9.1.1综合的概念　208
9.1.2可综合　209
9.1.3可综合及不可综合的结构　209
9.2综合实例　210
9.2.1组合逻辑电路　210
9.2.2时序逻辑电路　211
9.2.3存储器　224
9.2.4布尔方程　225
9.2.5有限状态机　226
9.2.6通用移位寄存器　232
9.2.7算术逻辑单元(ALU)　233
9.2.8二进制计数器　236
9.2.9加法器　237
9.2.10数值比较器　237
9.2.11解码器　238
9.2.12三态门　240
9.2.13序列检测器　241
第10章系统设计实战　244
10.1系统功能分析　244
10.1.1计算机的基本结构　245
10.1.2典型微处理器系统结构及工作原理　245
10.1.3普通计算器的基本结构　247
10.2系统设计规划　247
10.2.1系统功能模块划分　247
10.2.2键盘输入模块　249
10.2.3寄存器组　251
10.2.4算术逻辑单元　252
10.2.5显示部分　255
10.2.6系统结构　257
10.3程序设计与仿真　258
10.3.1键盘输入模块程序与仿真　258
10.3.2ALU模块程序与仿真　263
10.3.3显示部分程序与仿真　283
10.3.4顶层模块程序设计　292
10.4逻辑综合　292
……
序言
HDL（HardwareDescriptionLanguage，硬件描述语言）是伴随着集成电路设计复杂度和集成度的急剧上升而出现的。
硬件工程师们总要画电路图，用一个个小元件搭出或大或小的系统原理图。当电路图中的元件多达百个以上时，无论是画图还是分析都会有一定的难度。同样的情形也发生在集成电路设计中，当一个芯片内必须包含上万个甚至几十万、几百万个晶体管时（目前面市的频率最高的CPU芯片内已经集成了近2亿个晶体管），用原理图的方式来设计和管理显然是“不可能的任务”。于是出现了HDL设计方法，就像20世纪70年代高级编程语言迅速取代汇编语言一样，从20世纪90年代以来，HDL逐渐取代了门级原理图设计方法。
VerilogHDL是1983年由位于英格兰阿克顿市的GDA公司开发出来的。VerilogHDL的具体物理建模能力强，语法类似c语言，容易学习。Verilog在工业界被应用广泛，美国大多数公司的RTL级代码都是用Verilog写的。
本书主要针对初学者，在内容安排上主要以语法讲解和程序分析为主，并没有介绍复杂系统的设计方法。初学者应当从本书的基本结构和方法出发，打好基础，一旦成为一个熟练的设计师，就会发现Verilog只是一个工具，而对系统功能的考虑和时序的精细设计才是最需要设计人员考虑的。
本书的写作目标是让初学者顺利入门，希望您在阅读本书的过程中逐渐了解到VerilogHDL，是什么、如何写、如何用，面对一段写好的程序能够做出正确分析，最终掌握设计流程和建模方法。
VerilogHDL发展至今20多年积累的文档、书籍和各种资料可谓不计其数，本书作者试图从这些资料中，找到更好的也是更适合初学者学习的内容，用一种更好的组织方式，呈现给读者，让读者从中受益。
大量使用实例并带有详细的注释和分析是本书的最大特点。书中提供大量程序实例，目的不仅仅是让读者在学习阶段理解它们的建模方法和技巧，而且可以在设计阶段把其中很多程序片段直接拿来使用，从而节省时间。
实践是学好编程语言的最佳途径，所以建议读者在学习之余尽量能多动手编程并做仿真。如果您能把本书给出的实例全都调试一次，一定可以事半功倍。
本书由吴戈编写，参加资料整理的还有何伟、张兵、刘兆宏、季建华、刘福刚、赵文革、黄弦、邓玉春、曾庆华、石昀、朱元斌、钱文杰、陈功杰、汪洪、刘超、钟晓媛等，在此一并表示感谢！