第1章 初识Verilog HDL 1
1.1什么是Verilog HDL 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.5 if语句 55
3.2.6 case语句 58
3.2.7循环语句 60
3.2.8握手协议实例 63
第4章 结构建模方法 65
4.1 Verilog HDL内置基元 66
4.1.1内置基本门 66
4.1.2上拉、下拉电阻 70
4.1.3 MOS开关 71
4.1.4双向开关 73
4.1.5给基元定义时延 74
4.1.6描述实例数组 74
4.1.7内置基元建模实例 74
4.2用户定义基元 76
4.2.1 UDP的定义 76
4.2.2组合电路UDP 77
4.2.3时序电路UDP 78
4.2.4 Verilog HDL速记符号 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.5 VCD文件 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.2 5位计数器 131
6.5.3 2选1选择器 133
6.5.4 2-4解码器 134
6.5.5 D触发器 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.3 Moore型有限状态机 178
8.1.4 Mealy型有限状态机 180
8.2序列检测器 182
8.3 FIFO(先入先出电路) 185
8.3.1 16x 161F1FO 185
8.3.2 4x 16FIFO 187
8.4 UART(通用异步收发器) 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.2 ALU模块程序与仿真 263
10.3.3显示部分程序与仿真 283
10.3.4顶层模块程序设计 292
10.4逻辑综合 292