《Verilog数字系统设计教程 第3版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:夏宇闻编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2017
  • ISBN:7512424692
  • 页数:479 页
图书介绍:

第一部分 Verilog数字设计基础 10

第1章Verilog的基本知识 10

1.1硬件描述语言HDL 10

1.2 Verilog HDL的历史 11

1.2.1什么是Verilog HDL 11

1.2.2 Verilog HDL的产生及发展 11

1.3 Verilog HDL和VHDL的比较 12

1.4 Verilog的应用情况和适用的设计 13

1.5采用Verilog HDL设计复杂数字电路的优点 13

1.5.1传统设计方法——电路原理图输入法 13

1.5.2 Verilog HDL设计法与传统的电路原理图输入法的比较 14

1.5.3 Verilog的标准化与软核的重用 14

1.5.4软核、固核和硬核的概念及其重用 14

1.6采用硬件描述语言(Verilog HDL)的设计流程简介 15

1.6.1自顶向下(Top_Down )设计的基本概念 15

1.6.2层次管理的基本概念 16

1.6.3具体模块的设计编译和仿真的过程 16

1.6.4具体工艺器件的优化、映像和布局布线 16

小结 17

思考题 18

第2章Verilog语法的基本概念 19

概述 19

2.1 Verilog模块的基本概念 20

2.2 Verilog用于模块的测试 23

小结 24

思考题 25

第3章 模块的结构、数据类型、变量和基本运算符号 26

概述 26

3.1模块的结构 26

3.1.1模块的端口定义 26

3.1.2模块内容 27

3.1.3理解要点 28

3.1.4要点总结 28

3.2数据类型及其常量和变量 29

3.2.1常量 29

3.2.2变量 32

3.3运算符及表达式 35

3.3.1基本的算术运算符 35

3.3.2位运算符 36

小结 37

思考题 38

第4章 运算符、赋值语句和结构说明语句 39

概述 39

4.1逻辑运算符 39

4.2关系运算符 40

4.3等式运算符 40

4.4移位运算符 41

4.5位拼接运算符 41

4.6缩减运算符 42

4.7优先级别 42

4.8关键词 43

4.9赋值语句和块语句 43

4.9.1赋值语句 43

4.9.2块语句 45

小结 48

思考题 49

第5章 条件语句、循环语句、块语句与生成语句 50

概述 50

5.1条件语句(if_ else)语句 50

5.2 case语句 53

5.3条件语句的语法 57

5.4多路分支语句 58

5.5循环语句 60

5.5.1 forever语句 60

5.5.2 repeat语句 60

5.5.3 while语句 61

5.5.4 for语句 61

5.6顺序块和并行块 63

5.6.1块语句的类型 63

5.6.2块语句的特点 65

5.7生成块 67

5.7.1循环生成语句 68

5.7.2条件生成语句 70

5.7.3 case生成语句 71

5.8举例 72

5.8.1四选一多路选择器 72

5.8.2四位计数器 73

小结 74

思考题 75

第6章 结构语句、系统任务、函数语句和显示系统任务 78

概述 78

6.1结构说明语句 78

6.1.1 initial语句 78

6.1.2 always语句 79

6.2 task和function说明语句 82

6.2.1 task和function说明语句的不同点 82

6.2.2 task说明语句 83

6.2.3 function说明语句 84

6.2.4函数的使用举例 86

6.2.5自动(递归)函数 88

6.2.6常量函数 89

6.2.7带符号函数 90

6.3关于使用任务和函数的小结 90

6.4常用的系统任务 91

6.4.1 $ display和$write任务 91

6.4.2文件输出 94

6.4.3显示层次 96

6.4.4选通显示 96

6.4.5值变转储文件 97

6.5其他系统函数和任务 98

小结 98

思考题 99

第7章 调试用系统任务和常用编译预处理语句 100

概述 100

7.1系统任务$monitor 100

7.2时间度量系统函数$time 101

7.3系统任务$finish 102

7.4系统任务$stop 102

7.5系统任务$readmemb和$readmemh 103

7.6系统任务$random 105

7.7编译预处理 106

7.7.1宏定义define 106

7.7.2“文件包含”处理include 108

7.7.3时间尺度timescale 111

7.7.4条件编译命令if def 、else、 endif 113

7.7.5条件执行 114

小结 115

思考题 116

第8章 语法概念总复习练习 117

概述 117

小结 128

第二部分 Verilog数字系统设计和验证 130

第9章Verilog HDL模型的不同抽象级别 130

概述 130

9.1门级结构描述 130

9.1.1与非门、或门和反向器及其说明语法 130

9.1.2用门级结构描述D触发器 131

9.1.3由已经设计成的模块构成更高一层的模块 132

9.2 Verilog HDL的行为描述建模 133

9.2.1仅用于产生仿真测试信号的Verilog HDL行为描述建模 134

9.2.2 Verilog HDL建模在Top-Down设计中的作用和行为建模的可综合性问题 136

9.3用户定义的原语 137

小结 138

思考题 139

第10章 如何编写和验证简单的纯组合逻辑模块 140

概述 140

10.1加法器 140

10.2乘法器 142

10.3比较器 145

10.4多路器 146

10.5总线和总线操作 148

10.6流水线 149

小结 154

思考题 155

第11章 复杂数字系统的构成 156

概述 156

11.1运算部件和数据流动的控制逻辑 156

11.1.1数字逻辑电路的种类 156

11.1.2数字逻辑电路的构成 156

