第1章 可编程逻辑器件简介 1
1.1可编程逻辑设计技术简介 1
1.1.1可编程逻辑器件发展简史 1
1.1.2可编程逻辑器件特点 2
1.1.3可编程逻辑器件分类 2
1.1.4主要可编程逻辑器件生产厂商及典型器件 3
1.2 FPGA/CPLD的基本结构 4
1.2.1 CPLD的基本结构 4
1.2.2 FPGA的基本结构 6
1.2.3 CPLD和FPGA的比较及选用 8
1.3 FPGA/CPLD的设计流程 9
1.4 FPGA/CPLD的开发工具-EDA软件 12
1.4.1设计输入工具 13
1.4.2综合工具 14
1.4.3仿真工具 14
1.4.4实现与优化工具 14
1.4.5后端辅助工具 15
1.4.6验证调试工具 15
1.4.7系统级设计环境 15
1.5下一代可编程逻辑设计技术展望 15
1.5.1下一代可编程逻辑器件硬件发展趋势 15
1.5.2下一代EDA软件设计方法发展趋势 17
1.6 Altera典型FPGA/CPLD的结构 19
1.6.1 Altera高密度FPGA 19
1.6.2 Altera低成本FPGA 21
1.6.3 Altera的CPLD器件 22
1.7本章小结 25
1.8习题 25
第2章VHDL硬件描述语言 26
2.1 VHDL概述 26
2.1.1 VHDL语言的特点 26
2.1.2 VHDL程序的一般结构 27
2.2 VHDL语言的程序结构 28
2.2.1实体 28
2.2.2结构体 29
2.2.3库 35
2.2.4程序包 36
2.2.5配置 37
2.3 VHDL语言的数据类型 38
2.3.1 VHDL的文字规则 38
2.3.2 VHDL的数据对象 40
2.3.3 VHDL的数据类型 41
2.3.4 VHDL的类型转换 45
2.4 VHDL的操作符 46
2.4.1操作符的种类 46
2.4.2操作符的优先级 47
2.4.3逻辑操作符 47
2.4.4关系操作符 47
2.4.5算术操作符 47
2.5 VHDL的顺序语句 48
2.5.1赋值语句 49
2.5.2流程控制语句 50
2.5.3等待语句 54
2.5.4子程序调用语句 55
2.5.5返回语句 56
2.5.6空操作语句 57
2.5.7其他顺序语句 57
2.6 VHDL的并行语句 60
2.6.1块语句 60
2.6.2进程语句 62
2.6.3并行过程调用语句 64
2.6.4并行信号赋值语句 65
2.6.5元件例化语句 68
2.6.6生成语句 71
2.7本章小结 73
2.8习题 74
第3章Quartus Ⅱ软件及应用 76
3.1 Quartus Ⅱ软件概述 76
3.1.1 Quartus Ⅱ软件的功能简介 76
3.1.2 Quartus Ⅱ软件的用户界面 77
3.2基本设计流程 78
3.2.1工程文件管理 79
3.2.2创建Quartus Ⅱ的工程 79
3.2.3设计输入方式 79
3.2.4基于图形编辑输入法的设计过程 80
3.2.5基于文本编辑输入法的设计过程 90
3.3 SignalProbe及SignalTap Ⅱ逻辑分析器 91
3.3.1 SignalProbe 91
3.3.2 SignalTap Ⅱ逻辑分析器 93
3.4本章小结 97
3.5习题 97
第4章 组合逻辑电路设计 99
4.1基本门电路的设计 99
4.1.1设计要求 99
4.1.2 VHDL语言输入 99
4.1.3软件仿真 100
4.2数据选择器的设计 100
4.2.1设计要求 100
4.2.2 VHDL语言输入 100
4.2.3软件仿真 101
4.3 1对2数据分配器的设计 101
4.3.1设计要求 101
4.3.2 VHDL语言输入 102
4.3.3软件仿真 102
4.4 4位BCD译码器的设计 102
4.4.1实验原理 103
4.4.2 VHDL语言输入 103
4.4.3软件仿真 104
4.5三态门的设计 104
4.5.1设计要求 104
4.5.2 VHDL语言输入 104
4.5.3软件仿真 105
4.6半加器的设计 105
4.6.1设计要求 105
4.6.2 VHDL语言输入 105
4.6.3软件仿真 106
4.7全加器的设计 106
4.7.1设计要求 106
4.7.2 VHDL语言输入 106
4.7.3软件仿真 107
4.8 6位加法器的设计 107
4.8.1设计要求 107
4.8.2 VHDL语言输入 107
4.8.3软件仿真 109
4.9 4位加减法器的设计 109
4.9.1设计要求 109
4.9.2 VHDL语言输入 109
4.9.3软件仿真 110
4.10 3位乘法器的设计 110
4.10.1设计要求 110
4.10.2 VHDL语言输入 110
4.10.3软件仿真 111
4.11本章小结 111
4.12习题 111
第5章 时序逻辑电路设计 113
5.1 VHDL程序中时钟信号变化的检测处理 113
5.1.1使用进程的敏感信号表检测时钟变化 113
5.1.2使用WAIT语句检测时钟变化 113
5.2 D触发器的设计 114
5.2.1设计要求 114
5.2.2 VHDL语言输入 114
5.2.3软件仿真 115
5.3 JK触发器的设计 116
5.3.1设计要求 117
5.3.2 VHDL语言输入 117
5.3.3软件仿真 118
5.4带异步复位/置位端的同步使能T触发器的设计 119
5.4.1设计要求 120
5.4.2 VHDL语言输入 120
5.4.3软件仿真 120
5.5简单计数器的设计 121
5.5.1设计要求 121
5.5.2 VHDL语言输入 121
5.5.3软件仿真 121
5.5.4功能拓展:同步清零的计数器 122
5.6同步清零的可逆计数器 123
5.6.1设计要求 123
5.6.2 VHDL语言输入 123
5.6.3软件仿真 124
5.7同步预置数的计数器 124
5.7.1设计要求 124
5.7.2 VHDL设计输入 124
5.7.3软件仿真 125
5.7.4功能拓展 125
5.8带进制的计数器 128
5.8.1设计要求 128
5.8.2 VHDL设计输入 128
5.8.3软件仿真 129
5.9基本寄存器的设计 129
5.9.1设计要求 129
5.9.2 VHDL语言输入 129
5.9.3软件仿真 130
5.10基本移位寄存器的设计 130
5.10.1设计要求 130
5.10.2 VHDL设计输入 130
5.10.3软件仿真 132
5.11同步预置数串行输出移位寄存器 132
5.11.1设计要求 133
5.11.2 VHDL设计输入 133
5.11.3软件仿真 133
5.12循环移位寄存器的设计 134
5.12.1设计要求 134
5.12.2 VHDL设计输入 134
5.12.3软件仿真 134
5.13 6位双向移位寄存器的设计 135
5.13.1设计要求 135
5.13.2 VHDL设计输入 135
5.13.3软件仿真 136
5.14有限状态机的设计 137
5.14.1莫尔型状态机 137
5.14.2设计要求 137
5.14.3设计输入 137
5.14.4软件仿真 138
5.14.5米里型状态机 139
5.14.6设计要求 139
5.14.7设计输入 139
5.15 本章小结 141
5.16习题 142
第6章 GW48 EDA实验系统使用方法简介 145
6.1 GW48系统简介 145
6.1.1基本特点 145
6.1.2系统基本结构及主要模块功能 145
6.2实验电路结构图 147
6.2.1实验电路信号资源符号图说明 147
6.2.2各实验电路结构图特点及应用 148
6.2.3系统插口信号使用说明 155
6.3基于GW48的实验示例 160
6.4本章小结 164
6.5习题 164