描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121332500
1.1 EDA技术及其发展 1
1.2 Top-down设计与IP核复用 4
1.2.1 Top-down设计 4
1.2.2 Bottom-up设计 5
1.2.3 IP复用技术与SoC 5
1.3 数字设计的流程 7
1.3.1 设计输入 8
1.3.2 综合 9
1.3.3 布局布线 9
1.3.4 仿真 10
1.3.5 编程配置 10
1.4 常用的EDA软件工具 10
1.5 EDA技术的发展趋势 14
习题1 15
第2章 FPGA/CPLD器件 16
2.1 PLD器件概述 16
2.1.1 PLD器件的发展历程 16
2.1.2 PLD器件的分类 17
2.2 PLD的基本原理与结构 19
2.2.1 PLD器件的基本结构 19
2.2.2 PLD电路的表示方法 20
2.3 低密度PLD的原理与结构 21
2.4 CPLD的原理与结构 25
2.4.1 宏单元结构 25
2.4.2 典型CPLD的结构 26
2.5 FPGA的原理与结构 29
2.5.1 查找表结构 29
2.5.2 典型FPGA的结构 32
2.5.3 Altera的Cyclone IV器件结构 35
2.6 FPGA/CPLD的编程元件 38
2.7 边界扫描测试技术 42
2.8 FPGA/CPLD的编程与配置 43
2.8.1 在系统可编程 43
2.8.2 FPGA器件的配置 45
2.8.3 Cyclone IV器件的编程 46
2.9 FPGA/CPLD器件概述 48
2.10 FPGA/CPLD的发展趋势 52
习题2 52
第3章 Quartus Prime使用指南 54
3.1 Quartus Prime原理图设计 55
3.1.1 半加器原理图设计输入 55
3.1.2 1位全加器设计输入 60
3.1.3 1位全加器的编译 61
3.1.4 1位全加器的仿真 63
3.1.5 1位全加器的下载 68
3.2 基于IP核的设计 71
3.2.1 用LPM_COUNTER设计模24方向可控计数器 72
3.2.2 用LPM_ROM模块实现4×4无符号数乘法器 79
3.3 SignalTap II的使用方法 86
3.4 Quartus Prime的优化设置与时序分析 91
习题3 95
实验与设计 97
3-1 8位带符号乘法器 97
3-2 用常量模块实现补码转换为幅度码的电路 101
第4章 VHDL设计初步 103
4.1 VHDL简介 103
4.2 VHDL组合电路设计 104
4.2.1 用VHDL设计基本组合电路 104
4.2.2 用VHDL设计加法器 106
4.3 VHDL时序电路设计 108
4.3.1 用VHDL设计D触发器 108
4.3.2 用VHDL设计计数器 111
习题4 114
实验与设计 115
4-1 Synplify Pro综合器的使用方法 115
第5章 VHDL结构与要素 120
5.1 实体 120
5.1.1 类属参数说明 120
5.1.2 端口说明 122
5.2 结构体 122
5.3 VHDL库和程序包 123
5.3.1 库 124
5.3.2 程序包 126
5.4 配置 128
5.5 子程序 131
5.5.1 过程 132
5.5.2 函数 134
5.6 VHDL文字规则 136
5.6.1 标识符 136
5.6.2 数字 137
5.6.3 字符串 137
5.7 数据对象 138
5.7.1 常量 138
5.7.2 变量 139
5.7.3 信号 139
5.7.4 文件 140
5.8 VHDL数据类型 141
5.8.1 预定义数据类型 142
5.8.2 用户自定义数据类型 145
5.8.3 数据类型的转换 148
5.9 VHDL运算符 150
5.9.1 逻辑运算符 150
5.9.2 关系运算符 151
5.9.3 算术运算符 152
5.9.4 并置运算符 153
5.9.5 运算符重载 153
习题5 154
实验与设计 155
5-1 用altpll锁相环IP核实现倍频和分频 155
第6章 VHDL基本语句 161
6.1 顺序语句 161
6.1.1 赋值语句 161
6.1.2 IF语句 161
6.1.3 CASE语句 167
6.1.4 LOOP语句 170
6.1.5 NEXT与EXIT语句 172
6.1.6 WAIT语句 173
6.1.7 子程序调用语句 175
6.1.8 断言语句 175
6.1.9 REPORT语句 176
6.1.10 NULL语句 177
6.2 并行语句 178
6.2.1 并行信号赋值语句 178
6.2.2 进程语句 183
6.2.3 块语句 186
6.2.4 元件例化语句 187
6.2.5 生成语句 189
6.2.6 并行过程调用语句 192
6.3 属性说明与定义语句 193
6.3.1 数据类型属性 193
6.3.2 数组属性 194
6.3.3 信号属性 195
习题6 196
实验与设计 196
6-1 4×4矩阵键盘检测电路 196
6-2 FIFO缓存器设计 199
第7章 VHDL设计进阶 204
7.1 行为描述 204
7.2 数据流描述 205
7.3 结构描述 206
7.3.1 用结构描述设计1位全加器 206
7.3.2 用结构描述设计4位加法器 208
7.3.3 用结构描述设计8位加法器 209
7.4 三态逻辑设计 211
7.5 分频器设计 213
7.5.1 占空比为50%的奇数分频 213
7.5.2 半整数分频 215
7.5.3 数控分频器 217
7.6 音乐演奏电路 218
7.6.1 音乐演奏实现的方法 218
7.6.2 实现与下载 220
习题7 223
实验与设计 224
7-1 数字表决器 224
7-2 数字跑表 227
第8章 VHDL有限状态机设计 233
8.1 有限状态机 233
8.1.1 有限状态机的描述 233
8.1.2 枚举数据类型 236
8.2 有限状态机的描述方式 237
8.2.1 三进程表述方式 238
8.2.2 双进程表述方式 239
8.2.3 单进程表述方式 241
8.3 状态编码 244
8.3.1 常用的编码方式 244
8.3.2 用ATTRIBUTE指定编码方式 245
8.3.3 用常量进行编码 247
8.4 有限状态机设计要点 249
8.4.1 起始状态的选择和复位 249
8.4.2 多余状态的处理 251
习题8 252
实验与设计 253
8-1 流水灯控制器 253
8-2 状态机A/D采样控制电路 255
第9章 VHDL数字设计与优化 258
9.1 流水线设计技术 258
9.2 资源共享 261
9.3 VGA图像的显示与控制 265
9.3.1 VGA图像显示原理与时序 265
9.3.2 VGA图像显示与控制的实现 269
9.4 数字过零检测和等精度频率测量 276
9.4.1 数字过零检测 276
9.4.2 等精度频率测量 278
9.4.3 数字测量系统 280
习题9 282
实验与设计 284
9-1 字符液晶显示控制器设计 284
第10章 VHDL的Test Bench仿真 291
10.1 VHDL仿真概述 291
10.2 VHDL测试平台 292
10.2.1 用VHDL描述仿真激励信号 292
10.2.2 用TEXTIO进行仿真 296
10.3 ModelSim SE仿真实例 299
10.3.1 图形界面仿真方式 302
10.3.2 命令行仿真方式 305
10.3.3 ModelSim SE时序仿真 307
习题10 309
实验与设计 309
10-1 用ModelSim SE仿真奇偶检测电路 309
第11章 VHDL设计实例 312
11.1 m序列产生器 312
11.1.1 m序列的原理与性质 312
11.1.2 用原理图设计产生m序列 314
11.1.3 用VHDL设计m序列 315
11.2 Gold码 317
11.2.1 Gold码的原理与性质 317
11.2.2 用原理图设计产生Gold码 318
11.2.3 用VHDL设计实现Gold码 319
11.3 卷积码 320
11.3.1 卷积码原理 320
11.3.2 卷积码实现 320
11.4 QPSK数字调制产生 323
11.4.1 调制原理 323
11.4.2 QPSK调制信号产生的设计实现 324
11.5 小型神经网络 333
11.6 数字AGC 337
11.6.1 数字AGC技术的原理和设计思想 337
11.6.2 数字AGC的VHDL实现 338
11.6.3 数字AGC的仿真 345
习题11 347
实验与设计 347
11-1 异步串行接口(UART) 347
附录A VHDL关键字 356
附录B DE2-115介绍 357
本书在第1版的基础上主要做了如下修订:
(1)将设计工具从Quartus II 9.0升级为Quartus Prime 17.0。从Quartus II 10.0开始,Quartus II软件取消了自带的波形仿真工具,转而采用专业第三方仿真工具ModelSim进行仿真;自Quartus II 13.1之后,Quartus II只支持64位操作系统(Windows 7/8/10);从Quartus II 15.1开始,Quartus II开发工具改称Quartus Prime;2017年Intel(Altera已被Intel收购)发布了Quartus Prime 17.0版本。Quartus Prime 17.0支持的器件更新,自带的IP核更多,编译速度更快,支持VHDL—2008和System Verilog—2005,作为设计者应积极适应EDA设计工具的变化,并尽可能用新版本。
(2)将实验板从DE2、DE2—70升级为DE2—115。从Quartus II 13.1版本开始,Quartus II软件已不再支持Cyclone I和Cyclone II器件(Cyclone I和Cyclone II已经停产),所以基于Cyclone II器件的DE2和DE2—70实验板,用Quartus II 13.1版本后的Quartus II已不能下载。DE2—115实验板基于Cyclone IV FPGA器件(EP4CE115F29),器件新,资源丰富,同时,在外设和使用习惯等方面与DE2—70基本保持一致,所以本书将针对的实验板改为DE2—115。
(3)更新了有关ModelSim仿真的内容。本书介绍了两个版本的ModelSim的使用方法:一个是Intel(Altera)的OEM版本——ModelSim-ase;在第10章中详细介绍了ModelSim SE进行功能和时序仿真的过程,ModelSim SE的功能更强、更全面。
(4)更新了部分有关FPGA器件结构的内容,使之尽量反映FPGA器件的发展。
(5)更新和修正了设计案例,将设计案例基于DE2—115实验板重新做了修改和验证。
由于FPGA芯片和EDA软件的不断更新换代,同时因编著者时间和精力所限,本书虽经改版和修正,仍不免有诸多疏漏和遗憾,一些案例也有继续发挥和改进的空间,同时一些新的例程限于篇幅未能在书中得到反映。基于本教材的慕课(MOOC)教学资源《数字系统设计》已在华信教育网推出,可配合学习。本书与编著者的另一拙作《数字系统设计与Verilog HDL》(第6版)互为补充,前者以VHDL语言开发为主,后者则以Verilog语言的设计为重点。
感谢友晶科技的彭显恩经理和尹作娟女士,以及鑫合欣的王婷女士在本书写作过程中所给予的大力支持;感谢美国威斯康星大学麦迪逊分校的Yu Hen Hu教授在编著者访学期间在学术上和教学上给予编著者的无私帮助与支持;感谢本书责任编辑窦昊先生与编著者多年的鼎力合作。
本书疏漏与错误之处,希望读者和同行给予批评指正。E-mail:[email protected]
编著者
2017年10月于解放军陆军工程大学
第1版前言
本书的主要内容包括FPGA/CPLD器件、EDA设计工具(包括Quartus Ⅱ、Synplify Pro、DSP Builder、ModelSim等)、VHDL硬件描述语言,以及一些典型的数字设计实例。书中的实例多数在Altera的DE2-70实验平台上进行了实际验证,并尽量给出程序综合与仿真的结果,以便于对照。此外,对于EDA软件工具、实验平台、设计案例均做了精心选择,是编著者认为目前较有典型性和代表性的方案。
本书的定位是作为EDA技术、FPGA开发或数字设计方面的教材。在编写的过程中,遵循的是重视基础、面向应用的原则,力图在有限的篇幅内,将EDA技术与FPGA设计相关的知识简明扼要、深入浅出地进行阐述,并融入编著者在教学、科研中的实践经验。撰写此书的另一个初衷是与拙作《数字系统设计与Verilog HDL》互为补充,前者以VHDL语言开发为主,后者则以Verilog语言的设计为重点。
全书共12章。第1章对EDA技术进行综述;第2章介绍FPGA/CPLD器件的典型结构与配置;第3章介绍Quartus Ⅱ集成开发工具以及基于宏功能模块的设计;第4章对VHDL程序设计进行了初步介绍;在第5章至第7章中,系统介绍VHDL的程序结构、语法、基本语句、建模方式等内容;第8章是有关有限状态机的内容;第9章讨论设计优化和常用数字电路的设计实现方法;第10章是有关VHDL仿真的内容;第11章介绍DSP Builder的使用方法;第12章是VHDL数字通信和接口等较复杂的数字逻辑系统的设计举例。在附录中对Altera的DE2-70和DE2实验平台做了推广介绍。
感谢Altera公司大学计划部Bob Xu先生和上海美连信息技术公司罗晶先生对本书的大力支持。
在撰写的过程中力求准确、简约,避免烦琐,以期做到深入浅出。所有举例都经过综合工具或仿真工具的验证,同时也参考了众多国内外同行的书籍和资料,在此深表感谢。
EDA技术是一门实践性很强的课程,同时EDA技术的发展又非常迅速,要真正掌握数字设计技术,成为行家里手,需要设计者在实践中不断摸索与积累,逐步提高自己的实际能力与水平。本书虽经很大努力,但由于编著者水平所限,书中疏漏与错误之处在所难免,希望同行和广大读者给予批评指正。E-mail:[email protected]
编著者
2010年1月于解放军理工大学
评论
还没有评论。