第1章 绪论 1
1.1 可编程逻辑器件与数字电路设计 1
1.2 可编程逻辑器件的发展 2
1.3 可编程逻辑器件设计 7
1.3.1 电子设计自动化 7
1.3.2 电子设计自动化的发展 8
1.3.3 EDA工具的主要特征 9
1.3.4 有代表性的EDA软件 11
1.3.5 设计方法 13
1.3.6 设计流程 14
思考题 17
第2章 数字逻辑 18
2.1 基本逻辑门及其运算 18
2.2 基本扩展逻辑门 19
2.3 逻辑门的扩展 20
2.4 基本逻辑门的实现 23
2.4.1 MOS管 23
2.4.2 非门的CMOS实现 25
2.4.3 基本与非门的实现 25
2.4.4 基本或非门的实现 26
2.4.5 逻辑函数表达式的CMOS实现 26
思考题 28
第3章 可编程逻辑器件原理 29
3.1 简单可编程逻辑器件 29
3.1.1 可编程逻辑阵列 29
3.1.2 可编程阵列逻辑 30
3.2 复杂可编程逻辑器件 32
3.2.1 Altera MAX系列CPLD 33
3.2.2 AMD MACH系列CPLD 34
3.2.3 Lattice pLSI和ispLSI系列CPLD 35
3.2.4 Xilinx XC 7000系列CPLD 36
3.2.5 Altera FlashLogic 36
3.3 现场可编程逻辑门阵列 37
3.3.1 逻辑块 39
3.3.2 可编程开关 43
3.3.3 典型FPGA内部结构 48
3.4 CPLD和FPGA比较 51
思考题 53
第4章 图形和文本输入 54
4.1 Altera Quartus Ⅱ 9.0工作环境 54
4.1.1 基于工程的管理环境 54
4.1.2 工程设计工具 55
4.2 图形输入法 56
4.2.1 4-1选择器 56
4.2.2 建立工程 56
4.2.3 电路设计 60
4.2.4 利用4-1选择器设计8-1选择器 66
4.3 文本输入法 69
4.4 配置文件下载 69
思考题 71
第5章 VHDL基础 72
5.1 对象 72
5.1.1 对象命名规则 72
5.1.2 对象声明规则 72
5.1.3 常量 73
5.1.4 信号 74
5.1.5 变量 75
5.1.6 别名 76
5.2 标准数据类型 77
5.2.1 bit 77
5.2.2 bit_vector 77
5.2.3 boolean 78
5.2.4 boolean_vector 78
5.2.5 integer 78
5.2.6 natural 79
5.2.7 positive 79
5.2.8 integer_vector 79
5.2.9 character 79
5.2.10 string 80
5.3 标准逻辑数据类型 80
5.4 数值表达方法 82
5.5 数据类型转换 83
5.6 自定义数据类型 84
5.6.1 自定义整数类型 84
5.6.2 枚举类型 85
5.6.3 子数据类型 85
5.6.4 数组类型 85
5.7 预定义属性 86
5.7.1 标量数据类型的预定义属性 86
5.7.2 数组类型的预定义属性 87
5.7.3 信号的预定义属性 88
5.8 VHDL中的运算 88
5.8.1 赋值运算符 89
5.8.2 逻辑运算符 89
5.8.3 算术运算符 90
5.8.4 关系运算符 90
5.8.5 移位运算 91
5.8.6 合并运算符 91
5.8.7 运算符的优先级 92
思考题 92
第6章 VHDL语言的程序结构 93
6.1 VHDL设计模型 93
6.1.1 数据流模型 93
6.1.2 行为模型 93
6.1.3 结构化模型 94
6.2 VHDL程序结构 94
6.2.1 实体 95
6.2.2 架构 97
6.2.3 库和包 98
6.2.4 配置 100
6.3 简单的例子 100
思考题 104
第7章 并行语句 105
7.1 简单信号赋值语句 105
7.2 条件信号赋值语句 110
7.3 选择信号赋值语句 114
7.4 产生语句 118
7.5 块语句 121
7.6 多驱动源赋值问题 123
思考题 124
第8章 顺序语句 125
8.1 锁存器和触发器 125
8.2 进程 127
8.3 IF语句 128
8.3.1 IF…THEN…END IF 128
8.3.2 IF…THEN…ELSE…END IF 129
8.3.3 IF…THEN…ELSIF…THEN…END IF 129
8.3.4 IF…THEN…ELSIF…THEN…ELSE…END IF 130
8.3.5 嵌套式IF语句 133
8.4 CASE语句 138
8.5 WAIT语句 141
8.6 LOOP语句 143
8.6.1 无条件循环 143
8.6.2 FOR…LOOP循环 143
8.6.3 WHILE…LOOP循环 146
8.6.4 LOOP…EXIT循环 146
8.6.5 LOOP…NEXT循环 147
8.7 寄存器的引入问题 147
8.8 信号和变量的再讨论 148
思考题 155
第9章 元件 156
9.1 元件的声明 156
9.2 元件例化 157
9.3 元件声明和例化方法 157
思考题 172
第10章 库、包与子函数 173
10.1 库 173
10.2 包 174
10.3 子程序 177
10.3.1 函数 178
10.3.2 过程 181
10.4 过程、函数和进程讨论 185
10.4.1 子程序与进程 185
10.4.2 函数与过程 186
思考题 186
第11章 有限状态机 187
11.1 FSM的系统图和状态图 187
11.2 FSM的编程框架 188
11.3 Moore型FSM设计 189
11.3.1 系统图设计 189
11.3.2 状态机描述 189
11.3.3 编程实现 190
11.4 Mealy型FSM设计 191
11.5 综合设计 193
11.6 FSM中的问题 200
思考题 201
附录A VHDL中的保留字 202
附录B 缩略语 203
参考文献 204