2. 测试基础
在芯片DFT工程中,测试基础是构建高质量测试方案的前提。本章围绕三大核心概念展开:故障模型(如何抽象物理缺陷)、ATPG(自动测试向量生成)原理以及测试覆盖率的量化定义。理解这些基础,是后续提升测试覆盖率、优化测试成本的起点。
2.1 故障模型(Fault Models)
物理制造缺陷(如金属桥接、氧化层击穿、离子污染)种类繁多,无法直接建模。故障模型将物理缺陷映射为逻辑级或晶体管级的可计算行为,使EDA工具能够自动生成测试向量。工业界最常用的三大故障模型如下:
| 故障模型 | 抽象层次 | 对应物理缺陷 | 测试复杂度 |
|---|---|---|---|
| Stuck-at(固定故障) | 逻辑门级 | 短路到VDD/GND、断线 | 低(经典模型) |
| Transition(跳变故障) | 时序逻辑级 | 晶体管开关速度退化、电阻性开路 | 中(需两拍向量) |
| Bridging(桥接故障) | 互连级 | 相邻金属线短路、漏电流 | 高(依赖版图) |
2.1.1 Stuck-at 故障模型
Stuck-at 模型假设信号线固定为逻辑0(SA0)或逻辑1(SA1)。它是历史最悠久、使用最广泛的故障模型,也是ATPG工具的基础。一个节点同时存在SA0和SA1两个故障。
- 故障数量: 对于N个节点,共2N个Stuck-at故障。
- 测试要求: 对每个故障,至少需要一个测试向量使故障点与正常值相反,并将差异传播到输出。
- 局限性: 无法覆盖时序相关缺陷(如信号跳变太慢)和互连桥接缺陷。
2.1.2 Transition 故障模型
Transition 故障模型用于检测信号跳变速度是否满足时序要求。它分为慢上升(Slow-to-Rise, STR)和慢下降(Slow-to-Fall, STF)两种。测试需要两拍向量:第一拍初始化节点到相反值,第二拍施加跳变并捕获结果。
- 测试向量对: (V1, V2),V1设置初始值,V2产生跳变。
- 捕获方式: 通常使用Launch-on-Capture (LOC)或Launch-on-Shift (LOS)。
- 覆盖率目标: 先进工艺节点下,Transition覆盖率通常要求>90%。
2.1.3 Bridging 故障模型
Bridging 模型模拟两条或多条信号线之间意外短路。根据短路后的逻辑行为,分为Wired-AND(线与)和Wired-OR(线或)模型。Bridging故障的检测依赖于版图相邻信息,通常由版图寄生提取工具提供候选故障列表。
| 桥接类型 | 逻辑行为 | 检测难度 | 典型场景 |
|---|---|---|---|
| Wired-AND | 短路后输出为各驱动值的AND | 中 | NMOS上拉网络短路 |
| Wired-OR | 短路后输出为各驱动值的OR | 中 | PMOS下拉网络短路 |
| 反馈桥接 | 形成组合反馈回路 | 高 | 相邻寄存器数据/时钟线短路 |
2.2 ATPG 原理
ATPG(Automatic Test Pattern Generation)是EDA工具自动生成测试向量的过程。其核心算法基于D算法、PODEM或FAN等经典方法,现代工具则融合了结构扫描和压缩技术。
2.2.1 ATPG 核心步骤
- 故障选择: 从故障列表中选择一个目标故障(如某节点的SA0)。
- 故障激活: 在故障点施加与正常值相反的逻辑值(如对SA0,需在该点施加逻辑1)。
- 故障传播: 将故障效应(D或D')通过逻辑路径传播到至少一个可观测输出(如扫描链输出或Primary Output)。
- 向量生成: 通过回溯算法(如PODEM)确定输入端的逻辑值,形成测试向量。
- 故障模拟: 用生成的向量模拟所有故障,标记被检测到的故障,更新故障列表。
2.2.2 现代ATPG技术
- 扫描链(Scan Chain): 将寄存器连接成移位寄存器链,提供可控性和可观测性,大幅降低ATPG复杂度。
- 测试压缩(Test Compression): 通过片上解压/压缩逻辑,减少测试数据量和测试时间。常见方法包括LFSR重播种、XOR网络等。
- 多捕获时钟(Multiple Capture Clocks): 在扫描测试中插入多个捕获时钟,提高Transition故障覆盖率。
- X-tolerance: 处理未知态(X态)传播问题,避免X态掩盖故障效应。
2.3 测试覆盖率定义
测试覆盖率是衡量测试向量检测故障能力的量化指标。不同故障模型对应不同的覆盖率定义,但核心公式统一为:
其中“可检测故障总数”通常排除冗余故障(即无法通过任何测试向量检测的故障)。
2.3.1 常用覆盖率指标
| 覆盖率类型 | 计算公式 | 典型目标 | 说明 |
|---|---|---|---|
| Stuck-at 覆盖率 | 检测SA故障数 / 总SA故障数 | ≥98% | 最基础指标,DFT验收必看 |
| Transition 覆盖率 | 检测STR/STF故障数 / 总跳变故障数 | ≥90% | 先进工艺关键指标 |
| 桥接覆盖率 | 检测桥接故障数 / 总桥接故障数 | ≥85% | 依赖版图信息 |
| 动态故障覆盖率 | 随时间累积检测故障数 / 总故障数 | — | 用于评估测试向量效率 |
2.3.2 覆盖率与测试质量的关系
测试覆盖率并非越高越好,需要平衡测试成本(向量数量、测试时间、ATE内存)和测试质量(缺陷检出率)。工程上通常遵循以下原则:
- 覆盖率拐点: 当Stuck-at覆盖率超过95%后,每提升1%所需的向量数量呈指数增长。
- 缺陷覆盖率(Defect Coverage): 实际物理缺陷的检出率,与故障覆盖率之间存在映射关系,通常通过缺陷仿真评估。
- 测试逃逸(Test Escape): 未被测试覆盖的缺陷导致的不良品流出,是覆盖率不足的直接后果。