内容简介
第1章 绪论
1.1 数字硬件
1.1.1 标准芯片
1.1.2 可编程逻辑器件
1.1.3 定制芯片
1.2 设计过程
1.3 计算机结构
1.4 本书中的逻辑电路设计
1.5 信息的数字表示
1.5.1 二进制数
1.5.2 十进制和二进制系统之间的转换
1.5.3 ASCII字符码
1.5.4 数字和模拟信息
1.6 理论和实践
习题
参考文献
第2章 逻辑电路导论
2.1 变量和函数
2.2 反相
2.3 真值表
2.4 逻辑门和网络
2.4.1 逻辑网络的分析
2.5 布尔代数
2.5.1 维恩图
2.5.2 符号和术语
2.5.3 操作的优先级
2.6 用与、或和非门进行综合
2.6.1 与或和或与形式
2.7 与非和或非逻辑网络
2.8 设计实例
2.8.1 三路灯光控制
2.8.2 多路选择器电路
2.8.3 数字显示
2.9 CAD 工具简介
2.9.1 设计输入
2.9.2 逻辑综合
2.9.3 功能仿真
2.9.4 物理设计
2.9.5 时序仿真
2.9.6 电路实现
2.9.7 完整的设计流程
2.10 Verilog简介
2.10.1 逻辑电路的结构描述
2.10.2 逻辑电路的行为描述
2.10.3 层次化Verilog代码
2.10.4 如何不写Verilog代码
2.11 化简和卡诺图
2.12 化简策略
2.12.1 术语
2.12.2 化简过程
2.13 或与形式的最简
2.14 不完全确定函数
2.15 多输出电路
2.16 小结
2.17 问题求解案例
习题
参考文献
第3章 数的表示和算术电路
3.1 数位表示法
3.1.1 无符号整数
3.1.2 八进制数和十六进制数的表示
3.2 无符号数的加法
3.2.1 全加器的分解
3.2.2 行波进位加法器
3.2.3 设计实例
3.3 有符号数
3.3.1 负数
3.3.2 加法和减法
3.3.3 加法器和减法器单
3.3.4 基数补码方案
3.3.5 算术溢出
3.3.6 性能问题
3.4 快速加法器
3.4.1 超前进位加法器
3.5 用CAD 工具设计算术电路
3.5.1 用原理图编辑工具设计算术电路
3.5.2 用Verilog设计算术电路
3.5.3 用向量信号
3.5.4 用自动生成语句
3.5.5 Verilog中的线网和变量
3.5.6 算术赋值语句
3.5.7 Verilog 中的模块层次化
3.5.8 Verilog 中数的表示
3.6 乘法
3.6.1 无符号数的阵列乘法
3.6.2 有符号数的乘法
3.7 其他数的表示
3.7.1 定点数
3.7.2 浮点数
3.7.3 二进制编码的十进制数表示
3.8 问题求解案例
习题
参考文献
第4章 组合电路构件块
4.1 多路选择器
4.1.1 用多路选择器进行逻辑函数综合
4.1.2 用香农展开进行多路选择器综合
4.2 译码器
4.2.1 多路分解器
4.3 编码器
4.3.1 二进制编码器
4.3.2 优先编码器
4.4 码制转换器
4.5 算术比较电路
4.6 用Verilog表示组合电路
4.6.1 条件操作符
4.6.2 if-else语句
4.6.3 case语句
4.6.4 for循环语句
4.6.5 Verilog操作符
4.6.6 生成结构
4.6.7 任务和函数
4.7 小结
4.8 问题求解案例
习题
参考文献
第5章 触发器、寄存器和计数器
5.1 基本锁存器
5.2 门控SR锁存器
5.2.1 用与非门实现的门控SR锁存器
5.3 门控D锁存器
5.3.1 传输延时的影响
5.4 边沿触发的D触发器
5.4.1 主从D触发器
5.4.2 其他类型的边沿触发的D触发器
5.4.3 带清零和置位的D触发器
5.4.4 触发器的时间参数
5.5 T触发器
5.6 JK触发器
5.7 术语小结
5.8 寄存器
5.8.1 移位寄存器
5.8.2 并行存取的移位寄存器
5.9 计数器
5.9.1 异步计数器
5.9.2 同步计数器
5.9.3 可并行置数的计数器
5.10 同步复位
5.11 其他类型的计数器
5.11.1 BCD十数器
5.11.2 环形计数器
5.11.3 约翰森(Johnson)计数器
5.11.4 计数器设计小结
5.12 CAD 工具中存储单元的使用
5.12.1 在原理图中加入存储单元
5.12.2 用Verilog代码实现存储单元
5.12.3 阻塞和非阻塞赋值
5.12.4 组合电路的非阻塞赋值
5.12.5 具有清零功能的触发器
5.13 用Verilog代码实现寄存器和计数器
5.13.1 具有使能输入的触发器和寄存器
5.13.2 具有使能输入的移位寄存器
5.14 设计案例
5.14.1 反应计时器
5.14.2 寄存器传输级(RTL)代码
5.15 触发器电路的时序分析
5.15.1 有时钟漂移的时序分析
5.16 小结
5.17 问题求解案例
习题
参考文献
第6章 同步时序电路
6.1 基本设计步骤
6.1.1 状态图
6.1.2 状态表
6.1.3 状态分配
6.1.4 触发器的选择以及次态和输出表达式的推导
6.1.5 时序图
6.1.6 设计步骤小结
6.2 状态分配问题
6.2.1 单热编码
6.3 米利状态模型
6.4 用CAD工具设计有限状态机
6.4.1 摩尔型有限状态机的Verilog代码
6.4.2 Verilog代码的综合
6.4.3 仿真和测试该电路
6.4.4 另一种风格的Verilog 代码
6.4.5 用CAD工具的设计步骤小结
6.4.6 在Verilog代码中进行状态分配
6.4.7 用Verilog代码来描述米利有限状态机
6.5 串行加法器举例
6.5.1 串行加法器的米利型有限状态机
6.5.2 串行加法器的摩尔型有限状态机
6.5.3 串行加法器的Verilog 代码
6.6 状态化简
6.6.1 化简过程的划分
6.6.2 不完全确定的有限状态机
6.7 用时序电路方法设计计数器
6.7.1 模8计数器的状态图和状态表
6.7.2 状态分配
6.7.3 用D触发器实现
6.7.4 用JK触发器实现
6.7.5 案例——一个不一样的计数器
6.8 用作仲裁器电路的有限状态机
6.9 同步时序电路分析
6.10 算法状态机(ASM)图
6.11 时序电路的形式化模型
6.12 小结
6.13 问题求解案例
习题
参考文献
第7章 数字系统设计
7.1 总线结构
7.1.1 用三态驱动器实现总线
7.1.2 用多路选择器实现总线
7.1.3 总线结构的Verilog代码描述
7.2 简单处理器
7.3 位计数电路
7.4 移位相加实现的乘法器
7.5 除法器
7.6 算术平均
7.7 排序操作
7.8 时钟同步和时序问题
7.8.1 时钟偏差
7.8.2 触发器的时序参数
7.8.3 触发器的异步输入
7.8.4 开关抖动
7.9 小结
习题
参考文献
第8章 逻辑函数的优化实现
8.1 多级综合
8.1.1 提取公因子
8.1.2 函数分解
8.1.3 多级与非和或非电路
8.2 多级电路的分析
8.3 逻辑函数的替代表示
8.3.1 立方体表示
8.3.2 二进制决策图
8.4 基于立方体表示的优化技术
8.4.1 化简的列表法
8.4.2 立方体化简技术
8.4.3 实际问题考虑
8.5 小结
8.6 问题求解案例
习题
参考文献
第9章 异步时序电路
9.1 异步行为
9.2 异步电路分析
9.3 异步电路综合
9.4 状态化简
9.5 状态分配
9.5.1 转移图
9.5.2 未指定次态项的利用
9.5.3 用附加状态进行的状态分配
9.5.4 单热状态分配
9.6 冒险
9.6.1 静态冒险
9.6.2 动态冒险
9.6.3 冒险的意义
9.7 一个完整的设计实例
9.7.1 自动售货机控制器
9.8 小结
9.9 问题求解案例
习题
参考文献
第10章 计算机辅助设计工具
10.1 综合
10.1.1 网表生成
10.1.2 门优化
10.1.3 技术映射
10.2 物理设计
10.2.1 布局
10.2.2 布线
10.2.3 静态时序分析
10.3 小结
参考文献
第11章 逻辑电路测试
11.1 故障模型
11.1.1 固滞模型
11.1.2 单个和多个故障
11.1.3 CMOS电路
11.2 测试集的复杂度
11.3 路径的敏感化
11.3.1 特殊故障的检测
11.4 树状结构电路
11.5 随机测试
11.6 时序电路测试
11.6.1 可测试设计
11.7 内建自测试
11.7.1 内建逻辑块观察器
11.7.2 签字分析
11.7.3 边界扫描
11.8 印制电路板
11.8.1 PCB测试
11.8.2 测试仪器
11.9 小结
习题
参考文献
附录A 数的表示和算术电路
A.1 Verilog代码中的文档
A.2 空白符
A.3 Verilog代码中的信号
A.4 标识符
A.5 信号值、数值和参数
A.5.1 参数
A.6 线网和变量类型
A.6.1 线网
A.6.2 变量
A.6.3 存储器
A.7 操作符
A.8 Verilog模块
A.9 门实例化
A.10 并行语句
A.10.1 连续赋值
A.10.2 使用参数
A.11 过程语句
A.11.1 Always和Initial块
A.11.2 if-else语句
A.11.3 语句顺序
A.11.4 case语句
A.11.5 Casez和Casex语句
A.11.6 Loop语句
A.11.7 组合电路的阻塞和非阻塞赋值对比
A.12 使用子电路
A.12.1 子电路参数
A.12.2 生成能力
A.13 函数和任务
A.14 时序电路
A.14.1 门控D锁存器
A.14.2 D触发器
A.14.3 带复位的触发器
A.14.4 寄存器
A.14.5 移位寄存器
A.14.6 计数器
A.14.7 时序电路实例
A.14.8 摩尔型有限状态机
A.14.9 米利型有限状态机
A.15 编写Verilog代码的原则
A.16 小结
参考文献
附录B 实现技术
B.1 晶体管开关
B.2 NMOS逻辑门
B.3 CMOS逻辑门
B.3.1 逻辑门电路的速度
B.4 负逻辑系统
B.5 标准芯片
B.5.1 7400系列标准芯片
B.6 可编程逻辑器件
B.6.1 可编程逻辑阵列(PLA)
B.6.2 可编程阵列逻辑(PAL)
B.6.3 PLA和PAL的编程
B.6.4 复杂可编程逻辑阵列(CPLDs)
B.6.5 现场可编程门阵列
B.7 定制芯片、标准单元和门阵列
B.8 实践方面
B.8.1 MOSFET工艺和行为
B.8.2 MOSFET导通电阻
B.8.3 逻辑门中的电平值
B.8.4 噪声容限
B.8.5 逻辑门的动态特性
B.8.6 逻辑门的功耗
B.8.7 通过晶体管开关传输1和0
B.8.8 传输门
B.8.9 逻辑门的扇入和扇出
B.8.10 三态驱动器
B.9 静态随机存取存储器(SRAM)
B.9.1 PLD中的SRAM块
B.10 SPLD、CPLD和FPGA的实现细节
B.10.1 FPGA实现
B.11 小结
B.12 问题求解案例
习题
参考文献
习题答案
索引