第1章 绪论 1
1.1 集成电路的设计流程 1
1.2 系统芯片的结构 3
1.3 系统芯片的关键技术 4
1.3.1 设计复用 5
1.3.2 低功耗设计 6
1.3.3 软硬件协同设计 6
1.3.4 总线架构 7
1.3.5 可测性设计 7
1.3.6 设计验证 8
1.3.7 物理综合 9
第2章 系统芯片的设计模式与流程 11
2.1 系统芯片的系统级设计 11
2.2 系统芯片的设计流程 12
2.3 系统芯片的设计方法学 15
第3章 系统芯片的总线结构 18
3.1 AMBA总线 18
3.1.1 先进高性能总线 19
3.1.2 先进系统总线 21
3.1.3 先进外设总线 22
3.1.4 使用AMBA的系统芯片 24
3.2 Avalon总线 24
3.2.1 Avalon总线的特征 24
3.2.2 Avalon信号 28
3.2.3 Avalon的数据传输 29
3.3 CoreConnect总线 31
3.4 Wishbone总线 33
3.5 OCP总线 35
第4章 芯核设计 37
4.1 芯核的特征与分类 37
4.2 芯核的设计流程 39
4.3 软核与硬核的设计 41
4.3.1 软核的设计 41
4.3.2 硬核的设计 43
4.4 芯核技术标准 45
4.4.1 VSIA的IP技术标准 45
4.4.2 IP交付时使用的文档标准/规范 46
4.4.3 IP芯核可复用接口设计标准 49
4.4.4 IP知识产权保护 50
4.5 芯核的质量评估 51
4.6 基于芯核的系统集成 54
第5章 软硬件协同设计 56
5.1 软硬件协同设计的过程 56
5.1.1 软硬件协同设计的流程 57
5.1.2 软硬件协同设计的关键技术 58
5.1.3 软硬件协同设计的分类 61
5.2 系统级规范模型 62
5.3 系统级多语言建模 63
5.4 软硬件划分 64
5.4.1 软硬件划分的基本模型 65
5.4.2 软硬件划分算法 66
5.5 软硬件划分的模型精炼 69
5.5.1 模型精炼的特征 70
5.5.2 实现模型 74
5.5.3 精炼的过程 77
第6章 系统芯片的存储系统设计 85
6.1 DRAM和嵌入式存储器 86
6.1.1 DRAM存储器 86
6.1.2 嵌入式存储器 87
6.2 存储优化与管理 89
6.2.1 重编序与重映射 90
6.2.2 降低存储器总线的数据变迁 90
6.2.3 减小数据所占用的存储空间 91
6.2.4 存储系统的动态功耗管理 91
6.3 存储控制 92
6.3.1 存储子系统的控制与调度 92
6.3.2 由SDRAM构成的存储系统结构 95
6.3.3 基于多种层次的存储控制 96
6.3.4 高效的存储调度方法 98
第7章 系统芯片中模拟混合信号的设计 101
7.1 混合信号在系统芯片中的作用 101
7.2 混合信号系统芯片的设计流程 102
7.3 基于平台的混合信号电路设计 104
7.3.1 高性能ADC的优化设计 105
7.3.2 模拟平台 106
7.3.3 数字平台与混合信号平台 107
7.4 使用SystemC的混合信号行为模型 107
7.4.1 SystemC-AMS的应用领域与要求 107
7.4.2 SystemC-AMS层次模型的具体实现 109
7.4.3 模拟信号求解器层和用户层 111
7.5 SystemC-AMS的设计与应用实例 112
第8章 系统芯片的低功耗设计 118
8.1 功耗的类型 118
8.2 低功耗设计方法 120
8.2.1 门级低功耗设计 120
8.2.2 寄存器传输级低功耗设计 122
8.2.3 算法级的低功耗设计 123
8.2.4 系统级的低功耗设计 125
8.2.5 版图级的低功耗设计 126
8.3 低功耗分析与评估 126
8.4 系统芯片低功耗设计的总线编码 128
8.4.1 基于汉明距离的总线翻转编码 128
8.4.2 基于权的总线翻转编码 131
第9章 信号完整性 134
9.1 传输线的反射 134
9.2 串扰 136
9.3 同步开关噪声 139
9.4 信号完整性的分析模型与工具 141
9.5 针对信号完整性的电路设计流程 143
9.6 串扰的测试 144
第10章 系统芯片的验证 147
10.1 电路的验证与仿真 147
10.2 芯核的验证 148
10.2.1 芯核的验证策略 148
10.2.2 芯核验证的测试平台 152
10.2.3 芯核时序的验证 153
10.2.4 芯核接口的验证 154
10.3 SoC的系统级验证 155
10.3.1 硬件建模 157
10.3.2 协同验证与仿真 157
10.3.3 系统级时序验证 160
10.3.4 物理验证 161
第11章 系统芯片的可测性设计 163
11.1 电路测试的原理与方法 163
11.1.1 通路敏化法及相关的测试生成算法 164
11.1.2 基于神经网络的电路测试生成方法 166
11.1.3 基于二元判定图BDD的电路测试生成方法 176
11.1.4 逻辑函数的电路可测性设计 181
11.1.5 大规模集成电路与系统的可测性设计 188
11.2 系统芯片的测试模型 191
11.3 测试冲突 195
11.3.1 测试仪器的局限 196
11.3.2 测试冲突的分析 197
11.4 测试时的功耗 200
11.5 测试存取机制 204
11.5.1 系统芯片的测试数据传输 204
11.5.2 测试存取机制的设计 208
第12章 测试调度与测试结构的优化设计 211
12.1 测试调度 211
12.2 在测试矢量有固定的执行时间下的测试调度 214
12.3 在功耗约束下的测试调度 216
12.3.1 模型建立 218
12.3.2 在功耗约束下对等长测试的调度 220
12.3.3 在功耗约束下对不等长测试的调度 222
12.4 系统芯片的测试存取结构的设计 228
12.4.1 对测试总线进行芯核的最优分配 228
12.4.2 最优的测试总线带宽 233
12.4.3 系统芯片最优带宽划分的实例 236
12.4.4 测试总线的最优划分 240
第13章 芯核的测试 245
13.1 软核的测试 245
13.2 微处理器芯核的测试 246
13.2.1 微处理器芯核的故障特征 246
13.2.2 微处理器芯核的功能测试 247
13.2.3 微处理器芯核的内建自测试 249
13.3 存储器芯核的测试 250
13.3.1 存储器的故障模型 251
13.3.2 存储器的测试方法 252
13.3.3 存储器的内建自测试 253
第14章 系统芯片的物理设计 255
14.1 物理设计的步骤 255
14.2 系统芯片物理设计的特点 256
14.3 布图规划 257
14.3.1 布图规划的表示 258
14.3.2 展平式布图规划与多级布图规划 263
14.3.3 考虑底层噪声的布图规划 266
14.3.4 引入缓冲器的互连驱动的布图规划 270
14.4 力矢量全局布局算法 276
14.5 布线 281
14.5.1 基于热的三维集成电路布线 281
14.5.2 考虑串扰的布线 288
第15章 片上网络 302
15.1 片上网络的特点 302
15.1.1 常规系统芯片总线结构的不足 302
15.1.2 片上网络的特征 303
15.1.3 片上网络的组成 304
15.2 片上网络的拓扑结构 305
15.3 片上网络的通信 308
15.3.1 片上网络的通信协议 309
15.3.2 路由技术 309
15.4 片上网络的设计流程 311
参考文献 313
附录 名词缩写表 320