《数字系统设计与Verilog HDL》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:王金明,杨吉斌编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2002
  • ISBN:7505369121
  • 页数:304 页
图书介绍:本书主要阐述数字系统设计方法和VerilogHDL语言的应用,着眼于综合开发能力的提高。本书按照“器件-设计软件-设计语言”的顺序系统介绍数字系统设计的方法、PLD器件、流行的EDA设计软件和HDL设计语言等,力求涵盖数字系统开发所涉及的主要方面,并在内容上进行取舍,作了精心的编排。本书重点对用VerilogHDL设计开发常用的数字电路和数字系统进行具体阐述,并配以大量的设计实例,所有实例均经过了综合和验证。相关器件和开发工具主要选取了国内广泛使用的Altera公司的PLD器件及其开发工具〖JP3〗MAX+PLUSII。本书可供电子和通信等领域从事硬件设计和系统开发的工程技术人员和教师阅读参考,也可以作为相关专业研究生和高年级本科生的教材。

1.1引言 1

第1章 数字系统与数字系统设计 1

1.2数字系统的设计 2

1.2.1自上而下的设计 2

1.2.2自下而上的设计 3

1.2.3正向设计与逆向设计 3

1.3EDA技术及其应用 4

1.3.1EDA技术的发展 4

1.3.2现代EDA技术的特点及应用 5

1.4IP核复用技术与SOC 7

1.4.1IP复用技术 7

1.4.2系统芯片(SOC) 8

1.4.3深亚微米技术带来的挑战 9

1.4.4基于平台的设计方法(PBD) 10

1.5数字系统的实现方式 11

1.5.3PLD实现方式 12

1.5.1全定制方式 12

1.5.2门阵列(Gate Array) 12

1.6数字系统的设计方式 13

1.6.1图形设计方式 13

1.6.2基于HDL的设计 13

1.6.3高速、高密度PCB的设计 16

1.7小结 18

第2章 ASIC与PLD 19

2.1概述 19

2.1.1ASIC 19

2.1.2PLD的发展演变 19

2.2PLD的分类 20

2.2.1按集成度分类 20

2.2.2按结构特点分类 21

2.3.1PLD结构原理 22

2.2.3按编程特点分类 22

2.3PLD的基本结构 22

2.3.2PLD电路的表示方法 23

2.3.3SPLD的结构 24

2.4CPLD的结构与特点 26

2.4.1宏单元 27

2.4.2可编程I/O单元 28

2.4.3可编程连线阵列(PIA) 29

2.5FPGA的结构与特点 29

2.5.1可配置逻辑块(CLB) 30

2.5.2输入/输出模块(IOB) 31

2.5.3可编程互连线(PI) 31

2.5.4片内RAM 32

2.6在系统编程与边界扫描测试技术 33

2.6.1在系统编程(ISP)技术 33

2.6.2边界扫描测试(BST)技术 35

2.7PLD产品概述 37

2.7.1 Lattice公司的PLD 37

2.7.2Xilinx公司的PLD 40

2.7.3Altera公司的PLD 44

2.8PLD 的发展趋势 45

2.9小结 46

第3章 Altera的CPLD/FPGA 47

3.1概述 47

3.1.1器件系列 47

3.1.2结构与特点 48

3.1.3宏功能模块及IP核 49

3.1.4Altera的开发工具 50

3.2APEX20K器件系列 51

3.2.1系统级芯片——APEX20K器件 51

3.2.2APEX20K器件的结构 53

3.2.3嵌入式系统块(ESB) 58

3.2.4APEX20K器件的I/O结构 61

3.3FLEX10K器件系列 62

3.3.1概述 62

3.3.2结构与功能 64

3.3.3器件特性设定 71

3.3.4数据配置与下载 71

3.4ACEX1K器件系列 71

3.4.1概述 71

3.4.2ACEX1K器件结构 73

3.5MAX7000器件系列 76

3.5.1概述 76

3.5.2结构与功能 78

3.5.3其他功能和特性 81

3.6.2常用的EPC配置器件 83

3.6.1概述 83

3.6EPC配置器件 83

3.6.3典型的配置电路 85

3.6.4最大的配置器件EPC16 87

3.7小结 89

第4章 常用的EDA设计软件 90

4.1数字系统设计的流程 90

4.2常用的EDA工具软件 92

4.2.1Synopsys 92

4.2.2Synplify 93

4.2.3ispDesignEXPERT 95

4.2.4Panda 2000 97

4.2.5MAX+PLUS Ⅱ 100

4.3小结 101

5.1.2 MAX+PLUS Ⅱ的安装 102

5.1.1推荐的系统配置 102

5.1 MAX+PLUS Ⅱ的安装与配置 102

第5章MAX+PLUS Ⅱ使用指南 102

5.2基于MAX+PLUS Ⅱ的设计过程 103

5.2.1设计输入 104

5.2.2设计处理 105

5.2.3设计校验 106

5.2.4器件编程 107

5.2.5在线帮助 107

5.3设计输入 107

5.3.1建立一个新项目 108

5.3.2图形输入方式 109

5.3.3文本输入方式 112

5.3.4设计的层次 115

5.4设计处理 116

5.4.1设计项目的编译 116

5.4.2在平面编辑器中观察适配结果及手动配置 121

5.5模拟仿真 123

5.5.1项目仿真 123

5.5.2定时分析 125

5.6编程下载 127

5.6.1Altera器件的编程文件 127

5.6.2器件编程 128

5.7 MAX+PLUS Ⅱ使用提高 130

5.7.1使用LPM宏单元库 131

5.7.2基于流水线的设计 134

