第1章 EDA技术概述 1
1.1 EDA技术的涵义 1
1.2 EDA技术的发展历程 1
1.3 EDA技术的主要内容 3
1.4 EDA软件系统的构成 5
1.5 EDA的工程设计流程 6
1.6 数字系统的设计 10
1.6.1 数字系统的设计模型 10
1.6.2 数字系统的设计方法 11
1.6.3 数字系统的设计准则 11
1.6.4 数字系统的设计步骤 12
习题 13
第2章 VHDL语言程序基础 14
2.1 概述 14
2.2 VHDL语言程序的结构 15
2.2.1 VHDL语言程序设计的基本单元 15
2.2.2 实体 16
2.2.3 构造体 18
2.2.4 配置 19
2.3 VHDL设计资源 21
2.3.1 库 21
2.3.2 包集合 23
2.4 VHDL语言要素 24
2.4.1 标志符 24
2.4.2 数据对象 25
2.4.3 VHDL的数据类型 29
2.4.4 VHDL运算符 36
2.4.5 VHDL的属性 38
2.4.6 常见错误 39
2.5 VHDL语言的描述方式 40
2.5.1 行为描述 41
2.5.2 数据流描述 42
2.5.3 结构描述 42
2.6 VHDL顺序语句 43
2.6.1 赋值语句 44
2.6.2 转向控制语句 45
2.6.3 等待语句 51
2.6.4 子程序调用语句 52
2.6.5 返回语句 53
2.6.6 空操作语句 53
2.6.7 其他语句 54
2.7 VHDL并行语句 56
2.7.1 进程语句 56
2.7.2 块语句 59
2.7.3 并行信号赋值语句 61
2.7.4 并行过程调用语句 63
2.7.5 元件例化语句 63
2.7.6 生成语句 67
2.8 子程序 70
2.8.1 函数 70
2.8.2 重载函数 72
2.8.3 过程 72
2.8.4 重载过程 74
习题 75
第3章 基本逻辑单元的VHDL模型 77
3.1 组合逻辑电路设计 77
3.1.1 基本逻辑门设计 77
3.1.2 编码器、译码器和数据选择器 78
3.1.3 加法器 82
3.1.4 三态门及总线缓冲器 84
3.1.5 运算电路 87
3.2 时序逻辑电路设计 90
3.2.1 触发器 90
3.2.2 寄存器 93
3.2.3 计数器 96
3.2.4 分频器 101
3.2.5 序列信号发生器和检测器 103
3.3 存储器 107
3.3.1 存储器描述中的一些共性问题 107
3.3.2 只读存储器 108
3.3.3 随机存储器 111
3.3.4 堆栈 112
3.4 有限状态机 117
3.4.1 有限状态机的分类 118
3.4.2 有限状态机的应用 122
习题 125
第4章 Quartus Ⅱ介绍与使用 127
4.1 概述 127
4.2 创建第一个工程 127
4.2.1 使用工程向导创建工程 127
4.2.2 完善顶层设计文件 131
4.2.3 Quartus Ⅱ的交叉探索 145
4.2.4 约束设计 150
4.2.5 输入/输出端口配置 151
4.3 设计的时序约束 157
4.4 团队协作及逻辑锁定 161
4.5 ModelSim仿真 171
4.6 SignalTap Ⅱ的使用 180
4.7 时序逼近 192
第5章 EDA技术工程应用实例 217
5.1 SOPC设计 217
5.1.1 概述 217
5.1.2 Hello World工程 222
5.1.3 EPCS+FPGA+SDRAM结构 244
5.1.4 小结 246
5.2 基于FPGA的PID算法实现 247
5.2.1 概述 247
5.2.2 数字PID控制器 248
5.2.3 PID算法的程序流程 248
5.2.4 FPGA实现PID的原理 249
5.2.5 构建PID模块 251
5.2.6 软PID控制的实现 264
5.3 8031内核设计 274
5.3.1 ALU部分 277
5.3.2 定时器/计数器 280
5.3.3 中断 282
5.3.4 串行接口 282
5.3.5 RAM和ROM 284
5.4 EDA在无功补偿控制系统中的应用 284
5.4.1 系统框图 285
5.4.2 功率因数和低压系统工作频率的测量 285
5.4.3 晶闸管触发脉冲产生电路 290
5.4.4 误差分析 293
5.4.5 小结 293
5.5 数字钟的EDA设计 294
5.5.1 设计要求 294
5.5.2 功能描述 294
5.5.3 各单元电路的实现 294
5.5.4 数字钟的顶层电路设计 300
第6章 EDA技术实验 303
6.1 Quartus Ⅱ的使用 303
6.2 7人表决器 304
6.3 格雷码变换电路 305
6.4 BCD码加法器 306
6.5 4位全加器 308
6.6 英语字母显示电路 309
6.7 4位并行乘法器 310
6.8 设计基本触发器 311
6.9 设计74LS160计数器功能模块 312
6.10 步长可变的加减计数器 313
6.11 可控脉冲发生器 314
6.12 正负脉宽数控调制信号发生器 315
6.13 序列检测器 316
6.14 4位移位乘法器 316
6.15 出租车计费器 318
6.16 数字秒表 320
6.17 频率计 321
6.18 交通灯控制器 322
6.19 数码锁 324
6.20 乒乓球游戏机 326
附录 329
附录A YCIT_SOPC_V1.0实验开发板简介 329
附录B 可编程逻辑器件简介及其配置 336
参考文献 355