第1章 绪论 1
1.1 对书名的仔细分析 2
1.1.1 设计 2
1.1.2 逻辑设计 3
1.1.3 现代逻辑设计 4
1.2 逻辑设计简史 5
1.3 计算 7
1.3.1 开关、继电器和电路 7
1.3.2 晶体管 9
1.3.3 数字表示法 11
1.3.4 编码 12
1.4 实例 12
小结 20
深入阅读 21
习题 22
第2章 组合逻辑 26
2.1 输出是输入的函数 26
2.1.1 组合逻辑的定义 26
2.1.2 组合逻辑实例 27
2.2 布尔逻辑的定律和定理 29
2.2.1 布尔代数的公理 31
2.2.2 布尔代数的定理 33
2.2.3 对偶定律和德摩根定律 36
2.3 布尔公式的实现 37
2.3.1 逻辑门 37
2.3.2 逻辑模块和逻辑层次 39
2.3.3 时间行为和波形 41
2.3.4 门和连线数目的最小化 42
2.3.5 实例研究:七段译码器 44
2.4 两级逻辑 45
2.4.1 规范形式 45
2.4.2 不完全确定的函数 50
2.5 两级简化的动机 52
2.5.1 布尔表达式的图形化 53
2.5.2 布尔立方体 54
2.5.3 卡诺图 56
2.6 多级逻辑 62
2.7 多级简化的动机 65
2.7.1 因式分解形式 66
2.7.2 多级简化标准 67
小结 68
深入阅读 68
习题 69
第3章 组合逻辑的分析 76
3.1 两级逻辑简化 76
3.1.1 布尔最简的过程 81
3.1.2 回顾卡诺图:五变量函数和六变量函数 84
3.2 两级简化的自动化 85
3.2.1 Quine-McCluskey算法 86
3.2.2 espresso算法 89
3.2.3 S-o-P和P-o-S逻辑网络的实现 90
3.3 多级简化 94
3.4 多级简化的自动化 99
3.4.1 多级逻辑优化方法 100
3.4.2 多级逻辑网络的实现 102
3.5 组合网络的时间响应 105
3.5.1 门延时 105
3.5.2 时序波形 106
3.5.3 脉冲整形电路的分析 106
3.5.4 冒险和毛刺 107
3.5.5 两级网络的冒险检测和消除 108
3.5.6 多级网络的静态冒险 111
3.5.7 静态无冒险多级电路的设计 112
3.5.8 动态冒险 113
3.6 硬件描述语言 114
3.6.1 结构描述 115
3.6.2 行为描述 116
3.6.3 延时 117
3.6.4 事件驱动仿真 117
小结 119
深入阅读 119
习题 120
第4章 组合逻辑技术 126
4.1 历史 126
4.1.1 从开关到集成电路 126
4.1.2 封装逻辑、可重构性和可编程逻辑 128
4.1.3 技术指标 130
4.2.1 固定逻辑 132
4.2 基本逻辑元件 132
4.2.2 查找表 136
4.2.3 基于模板的逻辑 145
4.3 两级和多级逻辑 159
4.4 其他不是门电路的逻辑 167
4.4.1 三态输出 168
4.4.2 集电极开路输出和线与/或逻辑 172
小结 173
深入阅读 174
习题 175
第5章 组合逻辑设计的实例研究 181
5.1 设计过程 181
5.2 简单的过程线控问题 183
5.3 电话键盘译码器 185
5.4 闰年计算器 188
5.5 逻辑函数单元 190
5.6 加法器设计 193
5.6.1 半加器/全加器 193
5.6.2 超前进位电路 195
5.6.3 进位选择加法器 199
5.6.4 BCD加法器设计 200
5.7 算术逻辑单元设计 201
5.7.1 ALU单元 201
5.8 组合乘法器 204
小结 206
深入阅读 207
习题 208
第6章 时序逻辑设计 212
6.1 基本时序逻辑单元 212
6.1.1 带反馈的简单电路 213
6.1.2 基本锁存器 217
6.1.3 时钟 218
6.1.4 锁存器级联 219
6.1.5 主从锁存器和边沿触发触发器 221
6.1.6 时间参数定义 224
6.2 确定时序的方法 228
6.2.1 级联触发器以及建立/保持/传输时间 228
6.2.2 时钟漂移 230
6.2.3 异步输入 231
6.2.4 亚稳态和同步器失效 233
6.2.5 自定时和速度无关电路 234
6.3 寄存器 237
6.3.1 存储寄存器 237
6.3.2 移位寄存器 239
6.4 硬件描述语言 241
小结 245
深入阅读 246
习题 246
第7章 有限状态机 252
7.1 计数器 252
7.1.1 计数器设计过程 254
7.1.2 具有更复杂计数序列的计数器 255
7.1.3 自启动计数器 258
7.1.4 计数器复位 259
7.1.5 其他类型的计数器 259
7.2 状态机的概念 264
7.2.1 奇校验器或偶校验器 264
7.2.2 状态机的时序 267
7.3 有限状态机基本设计方法 268
7.3.1 有限状态机设计过程 269
7.3.2 摩尔型和米利型状态机 273
7.3.3 状态图表示法 274
7.3.4 两种状态机的比较 275
7.4.1 具有相同I/O行为的两个状态图 279
7.4 优化的动机 279
7.4.2 最少状态的优点 280
7.4.3 状态、输入和输出编码 281
7.4.4 状态机的分解 281
7.4.5 交通灯控制器 281
小结 285
深入阅读 286
习题 286
第8章 有限状态机的分析 292
8.1 状态最简化/化简 292
8.1.1 行匹配法 293
8.1.2 蕴含表方法 296
8.1.3 有无关项存在时的等价状态 300
8.1.4 状态最简化不起作用的例子 301
8.2 状态分配 302
8.2.1 顺序编码 303
8.2.2 随机编码 305
8.2.3 单点编码 305
8.2.4 面向输出的编码 307
8.2.5 启发式方法 308
8.3 有限状态机划分 313
8.3.1 引入空闲状态划分有限状态机 313
8.4 硬件描述语言 318
小结 322
深入阅读 323
习题 323
9.1 基本时序逻辑元件 331
第9章 时序逻辑技术 331
9.2 用计数器实现FSM设计 335
9.3 用可编程逻辑实现FSM设计 338
9.3.1 用ROM实现状态机 338
9.3.2 基于ROM与PLA的设计的比较 339
9.3.3 其他的可用PAL结构 343
9.4 用更复杂的可编程逻辑器件实现FSM设计 346
9.4.1 PLD:可编程逻辑器件 347
9.4.2 Altera可擦除可编程逻辑器件 348
9.4.3 Actel现场可编程门阵列 354
9.4.4 Xilinx现场可编程门阵列 357
9.5 实例研究:交通灯控制器 362
9.5.1 问题分解:交通灯状态机 363
9.5.2 用PLA/PAL/ROM实现 365
9.5.3 用计数器实现 366
9.5.4 用FPGA实现 367
小结 368
深入阅读 369
习题 369
第10章 时序逻辑设计的实例研究 373
10.1 有限输入串的识别器 373
10.2 复杂的计数器 379
10.3 数字密码锁 382
10.4 存储控制器 386
10.4.1 基本RAM:1024×4位静态RAM 386
10.4.2 动态RAM 389
10.4.3 其他类型的DRAM 391
10.4.4 详细的SRAM时序 392
10.4.5 简单的存储控制器的设计 394
10.5 时序乘法器 398
10.6 串口发送器/接收器 401
小结 412
深入阅读 412
习题 412
附录A 数制 419
附录B 基本电子线路 436
附录C 触发器类型 465
索引 478