4. ATE测试基础:从平台到向量,再到流程
ATE,全称是 Automatic Test Equipment,自动测试设备。说白了,就是一台能自动给芯片“体检”的机器。你设计得再好,流片回来也得过它这一关。我入行那会儿,第一次进实验室看到ATE设备,感觉像进了科幻片现场——巨大的机台,密密麻麻的探针卡,还有嗡嗡作响的散热风扇。
但ATE测试不是把芯片插上去就完事。它背后有一套完整的方法论:平台怎么选、向量怎么生成、流程怎么走。今天我们就把这几个核心问题拆开揉碎,讲清楚。
4.1 ATE测试平台介绍
ATE平台,就是测试的“舞台”。不同的芯片,需要不同的舞台。
4.1.1 主流ATE平台概览
目前业界主流的ATE平台,我按应用场景分了三类:
| 平台类型 | 代表产品 | 适用芯片 | 通道数 | 数据速率 |
|---|---|---|---|---|
| SoC测试平台 | Teradyne UltraFLEX、Advantest T2000 | 手机SoC、AI芯片、FPGA | 512~2048 | 1.6~12.8 Gbps |
| 存储器测试平台 | Advantest T5830、Teradyne Magnum | DRAM、NAND Flash、SRAM | 128~512 | 2.4~6.4 Gbps |
| 模拟/混合信号平台 | Teradyne ETS-800、LTX-Credence ASL1000 | ADC/DAC、电源管理、射频芯片 | 32~256 | DC~1 GHz |
选平台的时候,我建议你重点看三个指标:通道数够不够、速率能不能覆盖芯片最高频率、以及有没有你需要的专用测试板卡(比如射频模块、高压模块)。
4.1.2 平台的核心组成
一个典型的ATE平台,内部长这样:
嗯,这里要注意:测试头里的通道板,每一块都相当于一个“微型信号源+测量仪”。数字通道板能发0/1电平,模拟板能发正弦波,电源板能提供精确的电压电流。我见过不少新手,以为ATE就是“通个电看看亮不亮”,其实远没那么简单。
4.2 测试向量生成原理
测试向量,就是给芯片的“考试题目”。你想想看,芯片有几十亿个晶体管,你不可能每个都测一遍。那怎么办?挑重点考。
4.2.1 什么是测试向量
测试向量,本质上是一组输入信号和对应的期望输出。ATE把输入信号施加到芯片引脚,然后采集输出,跟期望值比对。一致就Pass,不一致就Fail。
一个典型的测试向量格式长这样:
// 测试向量示例(STIL格式)
Vector {
// 时间点: 0ns 10ns 20ns 30ns 40ns
// 引脚名:
CLK: L H L H L;
RST_N: L L H H H;
DATA_IN: X X 0 1 0;
DATA_OUT: X X X L H; // 期望输出
}
这里L代表低电平,H代表高电平,X代表不关心。ATE在每个时间点(比如10ns)同时驱动所有输入引脚,并在采样点(比如15ns)读取输出引脚的电平。
4.2.2 向量生成的两种方法
我常用的向量生成方法有两种,各有各的适用场景:
| 方法 | 原理 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 功能向量 | 从RTL仿真波形直接转换 | 覆盖功能完整,调试方便 | 向量量大,测试时间长 | 小规模芯片、原型验证 |
| ATPG向量 | 用EDA工具自动生成 | 故障覆盖率高,向量量小 | 生成时间长,需额外工具 | 大规模芯片、量产测试 |
功能向量,说白了就是把仿真时的输入输出录下来,直接喂给ATE。好处是简单直接,坏处是数据量巨大——一个百万门的芯片,功能向量可能上GB。
ATPG(Automatic Test Pattern Generation)就聪明多了。它只针对“可能出故障”的节点生成向量。比如,一个与门,只要测它的输出能不能被拉低,就能判断它是否正常工作。ATPG工具会分析电路结构,挑出最少的向量,覆盖最多的故障点。
4.2.3 向量格式转换
EDA工具生成的向量,通常是WGL、STIL或VCD格式。但ATE平台只认自己的格式,比如Teradyne的IG-XL格式、Advantest的TDL格式。所以,中间需要一步格式转换。
我曾经踩过一个坑:ATPG生成的向量,在仿真时一切正常,但转到ATE格式后,时序对不上了。查了两天才发现,是转换工具把时钟沿的采样点偏移了0.5ns。从那以后,我每次转换完都会做一次“后仿真”——把ATE格式的向量再反标回仿真环境,确认时序一致。
4.3 ATE测试流程
ATE测试不是一锤子买卖。从芯片进厂到出厂,要经过好几道关卡。我把它总结成五个步骤:
- 测试程序开发——写代码、调参数、生成向量
- 测试硬件准备——做探针卡、做测试座、接线
- 调试与验证——上机跑、看波形、修Bug
- 量产测试——批量跑、统计良率、分Bin
- 数据分析与反馈——看良率、找问题、改设计
4.3.1 测试程序开发
这是最核心的一步。测试程序通常用ATE厂商提供的脚本语言写,比如Teradyne的IG-XL(基于VB.NET),Advantest的TDL(类C语言)。
一个简单的测试程序片段:
// IG-XL 测试程序示例(伪代码)
Sub Test_Leakage()
' 设置电源电压
SetSupply("VDD", 1.8V)
SetSupply("VSS", 0V)
' 测量漏电流
MeasureCurrent("VDD", 10uA) ' 期望漏电流 < 10uA
' 判断结果
If MeasuredValue > 10uA Then
TestResult = Fail
Log("漏电流超标: " & MeasuredValue)
Else
TestResult = Pass
End If
End Sub
写测试程序,我建议你遵循“先慢后快”的原则。先写一个最慢但最全的版本,把所有功能都测一遍。等芯片验证通过后,再优化速度,去掉冗余的测试项。
4.3.2 调试与验证
这一步最磨人。你把芯片放到ATE上,跑第一个向量,结果全是Fail。别慌,大概率不是芯片坏了,而是你的测试程序有问题。
我调试ATE程序时,习惯用“分步法”:
- 先测电源——确认芯片供电正常
- 再测时钟——确认时钟信号能进去
- 然后测复位——确认芯片能复位
- 最后测功能——跑向量看结果
每一步都单独写一个测试项,跑通了再往下走。这样一旦出问题,能快速定位到是哪一步。
4.3.3 量产测试与分Bin
量产测试,讲究的是“快”和“稳”。每颗芯片的测试时间,直接决定了成本。我见过一个项目,测试时间从5秒优化到2秒,每年省下几百万的测试费用。
量产测试通常分几个Bin:
| Bin编号 | 含义 | 处理方式 |
|---|---|---|
| Bin 1 | Pass(全规格) | 出货给高端客户 |
| Bin 2 | Pass(降规格) | 降频/降压后出货给低端客户 |
| Bin 3 | Fail(可修复) | 送去激光修复或冗余修复 |
| Bin 4 | Fail(不可修复) | 报废 |
分Bin的好处是,不浪费任何一颗芯片。那些跑不到最高频率的,降一档还能卖。我做过一个项目,通过分Bin,把良率从82%提到了95%——虽然其中10%是降规格出货,但总比报废强。
好了,ATE测试的基础就讲到这里。从平台选型到向量生成,再到完整的测试流程,每一步都有它的门道。你想想看,一颗芯片从设计到量产,ATE测试是它出厂前的最后一道关。把这道关守好了,流片回来的芯片才能顺利变成产品。