第1章 亚稳态的世界 1
1.1简介 1
1.2亚稳态理论 1
1.3亚稳态窗口 3
1.4计算MTBF 4
1.5避免亚稳态 5
1.5.1使用多级同步器 6
1.5.2使用时钟倍频电路的多级同步器 6
1.6亚稳态测试电路 7
1.7同步器的类型 8
1.8亚稳态/综合性建议 10
第2章 时钟和复位 11
2.1概述 11
2.2同步设计 12
2.2.1避免使用行波计数器 12
2.2.2门控时钟 12
2.2.3双边沿或混合边沿时钟 13
2.2.4用触发器驱动另一个触发器的异步复位端 13
2.3推荐的设计技术 14
2.3.1避免在设计中出现组合环路 14
2.3.2避免数字设计中的延迟链 16
2.3.3避免使用异步脉冲产生器 16
2.3.4避免使用锁存器 17
2.3.5避免使用双沿时钟 20
2.4时钟方案 22
2.4.1内部产生的时钟 22
2.4.2分频时钟 24
2.4.3行波计数器 25
2.4.4多路时钟 25
2.4.5同步时钟使能和门控时钟 26
2.5门控时钟方法学 28
2.5.1不含锁存器的门控时钟电路 28
2.5.2基于锁存器的门控时钟电路 30
2.5.3门控信号 32
2.5.4重组数据路径以减少转换传播 32
2.6复位信号的设计策略 32
2.6.1用同步复位进行设计 33
2.6.2使用异步复位进行设计 36
2.6.3带异步复位和异步置位的触发器 38
2.6.4移除异步复位的问题 39
2.6.5复位同步器 40
2.6.6过滤复位毛刺 41
2.7控制时钟偏移 42
2.7.1短路径问题 43
2.7.2时钟偏移和短路径分析 43
2.7.3使时钟偏移最小化 45
参考文献 49
第3章 处理多个时钟 50
3.1介绍 50
3.2多时钟域 50
3.3多时钟域设计的难题 51
3.3.1违背建立时间和保持时间 52
3.3.2亚稳态 53
3.4多时钟设计的处理技术 53
3.4.1时钟命名法 53
3.4.2分块化设计 54
3.4.3跨时钟域 54
3.5跨时钟域 57
3.5.1同频零相位差时钟 57
3.5.2同频恒定相位差时钟 58
3.5.3非同频、可变相位差时钟 59
3.6握手信号方法 63
3.6.1握手信号的要求 64
3.6.2握手信号的缺点 64
3.7使用同步FIFO传输数据 65
3.7.1同步FIFO架构 65
3.7.2同步FIFO的工作方式 66
3.8异步FIFO(或双时钟FIFO) 68
3.8.1避免用二进制计数器实现指针 69
3.8.2使用格雷码取代二进制计数 69
3.8.3用格雷码实现FIFO指针 72
3.8.4 FIFO满和FIFO空的产生 76
3.8.5双时钟FIFO设计 79
参考文献 82
第4章 时钟分频器 83
4.1介绍 83
4.2同步整数分频器 83
4.3具有50%占空比的奇数整数分频 84
4.4非整数分频(非50%占分比) 86
4.4.1具有非50%占空比的1.5倍分频 86
4.4.2 4.5倍分频计数器的实现(非50%占空比) 87
4.5 N分频的替换方法 88
参考文献 89
第5章 低功耗设计 90
5.1介绍 90
5.2功耗源 90
5.3在各设计抽象层次降低功耗 91
5.4系统级低功耗技术 93
5.4.1片上系统方法 93
5.4.2硬件/软件划分 93
5.4.3低功耗软件 95
5.4.4选择处理器 96
5.5体系结构级降低功耗技术 97
5.5.1高级门控时钟 97
5.5.2动态电压频率调节 99
5.5.3基于缓存的系统体系结构 100
5.5.4对数FFT体系结构 100
5.5.5异步(无时钟)设计 100
5.5.6电源门控 102
5.5.7多阈值电压 105
5.5.8多电压供电 106
5.5.9存储器电源门控 106
5.6在寄存器传输级降低功耗 107
5.6.1状态机编码和解码 107
5.6.2二进制数表示法 108
5.6.3门控时钟基础 109
5.6.4独热码多路器 111
5.6.5除掉多余的转换 112
5.6.6资源共享 114
5.6.7使用行波计数器来降低功耗 114
5.6.8总线反转 117
5.6.9高活跃度网络 118
5.6.10启用和禁用逻辑云 119
5.7寄存器级低功耗技术 120
5.7.1技术水平 120
5.7.2版图优化 120
5.7.3衬底偏压 120
5.7.4减少氧化层厚度 121
5.7.5多氧化层器件 121
5.7.6利用定制设计减小电容 121
参考文献 122
第6章 流水线的艺术 123
6.1介绍 123
6.2影响最大时钟频率的因素 124
6.2.1时钟偏移 125
6.2.2时钟抖动 125
6.3流水线 127
6.4解释流水线——一个真实的例子 129
6.5来自于流水线的性能提高 130
6.6 DLX指令集的实现 133
6.7流水线对吞吐率的影响 137
6.8流水线原理 138
6.9流水线冒险 138
6.9.1结构冒险 139
6.9.2数据冒险 140
6.9.3控制冒险 143
6.9.4其他风险 144
6.10 ADC中的流水线——一个例子 145
参考文献 146
第7章 处理字节顺序 147
7.1介绍 147
7.2定义 147
7.3小端模式或大端模式:哪个更好 149
7.4处理字节顺序不匹配的问题 151
7.5访问32位存储器 152
7.6处理字节顺序不匹配 153
7.6.1保持数据完整性(数据不变) 154
7.6.2地址不变 156
7.6.3软件字节交换 158
7.7字节顺序中性代码 159
7.8字节顺序中性编码指南 159
参考文献 160
第8章 消抖技术 161
8.1简介 161
8.2开关行为 162
8.3开关种类 163
8.4消抖 164
8.4.1 RC消抖 164
8.4.2硬件消抖电路 168
8.4.3软件消抖电路 169
8.4.4消抖指南 171
8.4.5在多重输入下消抖 172
8.5现有的解决方案 173
第9章 电磁兼容性能设计指南 175
9.1简介 175
9.2定义 175
9.3电磁干扰理论及与电流和频率之关系 177
9.4电磁干扰的规程、标准和认证 178
9.5影响集成电路抗干扰性能的几个因素 179
9.5.1作为噪声源的微控制器 179
9.5.2影响电磁兼容性的其他因素 180
9.5.3噪声载体 181
9.6减少EMC/EMI的技术 181
9.6.1系统级技术 182
9.6.2板级技术 184
9.6.3微控制器级技术 193
9.6.4软件层级技术 196
9.6.5其他技术 203
9.7总结 204