零基础搭建DFT测试环境 - 第2节

一、故障模型:芯片出错的“标准答案”

做DFT测试,说白了就是给芯片“体检”。但芯片那么大,怎么知道它哪里疼?

这时候就需要故障模型了。它就像医生的诊断手册,把各种可能的“病症”标准化。我个人习惯把故障模型理解为:用数学语言描述物理缺陷。

1.1 Stuck-at 故障模型

这是最经典的模型,也是我入行时学的第一个概念。

Stuck-at 故障,就是某个节点“卡死”在逻辑0或逻辑1上。比如一根信号线本该能高能低,结果它永远输出0,这就是 Stuck-at-0(SA0)。

举个例子:

正常情况:A = 1 → 输出 Y = 1
SA0故障: A = 1 → 输出 Y = 0(因为A被卡死在0)

我在项目中遇到过最典型的案例:某颗芯片的复位信号线有SA1故障,结果芯片永远处于复位状态,根本跑不起来。排查了三天才发现是制造过程中的金属残留。

核心要点:
  • 每个节点有两种故障:SA0 和 SA1
  • 一个芯片有N个节点,理论上就有2N个故障
  • 实际测试中,我们只关心“可测”的故障

1.2 Transition Delay 故障模型

Stuck-at 测的是“静态”问题,但芯片跑起来是动态的。Transition Delay 模型就是用来抓“慢半拍”的毛病。

你想想看,信号从0变1(上升沿)或者从1变0(下降沿),如果变化太慢,就会导致时序违规。这种故障在高速芯片中特别常见。

两种类型:

  • Slow-to-Rise: 从0变1时太慢
  • Slow-to-Fall: 从1变0时太慢
我的经验: 做28nm以下工艺时,Transition Delay 故障占比越来越高。有一次流片回来,芯片在低频下完全正常,一上高频就报错。最后定位到是某条路径的 Transition Delay 超标了。

二、测试覆盖率:你的测试够不够“狠”

测试覆盖率,就是衡量你测试质量的指标。说白了:你测了多少?漏了多少?

公式很简单:

测试覆盖率 = (检测到的故障数 / 总可测故障数) × 100%

举个例子:芯片有1000个可测故障,你的测试向量能检测到950个,那覆盖率就是95%。

注意: 覆盖率不是越高越好。追求100%覆盖率,测试向量会爆炸式增长,测试时间、测试成本都受不了。行业惯例是做到95%-98%就差不多了。

我曾经遇到一个项目,为了追求99%的覆盖率,测试向量增加了3倍,测试时间从10秒变成了40秒。结果量产时测试成本太高,利润全被吃掉了。嗯,这就是典型的“过度测试”。

三、ATPG:自动生成测试向量的“大脑”

ATPG,全称 Automatic Test Pattern Generation。它的任务就是:自动生成测试向量,让故障“现出原形”。

3.1 ATPG 的基本原理

ATPG 的核心思想是:激励 + 观察。

  • 激励: 给芯片输入特定的信号组合
  • 观察: 看输出是否和预期一致

如果输出和预期不一样,说明有故障。ATPG 就是自动找出“什么样的输入组合能暴露故障”。

3.2 常用算法

算法 原理 适用场景
D算法 基于布尔差分,精确但慢 小规模电路
PODEM 定向搜索,效率高 中等规模电路
FAN 改进版PODEM,更快 大规模电路
我的建议: 实际项目中,ATPG工具(如TetraMAX、FastScan)会自动选择最优算法。你不需要手动切换,但理解原理有助于调试。

3.3 ATPG 流程

我画了一张图,帮你理清ATPG的完整流程:

ATPG 自动测试向量生成流程 输入网表 (Netlist) 生成故障列表 故障压缩 (Fault Collapsing) 向量生成 (Pattern Generation) 输出测试向量 (STIL/WGL) 设计文件 (Verilog/VHDL) 所有可能的故障点 合并等价故障,减少数量 自动搜索最优输入组合 ATE测试机台可读格式

3.4 ATPG 的“坑”与“避坑”

ATPG 不是万能的。我总结几个常见问题:

  • 时序问题: ATPG 默认是组合逻辑,遇到时序电路要特别处理
  • X态传播: 未初始化的寄存器会导致X态,影响测试结果
  • 测试点插入: 覆盖率不够时,需要手动插入测试点
避坑指南: 我曾经在一个项目中,ATPG跑出来的覆盖率只有70%。排查后发现是某个模块的时钟门控没处理好,导致大量故障不可测。后来加了测试点,覆盖率直接飙到96%。

四、三个概念的关系

最后,我用一句话总结这三者的关系:

故障模型定义了“测什么”,测试覆盖率衡量了“测了多少”,ATPG解决了“怎么测”。

三者缺一不可。没有故障模型,ATPG就是无头苍蝇;没有覆盖率指标,你永远不知道测试够不够;没有ATPG,手工写测试向量会累死人。

记住: DFT测试不是玄学,是工程。理解这三个基础概念,你就迈出了DFT工程师的第一步。

可可精品资料库