《CPLD/FPGA常用模块与综合系统设计实例精讲》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:罗苑棠编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2007
  • ISBN:7121050455
  • 页数:437 页
图书介绍:本书通过实例精讲的形式,详细介绍了CPLD/FPGA常用模块与综合应用系统设计的方法与技巧。全书共分为3篇22章,第1篇为基础知识篇,简要介绍了CPLD/FPGA硬件结构知识、VHDL硬件编程语言、Verilog与System C编程、常用开发工具;第2篇为常用模块设计实例篇,通过14个模块设计实例,详细介绍了CPLD/FPGA的各种开发技术和使用技巧,这些模块实例基础、实用,易学易懂,全部调试通过,几乎涵盖了所有的CPLD/FPGA开发技术;第3篇为综合系统设计实例篇,通过4个综合系统实例,对前面的CPLD/FPGA常用模块进行了综合应用设计,经过此篇学习,读者可以快速地提高CPLD/FPGA综合系统设计的能力,步入高级工程师的行列。 本书配有光盘一张,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。本书适合计算机、自动化、电子及硬件等相关专业的学生,以及从事CPLD/FPGA开发的科研人员使用。

第一篇 基础知识篇 2

第1章 CPLD/FPGA硬件结构知识 2

1.1 CPLD/FPGA概述 2

1.1.1 CPLD/FPGA的特点 2

1.1.2 CPLD/FPGA的发展方向 4

1.1.3 CPLD/FPGA的应用领域 5

1.2 CPLD体系结构 6

1.2.1 CPLD的基本结构 6

1.2.2 CPLD的结构特点 8

1.2.3 CPLD编程工艺 9

1.3 FPGA体系结构 10

1.3.1 FPGA基本结构 10

1.3.2 FPGA的结构特点 13

1.3.3 FPGA的编程工艺 14

1.4 CPLD/FPGA常用芯片 14

1.4.1 Altera芯片 14

1.4.2 Xilinx芯片 16

1.5 CPLD/FPGA的选用 17

1.6 本章小结 20

第2章 VHDL编程知识 21

2.1 系统的表示方法和硬件描述语言 21

2.2 VHDL的语言结构与语言要素 23

2.2.1 实体说明 25

2.2.2 构造体 27

2.2.3 VHDL语言要素 30

2.2.4 VHDL顺序语句与并发语句 42

2.2.5 描述方式 54

2.3 组合逻辑电路的VHDL实现 58

2.3.1 简单门电路 58

2.3.2 译码器、编码器和选择器 60

2.3.3 加法器、乘法器和除法器 69

2.3.4 三态门和总线缓冲器 76

2.4 时序逻辑电路的VHDL实现 77

2.4.1 锁存器、触发器 77

2.4.2 寄存器 79

2.4.3 计数器 81

2.5 状态机的VHDL实现 90

2.5.1 状态机的结构和功能 90

2.5.2 状态机的VHDL模型 91

2.6 存储器的VHDL实现 98

2.6.1 ROM和RAM 98

2 6 2 FIFO 102

第3章 Verilog与System C编程 107

3.1 Verilog HDL编程基础 107

3.1.1 Verilog与VHDL的比较 107

3.1.2 Verilog程序结构 108

3.1.3 简单的Verilog组合逻辑设计 108

3.1.4 简单Verilog时序逻辑电路的设计 109

3.1.5 Verilog有限状态机 110

3.2 System C编程基础 112

3.2.1 System C的基本类库 112

3.2.2 System C描述举例 115

第4章 CPLD/FPGA常用开发工具 116

4.1 集成开发工具MAX+plus Ⅱ 116

4.1.1 功能与菜单说明 116

4.1.2 MAX+plusⅡ设计过程 120

4.1.3 MAX+plusⅡ综合设计选择项 135

4.2 集成开发工具Xilinx Foundation 147

4.2.1 Foundation简介 147

4.2.2 Foundation设计流程简介 148

4.3 集成开发软件Xilinx ISE 149

4.4 硬件开发工具Quartus Ⅱ 151

4.4.1 QuartusⅡ功能与使用说明 151

4.4.2 QuartusⅡ设计流程 154

4.4.3 QuartusⅡ设计输入 154

4.4.4 QuartusⅡ编译 157

4.4.5 QuartusⅡ定时分析、仿真与器件编程 159

4.5 本章小结 161

第二篇 常用模块设计实例篇 164

第5章 基本门逻辑实例模块设计 164

5.1 实例说明 164

5.2 硬件电路结构图 165

5.2.1 与门 165

5.2.2 或门 165

5.2.3 与或非衍变的逻辑门 166

5.3 软件设计 166

5.3.1 VHDL编程 166

5.3.2 时序仿真 169

5.4 实例总结 170

第6章 编码器实例模块设计 171

6.1 实例说明 171

6.2 硬件电路结构图 172

6.2.1 8线/3线优先编码器74LS148 172

6.2.2 16线/4线优先编码器 172

6.3 软件设计 173

6.3.1 VHDL编程 173

6.3.2 时序仿真 176

6.4 实例总结 177

第7章 译码器实例模块设计 178

7.1 实例说明 178

7.2 硬件电路结构图 179

7.2.1 3线/8线译码器74LS138 179

7.2.2 4线/16线译码器 179

7.2.3 BCD-七段译码器SN7488 180

7.2.4 LED显示译码器MC14495 181

7.3 软件设计 182

7.3.1 VHDL编程 182

7.3.2 时序仿真 185

7.4 实例总结 186

第8章 选择器实例模块设计 187

8.1 实例说明 187

8.2 硬件电路结构图 188

8.2.1 2选1电路 188

