《轻松成为设计高手 Verilog HDL实用精解》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:EDA先锋工作室编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2012
  • ISBN:7512407904
  • 页数:239 页
图书介绍:本书大致可以分为三个部分:第1,2,3章描述了Verilog HDL语言的基本概念、设计流程、语法与建模方式;第4,5,6章讨论如何合理使用Verilog HDL描述高性能的可综合电路;第7,8章重点描述了如何编写测试激励,以及Verilog的仿真原理;最后在第9章对HDL语言的发展趋势做了展望。

第1章HDL设计方法简介 1

1.1设计方法的变迁 1

1.2 Verilog语言的特点 2

1.2.1 Verilog的由来 2

1.2.2 HDL与原理图 2

1.2.3 Verilog和V HDL 3

1.2.4 Verilog和C 4

1.3 HDL设计与验证流程 5

1.4问题与思考 8

第2章Verilog语言基础 9

2.1 Top-Down和Bottom-Up 9

2.2从一个实例开始 10

2.2.1实例 10

2.2.2 3种描述方法 14

2.3基本词法 14

2.4模块和端口 15

2.5编译指令 17

2.6逻辑值与常量 18

2.6.1逻辑值 18

2.6.2常量 19

2.7变量类型 20

2.7.1线网类型 20

2.7.2寄存器类型 20

2.7.3变量的物理含义 21

2.7.4驱动和赋值 22

2.8参数 23

2.9 Verilog中的并发与顺序 24

2.10操作数、操作符和表达式 24

2.10.1操作符 24

2.10.2二进制数值 28

2.10.3操作数 28

2.11系统任务和系统函数 29

2.11.1显示任务 29

2.11.2文件输入/输出任务 30

2.11.3其他系统任务和函数 30

2.12小结 31

2.13问题与思考 31

第3章 描述方式和设计层次 32

3.1描述方式 32

3.2数据流描述 32

3.2.1数据流 32

3.2.2连续赋值语句 33

3.2.3延时 35

3.2.4多驱动源线网 36

3.3行为描述 38

3.3.1行为描述的语句格式 38

3.3.2过程赋值语句 42

3.3.3语句组 45

3.3.4高级编程语句 47

3.4结构化描述 52

3.4.1实例化模块的方法 54

3.4.2参数化模块 56

3.5设计层次 59

3.5.1系统级和行为级 59

3.5.2 RTL级 62

3.5.3门级 62

3.5.4晶体管级 63

3.5.5混合描述 63

3.6 CRC计算与校验电路实例 63

3.6.1 CRC10校验,行为级 64

3.6.2 CRC10计算电路,RTL级 64

3.7小结 67

3.8问题与思考 67

第4章RTL概念与常用RTL建模 68

4.1 RTL和综合的概念 68

4.2 RTL级的基本要素和设计步骤 69

4.3常用RTL级建模 70

4.3.1非阻塞赋值、阻塞赋值、连续赋值 70

4.3.2寄存器电路建模 71

4.3.3组合逻辑建模 74

4.3.4双向端口与三态信号建模 76

4.3.5 mux建模 77

4.3.6存储器建模 78

4.3.7简单的时钟分频电路 79

4.3.8串/并转换建模 81

4.3.9同步复位和异步复位 81

4.3.10用case和if...else建模 85

4.3.11可综合的Verilog语法子集 91

4.4 CPU读/写PLD寄存器接口设计实例 91

4.5小结 96

4.6问题与思考 96

第5章RTL设计与编码指导 97

5.1一般性指导原则 97

5.1.1面积和速度的平衡与互换原则 98

5.1.2硬件原则 107

5.1.3系统原则 110

5.2同步设计原则和多时钟处理 112

5.2.1同步设计原则 112

5.2.2亚稳态 114

5.2.3异步时钟域数据同步 116

5.3代码风格 118

5.3.1 Coding Style的分类 118

5.3.2 Coding Style的重要性 119

5.4结构层次设计和模块划分 119

5.4.1结构层次化编码 119

5.4.2模块划分的技巧 120

