《计算机科学丛书数字设计:原理与实践(原书第5版)/(美)约翰 F.韦克利》[美]约翰F.韦克利(JohnF. | PDF下载|ePub下载
计算机科学丛书数字设计:原理与实践(原书第5版)/(美)约翰 F.韦克利 版权信息
- 出版社:机械工业出版社
- 出版时间:2018-05-01
- ISBN:9787111629412
- 条形码:9787111629412 ; 978-7-111-62941-2
计算机科学丛书数字设计:原理与实践(原书第5版)/(美)约翰 F.韦克利 本书特色
本书为读者提供了高级(HDL)、低级(电子电路)以及完整的“各种中间级”(门电路、触发器和一些较高级的数字设计构件)层次的基础知识,介绍了与组合电路、时序电路等相关的各方面内容(涉及数制编码、Verilog模块、状态机、FPGA、ROM、RAM以及CMOS逻辑系列等),并提供了大量的设计实例以及具有指导意义的习题。
本书可作为电气工程、计算机工程或计算机科学专业数字逻辑设计课程的入门与进阶教材。
计算机科学丛书数字设计:原理与实践(原书第5版)/(美)约翰 F.韦克利 内容简介
本书为读者提供了不错(HDL)、低级(电子电路)以及完整的“各种中间级”(门电路、触发器和一些较不错的数字设计构件)层次的基础知识,介绍了与组合电路、时序电路等相关的各方面内容(涉及数制编码、Verilog模块、状态机、FPGA、ROM、RAM以及CMOS逻辑系列等),并提供了大量的设计实例以及具有指导意义的习题。本书可作为电气工程、计算机工程或计算机科学专业数字逻辑设计课程的入门与进阶教材。
计算机科学丛书数字设计:原理与实践(原书第5版)/(美)约翰 F.韦克利 目录
目 录
Digital Design: Principles and Practices, Fifth Edition
出版者的话
译者序
前言
第1章 引言1
1.1 关于数字设计1
1.2 模拟与数字2
1.3 模拟信号5
1.4 数字逻辑信号5
1.5 逻辑电路与门电路6
1.6 数字设计的软件技术9
1.7 集成电路11
1.8 逻辑族和CMOS13
1.9 CMOS逻辑电路13
1.10 可编程器件17
1.11 专用集成电路19
1.12 印制电路板19
1.13 数字设计层次20
1.14 成本*小化22
1.15 继续学习23
训练题23
第2章 数制和编码24
2.1 按位计数制24
2.2 二进制、八进制和十六进制25
2.3 二�C十进制转换27
2.4 二进制数的加法和减法29
2.5 负数的表示31
2.5.1 原码表示法31
2.5.2 补码数制31
2.5.3 二进制补码表示法32
*2.5.4 二进制反码表示法33
*2.5.5 余码表示法33
2.6 二进制补码的加法和减法33
2.6.1 加法规则33
2.6.2 图示法34
2.6.3 溢出35
2.6.4 减法规则35
2.6.5 二进制补码与无符号二进制数36
*2.7 二进制反码的加法和减法37
*2.8 二进制乘法38
*2.9 二进制除法39
*2.10 十进制数的二进制编码40
2.11 格雷码42
*2.12 字符编码43
2.13 动作、条件和状态的编码45
*2.14 n维体与距离46
*2.15 检错码和纠错码47
2.15.1 检错码48
2.15.2 纠错码与多重检错码49
2.15.3 汉明码51
2.15.4 循环冗余校验码53
2.15.5 二维码53
2.15.6 校验和码55
2.15.7 n中取m码55
2.16 用于串行数据传输与存储的编码55
2.16.1 并行/串行数据55
*2.16.2 串行线路编码56
参考资料58
训练题59
练习题61
第3章 开关代数和组合逻辑64
3.1 开关代数65
3.1.1 公理66
3.1.2 单变量定理67
3.1.3 二变量定理和三变量定理68
3.1.4 n变量定理69
3.1.5 对偶性71
3.1.6 逻辑函数的标准表示法72
3.2 组合电路分析74
3.3 组合电路的综合79
3.3.1 电路描述与设计80
3.3.2 电路处理82
3.3.3 组合电路*小化85
*3.3.4 卡诺图86
*3.4 时序冒险88
3.4.1 静态冒险88
3.4.2 利用卡诺图发现静态冒险89
3.4.3 动态冒险91
3.4.4 设计无冒险电路91
参考资料92
训练题93
练习题 94
第4章 数字设计实践97
4.1 文档标准97
4.1.1 方框图98
4.1.2 门的符号100
4.1.3 信号名和有效电平101
4.1.4 引脚的有效电平102
4.1.5 常量逻辑信号103
*4.1.6 “圈到圈”逻辑设计104
4.1.7 HDL模型中的信号命名106
4.1.8 绘制布局图108
4.1.9 总线110
4.1.10 附带的图示信息111
4.2 电路时序112
4.2.1 时序图112
4.2.2 传输延迟114
4.2.3 时序说明115
*4.2.4 采样时序说明116
4.2.5 时序分析工具119
4.3 基于HDL的数字设计120
4.3.1 HDL的历史120
4.3.2 为什么用HDL121
4.3.3 HDL的EDA工具组121
4.3.4 基于HDL的设计流程123
参考资料126
训练题126
练习题128
第5章 Verilog硬件描述语言129
5.1 Verilog模型和模块130
5.2 逻辑系统、网格、变量和常量134
5.3 向量和操作符137
5.4 数组140
5.5 逻辑操作符和表达式142
5.6 编译器命令143
5.7 结构化模型144
5.8 数据流模型148
5.9 行为化模型(过程代码)149
5.9.1 always语句与程序块149
5.9.2 过程语句151
5.9.3 推理出的锁存器151
5.9.4 赋值语句151
5.9.5 begin-end程序块153
5.9.6 if和if-else语句154
5.9.7 case语句155
5.9.8 循环语句158
5.10 函数和任务160
5.11 时间维度163
5.12 模拟164
5.13 测试平台165
5.14 时序逻辑设计的Verilog特性169
5.15 综合169
参考资料170
训练题171
练习题171
第6章 基本组合逻辑元件173
6.1 只读存储器175
6.1.1 ROM和真值表175
6.1.2 用ROM实现任意组合逻辑函数176
6.1.3 FPGA查询表178
*6.2 组合型PLD179
6.2.1 可编程逻辑阵列179
6.2.2 可编程阵列逻辑器件181
6.3 译码和选择183
*6.3.1 一种更加数学化的译码器定义184
6.3.2 二进制译码器185
6.3.3 更大型的译码器188
6.3.4 用Verilog实现的译码器190
6.3.5 定制的译码器200
6.3.6 七段译码器204
6.3.7 二进制编码器205
6.4 多路复用器206
6.4.1 门级多路复用器电路208
6.4.2 扩展多路复用器212
6.4.3 多路复用器、多路分配器和总线212
6.4.4 用Verilog实现多路复用器214
参考资料217
训练题218
练习题219
第7章 更多的组合构件224
7.1 三态器件224
7.1.1 三态缓冲器224
*7.1.2 标准MSI三态缓冲器226
7.1.3 用Verilog实现三态输出229
7.1.4 用FPGA实现三态输出230
7.2 优先编码器232
7.2.1 级联优先编码器233
7.2.2 用Verilog实现优先编码器234
7.3 异或门和奇偶校验功能238
7.3.1 异或门和异或非门238
7.3.2 奇偶校验电路240
7.3.3 奇偶校验的应用240
7.3.4 用Verilog实现异或门和奇偶校验电路243
7.4 比较器247
7.4.1 比较器结构247
7.4.2 迭代电路248
7.4.3 迭代比较器电路249
7.4.4 数值比较器250
7.4.5 用HDL实现比较器253
7.4.6 用Verilog实现比较器254
Digital Design: Principles and Practices, Fifth Edition
出版者的话
译者序
前言
第1章 引言1
1.1 关于数字设计1
1.2 模拟与数字2
1.3 模拟信号5
1.4 数字逻辑信号5
1.5 逻辑电路与门电路6
1.6 数字设计的软件技术9
1.7 集成电路11
1.8 逻辑族和CMOS13
1.9 CMOS逻辑电路13
1.10 可编程器件17
1.11 专用集成电路19
1.12 印制电路板19
1.13 数字设计层次20
1.14 成本*小化22
1.15 继续学习23
训练题23
第2章 数制和编码24
2.1 按位计数制24
2.2 二进制、八进制和十六进制25
2.3 二�C十进制转换27
2.4 二进制数的加法和减法29
2.5 负数的表示31
2.5.1 原码表示法31
2.5.2 补码数制31
2.5.3 二进制补码表示法32
*2.5.4 二进制反码表示法33
*2.5.5 余码表示法33
2.6 二进制补码的加法和减法33
2.6.1 加法规则33
2.6.2 图示法34
2.6.3 溢出35
2.6.4 减法规则35
2.6.5 二进制补码与无符号二进制数36
*2.7 二进制反码的加法和减法37
*2.8 二进制乘法38
*2.9 二进制除法39
*2.10 十进制数的二进制编码40
2.11 格雷码42
*2.12 字符编码43
2.13 动作、条件和状态的编码45
*2.14 n维体与距离46
*2.15 检错码和纠错码47
2.15.1 检错码48
2.15.2 纠错码与多重检错码49
2.15.3 汉明码51
2.15.4 循环冗余校验码53
2.15.5 二维码53
2.15.6 校验和码55
2.15.7 n中取m码55
2.16 用于串行数据传输与存储的编码55
2.16.1 并行/串行数据55
*2.16.2 串行线路编码56
参考资料58
训练题59
练习题61
第3章 开关代数和组合逻辑64
3.1 开关代数65
3.1.1 公理66
3.1.2 单变量定理67
3.1.3 二变量定理和三变量定理68
3.1.4 n变量定理69
3.1.5 对偶性71
3.1.6 逻辑函数的标准表示法72
3.2 组合电路分析74
3.3 组合电路的综合79
3.3.1 电路描述与设计80
3.3.2 电路处理82
3.3.3 组合电路*小化85
*3.3.4 卡诺图86
*3.4 时序冒险88
3.4.1 静态冒险88
3.4.2 利用卡诺图发现静态冒险89
3.4.3 动态冒险91
3.4.4 设计无冒险电路91
参考资料92
训练题93
练习题 94
第4章 数字设计实践97
4.1 文档标准97
4.1.1 方框图98
4.1.2 门的符号100
4.1.3 信号名和有效电平101
4.1.4 引脚的有效电平102
4.1.5 常量逻辑信号103
*4.1.6 “圈到圈”逻辑设计104
4.1.7 HDL模型中的信号命名106
4.1.8 绘制布局图108
4.1.9 总线110
4.1.10 附带的图示信息111
4.2 电路时序112
4.2.1 时序图112
4.2.2 传输延迟114
4.2.3 时序说明115
*4.2.4 采样时序说明116
4.2.5 时序分析工具119
4.3 基于HDL的数字设计120
4.3.1 HDL的历史120
4.3.2 为什么用HDL121
4.3.3 HDL的EDA工具组121
4.3.4 基于HDL的设计流程123
参考资料126
训练题126
练习题128
第5章 Verilog硬件描述语言129
5.1 Verilog模型和模块130
5.2 逻辑系统、网格、变量和常量134
5.3 向量和操作符137
5.4 数组140
5.5 逻辑操作符和表达式142
5.6 编译器命令143
5.7 结构化模型144
5.8 数据流模型148
5.9 行为化模型(过程代码)149
5.9.1 always语句与程序块149
5.9.2 过程语句151
5.9.3 推理出的锁存器151
5.9.4 赋值语句151
5.9.5 begin-end程序块153
5.9.6 if和if-else语句154
5.9.7 case语句155
5.9.8 循环语句158
5.10 函数和任务160
5.11 时间维度163
5.12 模拟164
5.13 测试平台165
5.14 时序逻辑设计的Verilog特性169
5.15 综合169
参考资料170
训练题171
练习题171
第6章 基本组合逻辑元件173
6.1 只读存储器175
6.1.1 ROM和真值表175
6.1.2 用ROM实现任意组合逻辑函数176
6.1.3 FPGA查询表178
*6.2 组合型PLD179
6.2.1 可编程逻辑阵列179
6.2.2 可编程阵列逻辑器件181
6.3 译码和选择183
*6.3.1 一种更加数学化的译码器定义184
6.3.2 二进制译码器185
6.3.3 更大型的译码器188
6.3.4 用Verilog实现的译码器190
6.3.5 定制的译码器200
6.3.6 七段译码器204
6.3.7 二进制编码器205
6.4 多路复用器206
6.4.1 门级多路复用器电路208
6.4.2 扩展多路复用器212
6.4.3 多路复用器、多路分配器和总线212
6.4.4 用Verilog实现多路复用器214
参考资料217
训练题218
练习题219
第7章 更多的组合构件224
7.1 三态器件224
7.1.1 三态缓冲器224
*7.1.2 标准MSI三态缓冲器226
7.1.3 用Verilog实现三态输出229
7.1.4 用FPGA实现三态输出230
7.2 优先编码器232
7.2.1 级联优先编码器233
7.2.2 用Verilog实现优先编码器234
7.3 异或门和奇偶校验功能238
7.3.1 异或门和异或非门238
7.3.2 奇偶校验电路240
7.3.3 奇偶校验的应用240
7.3.4 用Verilog实现异或门和奇偶校验电路243
7.4 比较器247
7.4.1 比较器结构247
7.4.2 迭代电路248
7.4.3 迭代比较器电路249
7.4.4 数值比较器250
7.4.5 用HDL实现比较器253
7.4.6 用Verilog实现比较器254