《Verilog HDL数字系统设计与验证》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:乔庐峰编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121082924
  • 页数:257 页
图书介绍:本书全面介绍如何使用Verilog HDL进行数字电路设计、仿真和验证。全书共分为Verilog HDL语法基础与基本电路单元设计、系统设计与验证和附录三个组成部分。本书以Verilog-1995和Verilog-2001标准为基础,重视电路仿真与验证,紧密结合设计实践,可以帮助读者掌握规范的电路设计方法。书中的大量例题可直接用于读者的设计实践,具有良好的参考价值。

第一部分 语法基础与基本电路单元设计 2

第1章 引言 2

1.1 Verilog HDL语言的产生与发展 2

1.2设计流程 2

1.3 Verilog HDL在电路仿真中的应用 4

1.3.1使用Verilog建立电路模型 4

1.3.2编写测试代码testbench 5

1.4 Verilog HDL在电路综合中的应用 6

思考与练习 8

第2章 Verilog代码结构 9

2.1模块的结构 9

2.1.1 Verilog中的标识符 9

2.1.2 Verilog中端口和内部变量的定义 9

2.1.3注释语句 10

2.1.4内部功能描述语句 10

2.2电路功能描述方式 10

2.2.1数据流描述方式 11

2.2.2行为描述方式 12

2.2.3结构描述方式 16

2.2.4混合描述方式 17

思考与练习 18

第3章 Verilog中的常量、变量与数据类型 19

3.1常量 19

3.1.1数值的表示方法 19

3.1.2参数型常量 20

3.2变量 22

3.2.1 wire类型的变量 22

3.2.2 reg类型的变量 23

3.2.3 integer类型的变量 24

3.2.4 memory类型的变量 25

3.3块语句与变量的赋值 25

3.3.1块语句 25

3.3.2阻塞赋值和非阻塞赋值 27

思考与练习 31

第4章 操作符/运算符 32

4.1算术操作符 32

4.2关系操作符 35

4.3相等关系操作符 36

4.4逻辑操作符 37

4.5按位操作符 38

4.6缩位(归约)操作符 39

4.7移位操作符 41

4.8条件操作符 41

4.9并位(位拼接)操作符 42

4.10操作符的优先级 44

思考与练习 45

第5章 条件语句与循环语句 47

5.1 if-else语句 47

5.1.1 if-else语句的语法结构 47

5.1.2 if-else语句与锁存器 51

5.2 case,casez和casex语句 52

5.2.1 case语句 52

5.2.2 casez和casex语句 54

5.2.3 case语句与锁存器 55

5.3循环语句 58

5.3.1 forever循环语句 58

5.3.2 repeat循环语句 58

5.3.3 while循环语句 59

5.3.4 for循环语句 59

思考与练习 61

第6章 任务与函数 63

6.1任务 63

6.1.1任务定义 63

6.1.2任务调用 63

6.1.3任务定义与调用举例 64

6.2函数 68

6.2.1函数的定义 68

6.2.2函数的调用 68

6.2.3函数定义与调用举例 69

6.3任务与函数的异同小结 70

思考与练习 70

第7章 用户定义的原语 71

7.1 UDP的定义 71

7.2组合电路UDP 71

7.3时序电路UDP 72

第8章 状态机 73

8.1引言 73

8.2设计风格1 74

8.3设计风格2 79

8.4设计风格3 84

8.5状态机编码方式:二进制编码和独热编码 90

思考与练习 90

第9章 系统任务与编译预处理 91

9.1与仿真相关的系统任务 91

9.1.1 $display和$write 91

9.1.2 $monitor和$strobe 93

9.1.3 $time和$realtime 94

9.1.4 $finish和$stop 94

9.1.5 $readmemh和$readmemb 95

9.1.6 $random 96

9.2与波形和定时检查相关的系统任务 97

9.3编译预处理语句 100

9.3.1宏定义`define 100

9.3.2文件包含处理 102

9.3.3仿真时间标度`timescale 104

9.4条件编译命令 104

思考与练习 105

第10章 常用基本电路单元设计 106

10.1 Verilog代码的综合 106

10.2算术逻辑单元 107

10.3并/串变换电路 108

10.4简单自动售货机控制电路 110

10.5 7段数码显示器控制电路 112

10.6 逐级进位和超前进位加法器 115

10.6.1逐级进位加法器实现方法 115

10.6.2超前进位加法器 116

10.7同步FIFO的设计 121

思考与练习 125

第二部分 系统设计与验证 128

第11章 静态定时分析、时钟域与同步化设计 128

11.1前仿真与后仿真 128

11.2静态定时分析 129

11.2.1静态定时分析与门延迟 129

11.2.2时钟抖动对静态定时分析的影响 132

11.2.3时钟偏移对静态定时分析的影响 133

11.3时钟域与同步化设计 134

11.3.1同步器结构 135

11.3.2时钟域的划分 136

11.3.3单一跨时钟域信号的有效传递 137

11.3.4多个跨时钟域信号的有效传递 138

11.4采用异步FIFO进行时钟域隔离 139

11.4.1异步FIFO的电路结构 139

11.4.2格雷码计数器 140

11.4.3 AFIFO的设计与应用 143

11.5通过高速采样实现异步信号的同步化设计 147

思考与练习 148

第12章 Verilog设计验证技术 149

12.1电路验证的基本概念 149

12.2验证的全面性与代码覆盖率分析 150

12.3随机化测试 154

12.4定时验证 159

12.5自动测试testbench 161

12.5.1以太网桥接器的工作原理 162

12.5.2电路的模块级验证 163

12.5.3电路的系统级验证 165

思考与练习 169

第13章 典型复杂电路设计与分析 170

13.1乘法器 170

13.1.1串-并型乘法器 170

13.1.2并行乘法器 173

13.1.3使用“*”实现乘法器 175

13.2除法器 175

13.2.1除法电路的算法 175

13.2.2 Verilog HDL除法器的实现 176

13.3数字滤波器 179

13.4检错码编码电路 182

思考与练习 187

第14章 通信系统中的异步复用电路 188

14.1同步复用电路 188

14.2异步复用电路 189

14.2.1异步复用的基本概念 189

14.2.2正码速调整 190

14.2.3全同步设计方法 191

第15章 通用异步收发器的设计与验证 202

15.1通用异步收发器规范 202

15.2电路结构设计 202

15.3 UART控制电路模块代码设计与分析 205

15.4 UART发送电路模块代码设计与仿真分析 208

15.5 UART接收电路模块代码设计与仿真分析 211

15.6系统仿真 215

15.7 UART自动测试testbench 217

第16章 Viterbi译码器电路 221

16.1卷积码编码器的工作原理 221

16.2 Viterbi译码器的工作原理 222

16.2.1分支度量单元的设计 222

16.2.2 ACS单元的设计 222

16.2.3幸存路径信息存储和回溯单元的设计 223

16.3 Viterbi译码器电路实现 224

附录A 可编程逻辑器件 229

附录B ModeISim SE使用指南 237

附录C Xilinx ISE+ModeISim使用指南 242

附录D Altera Quartus II+Synplify Pro+ModelSim使用指南 251

附录E Verilog(IEEE Std-1364-1995)关键字 256

参考文献 257