ATPG 自动测试向量生成

类型: concepts
引用论文: 70 篇
ATPG 自动测试向量生成 概念

ATPG 自动测试向量生成

概念解析

定义与起源

术语定义:自动测试向量生成(Automatic Test Pattern Generation, ATPG)是DFT的核心算法——给定芯片网表和故障模型,自动生成一组测试向量,检测尽可能多的目标故障。ATPG将芯片测试从"人工设计测试用例"变成"算法自动求解"。

ATPG的数学基础可追溯到布尔差分和路径敏化。1966年Roth提出D算法。1980年代PODEM和FAN算法大幅加速。1990年代TetraMAX将ATPG商业化。

核心要义

第一,ATPG的本质是约束求解。 故障检测需要三个条件:故障点被激发、故障效应传播到观测点、传播路径被敏化。ATPG同时求解这三个约束。

第二,故障模型决定ATPG的质量天花板。 stuck-at覆盖DC故障。transition覆盖时序故障。path delay覆盖小延迟缺陷。cell-aware覆盖单元内部缺陷。每一代模型都更接近真实缺陷。

第三,ATPG的瓶颈不是算法速度——是向量体积。 现代芯片ATPG可生成数十亿向量但ATE存储器有限。真正的挑战是向量压缩。

实践应用

* 故障分级很重要:先跑stuck-at(快、覆盖面大),再跑transition,最后补path delay。 * 测试点插入补短板:ATPG后检查低覆盖率区域→插入测试点→重跑ATPG。 * 层次化ATPG是大芯片必须:分core各自独立跑ATPG,top只做互连测试。

实战案例

  • 某GPU的transition ATPG翻车:stuck-at 99.8%但transition只有82%。根因门控时钟阻塞transition传播。插入测试控制点后transition提到95%。——SNUG San Jose 2020

  • Cell-Aware ATPG救了汽车芯片:传统测试全pass但仍有ppm级field return。cell-aware ATPG捕获了3个标准单元内部缺陷。——SNUG Europe 2018

  • AI加速ATPG向量压缩:800M向量压缩到200M——强化学习做向量选择——200M覆盖了原800M的99.2%故障。——SNUG Silicon Valley 2023

常见误区

误区一:ATPG覆盖率=测试质量。 覆盖率只告诉你能不能检测——不告诉检测了是不是真能抓到缺陷。

误区二:ATPG向量越多越好。 更多向量=更长测试时间=更高成本。压缩的本质是在三者之间找最优解。

误区三:ATPG是一次性工作。 每次ECO后ATPG必须重跑。增量ATPG可以只重跑变化部分。

思想演变

**1960s
算法奠基** (1966–1980):Roth提出D算法。布尔差分理论提供数学基础。
**1980s
算法加速** (1980–1990):PODEM和FAN大幅加速。商用ATPG工具出现。
**1990s
商用成熟** (1990–2010):TetraMAX成为工业标准。支持多种故障模型。
**2010s–present
AI时代**:层次化ATPG处理10亿门芯片。AI/ML辅助向量生成和压缩。

原话引用

"ATPG is not just an algorithm — it's the bridge between DFT theory and silicon reality."—— TetraMAX 首席架构师, SNUG 2005
"The best ATPG vector is the one you don't need. Every vector you eliminate saves test time and test cost."—— SNUG India 2019
"ATPG覆盖率到99%容易,到99.9%难,到99.99%几乎不可能——每多一个9,向量数翻倍。"—— DFT经理, 内部技术讨论