当前位置:首页 > 工业技术
Verilog数字系统设计教程
Verilog数字系统设计教程

Verilog数字系统设计教程PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:夏宇闻编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2003
  • ISBN:781077302X
  • 页数:456 页
图书介绍:本书讲述硬件描述语言Verilog HDL建模、仿真和综合的设计方法和技术。书中从算法和计算的基本概念出发,把复杂的算法分解成简单的步骤,最终由硬件逻辑电路来实现复杂的数字逻辑系统。
《Verilog数字系统设计教程》目录

第一部分 初级篇 1

第一讲 Verilog的基本知识 1

1.1 硬件描述语言HDL 1

1.2 Verilog HDL的历史 2

1.2.1 什么是Verilog HDL 2

1.2.2 Verilog HDL的产生及发展 2

1.3 Verilog HDL和VHDL的比较 3

1.4 Verilog目前的应用情况和适用的设计 4

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

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

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

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

1.6.1 自顶向下(Top-Down)设计的基本概念 6

1.6 Verilog HDL的设计流程简介 6

1.5.4 软核、固核和硬核的概念以及它们的重用 6

1.6.2 层次管理的基本概念 7

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

1.6.4 对应具体工艺器件的优化、映象和布局布线 7

1.7 小结 8

思考题 9

第二讲 Verilog语法的基本概念 10

概述 10

2.1 Verilog模块的基本概念 11

2.2 Verilog用于模块的测试 13

2.3 小结 15

思考题 15

3.1.1 模块的端口定义 17

3.1 模块的结构 17

概述 17

第三讲 常用Verilog语法之一 17

3.1.2 模块内容 18

3.1.3 理解要点 19

3.1.4 要点总结 19

3.2 数据类型及其常量及变量 20

3.2.1 常量 20

3.2.2 变量 23

3.3 运算符及表达式 25

3.3.1 基本的算术运算符 26

3.3.2 位运算符 26

3.4 小结 28

思考题 28

4.1 逻辑运算符 29

概述 29

第四讲 常用Verilog语法之二 29

4.2 关系运算符 30

4.3 等式运算符 30

4.4 移位运算符 31

4.5 位拼接运算符 31

4.6 缩减运算符 32

4.7 优先级别 32

4.8 关键词 33

4.9 赋值语句和块语句 33

4.9.1 赋值语句 33

4.9.2 块语句 35

4.10 小结 38

思考题 38

5.1.1 if_else语句 39

5.1 条件语句 39

概述 39

第五讲 常用Verilog语法之三 39

5.1.2 case语句 42

5.1.3 使用条件语句不当在设计中生成了原本没想到有的锁存器 45

5.2 循环语句 46

5.2.1 forever语句 46

5.2.2 repeat语句 46

5.2.3 while语句 47

5.2.4 for语句 47

5.3 小结 49

思考题 49

6.1.1 initial语句 50

6.1 结构说明语句 50

概述 50

第六讲 常用Verilog语法之四 50

6.1.2 always语句 51

6.2 task和function说明语句 52

6.3 系统函数和任务 56

6.4 小结 60

思考题 60

第七讲 常用Verilog语法之五 61

概述 61

7.1 系统任务$monitor 61

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

7.3 系统任务$finish 63

7.4 系统任务$stop 63

7.5 系统任务$readmemb和$readmemh 64

7.6 系统任务$random 65

7.7.1 宏定义define 66

7.7 编译预处理 66

7.7.2 “文件包含”处理include 68

7.7.3 时间尺度timescale 71

7.7.4 条件编译命令ifdef、else、endif 73

7.8 小结 73

思考题 74

第八讲 常用Verilog语法总结 75

概述 75

总结 86

第二部分 中级篇 87

第一讲 Verilog HDL模型的不同抽象级别概述 87

概述 87

1.1 门级结构描述 88

1.1.1 与非门、或门和反向器及其说明语法 88

1.1.2 用门级结构描述D触发器 89

1.1.3 由已经设计成的模块构成更高一层的模块 90

1.2 Verilog HDL的行为描述建模 91

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

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

1.3 用户定义的原语 95

1.4 小结 96

思考题 96

