2. DFT基础概念
在进入Scan插入、ATPG与MBIST签核之前,必须先建立一套统一的DFT语言体系。否则,团队在讨论“覆盖率够不够”“这颗芯片能不能量产”“为什么测试逃逸”时,往往各说各话。本节把DFT最核心的五个基础概念串成一条逻辑链:可测性设计定义决定设计目标,故障模型决定测试对象,可控性与可观测性决定测试难度,测试覆盖率决定测试完备性,良率与质量指标决定最终签核结论。
一、可测性设计(DFT)的定义与边界
可测性设计(Design for Testability,DFT)是指在芯片设计阶段,有意识地加入测试结构、测试接口和测试逻辑,使芯片在制造完成后能够被高效、可控、可观测地测试。它的目标不是“让芯片功能更强”,而是“让芯片内部状态更容易被激励和观察”。
DFT的典型手段包括:扫描链(Scan Chain)、边界扫描(Boundary Scan)、内建自测试(BIST)、存储器内建自测试(MBIST)、自动测试向量生成(ATPG)以及测试压缩等。需要明确的是,DFT不是测试工程师在流片后“补”出来的,而是从RTL阶段就要介入的设计属性。
核心判断:一个设计如果无法在合理时间内被激励到目标节点,也无法把内部响应传到输出端口,那么即使功能正确,也不具备可测性。
二、故障模型:把物理缺陷翻译成可计算对象
芯片制造中的缺陷是物理的,例如金属短路、开路、栅氧击穿、接触孔失效等。ATPG工具无法直接处理“物理缺陷”,因此需要故障模型把缺陷抽象成逻辑层面的可计算故障。常见故障模型如下:
| 故障模型 | 抽象对象 | 典型缺陷 | 在DFT中的用途 |
|---|---|---|---|
| 固定故障(Stuck-at) | 节点固定为0或1 | 短路、开路 | ATPG基础覆盖率 |
| 跳变故障(Transition) | 节点慢上升/慢下降 | 电阻性缺陷、延迟 | 时序相关测试 |
| 桥接故障(Bridging) | 两节点意外短路 | 金属残留、颗粒污染 | 缺陷导向测试 |
| 开路故障(Open) | 连接断开 | 通孔失效、断线 | Scan链完整性 |
| 单元感知故障 | 标准单元内部失效 | 晶体管级缺陷 | 先进节点签核 |
故障模型的选择直接影响ATPG向量数量和覆盖率报告。固定故障模型覆盖率高,不代表跳变故障和桥接故障也被覆盖。因此,签核时必须明确“覆盖率”对应的是哪一类故障模型。
三、可控性与可观测性:测试难度的两个维度
可控性(Controllability)是指从芯片外部输入端口,把目标节点驱动到指定逻辑值的能力。可观测性(Observability)是指把目标节点的响应传播到外部输出端口的能力。两者共同决定了一个节点是否容易被测试。
在纯组合逻辑中,可控性和可观测性通常较好;但在深时序逻辑、多时钟域、低功耗关断区域中,内部节点往往既难控制又难观察。Scan插入的本质,就是把时序单元改造成可扫描的移位寄存器,从而大幅提升可控性和可观测性。
工程经验:如果一个节点需要超过20个时钟周期才能控制或观察,ATPG工具通常需要大量向量才能覆盖,测试成本会显著上升。此时应优先考虑增加测试点(Test Point)或优化Scan链结构。
四、测试覆盖率:衡量测试完备性的核心指标
测试覆盖率通常指ATPG生成的测试向量对目标故障模型的覆盖比例。常见表达包括:
- 故障覆盖率(Fault Coverage):已检测故障数 / 总故障数。
- 测试覆盖率(Test Coverage):已检测故障数 / 可检测故障数,排除不可测故障。
- 跳变覆盖率(Transition Coverage):针对时序相关缺陷的覆盖率。
覆盖率不是越高越好,而是要结合测试成本、测试时间和良率风险综合判断。例如,从99.5%提升到99.9%,可能需要增加30%的向量数量和测试时间,但换来的缺陷逃逸率下降是否值得,需要结合产品定位评估。
# ATPG覆盖率报告示例(简化)
Fault Model : Stuck-at
Total Faults : 1,250,000
Detected Faults : 1,243,750
Untestable Faults : 5,000
Fault Coverage : 99.50%
Test Coverage : 99.90%
Pattern Count : 12,480
Test Time Estimate : 3.2s @ 100MHz
五、良率与质量指标:从测试结果到量产决策
覆盖率回答“测试够不够全”,良率回答“制造够不够稳”,质量指标回答“交付够不够可靠”。三者共同构成DFT签核的最终依据。
| 指标 | 定义 | 典型目标 | 与DFT的关系 |
|---|---|---|---|
| 良率(Yield) | 合格芯片数 / 总芯片数 | 成熟工艺 >95% | 测试程序需准确区分好坏品 |
| DPPM | 每百万件缺陷数 | <100 DPPM | 覆盖率不足会导致逃逸 |
| 测试逃逸率 | 坏品被误判为好品的比例 | 越低越好 | 直接受覆盖率和向量质量影响 |
| 过杀率(Overkill) | 好品被误判为坏品的比例 | <1% | 测试过严会降低良率 |
常见误区:把“覆盖率99%”直接等同于“质量达标”。如果故障模型选择不当、测试向量未覆盖关键路径、或测试条件未覆盖实际工作电压/温度,覆盖率再高也可能存在逃逸风险。签核时必须同时审查覆盖率报告、故障模型清单和测试条件矩阵。
六、案例复盘:一次覆盖率达标但良率异常的签核
某项目在ATPG阶段报告固定故障覆盖率达到99.6%,团队认为可以签核。但量产初期DPPM超过500,远高于目标值。复盘发现:
- 覆盖率仅针对固定故障模型,未评估跳变故障和桥接故障。
- Scan链未覆盖低功耗关断区域,导致该区域缺陷无法被激励。
- 测试向量未在高温和低压条件下验证,部分边缘缺陷未被捕获。
最终通过补充跳变故障向量、增加测试点、调整测试条件矩阵,将DPPM降至80以下。这个案例说明:覆盖率是必要条件,但不是充分条件。DFT签核必须把故障模型、可控性/可观测性、覆盖率和质量指标作为一个整体来评估。
本节小结:DFT定义设计目标,故障模型定义测试对象,可控性与可观测性定义测试难度,测试覆盖率定义测试完备性,良率与质量指标定义签核结论。五者环环相扣,缺一不可。