第1章 Verilog HDL数字集成电路设计方法概述 1
1.1 数字集成电路的发展和设计方法的演变 1
1.2 硬件描述语言 1
1.3 Verilog HDL的发展和国际标准 2
1.4 Verilog HDL和VHDL 2
1.5 Verilog HDL在数字集成电路设计中的优点 3
1.6 功能模块的可重用性 3
1.7 IP核和知识产权保护 4
1.8 Verilog HDL在数字集成电路设计流程中的作用 4
教材思考题和习题解答 4
第2章 Verilog HDL基础知识 7
2.1 Verilog HDL的语言要素 7
2.2 数据类型 8
2.3 运算符 8
2.4 模块 13
教材思考题和习题解答 14
第3章 Verilog HDL程序设计语句和描述方式 16
3.1 数据流建模 16
3.2 行为级建模 21
3.3 结构化建模 30
教材思考题和习题解答 37
第4章 Verilog HDL数字逻辑电路设计方法 43
4.1 Verilog HDL的设计思想和可综合特性 43
4.2 组合电路的设计 50
4.2.1 数字加法器 50
4.2.2 数据比较器 50
4.2.3 数据选择器 53
4.2.4 数字编码器 54
4.2.5 数字译码器 56
4.2.6 奇偶校验器 59
4.2.7 其它类型的组合电路 59
4.3 时序电路的设计 62
4.3.1 触发器 62
4.3.2 计数器 64
4.3.3 移位寄存器 72
4.3.4 序列信号发生器 74
4.3.5 分频器 77
4.4 有限同步状态机 80
教材思考题和习题解答 89
第5章 仿真验证与Testbench编写 97
5.1 Verilog HDL电路仿真和验证概述 97
5.2 Verilog HDL测试程序设计基础 98
5.2.1 组合逻辑电路仿真环境 98
5.2.2 时序逻辑电路仿真环境 103
5.3 与仿真相关的系统任务 106
5.3.1 $display和$write 106
5.3.2 $monitor和$strobe 107
5.3.3 $time和$realtime 109
5.3.4 $finish和$stop 110
5.3.5 $readmemh和$readmemb 111
5.3.6 $random 112
5.4 信号时间赋值语句 114
5.4.1 时间延迟的描述形式 114
5.4.2 边沿触发事件控制 118
5.4.3 电平敏感事件控制 119
5.5 任务和函数 120
5.5.1 任务(task) 120
5.5.2 函数(function) 122
5.5.3 任务与函数的区别 123
5.6 典型测试向量的设计 126
5.6.1 变量初始化 126
5.6.2 数据信号测试向量的产生 126
5.6.3 时钟信号测试向量的产生 127
5.6.4 总线信号测试向量的产生 129
5.7 用户自定义元件模型 132
5.7.1 组合电路UDP元件 132
5.7.2 时序电路UDP元件 133
5.8 基本门级元件和模块的延时建模 134
5.8.1 门级延时建模 134
5.8.2 模块延时建模 135
5.8.3 与时序检查相关的系统任务 137
5.9 编译预处理语句 141
5.10 Verilog HDL测试方法简介 141
教材思考题和习题解答 141
第6章 Verilog HDL高级程序设计举例 151
6.1 Verilog HDL典型电路设计 151
6.1.1 向量乘法器 151
6.1.2 除法器 152
6.1.3 相关器 155
6.1.4 键盘扫描程序 155
6.1.5 查找表矩阵运算 157
6.1.6 巴克码相关器设计 158
6.1.7 数字频率计 161
6.1.8 简易微处理器的设计 166
6.2 FPGA与DSP外部拓展接口(XINTF)通信举例 168
6.3 FPGA从ADC采集数据举例 181
6.4 FPGA最大功耗测试 190
教材思考题和习题解答 191
第7章 仿真测试工具和综合工具 219
教材思考题和习题解答 246
附录 模拟试题 252
模拟试题(一) 252
模拟试题(二) 254
模拟试题(三) 257
模拟试题(四) 260
参考文献 262