知识模块一 EDA设计入门 1
1.1 FPGA最小系统 1
1.2 FPGA最小系统电路设计 2
1.2.1 FPGA管脚设计 2
1.2.2 下载配置与调试接口电路设计 5
1.2.3 电源电路 5
1.2.4 时钟电路设计 7
1.2.5 复位电路设计 7
1.2.6 接口扩展 7
1.3 FPGA硬件系统设计技巧及调试方法 8
1.3.1 FPGA硬件系统设计技巧 8
1.3.2 FPGA硬件系统的调试方法 8
1.4 FPGA概述 9
1.4.1 FPGA芯片的基本工作原理 9
1.4.2 FPGA的工艺结构 11
1.4.3 FPGA常用标志含义 11
1.4.4 FPGA芯片选择策略和原则 13
1.5 面向FPGA的EDA设计流程 14
1.6 EDA技术的发展趋势 16
本章小结 18
本章习题 18
知识模块二 基于QuartusⅡ的原理图设计 19
2.1 QuartusⅡ软件简介 19
2.2 两位十进制计数器设计——学习QuartusⅡ原理图输入方式 20
2.2.1 两位十进制计数器工程项目建立 21
2.2.2 基于Quartus Ⅱ的两位十进制计数器原理图设计 25
2.2.3 基于Quartus Ⅱ的两位十进制计数器的编译 30
2.2.4 基于Quartus Ⅱ的两位十进制计数器的功能测试 32
2.2.5 Quartus Ⅱ的Viewer工具 37
2.2.6 两位十进制计数器的FPGA器件设置和引脚锁定 38
2.2.7 两位十进制计数器的FPGA系统测试 42
2.3 两位二进制触发器设计——学习QuartusⅡ原理图的层次化设计 46
2.3.1 两位二进制数乘法器原理 46
2.3.2 底层半加器设计 47
2.3.3 两位二进制数乘法器顶层电路设计 48
2.4 32位加法器设计——学习Quartus Ⅱ的LPM函数使用 51
2.4.1 LPM_ADD_SUB功能介绍 51
2.4.2 32位加法器设计 54
本章小结 58
本章习题 58
本章项目实训——基于Quartus Ⅱ的三人表决电路的原理图设计 59
知识模块三 基于Quartus Ⅱ的VHDL设计入门 61
3.1 钟控D触发器描述 62
3.2 在Quartus Ⅱ中用VHDL语言设计D触发器 63
3.2.1 钟控D触发器工程项目的建立 63
3.2.2 钟控D触发器的功能测试 68
3.2.3 钟控D触发器的FPGA器件引脚锁定及程序下载 72
3.3 VHDL程序的基本结构 75
3.3.1 VHDL库 76
3.3.2 VHDL程序包 80
3.3.3 VHDL实体 81
3.3.4 VHDL结构体 82
3.3.5 VHDL配置 83
3.4 VHDL语言要素 84
3.4.1 VHDL文字规则 84
3.4.2 VHDL数据对象 86
3.4.3 VHDL数据类型 89
3.4.4 VHDL运算操作符 94
本章小结 97
本章习题 98
本章项目实训——四选一多路选择器的VHDL设计 99
知识模块四 深入学习VHDL程序设计 101
4.1 顺序和并行的数据处理 101
4.2 VHDL顺序语句 102
4.2.1 信号与变量的赋值语句 102
4.2.2 8线—3线优先编码器的设计——学习IF语句 103
4.2.3 四选一数据分配器设计——学习CASE语句 106
4.2.4 八位数据中零数据判断的程序设计——学习LOOP语句 108
4.2.5 其他顺序语句 111
4.2.6 顺序语句综合实例——三线—八线译码器设计 113
4.3 VHDL并行描述语句 114
4.3.1 进程语句 115
4.3.2 七段共阳LED数码管译码电路设计——学习并行信号赋值语句 117
4.3.3 异或门层次设计——学习元件例化语句 120
4.3.4 串入/并出移位寄存器的设计——学习生成语句 123
4.3.5 钟控D触发器设计——学习块语句结构 125
4.4 VHDL子程序 126
4.4.1 用函数调用法设计三线—八线译码器——学习VHDL函数 126
4.4.2 两位全减法器设计——学习VHDL过程调用 130
本章小结 133
本章习题 133
本章项目实训一 八路数据分配器设计的VHDL设计 135
本章项目实训二 四位自然二进制码与格雷码转换电路的VHDL设计 137
本章项目实训三 74LS373的VHDL设计 138
知识模块五 运用VHDL设计基本逻辑电路 141
5.1 组合逻辑电路的设计 141
5.2 时序逻辑电路的设计 143
5.3 存储器的设计 144
5.4 交通灯控制器的项目设计——学习有限状态机的VHDL语言描述 146
5.4.1 交通灯控制器的设计要求 147
5.4.2 交通灯控制器的实现 147
5.4.3 状态机的基本概念 150
5.5 ADC0809转换器项目设计——学习Moore状态机 151
5.6 Mealy型状态机 155
5.7 有限状态机的状态编码 157
5.7.1 符号化的状态编码 157
5.7.2 直接状态编码 157
5.7.3 非法状态的处理 160
本章小结 162
本章习题 162
本章项目实训 用状态机实现序列检测器的设计 163
知识模块六 基于VHDL的FPGA综合数字系统设计 165
6.1 基于VHDL的数字系统的设计方法和设计流程 165
6.2 基于VHDL的FPGA数字系统的显示控制电路的设计 167
6.2.1 基于FPGA的七段数码管静态及动态译码电路设计 167
6.2.2 基于FPGA的字符型液晶显示电路设计 171
6.3 基于VHDL的FPGA数字系统的键盘接口电路的设计 175
6.4 FPGA与DAC0832接口电路的设计 179
6.5 多功能波形发生器 181
6.5.1 多功能波形发生器的设计要求及设计思路与原理 182
6.5.2 多功能波形发生器的VHDL程序设计与注释 183
本章小结 192
附录A VHDL关键字 193
附录B VHDL的属性描述 194
附录C STD_LOGIC_1164程序包 198
参考文献 227