第二讲 如何编写和验证简单的纯组合逻辑模块 97

概述 97

2.1 加法器 97

2.2 乘法器 100

2.3 比较器 102

2.4 多路器 103

2.5 总线和总线操作 105

2.6 流水线 105

思考题 110

小结 110

第三讲 复杂数字系统的构成 111

概述 111

3.1 运算部件和数据流动的控制逻辑 111

3.1.1 数字逻辑电路的种类 111

3.1.2 数字逻辑电路的构成 111

3.1.3 数据在寄存器中的暂时保存 113

3.1.4 数据流动的控制 115

3.2 在Verilog HDL设计中启用同步时序逻辑 117

思考题 119

第四讲 同步状态机的原理、结构和设计概述 120

4.1 状态机的结构 120

4.2 Mealy状态机和Moore状态机的不同点 121

4.3 如何用Verilog来描述可综合的状态机 122

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

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

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

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

思考题 128

第五讲 设计可综合的状态机的指导原则 129

概述 129

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

5.2 典型的状态机实例 130

5.3 综合的一般原则 132

5.4 语言指导原则 132

5.5 可综合风格的Verilog HDL模块实例 133

5.5.1 组合逻辑电路设计实例 133

5.5.2 时序逻辑电路设计实例 139

5.6 状态机的置位与复位 142

5.6.1 状态机的异步置位与复位 142

5.6.2 状态机的同步置位与复位 143

小结 145

思考题 145

第六讲 深入理解阻塞和非阻塞赋值的不同 146

概述 146

6.1 深入理解阻塞和非阻塞赋值的不同 146

6.1.1 阻塞赋值 147

6.1.2 非阻塞赋值 148

6.2 Verilog模块编程要点 148

6.3 Verilog的层次化事件队列 149

6.4 自触发always块 150

6.5 移位寄存器模型 151

6.6 阻塞赋值及一些简单的例子 154

6.7 时序反馈移位寄存器建模 155

6.8 组合逻辑建模时应使用阻塞赋值 157

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

6.10 其他阻塞和非阻塞混合使用的原则 160

6.11 对同一变量进行多次赋值 161

6.12 常见的对于非阻塞赋值的误解 162

6.13 小结 164

思考题 164

第七讲 较复杂时序逻辑电路设计实践 165

概述 165

总结 176

思考题 176

第八讲 I2C总线接口模块的设计 177

概述 177

总结 200

思考题 201

9.2 什么是CPU 202

9.1 课题的来由和设计环境介绍 202

第九讲 简化的RISC_CPU设计 202

概述 202

9.3 RISC_CPU结构 203

9.3.1 时钟发生器 205

9.3.2 指令寄存器 207

9.3.3 累加器 209

9.3.4 算术运算器 209

9.3.5 数据控制器 210

9.3.6 地址多路器 211

9.3.7 程序计数器 212

9.3.8 状态控制器 213

9.3.9 外围模块 218

9.4 RISC_CPU操作和时序 219

9.4.3 写总线操作 220

9.4.2 总线读操作 220

9.4.1 系统的复位和启动操作 220

9.5 RISC_CPU寻址方式和指令系统 221

9.6 RISC_CPU模块的调试 222

9.6.1 RISC_CPU模块的前仿真 222

9.6.2 RISC_CPU模块的综合 236

9.6.3 RISC_CPU模块的优化和布局布线 245

小结 250

思考题 250

第十讲 虚拟器件、虚拟接口模型及其在大型数字系统设计中的作用 251

概述 251

10.1 软核和硬核、宏单元及虚拟器件和接口 251

10.2 虚拟器件和虚拟接口模块的供应商 252

10.3 虚拟模块的设计 252

10.4 虚拟接口模块的实例 256

小结 305

思考题 306

第三部分 实践篇 307

设计示范和上机习题概述 307

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

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

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

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

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

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

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

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

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

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

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

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

第四部分 语法篇 369

关于Verilog HDL的说明 369

一、关于IEEE 1364标准 369

二、Verilog简介 370

三、语法总结 370

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

五、设计流程 374

Verilog硬件描述语言参考手册 375

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

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

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

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

相关图书
作者其它书籍
返回顶部