目录 3
引言 3
第1章 数制与编码 3
1.1 数制 3
1.1.1 十进制 3
1.1.2 二进制 4
1.1.3 八进制和十六进制 4
1.1.4 数制转换 5
1.1.5 二进制数的算术运算 8
1.2 编码 10
1.2.1 二进制编码 10
1.2.2 带符号数的编码及运算 12
1.2.3 二—十进制码 15
1.2.4 字符编码 18
1.2.5 可靠性编码 20
习题 21
2.1.1 逻辑函数的基本概念 23
2.1.2 逻辑代数的基本运算与复合运算 23
2.1 逻辑代数基础 23
第2章 逻辑函数及其化简 23
2.2 逻辑代数的基本公式和规则 29
2.2.1 基本公式 29
2.2.2 常用规则 30
2.3 逻辑函数和逻辑表达式 32
2.3.1 逻辑函数的表示方法 32
2.3.2 与或式与最小项表达式 34
2.3.3 或与式与最大项表达式 35
2.3.4 逻辑图 38
2.3.5 逻辑函数的代数法化简 40
2.4 逻辑函数的卡诺图化简 42
2.4.1 卡诺图的构成 42
2.4.2 用卡诺图表示逻辑函数 43
2.4.3 用卡诺图化简逻辑函数 46
2.4.4 未完全规定的逻辑函数及其化简 50
习题 53
第3章 组合逻辑电路 56
3.1 数字集成器件简介 56
3.1.1 集成电路的主要电气指标 57
3.1.2 逻辑电路的输出结构 60
3.1.3 正逻辑和负逻辑 62
3.1.4 常用门电路及逻辑符号 63
3.2 常用组合逻辑模块 64
3.2.1 并行加法器 64
3.2.2 数值比较器 66
3.2.3 编码器 68
3.2.4 译码器 69
3.2.5 数据选择器 73
3.3 组合电路分析 77
3.4 组合电路设计 81
3.4.1 用SSI设计组合电路 82
3.4.2 用MSI设计组合电路 87
3.4.3 功能分解的设计方法 91
3.5 竞争与险象 94
3.5.1 逻辑险象及其消除方法 94
3.5.2 功能险象 96
3.5.3 险象的排除 96
习题 97
第4章 时序电路分析 104
4.1 时序电路概述 104
4.2 集成触发器及其应用 105
4.2.1 基本RS触发器 106
4.2.2 时钟RS触发器 111
4.2.3 D触发器 113
4.2.4 JK触发器 118
4.2.5 T触发器 120
4.2.6 异步计数器 121
4.3 同步时序电路分析 123
4.3.1 米里型电路的分析 124
4.3.2 莫尔型电路的分析 128
4.3.3 复杂电路的功能表描述 131
4.3.4 自启动 132
4.3.5 异步信号的同步化 136
4.4 集成计数器及其应用 138
4.4.1 同步加法计数器74163 139
4.4.2 异步加/减(可逆)计数器74192 147
4.4.3 计数器应用实例——数字钟 151
4.5 集成移位寄存器及其应用 153
4.5.1 四位双向移位寄存器74194 154
4.5.2 移位寄存器的应用实例——汽车尾灯控制电路 161
4.6 随机访问存储器与快闪存储器 163
4.6.1 随机访问存储器 164
4.6.2 快闪存储器 174
习题 176
第5章 同步时序电路设计 186
5.1 同步时序电路的建模 186
5.1.1 根据输入序列推导状态表(图) 186
5.1.2 根据输出序列推导状态表(图) 190
5.2 用触发器实现同步时序电路 191
5.3 用MSI时序模块设计同步时序电路 202
5.3.1 以集成计数器为核心设计同步时序电路 202
5.3.2 以多D触发器为核心设计同步时序电路 208
5.4 应用设计实例——铁路和公路交叉路口自动交通控制器的设计 211
习题 218
第6章 数字系统设计与设计自动化 222
6.1 数字系统设计初步 222
6.1.1 算法设计 223
6.1.2 数据处理单元设计 226
6.1.3 控制单元设计 228
6.2 计算机的组织结构 237
6.2.1 计算机的基本结构 237
6.2.2 简单CPU的有限状态机 238
6.3 数字系统设计自动化 243
6.3.1 逻辑验证与逻辑模拟 244
6.3.2 逻辑综合与优化 247
6.4 硬件描述语言VHDL 251
6.4.1 VHDL基本结构 252
6.4.2 数据对象、类型及运算符 256
6.4.3 顺序语句 260
6.4.4 并行语句 263
6.4.5 子程序 269
6.4.6 程序包与设计库 273
6.4.7 元件配置 275
6.4.8 VHDL描述实例 278
习题 285
7.1 PLD的基本原理 288
第7章 可编程逻辑器件及其应用 288
7.1.1 PLD的基本组成 289
7.1.2 PLD内部电路的表示方法 290
7.1.3 PLD的编程方法 291
7.2 简单可编程逻辑器件SPLD 292
7.2.1 可编程只读存储器PROM 292
7.2.2 可编程逻辑阵列PLA 295
7.2.3 可编程阵列逻辑PAL 296
7.2.4 通用阵列逻辑GAL 299
7.3.1 CPLD组成与特点 302
7.3 高密度可编程逻辑器件HDPLD 302
7.3.2 FPGA组成与特点 305
7.3.3 连线确定的FPGA 308
7.3.4 HDPLD编程技术 311
7.4 常用可编程逻辑器件及其开发工具 317
7.4.1 Lattice公司的CPLD/FPGA与开发软件 317
7.4.2 Altera公司的CPLD/FPGA及开发工具 318
7.4.3 Xilinx公司的CPLD/FPGA和开发平台 319
7.5 PLD应用举例 321
习题 326
8.1 集成数/模转换器(DAC) 328
第8章 集成数/模和模/数转换器 328
8.1.1 集成D/A转换技术 329
8.1.2 DAC的主要技术指标 332
8.1.3 DAC的选用 334
8.1.4 典型集成DAC及其应用 334
8.2 集成模/数转换器(ADC) 337
8.2.1 A/D转换的步骤 337
8.2.2 集成A/D转换技术 340
8.2.3 ADC的主要技术指标 349
8.2.4 ADC的选用 350
8.2.5 典型集成ADC及其应用 351
习题 354
第9章 数字电路测试和可测性设计 358
9.1 数字电路的故障检测 358
9.1.1 故障模型与测试码 358
9.1.2 组合电路的测试生成 360
9.1.3 同步时序电路的测试 364
9.2 数字电路的可测性设计 365
9.2.1 可控制性和可观察性 365
9.2.2 增加控制点与观察点的方法 367
9.2.3 扫描设计技术 371
9.3 边界扫描设计 373
9.3.1 边界扫描芯片的结构 374
9.3.2 板级边界扫描设计 377
9.3.3 系统级边界扫描结构 379
9.4 内自测试 380
9.4.1 内自测试的组成 380
9.4.2 特征分析器 381
9.4.3 内建逻辑模块观察器 383
习题 384