第3章 测试程序开发环境:常见ATE平台及开发工具介绍
刚入行那会儿,我面对的第一个问题就是——选哪个平台?Teradyne、Advantest、Verigy,三家各有各的生态。说实话,没有的好坏,关键看你的产品类型和团队习惯。你想想看,做消费类芯片和做车规芯片,对测试平台的要求能一样吗?
这一章,我就带你看看这三个主流平台的特点和开发工具。我会结合自己用过的一些经验,帮你快速建立起对ATE开发环境的整体认知。
3.1 三大平台概览
目前主流的ATE平台就这么三家。Teradyne 和 Advantest 是现在的双寡头,Verigy 已经被 Advantest 收购,但很多老产线还在用它的系统。我个人习惯按芯片类型来选平台:
- Teradyne — 消费类SoC、MCU、无线连接芯片,市场占有率最高
- Advantest — 高端SoC、汽车电子、存储芯片,技术指标通常更激进
- Verigy(历史) — V93000 系列的原创者,存量市场依然庞大
3.2 Teradyne 平台
Teradyne 的 UltraFLEX 和 J750 系列,我在项目中都用过。UltraFLEX 主打高性能,最多能配到 4096 个数字通道,适合大规模 SoC。J750 性价比高,消费类芯片的测试主力。
开发工具是 IG-XL,基于 VB.NET。说实话,刚开始用 IG-XL 时我有点不习惯——图形化界面太多,有时候找个参数要翻好几层菜单。但用久了你会发现,它的调试确实方便,特别是做 Datalog 分析的时候。
下面是一个 IG-XL 里测电压的片段,你看看风格:
' IG-XL (VB.NET) — 简单的电压测量测试
Public Sub Test_VoltageCheck()
' 配置引脚电平
Pins("VDD").SetLevel(1.8)
Pins("VDD").SetCurrentRange(100e-3)
' 施加电压
Pins("VDD").ForceVoltage()
' 等它稳定
Wait(10e-6)
' 回读测量值
Dim measured As Double = Pins("VDD").MeasureVoltage()
' 判据
If measured >= 1.75 And measured <= 1.85 Then
TestResult.Pass()
Else
TestResult.Fail()
End If
End Sub
这段代码很直白吧?IG-XL 把大部分硬件操作封装成了 Pin 对象的方法。你只要配好参数,调用就行。我记得第一次用的时候,最让我惊讶的是它的 Datalog 引擎——测完直接生成报表,省了不少功夫。
3.3 Advantest 平台
Advantest 的 V93000 是高端 SoC 测试的标杆。我参与过一个车规芯片项目,用的就是 V93000。客户指定要用,没得选。后来发现它的高速数字测试能力确实强,时沿精度能到皮秒级。
开发工具是 SmarTest,支持 Python 和 C 两种语言。我个人更偏好 Python,写起来快,维护也方便。SmarTest 的架构比 IG-XL 更开放,你可以直接操作底层寄存器,灵活性很高。
同样的电压测试,用 SmarTest 写出来是这样的:
# SmarTest (Python) — 电压测量测试
def test_voltage_check():
# 获取通道对象
ch = tester.channel("VDD")
ch.set_voltage(1.8)
ch.set_current_limit(100e-3)
# 使能输出
ch.enable()
# 等待稳定
tester.wait(10e-6)
# 测量
measured = ch.measure_voltage()
# 判断
if 1.75 <= measured <= 1.85:
return TestResult.PASS
else:
return TestResult.FAIL
你看,逻辑跟 IG-XL 差不多,但写法更 Pythonic。SmarTest 的测试程序本质是一组 Python 脚本,你可以用面向对象的方式组织测试项,复用性很好。
3.4 Verigy 平台(历史及现状)
Verigy 是从安捷伦分拆出来的,2006 年独立,2011 年被 Advantest 收购。它的 V93000 系列是经典中的经典。直到今天,很多老产线还在跑 Verigy 原版的系统。
开发工具也是 SmarTest,不过早期版本界面和现在有点不一样。我曾经在一个客户现场维护过一套 Verigy 老系统,说实话,稳定性是真的好。开机半年不用重启,你敢信?
但有个现实问题:Verigy 的备件越来越难找。如果你还在维护 Verigy 的产线,建议提前规划向 Advantest 标准的迁移。
3.5 开发工具对比
这三大平台的开发工具各有侧重。我整理了一个对比表,方便你快速参考:
| 对比维度 | Teradyne IG-XL | Advantest SmarTest | Verigy SmarTest(历史) |
|---|---|---|---|
| 编程语言 | VB.NET | Python / C | Python / C |
| 图形化调试 | 非常强,界面集成度高 | 中等,以脚本为主 | 中等,早期版较弱 |
| 数据分析 | 内置 Datalog 引擎 | 需配合 STDF 工具 | 需配合 STDF 工具 |
| 硬件抽象层 | 封装完善,上手快 | 开放灵活,可操作底层 | 开放灵活 |
| 社区与生态 | 用户多,资料丰富 | 车规/高端领域强势 | 存量市场,资料渐少 |
3.6 开发环境搭建要点
搭建ATE开发环境,不是装个软件那么简单。硬件、驱动、License,一环扣一环。我踩过不少坑,下面这几条你一定要注意:
- License 服务器必须稳。 IG-XL 和 SmarTest 都是网络浮动 License。License 服务一挂,整个产线都得停。建议单独用一台 Windows Server 跑 License 服务,别跟其他服务混用。
- Windows 版本要兼容。 IG-XL 目前只支持 Windows 10/11 专业版或企业版。SmarTest 在 Windows 和 Linux 上都能跑,但 Linux 下驱动配置更复杂。
- 网卡别乱换。 ATE 系统跟测试头之间走的是专用协议,网卡型号和驱动版本必须跟认证列表一致。我曾经换过一张 Intel 网卡,结果死活连不上测试头,最后发现是固件不匹配。
- 先跑自检,再写程序。 环境装好后,务必跑一遍系统自检(System Check)。这一步能帮你排除硬件链路问题,不然后面调试会非常痛苦。
3.7 避坑指南
- 平台移植想当然。 把 Teradyne 的测试程序直接往 Advantest 上搬?别干这种傻事。两个平台的 timing 模型、电平定义、向量格式完全不同。移植相当于重写,不是说改改参数就行的。
- 忽略 Datalog 格式。 有些工厂只认 STDF 格式,有些要 ATDF 或自定义 CSV。开发前先问清楚客户要什么格式,不然后面转换数据能把你搞疯。
- 忘记备份。 有一次我在 IG-XL 里改一个全局 timing 文件,手抖把默认值覆盖了。测试结果一片红,折腾了两天才发现是 timing 文件被改了。从那以后,每次改配置前我一定先备份。
说白了,ATE 开发环境的搭建和选择,没有标准答案。你得根据自己做的芯片类型、团队的技能树、客户的产线标准来定。用熟了,哪个平台都是好工具。