第一章 二进制数及其运算 1
引言 1
1.1 无符号二进制数的算术运算 1
1.1.1 无符号二进制数的加法运算 1
1.1.2 无符号二进制数的减法运算 2
1.1.3 无符号二进制数的乘法运算 2
1.1.4 无符号二进制数的除法运算 3
1.2 有符号二进制数 4
1.2.1 二进制原码 4
1.2.3 二进制补码 5
1.2.2 二进制反码 5
1.2.4 关于有符号二进制数的4个公式 6
1.2.5 二进制补码的真值的两种求法 7
1.2.6 对于带小数的有符号二进制数的处理 7
1.2.7 数制的取值范围 8
1.2.8 溢出 8
1.2.9 有符号二进制数码位数的扩展及压缩 8
1.2.10 先扩展符号位,再进行求补运算 10
1.3 二进制补码的算术运算 11
1.3.1 二进制补码的加法运算 11
1.3.2 二进制补码的减法运算 13
1.3.3 二进制补码的乘法运算 15
1.3.4 二进制补码的除法运算 17
小结 20
思考题和习题 20
第二章 数字系统的一般设计方法 22
引言 22
2.1 时钟偏移问题 23
2.2 异步输入及同步器 25
2.2.1 异步输入 25
2.2.2 简单同步器中的暂稳态 25
2.2.3 同步器故障间隔平均时间 26
2.2.4 常用同步器及其设计 31
2.2.5 多周同步器 33
2.2.6 按钮单同步脉冲产生器 34
2.3 数字系统的设计方法 35
2.3.1 试凑法 36
2.3.2 数字系统由上向下设计法的工具——时序流程图 37
2.3.3 数字系统由上向下设计法的工具——状态图 40
2.3.4 经典法 41
2.3.5 降维卡诺图法 44
2.3.6 状态图法 51
2.3.7 多路开关法 58
2.3.8 每个状态一个触发器法(环形计数器法) 64
2.3.9 微程序法 69
小结 73
思考题和习题 73
第三章 用寄存器传送语言设计数字系统 75
引言 75
3.1 寄存器传送语言 75
3.1.1 标识符 75
3.1.2 操作符 75
3.1.3 语句及其硬件实现 76
3.2 硬件程序举例 82
3.3 8位总线-16位总线转换器(接口) 83
3.3.1 硬件程序 83
3.3.2 控制器的设计 84
3.3.3 受控电路的设计 87
3.4 用硬件程序法设计交通灯控制系统 88
3.5 二进制补码乘法器 90
3.5.1 系统级设计 90
3.5.2 逻辑级设计 93
小结 99
思考题和习题 100
引言 101
第四章 可编程逻辑器件及其应用 101
4.1 可编程只读存储器 102
4.1.1 PROM的内部结构 102
4.1.2 EPROM和微处理器的连接 103
4.2 现场可编程逻辑阵列 104
4.2.1 用FPLA构成组合逻辑电路 104
4.2.2 用FPLA和触发器构成时序逻辑电路 105
4.3 可编程阵列逻辑 105
4.3.1 PAL16R6器件 106
4.3.2 PAL器件系列 107
4.4.1 ABEL语言的基本语法规则 111
4.4 高级布尔方程语言ABEL 111
4.4.2 ABEL源文件 118
4.4.3 熔丝图 120
4.4.4 ABEL3.0软件及其功能 121
4.4.5 ABEL源文件的修改 122
4.5 PAL器件应用举例 123
4.5.1 双向总线收发器 123
4.5.2 定点-浮点转换器(用PAL20R8器件实现) 125
4.5.3 变模计数器(用状态图进行设计) 128
4.6 通用阵列逻辑 132
4.6.1 GAL16V8器件 132
4.6.2 输出逻辑宏单元OLMC(n)的5种组态 136
4.6.3 用GAL代替PAL器件 141
4.6.4 GAL20V8器件 144
4.6.5 E2CMOS编程单元 147
4.6.6 GAL器件的电子标签字、结构控制字及加密单元 149
4.6.7 GAL器件的上电复位及寄存器预装载功能 150
4.7 用ABEL3.0软件编译处理ABEL源文件的实际过程 152
4.7.1 ABEL3.o软件对系统的要求 152
4.7.2 ABEL3.0软件的安装 152
4.7.3 输入或编辑ABEL源文件 152
4.7.4 编译处理ABEL源文件 154
4.7.5 读编译处理后产生的文件(“检验和”) 155
4.8.1 8输入优先级编码器 161
4.8 GAL器件应用举例 161
4.8.2 变模计数器(用真值表进行设计) 163
4.8.3 交通灯控制系统(用GAL16V8器件实现) 166
4.8.4 二进制补码乘法器的控制器(用GAL16V8器件实现) 170
4.8.5 HDB3码编码器 172
4.8.6 CAI滤波器 180
4.8.7 步进电动机控制器 184
4.8.8 用1片GAL20V8代替6片中、小规模集成电路 190
小结 193
思考题和习题 194
5.1.2 点后缀 196
5.1.1 Sma rtPart智能软件的作用 196
第五章 用ABEL4.0和SmartPart智能软件设计数字系统 196
5.1 不预先指明器件的设计 196
引言 196
5.2 ABEL4.0及SmartPart智能软件的程序流程 197
5.3 不预先指明器件的设计对ABEL源文件的要求 198
5.4 用ABEL4.0及SmartPart智能软件编译处理ABEL源文件的实际过程 199
5.4.1 对系统的要求 199
5.4.2 ABEL4.0及SmartPart智能软件的安装 199
5.4.3 输入或编辑ABEL源文件 199
5.4.4 编译处理ABEL.源文件 201
5.4.5 观察各种文件 209
5.4.6 用ABEL4.0及SmartPart智能软件编译处理ABEL源文件步骤小结 214
5.5 用真值表进行不预先指明器件的设计 215
5.6 用状态图进行不预先指明器件的设计 217
5.7 用逻辑方程进行不预先指明器件的设计 226
5.8 GAL22V10器件 231
5.9 用计算机和编程器对可编程逻辑器件编程的实际过程 233
5.9.1 编程的硬件准备 233
5.9.2 编程的软件准备 233
5.9.3 编程操作 234
小结 236
思考题和习题 237
第六章 高密度在系统可编程大规模集成逻辑器件及其开发 238
引言 238
6.1 ispLSI1000系列逻辑器件 239
6.1.1 ispLLSI1016器件 239
6.1.2 通用逻辑块GLB 240
6.1.3 输出布线区ORP 241
6.1.4 I/O单元 243
6.1.5 巨块的输出使能控制 244
6.1.6 时钟分配网络 244
6.2 ispLSI2000系列逻辑器件 245
6.1.7 ispLSI1016器件引脚图 245
6.3 ispLSI3000系列逻辑器件 249
6.4 ispLSI逻辑器件开发系统pDS软件 252
6.4.1 逻辑宏 253
6.4.2 点后缀 254
6.4.3 关键字 255
6.4.4 运算符 255
6.4.5 运行pDS软件的系统配置 256
6.4.6 pDS软件设计流程 256
6.4.7 逻辑分割规则 257
6.4.8 输入设计和检验 258
6.4.9 布线 259
6.4.10 产生.JED文件 259
6.5 ispLSI逻辑器件的在系统编程 260
6.5.1 ispLSI器件“E2CMOS单元阵列”的编程方法 260
6.5.2 编程电缆(下载电缆)及ISP接口适配器 261
6.5.3 编程状态机及其指令 262
6.5.4 典型的编程过程 263
6.5.5 在印制电路板上编程多个ispLSI器件(菊花链) 264
6.5.6 ispLSI器件内的寄存器预装载测试 265
6.6.1 逻辑分割,选器件型号 266
6.6 ispLSI逻辑器件应用举例——异步时序逻辑电路 266
6.6.2 安装pDS软件 267
6.6.3 上机操作步骤及编程 267
6.6.4 观察文件 273
6.7 用逻辑宏进行设计 278
小结 281
思考题和习题 282
参考文献 282
附录A GAL16V8B/BL的技术规格 284
附录B GAL22V10B/BL的技术规格 287
附录C ispLSI1016的技术规格 289
附录D 国际标准逻辑图符号摘要 290