绪论 1
0.1 关于Verilog HDL 1
0.2 关于EDA 2
第1章 Verilog HDL的基本结构与描述方式 3
1.1 基本结构 3
1.2 描述方式 6
1.2.1 数据流描述方式 6
1.2.2 行为描述方式 9
1.2.3 结构化描述方式 12
1.2.4 混合描述方式 15
思考与习题 17
第2章 Verilog HDL的基本要素 18
2.1 标识符(identifier) 18
2.2 格式与注释 18
2.3 数据 18
2.3.1 常量 18
2.3.2 变量 20
2.3.3 Verilog HDL四种基本的值 20
2.4 数据类型 21
2.4.1 线网类型 21
2.4.2 寄存器类型 23
2.5 操作符 25
2.6 系统函数和系统任务 27
2.7 编译预处理指令 29
思考与习题 30
第3章 Verilog HDL的基本语句 31
3.1 赋值语句 31
3.1.1 连续赋值语句和过程赋值语句 31
3.1.2 阻塞赋值语句和非阻塞赋值语句 31
3.2 块语句 33
3.2.1 顺序块语句 33
3.2.2 并行块语句 33
3.3 条件语句 33
3.3.1 if语句 33
3.3.2 case语句 34
3.3.3 条件操作符 35
3.4 循环语句 35
3.4.1 forever循环语句 35
3.4.2 repeat循环语句 35
3.4.3 while循环语句 35
3.4.4 for循环语句 36
3.5 结构说明语句 36
3.5.1 任务(task) 36
3.5.2 函数(function) 37
3.6 行为描述语句 38
3.6.1 initial语句 38
3.6.2 always语句 38
3.7 内置门语句 40
3.7.1 多输入门 40
3.7.2 多输出门 41
3.7.3 使能门 41
3.7.4 上拉和下拉 42
3.8 内置开关语句 42
3.8.1 mos开关 43
3.8.2 cmos开关 43
3.8.3 pass开关 43
3.8.4 pass_en开关 43
3.9 用户定义原语UDP 44
3.9.1 UDP的结构 44
3.9.2 UDP的实例化应用 45
3.9.3 组合电路UDP举例 45
3.9.4 时序电路UDP举例 46
3.10 force强迫赋值语句 49
3.11 specify延迟说明块 50
3.12关于Verilog-2001新增的一些特性 50
3.13 关于Verilog-2005 52
思考与习题 53
第4章 组合电路设计 54
4.1 简单组合电路设计 54
4.1.1 表决电路 54
4.1.2 码制转换电路 56
4.1.3 比较器 58
4.1.4 译码器 60
4.2 复杂组合电路设计 62
4.2.1 多位比较器 62
4.2.2 多人表决器 64
4.2.3 8选1数据选择器 64
4.2.4 一位全加(减)器 65
4.2.5 4位减法、加法器 66
4.2.6 3位、8位二进制乘法器设计 68
思考与习题 69
第5章 时序电路设计 70
5.1 简单时序电路设计 70
5.1.1 基本D触发器 70
5.1.2 带异步清0、异步置1的D触发器 70
5.1.3 带异步清0、异步置1的JK触发器 72
5.1.4 锁存器和寄存器 73
5.2 复杂时序电路设计 74
5.2.1 自由风格设计 74
5.2.2 有限状态机FSM 80
思考与习题 88
第6章 仿真测试程序设计 89
6.1 用Verilog HDL设计仿真测试程序 89
6.1.1 七段数码管译码器测试模块 89
6.1.2 分频器测试模块 92
6.1.3 阻塞赋值与非阻塞赋值的测试模块 93
6.1.4 序列检测器测试模块 97
6.2 用ABEL-HDL设计仿真测试向量 100
6.2.1 ABEL-HDL测试向量 100
6.2.2 七段数码管译码器测试向量 101
6.2.3 4位加法器测试向量 102
6.2.4 序列检测器测试向量 103
6.2.5 变模计数器测试向量 105
思考与习题 107
第7章 组合电路设计实例 110
7.1 编码器 110
7.2 译码器 112
7.3 数据选择器 115
7.4 数据分配器 117
7.5 数值比较器 120
思考与习题 121
第8章 时序电路设计实例 122
8.1 序列检测器 122
8.2 脉冲分配器 131
8.3 8路抢答器 134
8.4 数字跑表 136
8.5 交通灯控制系统 140
8.6 以2递增的变模计数器 145
8.7 定时器的Verilog编程实现 147
8.8 ATM信元的接收及空信元的检测系统 153
8.9 点阵汉字显示系统 158
思考与习题 172
第9章 EDA开发软件 173
9.1 Xilinx公司的EDA开发软件 173
9.2 Lattice公司的EDA开发软件 188
9.2.1 ispDesignEXPERT应用 189
9.2.2 ispDesignEXPERT应用举例 191
9.2.3 ispLEVER Classic应用 200
9.2.4 ispLEVER Classic应用实例 202
9.2.5 Lattice Diamond简介 209
思考与习题 211
附录1 Verilog关键字 212
附录2 Nexys3 Digilent技术支持 213
附录3 Nexys3开发板 214
参考文献 215