《Verilog HDL数字系统设计及仿真》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:于斌编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2014
  • ISBN:9787121222849
  • 页数:448 页
图书介绍:Verilog HDL是一门使用广泛的硬件描述语言,目前在国内无论是集成电路还是嵌入式设计的相关专业都会使用到这种硬件描述语言。市面上介绍Verilog HDL的教材非常多,各有不同的偏重。本书着重从设计角度入手,每章都力求让读者掌握一种设计方法,能够利用本章知识进行完整的设计,从模块的角度逐步完成对Verilog HDL语法的学习,从而整体掌握Verilog HDL愈发。

第1章 Verilog HDL入门简介 1

1.1从数字电路讲开来 1

1.2设计一个七进制计数器 2

1.3 Verilog HDL建模 4

1.4集成电路设计流程简介 6

1.5编写测试代码并仿真 7

1.6两种硬件描述语言 9

第2章 Verilog HDL门级建模 10

2.1门级建模范例 10

2.2门级建模基本语法 12

2.2.1模块定义 12

2.2.2端口声明 13

2.2.3门级调用 15

2.2.4模块实例化 19

2.2.5内部连线声明 21

2.3 MOS开关 22

2.4用户自定义原语UDP 25

2.4.1 UDP基本规则 25

2.4.2组合电路UDP 26

2.4.3时序电路UDP 29

2.5层次化设计 31

2.6应用实例 32

实例2-1——4位全加器的门级建模 32

实例2-2——2-4译码器的门级建模 35

实例2-3——主从D触发器的门级建模 36

实例2-4——1位比较器的门级建模 38

2.7习题 39

第3章 Verilog HDL数据流级建模 41

3.1数据流级建模范例 41

3.2数据流级建模基本语法 42

3.3操作数 43

3.3.1数字 43

3.3.2参数 45

3.3.3线网 47

3.3.4寄存器 48

3.3.5时间 49

3.4操作符 49

3.4.1算术操作符 49

3.4.2按位操作符 49

3.4.3逻辑操作符 50

3.4.4关系操作符 51

3.4.5等式操作符 52

3.4.6移位操作符 52

3.4.7拼接操作符 53

3.4.8缩减操作符 53

3.4.9条件操作符 53

3.4.10操作符优先级 54

3.5应用实例 56

实例3-1——四位全加器的数据流建模 56

实例3-2——主从D触发器的数据流建模 58

实例3-3——4位比较器的数据流建模 59

3.6习题 60

第4章 Verilog HDL行为级建模 61

4.1行为级建模范例 61

4.2 initial结构和always结构 64

4.2.1 initial结构 64

4.2.2 always结构 66

4.3顺序块和并行块 69

4.3.1顺序块 69

4.3.2并行块 70

4.3.3块的嵌套 72

4.3.4块的命名与禁用 72

4.4 if语句 73

4.5 case语句 76

4.6循环语句 78

4.6.1 while循环 78

4.6.2 for循环 79

4.6.3 repeat循环 80

4.6.4 forever循环 80

4.7过程性赋值语句 81

4.7.1阻塞性赋值语句 81

4.7.2非阻塞性赋值语句 81

4.8应用实例 83

实例4-1-——4位全加器的行为级建模 83

实例4-2——简易ALU电路的行为级建模 84

实例4-3——下降沿触发D触发器的行为级建模 86

4.9习题 87

第5章 任务、函数与编译指令 88

5.1任务 88

5.1.1任务的声明和调用 89

5.1.2自动任务 91

5.2函数 93

5.2.1函数的声明和调用 94

5.2.2自动函数 96

5.2.3常量函数 97

5.2.4任务与函数的比较 98

5.3系统任务和系统函数 98

5.3.1显示任务$display和$write 98

5.3.2探测任务$strobe 101

5.3.3监视任务$monitor 101

5.3.4仿真控制任务$stop和$finish 103

5.3.5仿真时间函数$time 103

5.3.6随机函数$random 104

