测试数据:ATPG 向量怎样变成机台能打的一叠卡(F9)
S2 综合插入 scan 链、S7 掩模数据把版图送进工厂之后,还有一批数据要跟着晶圆上测试机台:测试 pattern。它常被误认为「就是功能仿真向量换个后缀」,实际上它由完全不同的工具(ATPG/BSDL 工具,如 TetraMAX/TestKompress)生成、走完全不同的格式链,最终变成 ATE 机台程序。本篇讲清这条链。
一、两条向量链,别混为一谈
| 功能验证向量 | 制造测试 pattern | |
|---|---|---|
| 目的 | 证明设计逻辑对 | 筛掉制造缺陷(stuck-at/transition 故障) |
| 来源 | UVM testbench、定向用例 | ATPG 按故障模型自动生成 |
| 时序 | 事件驱动、可任意延时 | cycle 化:严格按 tester 周期/沿编排 |
| 消费方 | 仿真器(A 系仿真器) | ATE 机台(经机台程序) |
| 数据格式 | VCD/FSDB(见 F6) | STIL/WGL → 机台专属 pattern 格式 |
测试链的输入不是 testbench,而是 scan 插入后的网表 + 故障模型 + 链定义;输出是覆盖率以「故障覆盖率(fault coverage)」而非代码覆盖率衡量的一叠向量。
二、格式怎样一级级变成机台程序

- ATPG:在带 scan 的网表上按故障模型生成移位/捕获序列,报告故障覆盖率;压缩 scan(如 EDT/XPress)还要带解压结构的协议文件。
- STIL(IEEE 1450)/WGL:中性交换格式,携带引脚波形、时间集(timing set)、期望响应与 burst/过程结构。STIL 表达力强、可扩展(功耗感知、压缩),WGL 偏老式波形表,二者都是跨工具中转而非机台直读。
- tester 格式化:由 ATE 厂商或 DFT 团队的转换工具按目标机台的通道数、周期精度、沿存储、向量内存做周期化、重定时、拆分,生成机台专属 pattern 程序。同一份 STIL 上不同机台要各自转换——这是测试数据特有的「一次源、多机台派生」。
- BSDL(IEEE 1149.1):边界扫描描述文件,随芯片交付给板级/系统测试,声明 TAP 与边界寄存器,是少数面向芯片外部用户的数据。
三、纪律与坑
- 网表必须是 DFT 后那一份:在功能网表上跑 ATPG 会漏掉 scan 链本身(F1 主从纪律);
- 时序集与 SDC/机台能力对齐:移位脉冲、捕获沿、at-speed 的 launch-capture 频率错配会在好片上报假 fail(yield loss)或放过坏片(test escape);
- pattern 版本与网表/GDS 同版冻结:metal-only ECO 改了逻辑却没重生成 pattern(见 X3),量产筛的就是旧缺陷模型;
- 机台资源约束前置:向量深度/通道数超机台上限,到转换阶段才发现就要返工压缩;
- 功耗约束进 ATPG:移位时同时翻转的触发器可能造成 IR drop 误杀,现代流程带功耗感知 pattern 生成。
四、fail 数据回流:测试链不是终点
ATE 产出的 fail bitmap/bin 数据是良率分析(X6 硅后反馈)的输入:按 fail 签名定位缺陷层、区分系统缺陷与随机缺陷、必要时补 ATPG pattern 提升覆盖率。pattern 与良率数据在量产后仍持续演化,不是流片即归档的死数据。
相关与延伸
- 网表主从:F1 RTL 与四级网表;活动数据区别:F6 VCD/SAIF;ECO 对 pattern 的作废:X3。
- 设计侧概念:可测性设计 DFT;良率闭环:X6 硅后数据回流。
总结
测试 pattern 是「DFT 网表→ATPG→STIL/WGL→机台周期化程序」的独立数据链,与功能验证向量在来源、时序和消费方上完全不同;它必须与 DFT 后网表同版、按时序集和机台资源约束转换,而量产后的 fail 数据还要持续回流补 pattern——测试数据在硅后依然活着。