11.2数据在寄存器中的暂时保存 158

11.3数据流动的控制 160

11.4在Verilog HDL设计中启用同步时序逻辑 162

11.5数据接口的同步方法 164

小结 165

思考题 165

第12章 同步状态机的原理、结构和设计 166

概述 166

12.1状态机的结构 166

12.2 Mealy状态机和Moore状态机的不同点 167

12.3如何用Verilog来描述可综合的状态机 168

12.3.1用可综合Verilog模块设计状态机的典型办法 168

12.3.2用可综合的Verilog模块设计、用独热码表示状态的状态机 170

12.3.3用可综合的Verilog模块设计、由输出指定的码表示状态的状态机 171

12.3.4用可综合的Verilog模块设计复杂的多输出状态机时常用的方法 173

小结 175

思考题 176

第13章 设计可综合的状态机的指导原则 177

概述 177

13.1用Verilog HDL语言设计可综合的状态机的指导原则 177

13.2典型的状态机实例 178

13.3综合的一般原则 180

13.4语言指导原则 180

13.5可综合风格的Verilog HDL模块实例 181

13.5.1组合逻辑电路设计实例 181

13.5.2时序逻辑电路设计实例 187

13.6状态机的置位与复位 189

13.6.1状态机的异步置位与复位 189

13.6.2状态机的同步置位与复位 191

小结 192

思考题 193

第14章 深入理解阻塞和非阻塞赋值的不同 194

概述 194

14.1阻塞和非阻塞赋值的异同 194

14.1.1阻塞赋值 195

14.1.2非阻塞赋值 196

14.2 Verilog模块编程要点 196

14.3 Verilog的层次化事件队列 197

14.4自触发always块 198

14.5移位寄存器模型 199

14.6阻塞赋值及一些简单的例子 203

14.7时序反馈移位寄存器建模 203

14.8组合逻辑建模时应使用阻塞赋值 205

14.9时序和组合的混合逻辑——使用非阻塞赋值 207

14.10其他阻塞和非阻塞混合使用的原则 208

14.11对同一变量进行多次赋值 209

14.12常见的对于非阻塞赋值的误解 210

小结 212

思考题 212

第15章 较复杂时序逻辑电路设计实践 213

概述 213

小结 224

思考题 224

第16章 复杂时序逻辑电路设计实践 226

概述 226

16.1二线制I2C CMOS串行EEPROM的简单介绍 226

16.2 I2C总线特征介绍 226

16.3二线制I2 C CMOS串行EEPROM的读写操作 227

16.4 EEPROM的Verilog HDL程序 228

总结 251

思考题 251

第17章 简化的RISC CPU设计 252

概述 252

17.1课题的来由和设计环境介绍 252

17.2什么是CPU 253

17.3 RISC_ CPU结构 253

17.3.1时钟发生器 255

17.3.2指令寄存器 257

17.3.3累加器 258

17.3.4算术运算器 259

17.3.5数据控制器 260

17.3.6地址多路器 261

17.3.7程序计数器 261

17.3.8状态控制器 262

17.3.9外围模块 268

17.4 RISC_ CPU操作和时序 269

17.4.1系统的复位和启动操作 269

17.4.2总线读操作 270

17.4.3总线写操作 271

17.5 RISC_ CPU寻址方式和指令系统 271

17.6 RISC_ CPU模块的调试 272

17.6.1 RISC_ CPU模块的前仿真 272

17.6.2 RISC_ CPU模块的综合 286

17.6.3 RISC_ CPU模块的优化和布局布线 292

小结 302

思考题 303

第18章 虚拟器件/接口、IP和基于平台的设计方法及其在大型数字系统设计中的作用 304

概述 304

18.1软核和硬核、宏单元、虚拟器件、设计和验证IP以及基于平台的设计方法 304

18.2设计和验证IP供应商 306

18.3虚拟模块的设计 307

18.4虚拟接口模块的实例 311

小结 312

思考题 312

第三部分 Verilog数字设计示范与实验练习 313

概述 313

练习一 简单的组合逻辑设计 314

练习二 简单分频时序逻辑电路的设计 316

练习三 利用条件语句实现计数分频时序电路 318

练习四 阻塞赋值与非阻塞赋值的区别 320

练习五用always块实现较复杂的组合逻辑电路 322

练习六在Verilog HDL中使用函数 324

练习七在Verilog HDL中使用任务(task) 326

练习八利用有限状态机进行时序逻辑的设计 329

练习九 利用状态机实现比较复杂的接口设计 332

练习十 通过模块实例调用实现大型系统的设计 337

练习十一 简单卷积器的设计 343

附录一A/D转换器的Verilog HDL模型机所需要的技术参数 357

附录二2K*8位异步CMOS静态RAM HM - 65162模型 361

练习十二 利用SRAM设计一个FIFO 366

第四部分 Verilog简明语法 376

语法篇1关于Verilog HDL的说明 376

一、关于IEEE 1364标准 376

二、V erilog简介 377

三、语法总结 377

四、编写Verilog HDL源代码的标准 379

五、设计流程 381

语法篇 2 Verilog硬件描述语言参考手册 382

一、Verilog HDL语句与常用标志符(按字母顺序排列) 382

二、系统任务和函数(System task and function) 448

三、常用系统任务和函数的详细使用说明 452

四、Command Line Options命令行的可选项 463

五、IEEE Verilog 1364-2001标准简介 464

参考文献 478

出版者的话 479