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可以只重跑变化部分。