第1章 EDA技术概述 1
1.1 EDA技术及其发展 1
1.1.1 EDA技术的发展历程 1
1.1.2 EDA技术的发展趋势及特征 3
1.2 EDA技术的主要内容 5
1.3 常用EDA工具 7
1.4 EDA技术的设计流程 10
本章小结 14
习题 14
第2章 可编程逻辑器件概述 15
2.1 可编程逻辑器件设计技术简介 15
2.1.1 可编程逻辑器件的发展 15
2.1.2 可编程逻辑器件基础 16
2.1.3 可编程逻辑器件内部电路简介 16
2.1.4 可编程逻辑器件的分类 17
2.2 FPGA/CPLD的基本结构 21
2.2.1 FPGA的基本结构 21
2.2.2 CPLD的基本结构 23
2.2.3 FPGA和CPLD的比较 24
2.3 Altera的FPGA/CPLD器件 25
2.3.1 Altera的FPGA器件 26
2.3.2 Altera的CPLD器件 29
2.3.3 Altera的可编程逻辑器件的配置/编程 31
2.4 FPGA/CPLD的设计流程及常用开发工具 33
2.4.1 FPGA/CPLD的设计流程 33
2.4.2 常用开发工具 35
本章小结 37
习题 37
第3章 开发软件的操作 38
3.1 MAX+plusⅡ软件综述 38
3.1.1 软件的功能简介及支持的器件 39
3.1.2 软件的安装与系统配置 41
3.2 MAX+plusⅡ的设计指南 42
3.2.1 MAX+plusⅡ的启动及工具按钮的使用 43
3.2.2 建立设计项目 46
3.2.3 新建设计文件 47
3.2.4 编辑设计文件 48
3.2.5 编译设计文件 55
3.2.6 设计仿真 57
3.2.7 定时分析 59
3.2.8 器件编程/配置 59
3.3 QuartusⅡ软件综述 61
3.3.1 软件的功能简介及支持的器件 61
3.3.2 软件的安装与系统配置 62
3.4 QuartusⅡ的设计指南 63
3.4.1 QuartusⅡ的启动及工具按钮的使用 64
3.4.2 建立设计项目 66
3.4.3 新建设计文件 68
3.4.4 编辑设计文件 69
3.4.5 编译设计电路 70
3.4.6 设计仿真 73
3.4.7 器件编程/配置 75
3.5 MAX+plusⅡ与QuartusⅡ的功能比较 76
本章小结 78
习题 78
第4章 VHDL语法基础 79
4.1 VHDL概述 79
4.1.1 VHDL的起源 79
4.1.2 常用硬件描述语言比较 80
4.1.3 VHDL的特点 80
4.1.4 VHDL的编程思想 80
4.2 VHDL的描述结构 81
4.2.1 实体 82
4.2.2 结构体 84
4.2.3 库说明 85
4.2.4 配置 87
4.3 标识符 88
4.4 VHDL的数据对象 89
4.4.1 常数 89
4.4.2 变量 90
4.4.3 信号 90
4.5 VHDL的数据类型 91
4.6 VHDL的运算符 97
4.6.1 逻辑运算符 97
4.6.2 算术运算符 98
4.6.3 关系运算符 98
4.6.4 操作符的运算优先级 99
本章小结 100
习题 101
第5章 VHDL主要描述语句 102
5.1 顺序描述语句 102
5.1.1 变量赋值语句和信号赋值语句 102
5.1.2 IF语句 104
5.1.3 CASE语句 106
5.1.4 LOOP语句 109
5.1.5 NEXT和EXIT跳出循环语句 111
5.1.6 NULL语句 113
5.2 并行描述语句 113
5.2.1 并行信号赋值语句 114
5.2.2 进程语句 117
5.2.3 元件例化语句 119
5.2.4 生成语句 122
5.2.5 块语句 125
5.3 子程序 127
5.3.1 过程 128
5.3.2 函数 129
5.4 程序包 130
5.5 时钟信号的描述 134
5.6 复位、置位信号的描述 136
5.6.1 同步方式 136
5.6.2 异步方式 137
本章小结 138
习题 138
第6章 有限状态机 140
6.1 有限状态机的概述 140
6.1.1 有限状态机的概念及特点 140
6.1.2 一般有限状态机的设计 142
6.2 Moore型状态机的设计 145
6.3 Mealy型状态机的设计 148
6.4 状态机的状态编码和系统容错技术 151
本章小结 156
习题 156
第7章 常用单元电路的VHDL程序设计 158
7.1 门电路 158
7.2 8-3线编码器 160
7.3 译码器 162
7.3.1 二-十进制BCD译码器 162
7.3.2 显示译码器 163
7.4 多路选择器 165
7.5 比较器 169
7.6 加法器 171
7.7 触发器和锁存器 172
7.8 计数器和分频器 176
7.9 寄存器 192
7.10 顺序脉冲发生器 194
本章小结 195
习题 195
第8章 数字电路系统设计 197
8.1 跑马灯设计 197
8.1.1 原理分析 197
8.1.2 程序设计 197
8.1.3 编译仿真 200
8.2 交通灯控制器 201
8.2.1 原理分析 201
8.2.2 程序设计 201
8.2.3 编译仿真 209
8.3 数字频率计 209
8.3.1 原理分析 209
8.3.2 程序设计 211
8.3.3 编译仿真 220
8.4 出租车计价器设计 220
8.4.1 原理分析 220
8.4.2 程序设计 221
8.4.3 编译仿真 227
本章小结 228
习题 228
参考文献 229