5.3.7文件控制任务 105

5.3.8时间检验任务 109

5.3.9值变转储任务 109

5.4编译指令 112

5.4.1 ?define 112

5.4.2 ?include 113

5.4.3 ?timescale 115

5.4.4 ?ifdef、?else和?endif 117

5.5完整的module参考模型 118

5.6应用实例 119

实例5-1——信号同步任务 119

实例5-2——阶乘任务 120

实例5-3——可控移位函数 121

实例5-4——偶校验任务 123

实例5-5——算术逻辑函数 124

5.7习题 125

第6章 Verilog HDL测试模块 127

6.1测试模块范例 127

6.2时钟信号 129

6.3复位信号 131

6.4测试向量 133

6.5响应监控 135

6.6仿真中对信号的控制 138

6.7代码覆盖 140

6.8应用实例 141

实例6-1——组合逻辑的测试模块 141

实例6-2——时序逻辑的测试模块 143

实例6-3——除法器的测试模块 146

6.9习题 149

第7章 可综合模型设计 150

7.1逻辑综合过程 150

7.2延迟 153

7.3再谈阻塞赋值与非阻塞赋值 162

7.4可综合语法 169

7.5代码风格 170

7.5.1多重驱动问题 170

7.5.2敏感列表不完整 171

7.5.3 if与else不成对出现 171

7.5.4 case语句缺少default 172

7.5.5组合和时序混合设计 172

7.5.6逻辑简化 173

7.5.7流水线思想 174

7.6应用实例 177

实例7-1——SR锁存器延迟模型 177

实例7-2——超前进位加法器 179

实例7-3——移位除法器模型 182

7.7习题 187

第8章 有限状态机的设计 188

8.1有限状态机简介 188

8.2两种红绿灯电路的状态机模型 189

8.2.1 moore型红绿灯 189

8.2.2 mealy型红绿灯 194

8.3深入理解状态机 196

8.3.1一段式状态机 197

8.3.2两段式状态机 201

8.3.3三段式状态机 203

8.3.4状态编码的选择 211

8.4应用实例 212

实例8-1——独热码状态机 212

实例8-2——格雷码状态机 216

8.5习题 220

第9章 常见功能电路的HDL模型 221

9.1锁存器与触发器 221

9.2编码器与译码器 229

9.3寄存器 232

9.4计数器 237

9.5分频器 241

9.6乘法器 247

9.7存储单元 255

9.8习题 259

第10章 完整的设计实例 260

10.1异步FIFO 260

10.1.1异步FIFO的介绍与整体结构 260

10.1.2亚稳态的处理 262

10.1.3空满状态的判断 263

10.1.4子模块设计 266

10.1.5整体仿真结果 274

10.2三角函数计算器 277

10.2.1设计要求的提出 277

10.2.2数据格式 277

10.2.3算法的选择与原理结构 278

10.2.4确定总体模块 281

10.2.5内部结构的划分 281

10.2.6分频器模块 283

10.2.7控制模块 283

10.2.8迭代设计模块 288

10.2.9功能仿真与时序仿真 302

10.3简易CPU模型 305

10.3.1教学模型的要求 305

10.3.2指令格式的确定 306

10.3.3整体结构划分 307

10.3.4控制模块设计 308

10.3.5其余子模块设计 313

10.3.6功能仿真与时序仿真 317

第11章 实验 321

实验一 简单组合逻辑电路设计 321

实验二 行为级模型设计 328

实验三 任务与函数的设计 335

实验四 流水线的使用 339

实验五 信号发生器设计 344

实验六 有限状态机的设计 350

第12章 课程设计 356

选题一 出租车计费器 356

选题二 智力抢答器 362

选题三 点阵显示 369

选题四 自动售货机 373

选题五 篮球24秒计时 379

选题六 乒乓球游戏电路 384

选题七 CRC检测 398

选题八 堆栈设计 404

选题九 数字闹钟 410

附录A 课程测试样卷 419

附录B 习题及样卷答案 424