2. 测试基础理论:故障模型、测试覆盖率与ATPG原理

数字芯片的测试基础建立在三个核心支柱之上:故障模型定义了“什么算坏”,测试覆盖率衡量了“测得多好”,ATPG解决了“怎么测最快”。本章从物理缺陷到逻辑抽象,系统梳理这三者的内在联系。

2.1 故障模型:从物理缺陷到逻辑抽象

物理制造缺陷(如氧化层针孔、金属桥接、硅晶格错位)种类繁多,无法直接枚举。故障模型的作用是将物理缺陷抽象为逻辑级或晶体管级的可计算行为,使测试生成和故障模拟成为可能。

2.1.1 固定型故障 (Stuck-at Fault)

最经典、使用最广泛的故障模型。假设电路中某条信号线永久固定在逻辑0(SA0)或逻辑1(SA1)。

  • 适用对象:单节点短路、开路、栅氧化层击穿等。
  • 故障数量:对于N条信号线,共2N个单固定型故障。
  • 假设:单故障假设(每次只存在一个故障)、静态故障(不随时间变化)。
关键指标:单固定型故障覆盖率(SSF Coverage)是业界最基础的测试质量度量,通常要求 >98%。

2.1.2 转换故障 (Transition Fault)

用于检测时序电路中的延迟缺陷。假设某个节点的上升沿或下降沿转换速度过慢,导致在时钟周期内无法完成正确逻辑跳变。

  • 慢上升 (Slow-to-Rise):节点从0→1的延迟超过时钟周期。
  • 慢下降 (Slow-to-Fall):节点从1→0的延迟超过时钟周期。
  • 测试要求:需要两个连续的测试向量(初始化向量+启动向量),在at-speed时钟下施加。

2.1.3 路径延迟故障 (Path Delay Fault)

最精细的延迟故障模型。考虑从输入到输出的一条完整物理路径上的累积延迟是否超过时钟周期。

  • 路径数量:电路中路径数量随逻辑深度指数增长,实际中只选择关键路径(Critical Paths)进行测试。
  • 测试难度:需要同时满足路径敏化条件和at-speed时钟,ATPG复杂度高。
  • 应用场景:高性能芯片(CPU/GPU)的时序签核测试。

故障模型对比表

故障模型 抽象层级 检测对象 向量数量 时钟要求 复杂度
Stuck-at 逻辑门级 永久性短路/开路 1个向量 慢速时钟 低
Transition 逻辑门级 节点延迟过大 2个向量 At-speed 中
Path Delay 路径级 路径累积延迟 2个向量 At-speed 高

2.2 测试覆盖率:量化测试质量

测试覆盖率是衡量测试向量集对故障模型检测能力的百分比指标。不同故障模型对应不同的覆盖率定义。

2.2.1 故障覆盖率 (Fault Coverage)

最常用的度量:

Fault Coverage = (检测到的故障数) / (可检测故障总数) × 100%
  • 可检测故障:排除冗余故障(Redundant Fault,即无法被任何向量检测的故障)。
  • 冗余故障:通常由电路中的冗余逻辑导致,不影响功能,但会降低覆盖率上限。

2.2.2 缺陷覆盖率 (Defect Coverage)

更贴近实际物理缺陷的度量,但难以精确计算。通常用故障覆盖率作为代理指标。

2.2.3 测试效率 (Test Efficiency)

Test Efficiency = (检测到的故障数) / (总故障数 - 冗余故障数) × 100%

测试效率排除了冗余故障的影响,更真实反映测试向量的有效性。

工程经验:Stuck-at覆盖率 > 98% 通常对应 DPPM(缺陷百万分率)在 500-1000 之间。对于汽车级芯片(AEC-Q100),要求 Transition 覆盖率 > 90%。

2.3 ATPG原理:自动测试向量生成

ATPG (Automatic Test Pattern Generation) 是EDA工具的核心算法,用于自动生成能够检测特定故障的测试向量。

2.3.1 ATPG基本流程

  1. 故障列表生成:从网表中提取所有可能的故障点。
  2. 故障压缩:通过等价故障合并(Equivalence Collapsing)和支配故障合并(Dominance Collapsing)减少故障数量。
  3. 故障激活:在故障点施加与故障值相反的逻辑值(SA0则需激活为1)。
  4. 故障传播:将故障效应通过逻辑路径传播到可观测的输出端。
  5. 向量生成:使用D算法、PODEM、FAN等算法求解满足激活和传播条件的输入组合。
  6. 故障模拟:用生成的向量模拟检测到的故障,更新故障列表。

2.3.2 核心算法:D算法

D算法是最早的ATPG算法,引入D立方概念:

  • D:正常值为1,故障值为0(1/0)。
  • D':正常值为0,故障值为1(0/1)。
  • 敏化路径:从故障点到输出端,所有门输出必须为D或D'。
  • 一致性操作:确保敏化路径上的门输入与门逻辑功能一致。
算法局限:D算法在最坏情况下复杂度为指数级。现代ATPG工具使用PODEM(面向路径的决策)或FAN(扇出导向)算法,通过回溯和启发式搜索大幅提升效率。

2.3.3 ATPG与故障模型的关系

故障模型 ATPG算法特点 向量长度 运行时间
Stuck-at 单向量、组合逻辑、成熟高效 短 快
Transition 双向量、需考虑时序、at-speed 中 中等
Path Delay 双向量、路径选择、时序约束严格 长 慢

2.4 故障模型与ATPG联合流程

下图展示了从网表输入到测试向量输出的完整流程,以及三种故障模型在其中的位置。

故障模型与ATPG联合流程图 门级网表 (Netlist) 故障模型选择 Stuck-at / Transition / Path Delay Stuck-at 故障列表 Transition 故障列表 Path Delay 故障列表 ATPG 引擎 D算法 / PODEM / FAN 测试向量集 (Pattern Set) 说明:不同故障模型共享同一ATPG引擎,但激活条件和传播约束不同,导致向量长度和运行时间差异显著。 虚线箭头表示故障模拟后的覆盖率反馈,用于指导ATPG终止或追加向量。

2.5 本章小结

  • 故障模型是测试的抽象基础:Stuck-at覆盖静态缺陷,Transition和Path Delay覆盖时序缺陷。
  • 测试覆盖率是质量标尺:不同模型有各自的覆盖率要求,冗余故障需单独处理。
  • ATPG是自动化引擎:从D算法到PODEM/FAN,核心思想始终是“激活+传播”,但算法效率决定了工业可行性。
  • 联合优化:在实际DFT设计中,需要根据芯片类型(消费/汽车/工业)选择故障模型组合,平衡覆盖率、向量长度和测试时间。