第1章 绪论 1
1.1 现代数字系统设计简介 1
1.1.1 数字系统的概念 1
1.1.2 现代数字系统的实现手段 1
1.1.3 现代数字系统的设计工具 2
1.2 可编程逻辑器件的发展历程 3
1.3 EDA技术的发展历程 5
第2章 低密度可编程逻辑器件GAL 7
2.1 可编程逻辑器件的基本结构 7
2.1.1 PLD的电路表示法 7
2.1.2 逻辑阵列的PLD表示法应用举例 9
2.2 通用阵列逻辑GAL 10
2.2.1 普通型GAL的基本结构 10
2.2.2 GAL的编程 17
2.2.3 GAL器件介绍 19
2.2.4 GAL器件性能特点及使用注意事项 22
2.3 GAL开发系统ispDesignExpert 24
2.4 GAL的设计实例 25
2.4.1 基本逻辑门 25
2.4.2 4位比较器 26
2.4.3 模6计数器 28
2.4.4 汽车拐弯信号灯控制系统 30
3.1 ispLSI系列器件概述 33
3.1.1 ispLSI器件介绍 33
第3章 复杂可编程逻辑器件CPLD 33
3.1.2 ispLSI系列器件的主要技术特性 34
3.2 ispLSI器件的结构原理 35
3.2.1 ispLSI1000系列器件结构概述 35
3.2.2 ispLSI1000/1000E系列器件各部分结构和功能 36
3.3 ispLSI器件的编程 42
3.3.1 器件编程单元的物理布局 42
3.3.2 ISP器件的编程 43
3.4.1 ispLSI器件的边界扫描技术 45
3.4 ISP器件的优越性 45
3.4.2 ISP器件的技术特点 46
3.4.3 ISP器件的使用注意事项 47
3.5 在系统可编程数字开关GDS和互连器件GDX 47
3.5.1 在系统可编程数字开关ispGDS 47
3.5.2 在系统可编程数字互连ispGDX 48
3.6 在系统可编程模拟器件 49
3.6.1 ispPAC10器件内部结构和性能 49
3.6.2 ispPAC20器件内部结构和性能 50
3.6.4 ispPAC编程接口 51
3.6.3 ispPAC80简介 51
4.1 FPGA的基本结构 52
第4章 现场可编程门阵列FPGA 52
4.2 XC4000系列FPGA基本结构 53
4.2.1 可配置逻辑块(CLB) 53
4.2.2 输入/输出功能块(IOB) 57
4.2.3 可编程互连(PI) 58
4.2.4 片内振荡器 61
4.3.1 FPGA配置概述 62
4.3.2 配置模式 62
4.3 XC4000系列的配置 62
4.3.3 FPGA的配置流程 65
4.4 FPGA的性能参数 66
4.4.1 FPGA的技术特点 66
4.4.2 FPGA的性能参数 67
4.4.3 FPGA的封装形式和信号引脚说明 68
4.5 FPGA与CPLD的比较和选用 68
第5章 ABEL硬件描述语言 70
5.1 ABEL语言元素 70
5.1.2 逻辑运算 74
5.1.3 基本逻辑器件的描述 75
5.2 逻辑电路的描述 77
5.2.1 逻辑方程(EQUATIONS) 77
5.2.2 真值表(TRUTHTABLE) 77
5.2.3 状态图(STATEDIAGRAM) 79
5.1.1 逻辑量 79
5.3 语言结构 83
5.3.1 标题段 84
5.3.2 定义段 85
5.3.4 测试向量段 88
5.3.5 结束段 88
5.3.3 逻辑描述段 88
5.4 测试向量 89
5.4.1 组合电路测试向量 89
5.4.2 时序电路测试向量 90
5.4.3 编写测试向量的技巧 91
5.5 ABEL-HDL的设计考虑 93
5.5.1 输出使能控制 93
5.5.2 ABEL中的层次设计 93
5.5.3 引脚到引脚的语言特征 96
5.6 ABEL语言设计实例 101
6.1.1 VHDL的特点 106
6.1 VHDL简介 106
第6章 VHDL硬件描述语言 106
6.1.2 VHDL的设计流程 107
6.2 VHDL的基本结构 108
6.2.1 实体说明 109
6.2.2 结构体 111
6.3 结构体的描述 112
6.3.1 结构体的行为描述方式 112
6.3.2 结构体的数据流描述方式 114
6.3.3 结构体的结构描述方式 114
6.3.4 结构体的混合描述方式 116
6.4 包集合、库及配置 117
6.4.1 库 117
6.4.2 程序包 117
6.4.3 配置 118
6.5 VHDL的语言元素 121
6.5.1 标识符 121
6.5.2 数据对象 122
6.5.3 数据类型 123
6.5.4 运算操作符 125
6.6.1 顺序描述语句 126
6.6 VHDL的主要描述语句 126
6.6.2 并行描述语句 132
6.6.3 VHDL的子程序 136
6.7 常用电路的VHDL描述 137
6.7.1 组合电路的VHDL描述 137
6.7.2 时序电路的VHDL描述 141
6.7.3 使用VHDL语言注意事项 148
第7章 ispDesignExpert设计系统 149
7.1 ISP器件的设计流程 149
7.2.1 ispDesignExpert软件概述 151
7.2 ispDesignExpert软件及其基本操作 151
7.2.2 怎样使用工程项目引导器 152
7.3 原理图输入方式 153
7.3.1 创建一个新项目 154
7.3.2 输入原理图文件 156
7.3.3 编译原理图 160
7.3.4 设计的功能仿真 161
7.3.5 设计实现 166
7.4 硬件描述语言输入 168
7.4.1 ABEL-HDL语言输入方式 168
7.4.2 VHDL语言输入方式 174
7.5.1 建立项层原理图 177
7.5 硬件描述语言与原理图混合输入 177
7.5.2 编写自定义模块源文件(底层设计) 179
7.5.3 编译、仿真与器件适配 180
7.5.4 层次化操作 181
7.6 关于软件的深入使用 181
7.6.1 项目管理器(ispDesignExpertProjectNavigator) 182
7.6.2 项目管理器窗口的处理过程 184
7.6.3 原理图编辑器 184
7.6.4 创建及编辑模块符号 187
7.6.5 Lattice系统宏库的使用 188
7.6.6 疑难解答 191
第8章 数字系统设计 193
8.1 现代数字系统设计简介 193
8.1.1 数字系统设计流程 193
8.1.2 数字系统设计的方法 194
8.1.3 设计准则 194
8.2 数字系统的描述方法 196
8.2.1 寄存器传输语言 196
8.2.2 算法状态机图(ASM图) 196
8.2.3 备有记忆文档的状态图(MDS图) 199
8.3.2 状态机的表示方法 200
8.3.1 状态机的基本结构和功能 200
8.3 状态机设计 200
8.4 数字系统设计实例 201
8.4.1 设计序列检测器 201
8.4.2 数字抢答器 205
8.4.3 自动控制交通控制系统 208
8.4.4 数显频率计 217
第9章 数字电路和数字系统实验 223
实验一 3/8译码器 223
实验二 模拟74LS160计数器 224
实验三 7人表决器 224
实验四 BCD码全加器 225
实验五 4位乘法器 226
实验六 地址译码器 227
实验七 扫描数码显示 228
实验八 多功能数字钟 229
实验九 数显频率计 230
实验十 单片机多功能模块 232
附录 233
附录A Lattice系统宏 233
附录B 芯片引脚图 243
附录C 缩略语词汇表 244
参考文献 246