第1章 什么是EDA 1
1.1 EDA技术概述 1
1.1.1 EDA技术的起源及发展 1
1.1.2 EDA技术的主要内容 3
1.1.3 EDA技术的发展趋势 8
1.2 EDA设计基本流程 10
1.3 EDA基本设计方法与流程 12
1.4思考与练习 15
第2章 FPGA/CPLD简介 16
2.1可编程逻辑器件概述 16
2.1.1可编程逻辑器件的发展 16
2.1.2可编程逻辑器件的分类 17
2.2 FPGA/CPLD的基本结构 18
2.2.1 FPGA的基本结构 18
2.2.2 CPLD的基本结构 19
2.2.3 FPGA和CPLD的比较 19
2.3 Altera公司可编程逻辑器件 20
2.3.1 MAX 7000系列CPLD 22
2.3.2 FLEX 10K系列的结构特点 25
2.3.3 Cyclone系列FPGA 28
2.3.4 Stratix系列FPGA 30
2.4 FPGA/CPLD器件的应用选择 33
2.5思考与练习 34
第3章 Quartus Ⅱ设计流程 35
3.1 Quartus Ⅱ 6.0简介 35
3.2第一个设计 37
3.2.1建立新工程 37
3.2.2设计输入 40
3.2.3分析与综合 42
3.2.4适配 44
3.2.5全程编译 44
3.2.6时序仿真 44
3.2.7电路观察器 50
3.2.8打开原有工程 50
3.3引脚分配与下载 50
3.3.1引脚分配 50
3.3.2编程与配置 52
3.4 Project Navigator(工程导航)与工程管理 54
3.4.1 【 Hierarchy】标签页 55
3.4.2 【Files】标签页 56
3.4.3工程文件管理 58
3.5思考与练习 61
第4章 Quartus Ⅱ编辑器使用 62
4.1文本编辑器 62
4.1.1 【File】菜单 62
4.1.2文本编辑器编辑工具 63
4.2原理图编辑器 66
4.2.1原理图编辑工具栏 67
4.2.2添加原理图符号 68
4.2.3导线绘制与命名 70
4.2.4视图切换 73
4.3波形文件编辑器 74
4.3.1波形编辑界面 74
4.3.2波形编辑工具栏 76
4.3.3仿真设置 79
4.4用原理图输入法进行设计 80
4.5资源分配编辑器 86
4.5.1用户界面和主要功能 86
4.5.2引脚规划器 88
4.6工程设置 89
4.7切换界面模式 94
4.8思考与练习 95
第5章 VHDL语言基础 96
5.1 VHDL语言简介 96
5.1.1实体 97
5.1.2结构体 97
5.1.3库和程序包 97
5.1.4配置 97
5.2 VHDL语言描述方式 98
5.3 VHDL程序语法格式 100
5.3.1实体声明 100
5.3.2结构体声明与描述 102
5.3.3程序包 103
5.3.4配置 104
5.3.5库 105
5.4 VHDL基本数据类型 105
5.4.1标量数据类型 106
5.4.2复合数据类型 108
5.4.3数据类型转换 109
5.5 VHDL数据对象 111
5.5.1数据对象声明 111
5.5.2数据对象的比较 114
5.6 VHDL文字规则 114
5.6.1数值表达 114
5.6.2标志符 115
5.7 VHDL操作符 116
5.8思考与练习 118
第6章 VHDL描述语句 120
6.1 VHDL并行语句 120
6.1.1并行信号赋值语句 120
6.1.2进程语句 124
6.1.3块语句 126
6.1.4元件例化语句 129
6.1.5过程调用语句 132
6.1.6生成语句 134
6.2 VHDL顺序语句 137
6.2.1信号和变量赋值语句 138
6.2.2 IF语句 138
6.2.3 CASE语句 140
6.2.4 NULL语句 141
6.2.5 LOOP语句 142
6.2.6 NEXT语句 144
6.2.7 EXIT语句 144
6.2.8 WAIT语句 144
6.2.9 RETURN语句 146
6.3其他语句结构说明 147
6.3.1子程序 147
6.3.2子程序重载 154
6.3.3预定义属性 155
6.4思考与练习 159
第7章 Quartus Ⅱ综合应用实例 162
7.1状态机的设计与实现 162
7.1.1状态机的优点 162
7.1.2 VHDL语言中状态机设计的选择 162
7.1.3状态机的描述结构 163
7.2状态机设计举例 164
7.2.1交通灯控制器的逻辑实现 164
7.2.2单进程Moore状态机 166
7.2.3 Mealy型状态机 168
7.3状态机实现A/D采样控制 170
7.4 LPM定制与应用 172
7.5简易正弦信号发生器设计 176
7.5.1正弦信号发生器的构成 176
7.5.2定制波形信息初始化文件 177
7.5.3定制LPM_ROM 178
7.5.4原理图方式设计顶层实体 182
7.5.5用例化语句完成顶层实体设计 183
7.6嵌入式逻辑分析仪SignalTap Ⅱ的应用 184
7.6.1 SignalTap Ⅱ文件的建立 184
7.6.2逻辑分析仪的使用操作 185
7.7思考与练习 190
第8章 基本逻辑电路设计实例 191
8.1多路选择器设计 191
8.1.1 4选1多路选择器设计 191
8.1.2数据分配器设计 193
8.2译码/编码器设计 194
8.2.1 3-8译码器设计 194
8.2.2七段数码管译码器设计 196
8.2.3优先编码器设计 196
8.2.4二—十进制码制转换 198
8.3计数器设计 199
8.3.1基本计数器设计 199
8.3.2可逆计数器设计 201
8.3.3可预置计数器设计 202
8.4微分电路设计 202
8.4.1延迟电路设计 202
8.4.2微分电路设计 204
8.4.3同步计数器设计 205
8.5分频电路设计 206
8.5.1整数分频电路设计 206
8.5.2两位半分频电路设计 207
8.6键盘去抖电路设计 208
8.7计数与显示电路设计 210
8.8思考与练习 213
第9章 常用功能模块设计 215
9.1 LCD控制模块设计 215
9.1.1 LCD模块简介 215
9.1.2 LCD模块的显示控制 217
9.1.3 LCD显示控制单元的VHDL实现 218
9.2串行通信接口设计 228
9.3 CRC校验设计 234
9.3.1 CRC校验编码原理 234
9.3.2 CRC编码设计实例 235
9.4曼彻斯特编码 237
9.4.1曼彻斯特编码格式 237
9.4.2曼彻斯特编码的VHDL实现 238
9.5频率计设计 241
9.6序列检测器设计 244
9.7思考与练习 245
第10章 综合电子设计实例 246
10.1数字钟设计 246
10.1.1计时模块 246
10.1.2显示控制 249
10.2密码锁设计 252
10.3电子乐曲播放器设计 256
10.3.1音阶分频系数 257
10.3.2音阶频率的产生 258
10.3.3音长与乐谱的确定 259
10.3.4乐谱播放控制 262
10.3.5顶层设计 263
10.3.6 实现乐曲演奏电路的方法 264
10.4简易电子琴设计 272
10.5简易信号发生器 274
10.6投球游戏设计 280
10.6.1游戏设计实现 281
10.6.2自定义程序包 281
10.6.3游戏控制器设计 282
10.6.4游戏顶层设计 286
10.7思考与练习 289
附录 290
附录A 实验电路结构图(康芯GW48系列) 290
附录B 各菜单命令的快捷键列表 299
附录C 康芯GW48系列实验箱EP1C3T144主板引脚对应表 301
附录D VHDL语言语法模板 301
参考文献 304