可测试性基础:故障模型、测试覆盖率与缺陷-故障辨析
在数字IC设计中,可测试性设计(DFT)的核心目标是以可控的成本检测出芯片制造过程中引入的物理缺陷。然而,物理缺陷种类繁多且难以直接观测,工程上必须通过故障模型将其抽象为逻辑层面的行为变化,再据此生成测试向量并评估测试质量。本章将系统讲解固定故障、跳变故障、桥接故障等核心故障模型,深入剖析测试覆盖率的计算方法与工程意义,并厘清“缺陷”与“故障”这两个极易混淆但本质不同的概念。理解这些基础,是后续学习扫描链设计、ATPG(自动测试向量生成)和BIST(内建自测试)的基石。
上图清晰地展示了从物理缺陷到故障模型,再到测试覆盖率的工程映射链路。在实际DFT流程中,我们首先需要理解芯片制造过程中可能出现的物理缺陷类型,然后将其抽象为逻辑故障模型,最后通过故障仿真计算覆盖率来评估测试向量的有效性。下面我们将逐一深入剖析各个核心概念。
2.1 缺陷与故障的本质区别
核心原理:从物理世界到逻辑世界的映射
缺陷(Defect)是指芯片制造过程中引入的物理层面的异常,例如硅片表面的颗粒污染、光刻过程中的对准偏差、金属层之间的介质击穿、掺杂浓度的不均匀等。缺陷是客观存在的物理现象,具有随机性和多样性,无法被直接枚举或建模。而故障(Fault)则是将缺陷对电路逻辑行为的影响进行抽象后的表示,是逻辑层面的概念。例如,一根金属线因为颗粒污染而断裂,在逻辑上可能表现为该信号线固定为逻辑0(Stuck-At-0)或固定为逻辑1(Stuck-At-1)。
理解这一区别至关重要:故障模型是对缺陷的近似,而非精确描述。一个物理缺陷可能对应多个故障模型,而一个故障模型也可能由多种不同的物理缺陷引起。例如,一个晶体管的源漏极短路,既可能表现为固定故障,也可能表现为桥接故障。因此,DFT工程师必须清楚,基于故障模型生成的测试向量,其实际缺陷检测能力取决于模型与真实缺陷的匹配程度。
判断方法:缺陷与故障的工程区分
| 维度 | 缺陷(Defect) | 故障(Fault) |
|---|---|---|
| 物理层级 | 硅片、金属层、介质层中的物理异常 | 逻辑节点、门级电路的行为异常 |
| 可观测性 | 需通过物理失效分析(PFA)观测 | 通过逻辑仿真或ATE测试观测 |
| 建模方式 | 无法直接建模,具有随机性 | 可枚举、可仿真、可计算覆盖率 |
| 工程处理 | 通过工艺改进和良率提升来减少 | 通过DFT结构和测试向量来检测 |
| 典型示例 | 金属桥连、栅氧化层击穿、接触孔空洞 | SA0、SA1、Slow-to-Rise、桥接AND型 |
案例拆解:一个金属桥连缺陷的故障建模过程
假设在28nm工艺的某芯片中,两条相邻的金属线(信号A和信号B)之间由于刻蚀残留形成了桥连。在物理层面,这是一个典型的桥接缺陷。在逻辑层面,我们需要将其抽象为故障模型:
- 初始现象:芯片在ATE测试中,特定测试向量下输出逻辑错误,但并非所有向量都能触发。
- 关键输入数据:通过扫描链诊断(Scan Diagnosis)定位到某组合逻辑区域,涉及信号A和信号B。
- 分析判断过程:如果桥接电阻较低,信号A和B会被强制为相同逻辑值。根据逻辑门类型,可能表现为“线与”(Wired-AND)或“线或”(Wired-OR)行为。若A和B驱动同一与非门,则可能表现为固定故障SA0或SA1,但更精确的建模是桥接故障。
- 实际操作步骤:在ATPG工具中,将桥接故障模型(4-way bridging fault)加入故障列表,重新生成测试向量。对比SA模型,桥接模型需要额外的测试向量来覆盖A=0,B=1和A=1,B=0两种冲突状态。
- 结果对比:加入桥接故障模型后,测试向量数量增加约15%,但缺陷检测率(DPPM)显著改善,良率损失降低。
- 复盘经验:在先进工艺中,桥接故障模型不可忽略。DFT工程师应在项目初期就评估工艺相关的缺陷类型,选择合适的故障模型组合。
2.2 核心故障模型详解
固定故障(Stuck-At Fault)
固定故障是最经典、最基础的故障模型,假设电路中某个信号线永久固定为逻辑0(SA0)或逻辑1(SA1)。该模型主要针对直流(DC)缺陷,如金属线断裂、晶体管短路等。固定故障的检测原理是:通过施加适当的输入向量,使故障点的正常逻辑值与其故障值相反,并将该差异传播到主输出或扫描触发器。
固定故障的故障列表大小为2 × 节点数(每个节点有SA0和SA1两种可能)。在ATPG中,通常使用D算法、PODEM或FAN算法生成测试向量。固定故障覆盖率是衡量测试质量的最基本指标,业界普遍要求达到98%以上。
跳变故障(Transition Delay Fault)
跳变故障模型用于检测时序相关的缺陷,即信号在规定时间内无法完成从0到1或从1到0的跳变。该模型假设每个节点存在两种故障:慢上升(Slow-to-Rise)和慢下降(Slow-to-Fall)。检测跳变故障需要两个连续的测试向量:第一个向量将节点初始化到目标值,第二个向量使节点发生跳变,并在捕获沿(Capture Edge)采样结果。
跳变故障测试通常需要高速ATE和扫描链的时序控制。在可测性设计中,跳变故障测试依赖于扫描触发器的“沿敏感”捕获能力。跳变故障覆盖率一般要求达到90%以上,对于高性能芯片(如CPU、GPU)要求更高。
桥接故障(Bridging Fault)
桥接故障模拟两条或更多信号线之间意外短路的情况。根据桥接电阻和逻辑门类型,桥接故障可表现为:
- Wired-AND:桥接后,两个信号被强制为两者中的低电平(0)。
- Wired-OR:桥接后,两个信号被强制为两者中的高电平(1)。
- Dominant-AND/OR:其中一个信号占主导地位,强制另一个信号跟随。
桥接故障的检测比固定故障更复杂,因为需要同时控制两个信号到相反逻辑值,并观察其影响。在深亚微米工艺中,桥接缺陷是导致DPPM超标的主要因素之一。现代ATPG工具支持4-way桥接故障模型(考虑两个节点之间的四种组合),但故障列表会显著增大,测试向量数量也会增加。
其他故障模型
除了上述三种主要模型,还有开路故障(Open Fault)、延迟故障(Path Delay Fault)、IDDQ故障等。开路故障指信号线断裂但未完全断开,可能表现为间歇性逻辑错误;路径延迟故障关注整个关键路径的时序裕量;IDDQ故障通过监测静态电流来检测物理缺陷。在实际工程中,DFT工程师需要根据芯片类型、工艺节点和客户要求选择合适的故障模型组合。
2.3 测试覆盖率:定义、计算与工程意义
核心原理:覆盖率是测试质量的量化指标
测试覆盖率(Fault Coverage, FC)定义为:FC = 被检测到的故障数 / 故障列表中的故障总数 × 100%。覆盖率越高,意味着测试向量能够检测到越多的潜在故障,芯片出厂后的缺陷水平越低。但覆盖率并非越高越好,因为覆盖率提升需要增加测试向量数量,从而增加测试时间和测试成本。
工程上,覆盖率与缺陷水平(Defect Level, DL)之间存在数学关系:DL ≈ 1 - Y^(1-FC),其中Y为制造良率。例如,若良率为90%,固定故障覆盖率为98%,则DL ≈ 1 - 0.9^(0.02) ≈ 0.21%,即每百万颗芯片中约有2100颗存在缺陷。若覆盖率提升到99.5%,DL降至约0.05%,即500 DPPM。
判断方法:覆盖率计算流程
- 故障列表生成:使用ATPG工具读取网表,根据所选故障模型生成完整的故障列表。
- 故障仿真:将测试向量施加到电路,仿真每个故障是否被检测到。
- 覆盖率统计:工具自动计算检测到的故障数与总数的比值。
- 未检测故障分析:对未检测到的故障进行分类,判断是冗余故障(不影响逻辑功能)还是需要增加测试向量。
- 迭代优化:增加测试向量或调整DFT结构(如增加可观测点),提升覆盖率至目标值。
案例拆解:覆盖率与测试成本的权衡
某通信芯片项目,目标DPPM为500。初始SA覆盖率98.2%,TDF覆盖率88.5%。在ATE上测试时间为12秒/颗。为了降低DPPM,DFT团队决定将TDF覆盖率提升至92%。
- 关键输入数据:增加TDF测试向量后,测试时间增加至14.5秒,但覆盖率提升至92.3%。
- 分析判断过程:根据DL公式,SA覆盖率98.2% + TDF覆盖率92.3%的综合缺陷水平估算降至约400 DPPM,满足目标。
- 实际操作步骤:在ATPG工具中增加TDF向量生成约束,优化扫描链时序,减少测试时间开销。
- 结果对比:测试时间增加20.8%,但DPPM从约700降至400,客户验收通过。
- 复盘经验:覆盖率提升存在边际效应,当SA覆盖率超过98%后,每提升0.1%所需的测试向量增量显著增加。DFT工程师应基于DPPM目标反推覆盖率需求,避免过度测试。
2.4 常见误区与工程复盘
误区一:追求100%覆盖率
100%覆盖率在理论上可行,但工程上不现实。冗余故障(如冗余逻辑中的故障)不影响电路功能,无法被检测。此外,某些故障需要极大的测试向量数量才能覆盖,成本过高。业界标准是SA覆盖率≥98%,TDF覆盖率≥90%,高性能芯片可适当提高。
误区二:忽略故障模型的选择
不同工艺节点和电路类型对故障模型的敏感度不同。例如,模拟/混合信号电路更关注IDDQ和桥接故障,而高速数字电路更关注跳变故障。DFT工程师应在项目规划阶段就确定故障模型组合,而不是在测试阶段才发现覆盖率不足。
误区三:将覆盖率作为唯一指标
覆盖率是重要指标,但不是唯一指标。测试时间、测试功耗、测试向量存储量、ATE通道数等都需要综合考虑。例如,增加测试向量可以提升覆盖率,但也会增加测试时间和功耗,可能导致芯片在测试过程中过热。