绪论 1
第1章 可编程逻辑器件基础 9
1.1 PLD的逻辑表示 9
1.1.1 PLD中阵列及其阵列交叉点的逻辑表示 9
1.1.2 PLD中基本逻辑单元的PLD表示 11
1.2 逻辑阵列的PLD表示法应用举例 14
第2章 通用阵列逻辑GAL 16
2.1 GAL的结构及其工作原理 16
2.1.1 GAL的基本阵列结构 16
2.1.2 GAL的工作模式和逻辑组态 20
2.1.3 GAL的编程 24
2.1.4 GAL的输入缓冲器、输出三态缓冲器 27
2.1.5 GAL的开发及使用中应注意的问题 28
2.1.6 GAL器件使用中应注意的问题 29
2.2 GAL的应用举例 30
2.2.1 用GAL实现基本逻辑门的设计 30
2.2.2 用GAL实现组合及时序混合的逻辑电路 31
2.2.3 用GAL实现5位二进制计数器和N位任意进制计数器设计 34
第3章 ABEL硬件描述语言 40
3.1 ABEL-HDL语言用户源文件的基本结构 41
3.1.1 模块开头语句 42
3.1.2 标志语句 42
3.1.3 标题语句 42
3.1.4 声明语句 42
3.1.5 逻辑描述语句 46
3.1.6 测试向量语句 50
3.1.7 结束语句 51
3.2 ABEL语言的语法规范 51
3.2.1 字符和数 51
3.2.2 ABEL语言中字符和数的使用语法规则 52
3.2.3 运算符、表达式与方程式 53
3.2.4 输出使能控制语句 57
3.3 ABEL语言处理程序简介 58
3.4 编写测试向量技巧 61
3.5 用ABEL语言实现逻辑设计举例 62
第4章 VHDL硬件描述语言 68
4.1 概述 68
4.2 VHDL语言程序结构 68
4.2.1 实体及实体说明 71
4.2.2 类属说明和端口说明 72
4.2.3 结构体及其描述方式 73
4.2.4 库、程序包及其配置 78
4.3 VHDL中的标识符、数据对象、数据类型及属性 86
4.3.1 标识符(identifier) 86
4.3.2 数据对象 87
4.3.3 数据类型(data type) 89
4.3.4 数据类型的转换 92
4.4 VHDL语言中的运算符和操作符 93
4.5 VHDL的主要语句及其在结构体描述中的应用 96
4.5.1 进程语句(process statement) 96
4.5.2 信号赋值语句(signal assignment statement) 99
4.5.3 顺序描述语句 103
4.5.4 过程及其函数 115
4.5.5 GENERIC语句 123
4.5.6 GENERATE语句 124
4.5.7 BLOCK块语句 127
4.5.8 COMPONENT语句和COMPONENT INSTANT语句 131
4.5.9 VHDL源文件修改练习 133
4.6 VHDL中属性的描述及定义语句 137
4.6.1 数值类属性 137
4.6.2 函数类属性 139
4.7.1 用VHDL实现基本逻辑门的描述 148
4.7 用VHDL实现基本逻辑电路设计 148
4.7.2 常用组合逻辑电路单元的VHDL描述 151
4.7.3 常用时序逻辑单元的VHDL描述 161
4.8 典型数字系统设计 167
4.8.1 用VHDL语言实现频率计的设计 167
4.8.2 用VHDL语言实现数字钟设计 182
第5章 复杂可编程逻辑器件CPLD 198
5.1 Lattice公司的ispLSI/pLSI系列器件简介 198
5.2 ispLSI/pLSI1000系列器件的内部结构 199
5.2.1 ispLSI/pLSI1000系列器件的内部结构概述 199
5.2.2 ispLSI/pLSI1000系列各部分的结构和功能 200
5.3 ispLSI器件的编程 205
5.3.1 ispLSI器件的编程单元 205
5.3.2 ispLSI器件的编程接口 206
5.3.3 ispLSI器件的编程 206
5.4 Altera公司的MAX7000系列器件简介 207
5.4.1 MAX7000系列器件的技术性能特点 207
5.4.2 MAX7000S系列器件内部结构 208
5.4.3 MAX7000系列器件的输出配置 212
5.5 MAX7000系列器件的编程 213
6.1 Xilinx公司的XC系列器件的技术性能简介 214
第6章 现场可编程门阵列FPGA 214
6.2 XCA000系列器件的内部结构 215
6.2.1 XC4000系列的可配置逻辑块(CLB) 215
6.2.2 输入/输出模块(IOB) 220
6.2.3 内部互连资源(PI) 221
6.2.4 片内振荡器 223
6.3 XC4000系列器件的配置 223
6.3.1 配置模式 224
6.3.2 FPGA的配置过程 225
6.4 Altera公司的FLEX系列器件技术性能简介 226
6.5 FLEx10K系列器件的内部结构 227
6.5.1 嵌入式阵列 227
6.5.2 逻辑阵列 229
6.5.3 I/O单元(IOE) 231
6.5.4 快速互连通道(Fast Track) 232
6.6 FLEX10K系列器件的配置 233
6.6.1 主动串行配置 234
6.6.2 被动配置 234
7.2.1 设计初步 236
7.2 ispDesignExpert系统的使用说明 236
7.1 ispDesignExpert系统简介 236
第7章 ispDesignExpert系统 236
7.2.2 设计输入 237
7.2.3 设计的功能仿真 240
7.2.4 设计实现 243
7.3 ispDesignExpert系统的设计技巧 245
7.3.1 元件符号说明 246
7.3.2 创建模块符号 246
7.3.3 编辑元件符号 247
7.3.5 VHDL语言设计输入 249
7.3.4 层次设计浏览器 249
第8章 MAX+PIusⅡ开发系统 252
8.1 MAX+plusⅡ开发系统简介 252
8.2 MAX+plusⅡ开发系统设计入门 252
8.2.1 设计输入 252
8.2.2 编译设计项目 256
8.2.3 设计校验 258
8.2.4 器件编程 263
8.3 MAX+plusⅡ系统设计技巧 263
8.3.1 创建元件符号 263
8.3.2 元件库使用 265
8.3.3 宏向导 265
8.3.4 文本设计输入方法 266
第9章 Xilinx Folindation F1.5系统 269
9.1 Xilinx Foundation F1.5系统简介 269
9.2 Xilinx Foundation F1.5系统设计入门 269
9.2.1 创建新的工程 269
9.2.2 创建、编辑原理图文件 271
9.2.3 功能仿真 275
9.2.4 设计实现 277
9.2.5 时序仿真 279
9.2.7 器件编程 281
9.2.6 时序分析 281
9.3 Xilinx Foundation F1.5系统设计技巧 283
9.3.1 库元件符号简介 283
9.3.2 创建用户元件符号 284
9.3.3 VHDL语言设计方法 286
第10章 可编程ASIC开发过程和设计实例 289
10.1 数字系统设计流程 289
10.2 可编程ASIC的开发过程 290
10.3 交通信号灯控制器 291
10.3.1 交通信号灯控制器功能 291
10.3.2 交通信号灯控制器的设计方案 291
10.3.3 利用ispEXPERT Design系统设计实现交通信号灯控制器 292
10.4.1 频率计的功能 298
10.4 数字频率计 298
10.4.2 频率计的设计方案 299
10.4.3 利用MAX+plusⅡ系统设计实现频率计 299
10.5 数字钟 304
10.5.1 数字钟的功能 304
10.5.2 数字钟设计方案 304
10.5.3 用Xilinx Foundation系统设计实现数字钟 305
11.1 概述 312
11.2 EDA-Ⅲ系统主要构成 312
第11章 可编程ASIC实验系统和可编程模拟器件PAC 312
11.3 系统使用说明 313
11.4 EDA-Ⅲ系统子板接入 318
11.5 可编程模拟器件PAC20子板 318
11.5.1 可编程模拟器件简介 318
11.5.2 ispPAC10器件内部结构和性能 318
11.5.3 ispPAC20器件内部结构和性能 319
11.5.4 可编程模拟器件的开发工具 320
11.6 PAC20子板 322
11.7 常用可编程器件引脚 323
参考文献 326