本书主要内容包括EDA技术概述、FPGA/CPLD器件、Ouartus Prime使用指南、VHDL设计初步、VHDL结构与要素、VHDL基本语句、VHDL设计进阶、VHDL有限状态机设计、VHDL数字设计与优化、VHDL的Test Bench仿真、VHDL设计实例等。全书以Quartus Prime、ModelSim SE软件为工具,以VHDL为议计语言,以可综合的设计为重点,通过诸多精选设计案例,阐述数字系统设计方法与设计思想,由浅入深地介绍VHDL工程开发的手段与技能。
王金明,博士,副教授、硕士研究生导师。曾获军队科步1项,军队科步3项,军队科步5项,获军队级教学成果1项;获国家发明专利授权2项,获软件著作授权1项;文80余篇,其中SCI、EI收录30余篇;主编教材多部,并入选"十一五”规划教材和"十二五”规划教材;2013年获军队院校育才奖银奖;2014年由国家留学基金委资助,在美国威斯康星大学麦迪逊分校访问研究1年;指导本科生参加全国大学生电子设计竞赛,获全国、多项。
第1章 EDA技术概述 001
1.1 EDA技术及其发展 002
1.2 Top-down设计与IP核复用 004
1.2.1 Top-down设计 004
1.2.2 Bottom-up设计 005
1.2.3 IP复用技术与SoC 005
1.3 数字设计的流程 006
1.3.1 设计输入 007
1.3.2 综合 007
1.3.3 布局布线 008
1.3.4 仿真 008
1.3.5 编程配置 009
1.4 常用的EDA工具软件 009
1.5 EDA技术的发展趋势 012
013
第2章 FPGA/CPLD器件 014
2.1 PLD器件概述 015
2.1.1 PLD器件的发展历程 015
2.1.2 PLD器件的分类 015
2.2 PLD的基本原理与结构 017
2.2.1 PLD器件的基本结构 017
2.2.2 PLD电路的表示方法 018
2.3 低密度PLD的原理与结构 019
2.4 CPLD的原理与结构 023
2.4.1 宏单元结构 023
2.4.2 典型CPLD的结构 024
2.5 FPGA的原理与结构 025
2.5.1 查找表结构 025
2.5.2 Cyclone IV器件结构 027
2.6 FPGA/CPLD的编程元件 030
2.7 边界扫描测试技术 034
2.8 FPGA/CPLD的编程与配置 035
2.8.1 在系统可编程 035
2.8.2 FPGA器件的配置 036
2.8.3 Cyclone IV器件的编程 037
2.9 Intel的FPGA/CPLD器件 040
2.10 FPGA/CPLD的发展趋势 043
043
第3章 Quartus Prime使用指南 044
3.1 Quartus Prime原理图设计 046
3.1.1 半加器原理图设计输入 046
3.1.2 1位全加器设计输入 049
3.1.3 1位全加器的编译 050
3.1.4 1位全加器的仿真 052
3.1.5 1位全加器的下载 056
3.1.6 配置数据固化与脱机运行 060
3.2 基于IP核的设计 062
3.2.1 用LPM_COUNTER设计模24方向可控计数器 063
3.2.2 用LPM_ROM模块实现4×4无符号数乘法器 069
3.3 SignalTap II的使用方法 076
3.4 Quartus Prime的优化设置与时序分析 080
084
第4章 VHDL设计初步 087
4.1 VHDL简介 088
4.2 VHDL组合电路设计 089
4.3 VHDL时序电路设计 093
098
第5章 VHDL结构与要素 099
5.1 实体 100
5.1.1 类属参数说明 100
5.1.2 端口说明 101
5.2 结构体 102
5.3 VHDL库和程 103
5.3.1 库 103
5.3.2 程 106
5.4 配置 107
5.5 子程序 110
5.5.1 过程(PROCEDURE) 110
5.5.2 函数(FUNCTION) 112
5.6 VHDL文字规则 114
5.6.1 标识符 114
5.6.2 数字 115
5.6.3 字符串 116
5.7 数据对象 116
5.7.1 常量 116
5.7.2 变量 117
5.7.3 信号 117
5.7.4 文件 118
5.8 VHDL数据类型 118
5.8.1 预定义数据类型 119
5.8.2 用户自定义数据类型 122
5.8.3 数据类型的转换 125
5.9 VHDL运算符 127
5.9.1 逻辑运算符 127
5.9.2 关系运算符 127
5.9.3 算术运算符 128
5.9.4 并置运算符 129
5.9.5 运算符重载 129
130
第6章 VHDL基本语句 132
6.1 顺序语句 133
6.1.1 赋值语句 133
6.1.2 IF语句 133
6.1.3 CASE语句 139
6.1.4 LOOP语句 142
6.1.5 NEXT与EXIT语句 143
6.1.6 WAIT语句 144
6.1.7 子程序调用语句 146
6.1.8 断言语句 146
6.1.9 REPORT语句 147
6.1.10 NULL语句 148
6.2 并行语句 148
6.2.1 并行信号赋值语句 148
6.2.2 程语句 153
6.2.3 块语句 156
6.2.4 元件例化语句 157
6.2.5 生成语句 159
6.2.6 并行过程调用语句 161
6.3 属性说明与定义语句 162
6.3.1 数据类型属性 162
6.3.2 数组属性 163
6.3.3 信号属性 164
165
第7章 VHDL设阶 166
7.1 行为描述 167
7.2 数据流描述 168
7.3 结构描述 169
7.3.1 用结构描述设计1位全加器 169
7.3.2 用结构描述设计4位加法器 171
7.3.3 用结构描述设计8位加法器 172
7.4 三态逻辑设计 173
7.5 分频器设计 175
7.5.1 占空比为50%的奇数分频 175
7.5.2 半整数分频 178
7.5.3 数控分频器 179
7.6 用锁相环IP核实现倍频和相移 180
186
第8章 VHDL有限状态机设计 187
8.1 有限状态机 188
8.1.1 有限状态机的描述 188
8.1.2 枚举数据类型 190
8.2 有限状态机的描述方式 192
8.2.1 程表述方式 192
8.2.2 程表述方式 193
8.2.3 程表述方式 196
8.3 状态编码 198
8.3.1 常用的编码方式 199
8.3.2 用ATTRIBUTE编码方式 200
8.3.3 用常行编码 202
8.4 有限状态机设计要点 203
8.4.1 起始状态的选择和复位 203
8.4.2 多余状态的处理 205
8.5 有限状态机应用实例 206
8.5.1 用有限状态机控制流水灯 206
8.5.2 用有限状态机控制A/D采样 209
211
第9章 VHDL数字设计与优化 212
9.1 流水线设计 213
9.2 资源共享 216
9.3 4×4矩阵键盘 219
9.4 字 符 液 晶 224
9.5 汉字图形点阵液晶 230
9.6 VGA显示器 237
9.6.1 VGA显示原理与时序 237
9.6.2 VGA彩条信号发生器 239
9.6.3 VGA图像显示与控制 244
9.7 音乐演奏电路 250
9.7.1 音乐演奏实现的方法 250
9.7.2 实现与下载 252
255
第10章 VHDL的Test Bench仿真 257
10.1 VHDL仿真概述 258
10.2 VHDL测台 258
10.2.1 用VHDL描述仿真激励信号 259
10.2.2 用TEXTI行仿真 262
10.3 ModelSim SE仿真实例 265
10.3.1 图形界面仿真方式 268
10.3.2 命令行仿真方式 271
10.3.3 ModelSim SE时序仿真 272
0 275
第11章 VHDL设计实例 278
11.1 M序列产生器 279
11.2 Gold码 283
11.3 数字过零检测和等精度频率测量 285
11.3.1 数字过零检测 286
11.3.2 等精度频率测量 287
11.3.3 数字测量系统 289
11.4 QPSK数字调制器 292
11.5 小型神经网络 301
11.6 数字AGC 305
1 314
附录A VHDL关键字 315
参考文献 316