《VERILOG实例教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:郭磊主编;夏永恒,黄杰勇副主编
  • 出 版 社:北京:国防工业出版社
  • 出版年份:2016
  • ISBN:9787118105674
  • 页数:304 页
图书介绍:本书主要通过各类实例讲解硬件编程语言Verilog的使用方法。全书主要分为三大部分,第一部分从第一章到第六章,主要讲解Verilog语言的语法规则,让读者对该语言有一个初步的掌握。第二部分是第七章和第八章,主要通过组合电路、时序电路的设计让读者掌握中等规模的硬件电路设计。第三部分是最后两章,通过介绍存储器、UART等实例设计使读者掌握大规模数字硬件电路设计的方法。

第1章 Verilog语言 1

1.1 硬件描述语言 1

1.2 Verilog发展历史与功能 2

1.2.1 Verilog HDL 2

1.2.2 Verilog历史与主要能力 3

1.3 FPGA开发的一般流程 3

第2章 Verilog HDL初试 6

2.1 模块 6

2.2 时延 10

2.3 数据流描述方式 10

2.4 行为描述方式 11

2.5 结构化描述方式 13

2.6 混合设计描述方式 15

2.7 设计测试 15

第3章 Verilog语言要素与表达式 19

3.1 标识符 19

3.2 注释 20

3.3 格式 21

3.4 系统任务和函数 21

3.5 编译指令 21

3.5.1 ′define和′undef 22

3.5.2 ′ifdef、′else和′endif 22

3.5.3 ′default_nettype 22

3.5.4 ′include 22

3.5.5 ′resetall 23

3.5.6 ′timescale 23

3.5.7 ′unconnected_drive和′nounconnected_drive 24

3.5.8 ′celldefine和′endcelldefine 24

3.6 值集合 25

3.6.1 整型数 25

3.6.2 实数 26

3.6.3 字符串 27

3.7 数据类型 27

3.7.1 线网类型 27

3.7.2 未说明的线网 33

3.7.3 向量和标量线网 33

3.7.4 寄存器类型 33

3.8 参数 37

3.9 表达式 37

3.9.1 操作数 37

3.9.2 操作符 40

3.9.3 表达式种类 47

第4章 Verilog建模基础 48

4.1 模块及实例化 48

4.1.1 模块 48

4.1.2 端口 50

4.1.3 模块实例语句 50

4.1.4 悬空端口 52

4.1.5 不同的端口长度 52

4.1.6 模块参数值 53

4.1.7 外部端口 55

4.2 结构模型 58

4.2.1 内置基本门 58

4.2.2 多输入门 59

4.2.3 多输出门 59

4.2.4 三态门 60

4.2.5 上拉、下拉电阻 60

4.2.6 MOS开关 60

4.2.7 双向开关 61

4.2.8 门时延 61

4.2.9 实例数组 63

4.2.10 隐式线网 63

4.2.11 示例 63

4.3 数据流模型化 65

4.3.1 连续赋值语句 65

4.3.2 线网说明赋值 67

4.3.3 时延 67

4.3.4 线网时延 68

4.4 行为模型 70

4.4.1 过程结构 70

4.4.2 语句块 77

4.4.3 过程性赋值 80

4.4.4 连续赋值与过程赋值的比较 84

4.4.5 if语句 85

4.4.6 case语句 86

4.4.7 循环语句 88

4.4.8 过程性连续赋值 90

4.5 结构描述方式和行为描述方式的混合使用 94

第5章 Verilog模块验证 96

5.1 编写测试验证程序 96

5.2 激励值产生 96

5.2.1 值序列 97

5.2.2 重复模式 98

5.3 测试验证程序实例 101

5.3.1 解码器 101

5.3.2 触发器 103

5.4 从文本文件中读取向量 105

5.5 向文本文件中写入向量 106

5.6 其他实例 107

5.6.1 时钟分频器 107

5.6.2 阶乘设计 109

5.6.3 时序检测器 112

第6章 Verilog语言其他规则 114

6.1 任务 114

6.1.1 任务定义 114

6.1.2 任务调用 115

6.2 函数 117

6.2.1 函数说明部分 117

6.2.2 函数调用 118

6.3 系统任务和系统函数 118

6.3.1 显示任务 119

6.3.2 文件输入/输出任务 121

6.3.3 时间标度任务 123

6.3.4 模拟控制任务 124

6.3.5 定时校验任务 124

6.3.6 模拟时间函数 126

6.3.7 变换函数 126

6.3.8 概率分布函数 127

6.4 禁止语句 127

6.5 命名事件 129

6.6 层次路径名 131

6.7 共享任务和函数 132

6.8 值变转储文件 134

6.9 指定程序块 136

6.10 强度 138

6.11 竞争状态 140

第7章 组合电路设计实例 142

7.1 编码器 142

7.2 译码器 148

7.3 多路复用器 154

7.4 奇偶校验器 159

7.5 三态器件与比较器 164

7.6 算术逻辑单元 168

7.7 组合电路综合案例 173

第8章 时序电路设计 186

8.1 锁存器与触发器 186

8.2 计数器 194

8.3 移位寄存器 198

8.4 分频器 202

8.5 序列检测器的状态机设计 206

8.6 同步系统结构的设计 213

8.7 综合实例设计 215

8.7.1 计数芯片74x163芯片设计与应用 215

8.7.2 多种类型计数器的设计与实现 218

第9章 存储器 227

9.1 Verilog描述存储器基本语法 227

9.1.1 存储器定义 227

9.1.2 存储器读取系统任务 227

9.2 存储器基础模块 229

9.2.1 单端口单读写的RAM模块 229

9.2.2 双端口读写地址独立的RAM模块 230

9.2.3 ROM模块定义与使用 233

9.2.4 RAM同步读写 237

9.3 存储器综合实例 242

第10章 综合实例 260

10.1 键盘扫描程序的设计 260

10.1.1 键盘扫描程序的总体电路设计 260

10.1.2 矩阵式键盘扫描的工作原理 260

10.1.3 数码管的显示原理 262

10.1.4 FIFO(先进先出)存储器电路原理 264

10.1.5 抖动消除电路原理 265

10.2 键盘扫描电路各主要功能模块的设计 266

10.2.1 时序产生模块 266

10.2.2 键盘扫描译码模块 268

10.2.3 抖动消除模块 273

10.2.4 FIFO(先进先出)存储器电路 276

10.2.5 数码管显示模块 278

10.3 系统综合与实物验证 279

10.3.1 系统综合 279

10.3.2 iMPACT的使用 280

10.3.3 引脚的锁定 281

10.4 通用异步接收/发送芯片设计与实现 281

10.4.1 UART整体方案设计 282

10.4.2 UART发射机设计 283

10.4.3 UART接收机设计 289

10.4.4 波特率发生器设计 296

10.4.5 主机处理器设计 298

10.5 UART硬件测试 299

10.5.1 输入和显示 299

10.5.2 综合仿真波形 299

10.5.3 综合与功能实现 299

10.5.4 iMPACT的使用 300

10.5.5 串口调试助手 301

10.5.6 小结 302

参考文献 304