《Verilog HDL程序设计教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:王金明编著
  • 出 版 社:北京市:人民邮电出版社
  • 出版年份:2004
  • ISBN:7115119392
  • 页数:308 页
图书介绍:本书对Verilog HDL程序设计做了系统全面的介绍,以可综合的设计为重点,同时对仿真和模拟也做了深入的阐述。全书以IEEE Std 1364-1995(Verilog-1995)标准基础,全面介绍了Verilog HDL的词法、语法、语句,可综合程序的编写,仿真程序的编写,一般数字逻辑的实现,复杂逻辑和算法的实现等,讨论了设计中的方法与技巧,并以大量经过验证的设计实例为依据,深入浅出地阐述了Verilog程序开发所涉及的各个方面。对IEEE Std 1364-2001(Verilog-2001)的新增语法结构也作了简介。

目录 1

第1章 EDA技术综述 1

本章内容简介 1

1.1 引言 1

1.2 EDA技术及其发展 2

1.3 设计方法与设计技术 3

1.3.1 Top-down设计 3

1.3.2 Bottom-up设计 5

1.3.3 IP复用技术与SOC 5

1.4 EDA设计的实现 6

1.5 硬件描述语言 7

思考与练习 9

2.1.1 集成的CPLD/FPGA开发工具 10

2.1 EDA软件工具概述 10

本章内容简介 10

第2章 EDA设计软件与设计流程 10

2.1.2 输入工具(DesignInputTools) 11

2.1.3 逻辑综合工具(SynthesisTools) 12

2.1.4 仿真工具(SimulationTools) 12

2.1.5 IC版图工具 13

2.1.6 其他EDA工具 14

2.2 EDA设计的流程 14

2.2.1 输入(DesignInput) 14

2.2.2 综合(Synthesis) 15

2.2.3 适配(Fitter) 16

2.2.4 仿真(Simulation) 16

2.2.5 编程(Program) 17

思考与练习 17

本章内容简介 18

3.1 Verilog语言的历史及与C语言的比较 18

第3章 VerilogHDL设计初步 18

3.2 完整的VerilogHDL设计 20

3.2.1 4位全加器和4位计数器 20

3.2.2 综合 21

3.2.3 仿真 22

3.3 Verilog模块基本结构剖析 27

3.3.1 Verilog模块的结构 27

3.3.2 逻辑功能定义 29

思考与练习 30

第4章 VerilogHDL语言要素 32

本章内容简介 32

4.1 词法 32

4.1.1 空白符和注释 32

4.1.2 数字与字符串(Numbers Strings) 33

4.1.3 标识符(Identifiers) 35

4.2.1 连线型(NetType) 36

4.2 数据类型 36

4.1.4 运算符(Operators) 36

4.1.5 关键字(Keywords) 36

4.2.2 寄存器型(RegisterType) 38

4.2.3 parameter 38

4.3 寄存器和存储器 39

4.3.1 寄存器 39

4.3.2 存储器 39

4.4 运算符 40

4.4.1 运算符 40

4.4.2 运算符的优先级 44

思考与练习 44

第5章 VerilogHDL行为语句 45

本章内容简介 45

5.1 概述 45

5.2.1 always过程语句 46

5.2 过程语句 46

5.2.2 initial语句 50

5.3 块语句 51

5.3.1 串行块begin-end 51

5.3.2 并行块fork-join 52

5.4 赋值语句 53

5.4.1 持续赋值与过程赋值 53

5.4.2 阻塞赋值与非阻塞赋值 55

5.5 条件语句 56

5.5.1 if-else语句 56

5.5.2 case语句 58

5.5.3 条件语句使用要点 60

5.6 循环语句 61

5.6.1 for语句 61

5.6.2 repeat语句 62

5.6.3 while和forever语句 63

5.7 编译向导 65

5.7.1 宏替换define 66

5.7.2 文件包含`include 66

5.7.3 条件编译`ifdef、`else、`endif 67

思考与练习 68

第6章 进程、任务与函数 69

本章内容简介 69

6.1 进程(process) 69

6.1.1 进程 69

6.1.2 进程间的通信 70

6.2 任务(task) 71

6.3 函数(function) 74

6.3.1 函数 74

6.4 顺序执行与并发执行 79

6.3.2 任务与函数的区别 79

6.5 Verilog-2001新增语法结构简介 81

思考与练习 84

第7章 VerilogHDL的描述风格 85

本章内容简介 85

7.1 概述 85

7.2 结构描述 86

7.2.1 VerilogHDL内置门元件 86

7.2.2 门级结构描述 89

7.3 行为描述方式 90

7.4 数据流描述方式 91

7.5 不同描述风格的例子 93

7.5.1 半加器 93

7.5.21 位全加器 95

7.5.34 位全加器 98

思考与练习 100

第8章 仿真 101

本章内容简介 101

8.1 概述 101

8.2 系统任务与系统函数 102

8.2.1 $display与$write 102

8.2.2 $monitor与$strobe 103

8.2.3 $time与$realtime 104

8.2.4 $finish与$stop 105

8.2.5 $readmemh与$readmemb 105

8.2.6 $random 106

8.2.7 文件输出 106

8.3 用户自定义元件(UDP) 107

