第一部分 设计 4
第1章 绪论 4
1.1 当前SoC的结构 4
1.2 SoC设计中的问题 7
1.3 硬件-软件协同设计 11
1.3.1 协同设计流程 12
1.3.2 协同设计工具 15
1.4 核库、EDA工具和网址 16
1.4.1 核库 17
1.4.2 EDA工具和提供商 18
1.4.3 网上站点 22
参考文献 23
第2章 逻辑核的设计方法 25
2.1 SoC设计流程 25
2.2 设计复用的一般原则 27
2.2.1 同步设计 27
2.2.2 存储器和混合信号设计 28
2.2.4 时钟分配 29
2.2.3 片上总线 29
2.2.5 清零/置位/复位信号 31
2.2.6 物理设计 31
2.2.7 可交付模型 32
2.3 软核和固核的设计流程 33
2.3.1 设计流程 33
2.3.2 软核/固核的开发流程 34
2.3.3 RTL设计规则 35
2.3.4 软核/固核产品化 35
2.4.1 硬核设计中的特有问题 36
2.4 硬核设计流程 36
2.4.2 硬核开发流程 37
2.5 交付检查表与可交付的核 38
2.5.1 交付检查表 38
2.5.2 软核交付 39
2.5.3 硬核交付 40
2.6 系统集成 40
2.6.1 使用硬核设计 40
2.6.2 使用软核设计 41
2.6.3 系统验证 41
参考文献 42
第3章 存储器与模拟核的设计方法 43
3.1 使用大容量的嵌入式存储器的原因 43
3.2 嵌入式存储器的设计方法 46
3.2.1 电路技术 46
3.2.2 存储器编译器 52
3.2.3 仿真模型 54
3.3 模拟电路的技术要求 55
3.3.1 模/数转换器 55
3.3.2 数/模转换器 58
3.3.3 锁相环 59
3.4 高速器件 60
3.4.1 Rambus ASIC单元 60
3.4.2 IEEE 1394串行总线(Firewire)PHY层 61
3.4.3 高速I/O 61
参考文献 63
第4章 设计的确认 64
4.1 核级确认 64
4.1.1 核的确认方案 64
4.1.2 测试平台 66
4.1.3 核级时序验证 68
4.2 核接口的验证 70
4.2.1 协议验证 70
4.2.2 门级仿真 71
4.3 SoC的设计确认 71
4.3.1 协同仿真 72
4.3.2 硬仿真 75
4.3.3 硬件原型 76
参考文献 77
5.1 微处理器核 78
第5章 核及SoC设计实例 78
5.1.1 V830R/AV超标量RISC核 82
5.1.2 PowerPC 603e G2核的设计 83
5.2 关于存储器核生成器 85
5.3 核的集成和片上总线 85
5.4 SoC设计实例 87
5.4.1 媒体处理器 87
5.4.2 机顶盒SoC系统的可测性 91
参考文献 92
第6章 数字逻辑核的测试 95
6.1 SoC测试问题 95
第二部分 测试 95
6.2 访问、控制及隔离 96
6.3 IEEE P1500的成果 98
6.3.1 无边界扫描的核 99
6.3.2 核测试语言 101
6.3.3 带有边界扫描的核 102
6.4 核测试和IP保护 107
6.5.1 核可测性的方针 109
6.5.2 高层次测试综合 109
6.5 用于设计复用的测试方法 109
6.6 微处理器核的测试 110
6.6.1 内建自测试方法 110
6.6.2 举例:ARM处理器核的可测性 114
6.6.3 对微处理器核的调试支持 115
参考文献 116
第7章 嵌入式存储器的测试 118
7.1 存储器的故障模型和测试算法 118
7.1.1 故障模型 118
7.1.2 测试算法 120
7.1.3 测试算法的有效性 121
7.1.4 用多数据背景来修改测试 122
7.1.5 多端口存储器时的修改 123
7.1.6 用于双缓冲存储器的算法 123
7.2 嵌入式存储器的测试方法 125
7.2.1 用ASIC功能测试方法进行测试分析 125
7.2.2 直接访问的测试应用 125
7.2.3 扫描寄存器或环绕寄存器的测试应用 126
7.2.4 存储器内建自测试 126
7.2.5 通过片上微处理器进行测试 130
7.2.6 嵌入式存储器测试算法小结 132
7.3 存储器的冗余和修复 133
7.3.1 硬修复 135
7.3.2 软修复 135
7.4 检错和纠错编码 135
7.5 含大型嵌入式存储器的SoC的生产测试 136
参考文献 137
第8章 模拟和混合信号核的测试 140
8.1 模拟参数及特性 140
8.1.1 数/模转换器 140
8.1.2 模/数转换器 142
8.1.3 锁相环 145
8.2 用于模拟核的可测性设计和内建自测试方法 147
8.2.1 Fluence Technology公司的模拟BIST方案 147
8.2.2 LogicVision公司的模拟BIST方案 149
8.2.3 通过片上微处理器进行测试 150
8.2.4 IEEE P1149.4 152
8.3 特殊模拟电路的测试 154
8.3.1 Rambus ASIC单元 154
8.3.2 1394串行总线/Firewire的测试 154
参考文献 157
第9章 Iddq测试 159
9.1 物理缺陷 159
9.1.1 桥接(短路) 159
9.1.2 栅氧化缺陷 163
9.1.3 开路(断线) 163
9.1.4 Iddq测试的有效性 166
9.2 SoC中Iddq测试的困难 168
9.3 基于Iddq测试的设计 172
9.4 Iddq测试设计规则 176
9.5 Iddq测试向量的产生 177
参考文献 180
第10章 生产测试 183
10.1 生产测试流程 183
10.2 全速测试 184
10.2.1 RTD和无效周期 184
10.2.2 Fly-by 186
10.2.3 速度分类 187
10.3 产能和材料传送 188
10.3.1 测试后勤 188
10.3.3 多DUT测试 189
10.3.2 测试仪器设置 189
参考文献 190
第11章 总结与结论 191
11.1 总结 191
11.2 未来的前景 193
附录A 设计复用的RTL指导原则 194
A.1 命名习惯 194
A.2 编码的一般指导原则 195
A.3 面向综合的RTL开发 196
A.4 RTL检查 197