第1章 电子系统EDA设计概论 1
1.1 电子系统及其特征 1
1.1.1 电子系统及其分类 1
1.1.2 现代电子系统的特征 2
1.2 EDA技术概述 3
1.2.1 EDA技术及其发展历程 4
1.2.2 EDA技术的实现目标 5
1.2.3 EDA技术的基本工具 6
1.2.4 EDA技术的设计方法及设计流程 9
1.2.5 EDA技术的发展趋势 10
习题 13
第2章 可编程逻辑器件基础 14
2.1 可编程逻辑器件概述 14
2.1.1 PLD的发展历程 15
2.1.2 PLD分类 15
2.2 复杂可编程逻辑器件CPLD 16
2.2.1 MAX7000系列器件的基本结构 17
2.2.2 MAX7000系列器件的逻辑宏单元结构 19
2.2.3 MAX7000系列器件的PIA 20
2.2.4 MAX7000系列器件的I/O控制模块 21
2.3 现场可编程门阵列FPGA 22
2.3.1 FLEX10K系列器件的基本工作原理 22
2.3.2 FLEX10K系列器件的基本结构 23
2.4 可编程逻辑器件的编程与配置 29
2.4.1 CPLD的在系统编程 30
2.4.2 FPGA的配置方式 31
2.5 CPLD和FPGA的应用选择 34
习题 34
第3章 VHDL编程基础 35
3.1 硬件描述语言VHDL简介 35
3.2 VHDL程序基本结构 36
3.2.1 库、程序包 37
3.2.2 实体(ENTITY) 38
3.2.3 结构体(ARCHITECTURE) 39
3.2.4 配置(CONFIGURATION) 42
3.3 VHDL的语言要素 43
3.3.1 VHDL文字规则 44
3.3.2 VHDL数据对象 46
3.3.3 VHDL数据类型 49
3.3.4 VHDL运算操作符 56
习题 60
第4章 QuartusⅡ设计流程 62
4.1 QuartusⅡ软件概述 62
4.2 QuartusⅡ9.0软件用户界面 63
4.3 创建工程 65
4.4 设计文件的输入 71
4.4.1 文本方式输入设计文件 71
4.4.2 原理图方式输入设计文件 73
4.5 设计项目编译前的设置及编译 77
4.5.1 编译前的设置 77
4.5.2 全程编译 81
4.6 设计项目的仿真 83
4.7 引脚设置和配置 88
习题 92
第5章 VHDL基本语句 93
5.1 顺序语句 93
5.1.1 赋值语句 93
5.1.2 流程控制语句 94
5.1.3 等待语句 104
5.1.4 返回语句 106
5.1.5 空操作语句 107
5.1.6 子程序调用语句 108
5.2 并行语句 108
5.2.1 进程语句(PROCESS) 109
5.2.2 块语句 113
5.2.3 并行信号赋值语句 115
5.2.4 元件例化语句 118
5.2.5 生成语句 123
5.2.6 并行过程调用语句 127
5.2.7 断言语句(ASSERT) 129
5.3 其他语句和说明 130
5.3.1 属性(ATTRIBUTE)描述与定义语句 130
5.3.2 综合工具对属性的支持 133
习题 135
第6章 VHDL设计共享 137
6.1 VHDL设计库 137
6.1.1 库的种类 138
6.1.2 库的使用 139
6.2 VHDL程序包 140
6.3 PLD系统设计的常用IP模块 144
6.3.1 IP模块概述 144
6.3.2 QuartusⅡ中IP模块的使用方法 145
6.4 VHDL子程序 156
6.4.1 VHDL函数 157
6.4.2 VHDL过程 161
6.5 层次化建模与元件例化 164
6.5.1 层次化建模 164
6.5.2 元件例化 165
6.5.3 类属参量语句 166
6.6 IP模块应用实例 171
6.6.1 工程系统框图及工作原理 171
6.6.2 添加QuartusⅡ系统自带IP模块 171
6.6.3 添加端口 177
6.6.4 编译工程 178
6.6.5 使用SignalTap Ⅱ观察波形 178
6.6.6 使用在线ROM编辑器 184
习题 186
第7章 有限状态机的设计 187
7.1 有限状态机概述 187
7.1.1 采用有限状态机描述的优势 187
7.1.2 有限状态机的基本结构 188
7.2 有限状态机的状态编码 189
7.2.1 有限状态机的编码规则 189
7.2.2 有限状态机的状态编码 190
7.2.3 定义编码方式的语法格式 191
7.2.4 状态机的剩余状态与容错技术 191
7.2.5 毛刺和竞争处理 193
7.3 一般有限状态机的设计 194
7.3.1 一般有限状态机的VHDL组成 194
7.3.2 一般有限状态机的描述 195
7.4 Moore型有限状态机的设计 198
7.5 Mealy型有限状态机的设计 200
7.6 设计实例 203
习题 209
第8章 基本单元电路的VHDL设计 210
8.1 组合逻辑单元电路的设计 210
8.1.1 数据比较器 210
8.1.2 多路选择器 211
8.1.3 编码器 213
8.1.4 译码器 215
8.1.5 奇偶校验 216
8.1.6 三态门和总线缓冲器的设计 217
8.2 时序逻辑单元电路的设计 220
8.2.1 计数器(增1/减1计数器) 220
8.2.2 数控分频器的设计 222
8.2.3 多功能移位寄存器 223
8.2.4 单脉冲发生器 225
8.3 存储器单元电路的设计 226
8.3.1 只读存储器ROM的设计 226
8.3.2 随机存储器SRAM的设计 228
习题 230
第9章 电子电路的VHDL综合设计 231
9.1 六位数码动态扫描显示电路的设计 231
9.1.1 数码管动态扫描显示原理 231
9.1.2 设计要求与设计思路 232
9.1.3 VHDL代码设计 232
9.1.4 时序仿真 233
9.1.5 硬件逻辑验证 235
9.2 矩阵式键盘接口电路的设计 235
9.2.1 键盘扫描与识别原理 235
9.2.2 设计要求与设计思路 237
9.2.3 VHDL代码设计 238
9.2.4 时序仿真 243
9.2.5 硬件逻辑验证 244
9.3 16×16点阵汉字显示控制器的设计 244
9.3.1 点阵字符产生及显示原理 244
9.3.2 设计思路 245
9.3.3 VHDL代码设计 246
9.3.4 时序仿真 251
9.3.5 硬件逻辑验证 252
9.4 液晶控制器的设计 253
9.4.1 OCMJ(128×32)中文液晶显示器简介 253
9.4.2 设计要求与设计思路 256
9.4.3 VHDL代码设计 257
9.4.4 时序仿真 260
9.4.5 硬件逻辑验证 261
9.5 D/A转换控制器的设计 261
9.5.1 D/A转换控制器AD558简介 261
9.5.2 设计要求和设计思路 263
9.5.3 VHDL代码设计 264
9.5.4 时序仿真 265
9.5.5 硬件逻辑验证 265
9.6 A/D转换控制器的设计 266
9.6.1 ADC0809简介 266
9.6.2 设计思路 268
9.6.3 VHDL代码的设计 269
9.6.4 时序仿真 270
9.6.5 硬件逻辑验证 272
9.7 巴克码发生器与译码器的设计 273
9.7.1 巴克码简介 273
9.7.2 巴克码识别器 274
9.7.3 7位巴克码发生器的设计 274
9.7.4 时序仿真 275
9.7.5 硬件逻辑验证 275
9.7.6 7位巴克码识别器的设计 276
9.7.7 时序仿真 277
9.7.8 硬件逻辑验证 277
9.8 循环码编码器和解码器的设计 278
9.8.1 循环码简介 278
9.8.2 循环码编码与解码方法 278
9.8.3 设计要求与设计思路 279
9.8.4 循环码编码器VHDL代码设计 279
9.8.5 时序仿真 281
9.8.6 硬件逻辑验证 282
9.8.7 循环码解码器VHDL代码设计 282
9.8.8 时序仿真 283
9.8.9 硬件逻辑验证 285
9.9 任意波形信号发生器的设计 285
9.9.1 设计要求 285
9.9.2 设计思路 285
9.9.3 VHDL代码的设计 286
9.9.4 时序仿真 290
9.9.5 硬件逻辑验证 291
9.10 多功能电子密码锁的设计 291
9.10.1 设计要求 291
9.10.2 设计思路 291
9.10.3 程序功能说明 292
9.10.4 VHDL代码的设计 293
9.10.5 时序仿真 300
9.10.6 硬件逻辑验证 302
9.11 多功能数字电子闹钟的设计 304
9.11.1 设计要求 304
9.11.2 设计思路 304
9.11.3 VHDL代码的设计 305
9.11.4 时序仿真 315
9.11.5 硬件逻辑验证 319
9.12 音乐演奏控制电路的设计 320
9.12.1 音乐演奏原理 320
9.12.2 设计要求与设计思路 320
9.12.3 VHDL代码设计 321
9.12.4 时序仿真 325
9.12.5 硬件逻辑验证 326
习题 326
第10章 电子系统EDA设计仿真 328
10.1 电子系统EDA设计仿真概述 328
10.1.1 EDA设计仿真概述 328
10.1.2 测试(平台)程序的设计方法 330
10.2 Modelsim仿真工具简介 335
10.3 Modelsim的仿真实现 336
10.3.1 功能仿真 337
10.3.2 综合后功能仿真和时序仿真(后仿真) 344
10.4 Modelsim中仿真资源库的添加 349
习题 351
附录A VHDL保留字 352
附录B VHDL语言文法一览表 353
附录C VHDL程序设计语法结构 362
参考文献 367