欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > 其他教程 > Verilog数字系统设计教程(第3版)[PDF][123.98MB]

Verilog数字系统设计教程(第3版)[PDF][123.98MB]

2019-07-29 933 收藏 0 赞一个 0 真差劲 0 去评论 去下载

内容简介

本书讲述了利用硬件描述语言(VerilogHDL)设计复杂数字系统的方法。这种方法源自20世纪90年代的美国,在美国取得成效后迅速在其他先进工业国得到推广和普及。利用硬件描述语言建模、通过仿真和综合技术设计出极其复杂的数字系统是这种技术的*优势。

本书从算法和计算的基本概念出发,讲述如何用硬线逻辑电路实现复杂数字逻辑系统的方法。全书共四部分。*部分Verilog数字设计基础与第二部分Verilog数字系统设计和验证共18章;第三部分共12个上机练习实验范例;第四部分是Verilog硬件描述语言参考手册,可供读者学习、查询之用。本书第3版后,在语法篇中增加了IEEEVerilogl364 2001标准简介,以反映Verilog语法的*变化。

本书的讲授方式以每2学时讲授一章为宜,每次课后需要花10h来复习思考。完成10章学习后,就可以开始做上机练习,从简单到复杂,由典型到一般,循序渐进地学习VerilogHDL基础知识。按照书上的步骤,可以使大学电子类及计算机工程类本科及研究生,以及相关领域的设计工程人员在半年内掌握VerilogHDL设计技术。

本书可作为电子工程类、自动控制类、计算机类的大学本科高年级及研究生教学用书,亦可供其他工程人员自学与参考。

目录

绪 论…………………………………………………………………………………………… 1

第一部分 Verilog数字设计基础

第1章 Verilog的基本知识 …………………………………………………………………… 10

1.1 硬件描述语言 HDL ………………………………………………………………… 10

1.2 VerilogHDL的历史 ………………………………………………………………… 11

1.2.1 什么是VerilogHDL …………………………………………………………… 11

1.2.2 VerilogHDL的产生及发展 …………………………………………………… 11

1.3 VerilogHDL和 VHDL的比较 …………………………………………………… 12

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

1.5 采用 VerilogHDL设计复杂数字电路的优点 ……………………………………13

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

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

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

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

1.6 采用硬件描述语言(VerilogHDL)的设计流程简介 ………………………………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

2 Verilog数字系统设计教程(第3版)

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 宏定义 d?efine ………………………………………………………………… 106

7.7.2 “文件包含”处理 i?nclude …………………………………………………… 108

7.7.3 时间尺度 t?imescale…………………………………………………………… 111

7.7.4 条件编译命令i?fdef、e?lse、e?ndif …………………………………………… 113

7.7.5 条件执行 ……………………………………………………………………… 114

小 结……………………………………………………………………………………… 115

思 考 题 …………………………………………………………………………………… 116

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

概 述……………………………………………………………………………………… 117

小 结……………………………………………………………………………………… 128

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

第9章 VerilogHDL模型的不同抽象级别 ………………………………………………… 130

概 述……………………………………………………………………………………… 130

9.1 门级结构描述 ……………………………………………………………………… 130

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

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

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

9.2 VerilogHDL的行为描述建模 …………………………………………………… 133

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

9.2.2 VerilogHDL建模在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 在 VerilogHDL设计中启用同步时序逻辑 ……………………………………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 用 VerilogHDL语言设计可综合的状态机的指导原则 ……………………… 177

目 录 5

13.2 典型的状态机实例………………………………………………………………… 178

13.3 综合的一般原则 …………………………………………………………………… 180

13.4 语言指导原则 ……………………………………………………………………… 180

13.5 可综合风格的 VerilogHDL模块实例 ………………………………………… 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 二线制I2CCMOS串行EEPROM 的简单介绍 ………………………………… 226

16.2 I2C总线特征介绍 ………………………………………………………………… 226

6 Verilog数字系统设计教程(第3版)

16.3 二线制I2CCMOS串行EEPROM 的读写操作 ……………………………… 227

16.4 EEPROM 的VerilogHDL程序 ………………………………………………… 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

目 录 7

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

概 述……………………………………………………………………………………… 313

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

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

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

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

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

练习六 在VerilogHDL中使用函数 ………………………………………………… 324

练习七 在VerilogHDL中使用任务(task) ………………………………………… 326

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

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

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

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

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

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

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

第四部分 Verilog简明语法

语法篇1 关于VerilogHDL的说明 ………………………………………………………… 376

一、关于IEEE1364标准 ……………………………………………………………… 376

二、Verilog简介 ………………………………………………………………………377

三、语法总结 ……………………………………………………………………………… 377

四、编写 VerilogHDL源代码的标准 ………………………………………………… 379

五、设计流程 ……………………………………………………………………………… 381

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

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

二、系统任务和函数(Systemtaskandfunction)……………………………………… 448

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

四、CommandLineOptions命令行的可选项 ………………………………………… 463

五、IEEEVerilog13642001标准简介 ……………………………………………… 464

参考文献…………………………………………………………………………………………478

出版者的话………………………………………………………………………………………479

文档截图

QQ截图20190729152159.jpg

Verilog数字系统设计教程(第3版)[PDF][123.98MB]

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

下载地址
大家评论