5.5组合逻辑的注意事项 121

5.5.1 always组合逻辑信号敏感表 122

5.5.2组合逻辑环路 122

5.5.3脉冲产生器 123

5.5.4慎用锁存器 124

5.6时钟设计的注意事项 125

5.6.1内部逻辑产生的时钟 126

5.6.2 Ripple Counter 126

5.6.3时钟选择 126

5.6.4门控时钟 127

5.6.5时钟同步使能端 128

5.7 RTL代码优化技巧 128

5.7.1使用Pipelining技术优化时序 128

5.7.2模块复用与Resource Sharing 129

5.7.3逻辑复制 131

5.7.4香农扩展运算 132

5.8小结 135

5.9问题与思考 136

第6章 如何写好状态机 137

6.1状态机的基本概念 137

6.1.1状态机是一种思想方法 137

6.1.2状态机的基本要素与分类 139

6.1.3状态机的基本描述方式 139

6.2如何写好状态机 140

6.2.1什么是好的RTL级FSM描述 141

6.2.2 RTL级状态机描述常用语法 141

6.2.3推荐的状态机描述方法 144

6.2.4状态机设计的其他技巧 158

6.3使用Synplify Pro分析FSM 160

6.4小结 163

6.5问题与思考 164

第7章 逻辑验证与testbench编写 165

7.1概述 165

7.1.1仿真和验证 165

7.1.2什么是testbench 166

7.2建立testbench,仿真设计 168

7.2.1编写仿真激励 168

7.2.2搭建仿真环境 179

7.2.3确认仿真结果 180

7.2.4写testbench要注意什么 182

7.3 CPU接口仿真实例 184

7.3.1设计简介 184

7.3.2一种testbench 186

7.3.3另一种testbench 189

7.4结构化testbench思想 191

7.4.1任务和函数 192

7.4.2总线模型重用 192

7.4.3测试套具 192

7.4.4测试用例 193

7.4.5结构化testbench 194

7.5实例:结构化testbench的编写 196

7.5.1单顶层testbench 196

7.5.2多顶层testbench 199

7.6扩展Verilog的高层建模能力 201

7.7小结 201

7.8问题与思考 201

第8章Verilog语义和仿真原理 202

8.1从一个问题说起 202

8.2电路与仿真 203

8.2.1电路是并行的 204

8.2.2 Verilog是并行语言 204

8.2.3仿真器串行执行,Verilog仿真语义 205

8.3仿真原理 206

8.3.1 Verilog如何仿真 206

8.3.2仿真时间 210

8.3.3事件驱动 211

8.3.4进程 211

8.3.5调度 212

8.3.6时序控制 213

8.3.7进程、事件和仿真时间的关系 213

8.3.8 Verilog语言的不确定性 213

8.4分层事件队列与仿真参考模型 214

8.4.1分层事件队列 214

8.4.2仿真参考模型 215

8.5时序模型与延时 215

8.5.1仿真模型 216

8.5.2时序模型 216

8.5.3案例分析 217

8.5.4如何在Verilog语言中正确的增加延时 218

8.6再谈阻塞与非阻塞赋值 222

8.6.1本质 222

8.6.2案例分析 225

8.7如何提高代码的仿真效率 228

8.8防止仿真和综合结果不一样 229

8.9小结 230

8.10问题与思考 230

第9章 设计与验证语言发展趋势 231

9.1设计与验证语言发展历程 232

9.1.1 HDL作为设计和验证语言 232

9.1.2 C/C+++和私有的验证语言 232

9.1.3 Accellera和IEEE的标准化工作 232

9.2硬件设计语言发展的现状和走向 233

9.2.1 HDL的竞争 233

9.2.2一些尝试 234

9.2.3下一代的Verilog语言 234

9.2.4 SystemC 235

9.3验证语言发展现状和走向 236

9.3.1验证方法 236

9.3.2 HVL标准化进程 236

9.3.3 HVL的新需求 237

9.4总结和展望 237

9.5小结 237

9.6问题与思考 238

参考文献 239