《Verilog HDL数字集成电路高级程序设计》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:蔡觉平等编著
  • 出 版 社:西安:西安电子科技大学出版社
  • 出版年份:2015
  • ISBN:9787560638584
  • 页数:464 页
图书介绍:本书内容分为10章:Verilog HDL设计方法概述、模块和结构化建模、数据流描述和运算符、行为级描述、测试和仿真、组合电路、时序电路、存储器设计实例、高级程序设计实例,重点介绍了Verilog HDL设计方法。

第1章 Verilog HDL数字集成电路设计方法概述 1

1.1 数字集成电路的发展和设计方法的演变 1

1.2 Verilog HDL的发展和国际标准 3

1.3 Verilog HDL语言的设计思想和可综合特性 6

1.4 用Verilog HDL进行数字集成电路设计的优点 9

1.5 功能模块的可重用性 11

1.6 Verilog HDL在数字集成电路设计流程中的作用 13

本章小结 14

思考题和习题 14

第2章 Verilog HDL模块和结构化建模 15

2.1 模块 15

2.2 模块的调用和结构化建模 17

2.2.1 模块调用方式 18

2.2.2 模块端口对应方式 20

2.2.3 模块建模例程 23

2.3 门级建模 26

2.3.1 门级元件的调用 26

2.3.2 门级模块调用例程 27

2.4 开关级建模 29

2.4.1 开关级建模 29

2.4.2 开关级建模例程 30

本章小结 32

思考题和习题 33

第3章 Verilog HDL数据流描述和运算符 35

3.1 连续赋值语句(assign) 35

3.1.1 显式连续赋值语句 36

3.1.2 隐式连续赋值语句 36

3.1.3 连续赋值语句(assign)例程 37

3.1.4 连续赋值语句使用中的注意事项 38

3.2 Verilog HDL中的运算符 38

3.2.1 算术运算符 39

3.2.2 关系运算符及相等运算符 41

3.2.3 逻辑运算符 43

3.2.4 按位运算符 44

3.2.5 归约运算符 46

3.2.6 移位运算符 46

3.2.7 条件运算符 47

3.2.8 连接和复制运算符 49

3.3 Verilog HDL数据流建模例程 50

本章小结 52

思考题和习题 52

第4章 Verilog HDL行为级描述 54

4.1 过程语句 57

4.1.1 initial过程语句 57

4.1.2 always过程语句和敏感事件表 58

4.1.3 过程语句使用中信号类型的定义 61

4.1.4 awlays过程语句中敏感事件的形式 62

4.2 语句块 62

4.2.1 串行语句块 63

4.2.2 并行语句块 63

4.2.3 语句块的使用 63

4.3 过程赋值语句 65

4.3.1 阻塞赋值语句 65

4.3.2 非阻塞赋值语句 65

4.4 条件分支语句 69

4.4.1 if条件分支语句 69

4.4.2 case条件分支语句 71

4.4.3 条件分支语句的特点和隐藏锁存器的产生 76

4.5 循环语句 79

4.5.1 forever循环语句 80

4.5.2 repeat循环语句 80

4.5.3 while循环语句 81

4.5.4 for循环语句 81

4.5.5 循环语句的可综合性 82

本章小结 85

思考题和习题 85

第5章 Verilog HDL测试和仿真 91

5.1 Verilog HDL测试仿真结构 91

5.2 测试激励描述方式 95

5.2.1 信号的初始化 95

5.2.2 延迟控制 95

5.2.3 initial和always过程块的使用 97

5.2.4 串行与并行语句块产生测试信号 99

5.2.5 阻塞与非阻塞描述方式产生测试信号 103

5.3 任务和函数 107

5.3.1 任务(Task) 107

5.3.2 函数(Function) 109

5.3.3 函数和任务的嵌套 114

5.4 典型测试向量的产生方式 117

5.4.1 任意波形信号的产生 118

5.4.2 时钟信号 121

5.4.3 用函数和电路产生测试信号 125

5.4.4 复位信号 126

5.4.5 总线信号产生 127

5.5 组合逻辑电路仿真环境的搭建 129

5.6 时序逻辑电路仿真环境的搭建 134

5.7 测试向量的选择和覆盖率 137

5.8 系统任务和函数的使用 140

5.8.1 显示任务 141

5.8.2 文件管理任务 144

5.8.3 仿真控制任务 147

5.8.4 时间函数 148

5.8.5 随机函数 149

5.9 编译预处理语句 151

5.9.1 宏定义 151

5.9.2 文件包含处理 152

5.9.3 仿真时间标度 154

5.9.4 条件编译 155

5.9.5 其他语句 155

5.10 路径延迟和参数 156

5.10.1 门级元器件延迟说明 156

5.10.2 延迟说明块 157

5.10.3 延迟参数的定义 159

5.10.4 路径延迟的设置 159

5.10.5 延迟值类型 162

5.11 时序检查 164

5.11.1 使用稳定窗口的时序检查 165

5.11.2 时钟和控制信号的时序检查 169

5.12 用户自定义元件(UDP) 173

5.12.1 组合电路的UDP 175