8.2.2 3选1电路 188

8.2.3 4选1电路 189

8.3 软件设计 189

8.3.1 VHDL编程 189

8.3.2 时序仿真 192

8.4 实例总结 194

第9章 运算器实例模块设计 195

9.1 实例说明 195

9.2 硬件电路结构图 195

9.2.1 加法器 195

9.2.2 乘法器 197

9.2.3 除法器 198

9.3 软件设计 198

9.3.1 VHDL编程 198

9.3.2 时序仿真 206

9.4 实例总结 209

第10章 移位寄存器实例模块设计 210

10.1 实例说明 210

10.2 硬件电路结构图 211

10.2.1 循环移位寄存器 211

10.2.2 串入串出移位寄存器 211

10.3 软件设计 212

10.3.1 VHDL编程 212

10.3.2 时序仿真 216

10.4 实例总结 218

第11章 计数器实例模块设计 219

11.1 实例说明 219

11.2 硬件电路结构图 220

11.2.1 8位二进制计数器 220

11.2.2 8位扩展16位二进制计数器 221

11.2.3 六进制约翰逊计数器 221

11.2.4 六十进制计数器 222

11.3 软件设计 223

11.3.1 VHDL编程 223

11.3.2 时序仿真 232

11.4 实例总结 233

第12章 状态机实例模块设计 234

12.1 实例说明 234

12.2 电路状态转移图 235

12.2.1 有限状态机 235

12.2.2 基于状态机的AD数模转换电路 236

12.2.3 基于状态机的序列检测器 237

12.3 软件设计 238

12.3.1 VHDL编程 238

12.3.2 时序仿真 245

12.4 实例总结 247

第13章 FIFO实例模块设计 248

13.1 实例说明 248

13.2 硬件电路结构图 248

13.2.1 堆栈 248

13.2.2 双口RAM 249

13.3 软件设计 250

13.3.1 VHDL编程 250

13.3.2 时序仿真 255

13.4 实例总结 257

第14章 存储器实例模块设计 258

14.1 实例说明 258

14.2 硬件电路结构图 259

14.2.1 ROM只读存储器 260

14.2.2 RAM随机存储器 261

14.3 软件设计 262

14.3.1 VHDL编程 262

14.3.2 时序仿真 268

14.4 实例总结 269

第15章 锁存器实例模块设计 270

15.1 实例说明 270

15.2 硬件电路结构图 271

15.2.1 D锁存器 271

15.2.2 三态锁存器 271

15.2.3 D触发器 271

15.3 软件设计 272

15.3.1 VHDL编程 272

15.3.2 时序仿真 275

15.4 实例总结 276

第16章 频率合成器实例模块设计 277

16.1 实例说明 277

16.2 硬件电路结构图 278

16.2.1 24位DDS频率合成器 278

16.2.2 32位DDS频率合成器 279

16.3 软件设计 279

16.3.1 VHDL编程 279

16.3.2 时序仿真 285

16.4 实例总结 287

第17章 分频器实例模块设计 288

17.1 实例说明 288

17.2 硬件电路结构图 288

17.2.1 半整数分频器 288

17.2.2 偶数与奇数分频器 289

17.3 软件设计 289

17.3.1 VHDL编程 289

17.3.2 时序仿真 294

17.4 实例总结 295

第18章 脉冲控制器实例模块设计 296

18.1 实例说明 296

18.2 硬件电路结构图 296

18.2.1 并行脉冲控制 296

18.2.2 交通信号控制 297

18.2.3 电压脉冲控制 298

18.3 软件设计 301

18.3.1 VHDL编程 301

18.3.2 时序仿真 309

18.4 实例总结 311

第三篇 综合系统设计实例篇 314

第19章 信号调制通信系统设计实例 314

19.1 实例内容说明 314

19.2 系统硬件电路设计 316

19.2.1 分频器与数据选择器 316

19.2.2 m序列产生器 316

19.2.3 正弦波信号 317

19.2.4 FSK/PSK信号调制器 318

19.3 系统软件设计 318

19.3.1 VHDL编程 318

19.3.2 时序仿真 328

19.4 系统仿真和调试 328

19.4.1 弹跳消除电路 328

19.4.2 输出波形的观察 330

19.5 实例总结 330

第20章 FPGA语音通信平台设计实例 331

20.1 实例内容说明 331

20.2 系统硬件电路设计 331

20.2.1 语音采集 331

20.2.2 硬件电子琴 333

20.2.3 语音通信电路 335

20.2.4 语音播放平台 336

20.3 系统软件设计 337

20.3.1 VHDL编程 337

20.3.2 时序仿真 359

20.4 系统调试 360

20.4.1 硬件电子琴电路的调试 360

20.4.2 语音通信电路的调试 360

20.5 实例总结 362

第21章 USB接口应用系统设计实例 363

21.1 实例内容说明 363

21.2 系统硬件电路设计 364

21.2.1 USB主从系统 364

21.2.2 USB接口芯片 367

21.2.3 USB与FPGA互连 370

21.3 系统软件设计 370

21.3.1 VHDL编程 370

21.3.2 USB固件设计 381

21.4 系统调试 390

21.5 实例总结 393

第22章 FPGA视频处理系统设计实例 394

22.1 实例内容说明 394

22.2 系统硬件电路设计 395

22.2.1 双处理系统 395

22.2.2 视频采集模块 397

22.3 系统软件设计 400

22.3.1 视频数据采集VHDL编程 400

22.3.2 视频数据压缩处理 403

22.3.3 时序仿真 422

22.4 系统调试 423

22.5 实例总结 424

附录A CPLD/FPGA术语汇编 425

附录B 常用FPGA的端口资源 433