5.7.3使用EAB单元进行设计 135

5.7.4REPORT文件 138

5.8ByteBlaster下载电缆及其使用 140

5.8.1并口下载电缆ByteBlaster 140

6.1引言 146

第6章 Verilog HDL 146

6.2 Verilog HDL基本结构 146

6.2.1简单的Verilog HDL例子 146

6.2.2 Verilog HDL模块的结构 148

6.2.3逻辑功能定义 149

6.3数据类型及常量、变量 150

6.3.1常量 150

5.8.2编程配置方式 150

6.3.2变量 152

5.9小结 154

6.4运算符及表达式 154

6.4.1算术运算符(Arithmetic operators) 154

6.4.2逻辑运算符(Logical operators) 154

6.4.3位运算符(Bitwise operators) 154

6.4.4关系运算符(Relational operators) 155

6.4.5等式运算符(Equality operators) 155

6.4.6缩减运算符(Reduction operators) 156

6.4.7移位运算符(Shift operators) 156

6.4.8条件运算符(Conditional operators) 156

6.4.9位拼接运算符(Concatenation operators) 157

6.4.10运算符的优先级 157

6.6.1常用的赋值语句 158

6.6赋值语句 158

6.5语句 158

6.6.2阻塞赋值和非阻塞赋值的区别 159

6.7条件语句 160

6.7.1if-else语句 161

6.7.2case语句 162

6.7.3使用条件语句注意事项 163

6.8循环语句 164

6.8.1for语句 165

6.8.2repeat语句 166

6.8.3while 和forever语句 167

6.9结构说明语句 168

6.9.1always块语句 168

6.9.2initial语句 169

6.9.3task 和function语句 170

6.10编译预处理语句 173

6.10.1'define语句 173

6.10.2'include语句 174

6.10.3'timescale语句 175

6.11语句的顺序执行与并行执行 176

6.12不同抽象级别的Verilog HDL模型 177

6.12.1 Verilog HDL门级描述 178

6.12.2 Verilog HDL的行为级描述 179

6.13小结 181

第7章 用Verilog HDL设计数字电路 182

7.1常用组合电路模块的设计 182

7.1.1基本门电路的描述 182

7.1.2编译码器 184

7.1.3数据选择器(MUX) 186

7.1.4奇偶校验产生器 187

7.1.57段LED数码管译码电路 188

7.2常用时序电路模块的设计 188

7.2.1D触发器 188

7.2.2数据锁存器 190

7.2.3数据寄存器 191

7.2.4移位寄存器 192

7.2.5任意模加法/减法计数器 193

7.2.6ROM/RAM模块 193

7.3多层次结构电路的设计 195

7.3.1图形与文本混合设计 195

7.3.2纯文本描述 196

7.4数字跑表 198

7.4.1结构与功能 198

7.4.2源程序 199

7.4.3仿真及波形图 201

7.4.4下载及验证 201

7.58位数字频率计 201

7.5.1功能要求 201

7.5.2工作原理 202

7.5.3设计实现 203

7.6有限状态机(FSM)设计举例 205

7.5.4仿真与下载 205

7.6.1基于状态机的设计 206

7.6.2频率计控制器设计举例 206

7.6.3几点讨论 209

7.7交通灯控制器 209

7.7.1功能描述 209

7.7.2设计与实现 210

7.7.3仿真与下载 214

7.8乐曲演奏电路 214

7.8.1音调的控制 214

7.8.2音长的控制 216

7.8.3乐曲演奏电路源程序 216

7.9自动售饮料机的设计 219

7.9.1case语句 219

7.9.3源程序 220

7.9.2总体设计 220

7.10多功能数字钟 222

7.10.1功能描述 222

7.10.2源程序 223

7.10.3实验与下载 227

7.11卡式电话计费器 228

7.11.1功能定义 228

7.11.2源程序 228

7.12.1结构与功能 231

7.11.3仿真 231

7.12PCM采编器 231

7.12.2设计与实现 232

7.13小结 235

第8章 数字模块与数字系统的设计实现 236

8.1提高数字系统性能的方法 236

8.1.1提高系统工作速度 236

8.1.2耗用资源的考虑 239

8.2.1移位相加乘法器 241

8.2快速乘法器的设计 241

8.2.2查找表乘法器 242

8.2.3逻辑树乘法器 243

8.2.4加法器树乘法器 243

8.2.5混合乘法器 245

8.3FIR滤波器的设计与实现 245

8.3.18阶FIR滤波器的结构改进 246

8.3.2源代码及功能仿真 248

8.4快速傅里叶变换(FFT) 251

8.4.1算法原理 251

8.4.2蝶形单元的设计与实现 253

8.5高速数字相关器 256

8.5.1数字相关器原理 256

8.5.2设计与实现 256

8.6线性分组码编译码器 258

8.6.2设计与实现 259

8.6.1线性分组码基本概念 259

8.7循环码编译码器的实现 262

8.7.1循环码编码器 262

8.7.2循环码译码器 263

8.8卷积码Viterbi 编译码器 266

8.8.1 Viterbi编码器 266

8.8.2 Viterbi译码器 268

8.8.3 Viterbi译码器的子模块 271

8.9.2通信模块的设计 277

8.9其他数字模块的设计 277

8.9.1DSP模块的设计 277

8.9.3常用控制电路的设计 280

8.9.4综合设计举例 281

8.10结束语 284

附录A Verilog HDL关键字 285

附录B MAX+PLUSⅡ支持的Verilog HDL数据类型和语句 286

附录C GW48型EDA实验开发系统使用介绍 288

参考文献及相关网站 304