第1章EDA技术概述 1
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 Ⅳ器件结构 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 Ⅳ器件的编程 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 Ⅱ的使用方法 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的TestBench仿真 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