第1章 概述 1
1.1 研究意义 1
1.2 章节安排 4
1.3 基本概念 5
本章小结 17
习题 18
参考文献 18
第2章 电路测试基础 21
2.1 验证、模拟和测试 21
2.1.1 验证 21
2.1.2 生产测试 21
2.1.3 可测性设计 23
2.1.4 仿真 23
2.1.5 验证与生产测试之比较 25
2.2 故障及故障检测 25
2.2.1 故障检测的基本原理 25
2.2.2 测试图形生成 26
2.3 缺陷、失效和故障 27
2.3.1 物理缺陷 29
2.3.2 失效方式 30
2.3.3 故障 31
2.3.4 故障、失效和缺陷的关系 31
2.4 经典故障模型 32
2.4.1 SSA故障 32
2.4.2 MSA故障 33
2.5 故障的等效、支配和故障冗余 34
2.5.1 故障表 34
2.5.2 故障等效 35
2.5.3 故障支配 36
2.5.4 故障表简化 37
2.5.5 检查点 38
2.5.6 故障冗余 38
2.6 晶体管级故障模型 39
2.6.1 桥接故障 40
2.6.2 NMOS电路的短路与开路故障 42
2.6.3 CMOS电路开路故障 42
2.6.4 CMOS电路的恒定通与短路故障 42
2.7 其他类型故障模型 43
2.7.1 延迟故障 43
2.7.2 暂时失效 45
本章小结 45
习题 46
参考文献 47
第3章 验证、模拟和仿真 50
3.1 验证与模拟 50
3.1.1 模拟的概念 50
3.1.2 验证与模拟的方法 51
3.1.3 验证方法 54
3.2 基于Testbench的验证 54
3.2.1 Testbench格式 54
3.2.2 Testbench开发语言和工具 55
3.2.3 Testbench举例 55
3.3 逻辑模拟 58
3.3.1 编译模拟 58
3.3.2 事件驱动模拟 59
3.3.3 延迟模型 59
3.4 故障模拟 60
3.4.1 并行故障模拟 62
3.4.2 演绎故障模拟 63
3.4.3 并发性故障模拟 64
3.4.4 故障模型结果分析 65
3.5 仿真 66
3.5.1 基于阵列处理器的仿真 66
3.5.2 基于FPGA的仿真 66
3.6 基于ATPG工具的故障模拟 68
3.6.1 实验工具和目的 68
3.6.2 Tetramax的故障模拟流程 68
3.6.3 脚本文件举例 69
3.6.4 练习1——故障模拟 70
3.6.5 练习2——ATPG工具参数设置 70
本章小结 71
习题 71
参考文献 72
第4章 自动测试生成 73
4.1 简介 73
4.2 代数法 74
4.2.1 异或法 74
4.2.2 布尔差分法 76
4.3 路径敏化法 78
4.3.1 确定性算法的基本过程 79
4.3.2 路径敏化法举例 80
4.4 D算法 82
4.4.1 D算法关键术语 82
4.4.2 D算法举例 85
4.5 PODEM算法 87
4.5.1 PODEM算法思路 87
4.5.2 PODEM算法流程 88
4.6 自动识别法 89
4.6.1 时序电路的检查序列 90
4.6.2 自动识别法的步骤和举例 93
4.7 时序电路的确定性测试生成 94
4.7.1 功能模型 95
4.7.2 测试生成模型 96
4.7.3 扩展的向后追踪算法 97
4.7.4 扩展的向后追踪算法举例 99
4.8 其他ATPG方法 101
4.8.1 FAN算法 101
4.8.2 SoCRATES算法 102
4.8.3 FASTEST算法 102
4.8.4 CONTEST算法 103
本章小结 103
习题 103
参考文献 105
第5章 专用可测性设计 107
5.1 可测性分析 107
5.1.1 可控性值 108
5.1.2 可观性值 111
5.1.3 SCOAP算法描述 113
5.1.4 可测性度量的应用 114
5.2 可测性的改善方法 116
5.2.1 插入测试点 116
5.2.2 电路分块 118
5.2.3 电路分块方法举例 119
5.3 测试图形简化 121
5.3.1 测试图形简化规律 121
5.3.2 测试图形简化规律应用 122
5.4 容易测试的电路 124
5.4.1 部分积乘法器的C可测性 124
5.4.2 变长测试 128
5.5 组合电路的可测性设计 129
5.5.1 用Reed-Muller模式设计组合电路 129
5.5.2 异或门插入法 131
5.5.3 组合电路的其他可测性设计方法 132
5.6 时序电路可测性设计中的问题 133
5.6.1 时序电路的初始化设计问题 133
5.6.2 时间延迟效应的最小化 134
5.6.3 逻辑冗余问题 136
5.6.4 避免设计中非法状态 136
5.6.5 增加逻辑以控制振荡 136
本章小结 137
习题 137
参考文献 138
第6章 扫描设计 141
6.1 扫描路径设计 142
6.1.1 基本的扫描路径设计 142
6.1.2 部分扫描设计 143
6.1.3 隔离的串行扫描设计 144
6.1.4 非串行的扫描设计 145
6.2 扫描路径的测试方法 145
6.2.1 组合电路部分的测试生成 146
6.2.2 扫描触发器的测试图形 146
6.2.3 测试施加 147
6.2.4 扫描路径测试举例 148
6.3 扫描单元的设计 148
6.3.1 D锁存器 148
6.3.2 双端口扫描单元 149
6.3.3 电平敏感锁存器 149
6.3.4 电平敏感扫描设计 150
6.3.5 随机编址的扫描单元 152
6.4 基于EDA工具的扫描综合[4~6] 153
6.4.1 扫描综合流程 153
6.4.2 扫描综合主要步骤 153
6.4.3 扫描综合脚本文件举例 154
6.5 测试综合后的自动测试生成 156
6.5.1 DFT工具与ATPG工具的接口 156
6.5.2 ATPG脚本文件 156
6.5.3 STIL格式测试图形文件 157
6.6 扫描路径设计成本分析 157
6.6.1 I/O和性能开销 157
6.6.2 门和面积开销 157
6.6.3 测试时间 159
6.6.4 延迟和功耗 159
本章小结 161
习题 161
参考文献 161
第7章 边界扫描法 162
7.1 边界扫描法的基本结构 162
7.2 测试存取通道及控制 165
7.2.1 测试存取通道的信号 165
7.2.2 TAP控制器 166
7.2.3 TAP控制器的操作 169
7.3 寄存器及指令 171
7.3.1 指令寄存器 171
7.3.2 测试数据寄存器 172
7.3.3 指令 176
7.4 操作方式 180
7.4.1 正常操作 180
7.4.2 测试方式操作 180
7.4.3 测试边界扫描寄存器 183
7.5 边界扫描描述语言 183
7.5.1 主体 183
7.5.2 BSDL描述器件举例 194
本章小结 196
习题 196
参考文献 197
第8章 随机测试和伪随机测试 198
8.1 随机测试 198
8.1.1 随机测试的概念 198
8.1.2 故障检测率的估算 200
8.1.3 测试图形长度的计算 201
8.1.4 输入变量的优化 202
8.2 伪随机序列 205
8.2.1 同余伪随机序列 205
8.2.2 反馈移位寄存器和异或门构成的伪随机序列生成电路 205
8.3 LFSR的数学基础 208
8.3.1 根据本原多项式优化伪随机序列发生电路 208
8.3.2 LFSR的运算 211
8.3.3 M序列的特性 212
8.4 基本的伪随机测试序列生成电路 213
8.4.1 外接型PRSG 214
8.4.2 内接型PRSG 214
8.4.3 混合连接型PRSG 215
8.5 其他类型伪随机序列生成方法 218
8.5.1 与M序列相关的序列的生成方法 218
8.5.2 加权伪随机序列 221
8.5.3 细胞自动机 222
8.6 低功耗测试序列 223
本章小结 227
习题 227
参考文献 228
第9章 内建自测试 231
9.1 内建自测试的概念 231
9.1.1 内建自测试简介 231
9.1.2 内建自测试的结构 232
9.1.3 内建自测试的测试生成 233
9.2 响应数据压缩 234
9.2.1 奇偶测试 235
9.2.2 “1”计数 235
9.2.3 跳变次数压缩 236
9.3 特征分析法 237
9.3.1 特征分析原理 237
9.3.2 串行输入特征寄存器 241
9.3.3 多输入的特征分析 241
9.4 内建自测试的结构 245
9.4.1 内建自测试 245
9.4.2 自动测试 245
9.4.3 循环内建自测试 246
9.4.4 内建逻辑块观测器 246
9.4.5 随机测试组合块 249
9.4.6 STUMPS 250
本章小结 250
习题 251
参考文献 253
第10章 电流测试 254
10.1 IDDQ测试机理 255
10.1.1 基本概念 255
10.1.2 无故障电路的电流分析 257
10.1.3 转换延迟 258
10.2 IDDQ检测的缺陷及故障模型 259
10.2.1 桥接 259
10.2.2 栅氧 260
10.2.3 开路故障 261
10.2.4 泄漏故障 263
10.2.5 延迟故障 263
10.3 测试图形生成 264
10.3.1 基于电路级模型的测试图形生成 265
10.3.2 基于泄漏故障模型的测试图形生成 266
10.4 IDDQ测试方法 267
10.4.1 片外测试 267
10.4.2 片内测试 268
10.5 IDDQ测试的改进 270
10.5.1 控制截止电流的措施 270
10.5.2 △IDDQ 271
本章小结 272
习题 273
参考文献 274
第11章 存储器测试 277
11.1 测试类型和模型 278
11.1.1 性能测试和参数测试 278
11.1.2 特征测试 278
11.1.3 功能测试 278
11.1.4 电流测试 279
11.1.5 功能模型 279
11.1.6 存储单元的表达方法 279
11.2 缺陷和故障模型 280
11.2.1 缺陷 280
11.2.2 阵列故障模型 280
11.2.3 周边逻辑 284
11.3 存储器测试算法 285
11.3.1 MSCAN算法 285
11.3.2 GALPAT算法 285
11.3.3 算法型测试序列 286
11.3.4 Checkerboard测试 287
11.3.5 Marching图形序列 287
11.3.6 March测试的表达方法 288
11.3.7 各种存储器测试算法的分析 288
11.4 存储器测试方法 291
11.4.1 存储器直接存取测试 291
11.4.2 存储器内建自测试 291
11.4.3 宏测试 293
11.4.4 各种存储器测试方法比较 294
11.5 存储器的冗余和修复 294
本章小结 295
习题 295
参考文献 297
第12章 SoC测试 299
12.1 SoC测试的基本问题 300
12.1.1 SoC核的分类 300
12.1.2 SoC测试问题 301
12.1.3 存取、控制和隔离 303
12.2 概念性的SoC测试结构 304
12.2.1 测试源和测试收集 304
12.2.2 测试存取机构 305
12.2.3 测试壳 305
12.3 测试策略 307
12.3.1 核的非边界扫描测试 307
12.3.2 核的边界扫描测试策略 310
12.4 IEEE P1500标准 312
12.5 SoC测试再探索 316
参考文献 318