5.12.2 时序电路的UDP 176

本章小结 178

思考题和习题 178

第6章 Verilog HDL组合电路设计 183

6.1 组合逻辑电路的特点 183

6.1.1 真值表 183

6.1.2 卡诺图简化和逻辑函数表达式 185

6.1.3 电路逻辑图 185

6.2 Verilog HDL组合电路设计方法 186

6.2.1 真值表方式 186

6.2.2 逻辑表达式方式 188

6.2.3 结构描述方式 188

6.2.4 抽象描述方式 189

6.3 数字加法器 191

6.3.1 2输入1位信号全加器 191

6.3.2 4位超前进位加法器 194

6.4 数据比较器 196

6.5 数据选择器 201

6.5.1 2选1数据选择器 201

6.5.2 4选1数据选择器 203

6.6 数据分配器 208

6.6.1 1-4数据分配器 208

6.6.2 1-8数据分配器 211

6.7 数据编码器 212

6.7.1 BCD编码器 213

6.7.2 8线-3线编码器 215

6.7.3 8线-3线优先编码器 217

6.7.4 余3编码 220

6.8 数据译码器 221

6.8.1 3线-8线译码器 221

6.8.2 8421BCD转二进制译码 224

6.8.3 8421BCD到七段数码管 226

6.9 数据校验器 229

本章小结 231

思考题和习题 231

第7章 Verilog HDL时序电路设计 233

7.1 时序电路的特点 233

7.2 Verilog HDL时序电路设计方法 236

7.2.1 状态机描述状态转移图 236

7.2.2 结构性描述 237

7.2.3 行为级描述 238

7.3 触发器 239

7.3.1 D触发器 239

7.3.2 J-K触发器 242

7.3.3 T触发器 245

7.4 计数器 246

7.4.1 任意模值计数器 247

7.4.2 移位型计数器 254

7.4.3 可逆计数器 257

7.4.4 8421 BCD计数器 259

7.5 移位寄存器 262

7.5.1 右移位寄存器 263

7.5.2 左移位寄存器 264

7.5.3 并行输入/串行输出寄存器 265

7.5.4 串行输入/并行输出寄存器 267

7.6 信号产生器 269

7.6.1 状态转移图类型 269

7.6.2 移位寄存器类型 271

7.6.3 计数器加组合输出网络类型 273

7.6.4 移位寄存器加组合逻辑反馈电路类型 275

7.6.5 m序列信号发生器 278

7.7 有限状态机 280

7.7.1 有限状态机介绍 280

7.7.2 有限状态机的设计方式 282

7.7.3 有限状态机设计实例 291

本章小结 297

思考题和习题 297

第8章 Verilog HDL存储器设计 299

8.1 存储器简介和分类 299

8.1.1 存储器分类 299

8.1.2 存储器结构 299

8.1.3 存储器设计方法 300

8.2 基于FPGA的IP核RAM的设计及调用 301

8.2.1 IP核的简介 301

8.2.2 FPGA配置和调用RAM 301

8.2.3 IP核的RAM设计流程 304

8.2.4 对生成的RAM进行仿真 308

8.3 用Memory Compiler生成RAM并仿真 313

8.3.1 Memory Compiler简介 313

8.3.2 ASIC设计过程中的RAM 313

8.3.3 Memory Compiler的使用 315

本章小结 320

思考题与习题 320

第9章 Verilog HDL设计风格 321

9.1 wire类型和reg类型的使用 321

9.2 连续赋值语句和运算符的使用 324

9.3 always语句中敏感事件表在时序电路中的使用 327

9.4 Verilog HDL程序并行化设计思想 328

9.5 非阻塞赋值语句和流水线设计 330

9.6 循环语句在可综合设计中的使用 332

9.7 时间优先级的概念 333

9.7.1 if语句和case语句的优先级 334

9.7.2 晚到达信号处理 335

9.7.3 重组逻辑结构提高电路平衡性 337

9.8 逻辑重复和资源共享 338

9.8.1 逻辑重复 338

9.8.2 结构调整 340

9.8.3 资源共享 341

本章小结 342

思考题和习题 342

第10章 Verilog HDL高级程序设计 346

10.1 乘法器设计 346

10.1.1 Wallace树乘法器 346

10.1.2 复数乘法器 348

10.1.3 向量乘法器 350

10.1.4 查找表乘法器 352

10.2 FIFO Verilog HDL实现 355

10.3 log函数的Verilog HDL实现 360

10.4 数字频率计 363

10.5 CORDIC算法的Verilog HDL实现 369

10.6 巴克码相关器设计 376

10.7 FIR滤波器设计 380

10.7.1 FIR滤波器Verilog HDL实现 381

10.7.2 Matlab生成滤波器 384

10.8 总线控制器设计 386

10.8.1 UART接口控制器 386

10.8.2 SPI接口控制器 391

10.9 BPSK数字通信设计 394

10.9.1 BPSK理论算法 394

10.9.2 BPSK设计目标 400

10.9.3 BPSK系统设计 400

10.9.4 BPSK程序说明 402

本章小结 462

思考题和习题 462

参考文献 464