8.3.1 组合电路UDP元件 107

8.3.2 时序逻辑UDP元件 110

8.3.3 UDP元件缩记符 111

8.4.1 时间标尺定义`timescale 112

8.4 延时模型的表示 112

8.4.2 延时的表示方法 113

8.4.3 延时说明块(specify块) 114

8.5 测试平台(TestBench) 114

8.5.1 TestBench 114

8.5.2 测试程序的编写 116

8.6 仿真示例 119

8.6.1 组合电路的仿真 119

8.6.2 时序电路的仿真 124

思考与练习 125

第9章 VerilogHDL设计进阶 126

本章内容简介 126

9.1 基本组合电路的设计 126

9.1.1 简单门电路 126

9.1.2 编译码器 129

9.1.3 数据选择器 132

9.1.4 用组合电路实现的ROM 133

9.2 基本时序电路的设计 134

9.2.1 D触发器与JK触发器 134

9.2.2 锁存器与寄存器 136

9.2.3 计数器 139

9.2.4 ROM/RAM模块 140

9.2.5 串/并转换 141

9.3 简单的微处理器 142

9.3.1 设计实现 142

9.3.2 仿真 143

9.4 乘累加器(MAC)的设计 144

思考与练习 147

10.1.1 可综合的VerilogHDL结构 148

10.1 可综合的设计技术的讨论 148

本章内容简介 148

第10章 设计方法与设计技巧的探讨 148

10.1.2 可综合设计的要点 150

10.2 流水线设计技术(PipelineDesign) 151

10.3 资源共享(ResourceSharing) 155

10.4 有限状态机(FSM)设计 157

10.4.1 基于状态机的设计 157

10.4.2 频率计控制器设计举例 160

10.4.3 几点讨论 162

10.5 多层次结构电路的设计 164

10.5.1 图形与文本混合设计 164

10.5.2 文本设计 165

10.6 阻塞与非阻塞赋值使用要点 167

10.6.1 进程的设计 167

10.6.2 阻塞赋值与非阻塞赋值 168

10.6.3 应用要点 171

10.7 片内存储器的使用 172

10.7.1 片内存储器 172

10.7.2 设计举例 173

10.8 如何消除毛刺 175

10.8.1 毛刺的产生 176

10.8.2 毛刺的消除 177

思考与练习 179

第11章 VerilogHDL综合设计实践 180

本章内容简介 180

11.1 数字跑表 180

11.1.1 设计输入与编译 180

11.1.2 仿真 183

11.2 4位数字频率计 183

11.2.1 功能与原理 183

11.2.2 设计实现 184

11.3.1 功能要求 187

11.3 交通灯控制器 187

11.3.2 设计实现 188

11.4 乐曲演奏电路 191

11.4.1 音调的控制 192

11.4.2 音长的控制 193

11.4.3 乐曲演奏电路源程序 193

11.5 自动售饮料机的设计 197

11.6 实用多功能数字钟 199

11.6.1 功能 200

11.6.2 源程序 200

11.7 计费器设计 205

思考与练习 209

第12章 算法与复杂逻辑的实现 210

本章内容简介 210

12.1 加法器设计 210

12.1.1 级连加法器 211

12.1.2 并行加法器 212

12.1.3 超前进位加法器 212

12.1.4 流水线加法器 219

12.2 乘法器设计 219

12.2.1 并行乘法器 219

12.2.2 移位相加乘法器 220

12.2.3 查找表乘法器 220

12.2.4 加法树乘法器 223

12.3 FIR滤波器的设计 225

12.3.1 FIR滤波器的结构 225

12.3.2 抽头系数编码 226

12.3.3 源代码及仿真 227

12.4 数字相关器 231

12.5 信道编译码器 233

12.5.1 线性分组码编译码器 233

12.5.2 循环码编译码器 237

12.6 CRC校验码 241

思考与练习 244

第13章 EDA软件使用指南 245

本章内容简介 245

13.1 概述 245

13.2 SynplifyPro使用指南 246

13.2.1 SynplifyPro的性能特点 247

13.2.2 SynplifyPro使用指南 248

13.2.3 SynplifyPro与MAX+PLUSⅡ的接口 251

13.3 Synplify使用指南 253

13.3.1 Synplify的功能特点 253

13.3.2 Synplify使用举例 254

13.4 ModelSim使用指南 256

13.4.1 ModelSim功能仿真 257

13.4.2 ModelSim时序仿真 262

13.5.2 基于ispLEVER的Verilog设计 264

13.5 ispLEVER使用指南 264

13.5.1 ispLEVER的特点 264

13.6 MAX+PLUSⅡ使用指南 268

13.7 QuartusⅡ使用指南 274

13.7.1 创建工程文件 274

13.7.2 编译 278

13.7.3 仿真 281

13.7.4 SynplifyPro与QuartusⅡ的接口 284

13.8 结束语 285

附录A VerilogHDL(IEEEStd1364-1995)关键字 286

附录B SynplifyPro/Synplify可综合的Verilog结构 287

附录C MAX+PLUSⅡ软件支持的Verilog结构 288

附录D 形式化句法定义 289

附录E 附带光盘内容及说明 304

参考文献 308