第二章:测试基础理论——故障模型、测试覆盖率与ATPG原理

各位同学,欢迎来到测试理论的核心章节。说实话,很多工程师觉得测试理论枯燥,不就是几个故障模型嘛。但我在项目中吃过亏,才明白这些基础有多重要。今天咱们就聊聊故障模型、测试覆盖率,以及ATPG是怎么工作的。

2.1 故障模型:芯片为什么会坏?

芯片制造出来,不可能100%完美。为什么?因为工艺偏差、杂质、光刻误差等等。但我们要测试,就得先定义“什么是坏”。这就引出了故障模型。

2.1.1 Stuck-at 故障模型

这是最经典的模型,也是DFT入门的第一个概念。说白了,就是假设某个节点永远卡在逻辑0或逻辑1,不会变了。

  • Stuck-at-0 (SA0):节点永远为0
  • Stuck-at-1 (SA1):节点永远为1

举个例子,一个两输入与非门,如果输出端SA0了,那不管输入是什么,输出永远是0。测试时,我们需要施加特定的向量,让这个故障“暴露”出来。

重要概念:Stuck-at模型假设故障是永久性的,不会时好时坏。虽然简单,但覆盖了大部分制造缺陷。

我个人习惯,在做扫描链插入时,会先跑一遍Stuck-at覆盖率。如果低于95%,我基本不会往下走。为什么?因为后面的Transition测试会更难搞。

2.1.2 Transition 故障模型

Stuck-at模型只能测静态故障。但芯片是动态工作的,信号需要跳变。Transition模型就是用来测“信号跳变太慢”的问题。

它分两种:

  • Slow-to-Rise:从0变1太慢
  • Slow-to-Fall:从1变0太慢

测试时,需要两个连续的时钟周期。第一个周期把节点设成初始值,第二个周期让它跳变,然后捕获结果。如果跳变太慢,捕获到的值就是错的。

避坑指南:我曾经在一个28nm项目中,Stuck-at覆盖率做到99%,但芯片回来还是有问题。后来发现是Transition故障没测到。从那以后,我要求Transition覆盖率至少85%以上。

2.1.3 Bridging 故障模型

Bridging模型模拟的是两条相邻的金属线短路了。这在先进工艺中越来越常见,因为线间距越来越小。

Bridging故障有两种行为:

  • Wired-AND:短路后,两个节点都变成两者相与的结果
  • Wired-OR:短路后,两个节点都变成两者相或的结果

你想想看,如果一条数据线和一条时钟线短路了,那后果有多严重?所以Bridging测试不能省。

2.2 测试覆盖率:你到底测了多少?

测试覆盖率,就是衡量你的测试向量能检测到多少故障。公式很简单:

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

但这里有个坑:总故障数怎么算?

对于Stuck-at模型,每个节点有SA0和SA1两个故障。一个100万门的芯片,故障数大约是200万。但实际ATPG工具会做故障压缩,把等价的故障合并。

覆盖率类型 典型目标值 说明
Stuck-at覆盖率 ≥95% 基础要求,大部分项目都能做到
Transition覆盖率 ≥85% 先进工艺必须关注
Bridging覆盖率 ≥80% 取决于工艺节点

注意:覆盖率不是越高越好。从98%到99%,可能需要增加50%的测试向量。这会增加测试时间和成本。我一般会跟客户商量,定一个合理的阈值。

2.3 ATPG原理:测试向量是怎么生成的?

ATPG,全称Automatic Test Pattern Generation。说白了,就是工具自动帮你生成测试向量。

ATPG的核心思想是:

  1. 故障激活:让故障点的值跟正常值相反
  2. 故障传播:把故障点的差异传到某个输出端
  3. 敏化路径:确保传播路径上的其他信号不会干扰

举个例子,一个与非门输出端SA0。要激活它,需要让正常输出为1。那输入就是(0,0)或(0,1)或(1,0)。然后把这个0值传到输出端,中间不能有其他门把它改掉。

ATPG算法主要有几种:

  • D算法:最经典的,用D和D'表示故障值
  • PODEM:面向目标的,效率更高
  • FAN:进一步优化,减少回溯

我记得刚入行时,总觉得ATPG很神秘。后来自己写过一个简单的ATPG程序,才发现核心就是“激活+传播”。工具只是把这个过程自动化了。

实战建议:在TetraMAX中,ATPG流程一般是:读入网表 → 构建故障列表 → 运行ATPG → 输出测试向量。我习惯先跑一个快速模式看看覆盖率,再跑全模式优化。

2.4 三种故障模型的对比

模型 模拟的缺陷 测试复杂度 覆盖率目标
Stuck-at 永久性短路/断路 ≥95%
Transition 信号跳变慢 ≥85%
Bridging 相邻线短路 ≥80%

嗯,这里要注意:三种模型不是互斥的。一个芯片可能同时有Stuck-at和Transition故障。所以测试时,要综合使用。

好了,这一章的内容就到这里。测试理论是DFT的基石,理解透了,后面的扫描链、BIST、Boundary Scan才能学得扎实。下一章我们讲扫描链设计,那是DFT的实战核心。

本章小结

  • Stuck-at模型:最基础,覆盖静态故障
  • Transition模型:测动态跳变,先进工艺必备
  • Bridging模型:测短路,越来越重要
  • 测试覆盖率:不是越高越好,要平衡成本
  • ATPG原理:激活+传播,工具自动生成向量

公众号:蓝海资料掘金营,微信deep3321