第3章 测试程序开发环境:常见ATE平台及开发工具介绍

刚入行那会儿,我面对的第一个问题就是——选哪个平台?Teradyne、Advantest、Verigy,三家各有各的生态。说实话,没有的好坏,关键看你的产品类型和团队习惯。你想想看,做消费类芯片和做车规芯片,对测试平台的要求能一样吗?

这一章,我就带你看看这三个主流平台的特点和开发工具。我会结合自己用过的一些经验,帮你快速建立起对ATE开发环境的整体认知。

ATE三大平台知识体系结构 ATE 开发环境 Teradyne Advantest Verigy (历史) UltraFLEX / J750 IG-XL (VB.NET) V93000 / T2000 SmarTest (Python/C) V93000 原系 并入 Advantest 三大平台覆盖全球 90% 以上的 ATE 市场 选型需结合芯片类型、成本、团队技术栈综合考量

3.1 三大平台概览

目前主流的ATE平台就这么三家。Teradyne 和 Advantest 是现在的双寡头,Verigy 已经被 Advantest 收购,但很多老产线还在用它的系统。我个人习惯按芯片类型来选平台:

  • Teradyne — 消费类SoC、MCU、无线连接芯片,市场占有率最高
  • Advantest — 高端SoC、汽车电子、存储芯片,技术指标通常更激进
  • Verigy(历史) — V93000 系列的原创者,存量市场依然庞大
一点小建议: 如果你刚入行,先别急着站队。把其中一个平台用熟,其他平台上手会快很多。ATE 开发的核心思想是相通的。

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 引擎——测完直接生成报表,省了不少功夫。

关键点: Teradyne 生态的强项在调试效率和数据分析。IG-XL 的图形化调试器可以实时看波形和测量值,适合快速迭代测试程序。

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 脚本,你可以用面向对象的方式组织测试项,复用性很好。

注意: SmarTest 的 Python 环境是定制的,不是标准 CPython。有些第三方库用不了,比如 numpy、pandas。做数据分析时得用 STDF 工具导出再处理。

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,一环扣一环。我踩过不少坑,下面这几条你一定要注意:

  1. License 服务器必须稳。 IG-XL 和 SmarTest 都是网络浮动 License。License 服务一挂,整个产线都得停。建议单独用一台 Windows Server 跑 License 服务,别跟其他服务混用。
  2. Windows 版本要兼容。 IG-XL 目前只支持 Windows 10/11 专业版或企业版。SmarTest 在 Windows 和 Linux 上都能跑,但 Linux 下驱动配置更复杂。
  3. 网卡别乱换。 ATE 系统跟测试头之间走的是专用协议,网卡型号和驱动版本必须跟认证列表一致。我曾经换过一张 Intel 网卡,结果死活连不上测试头,最后发现是固件不匹配。
  4. 先跑自检,再写程序。 环境装好后,务必跑一遍系统自检(System Check)。这一步能帮你排除硬件链路问题,不然后面调试会非常痛苦。
我的习惯: 每装一个新环境,我都会建一个“环境验收清单”,逐项打勾。包括 License 连通性、测试头通信、Datalog 输出、GPIB 仪器控制等。花 30 分钟做验收,能省下后面几天的排查时间。

3.7 避坑指南

我曾经踩过的三个坑:
  • 平台移植想当然。 把 Teradyne 的测试程序直接往 Advantest 上搬?别干这种傻事。两个平台的 timing 模型、电平定义、向量格式完全不同。移植相当于重写,不是说改改参数就行的。
  • 忽略 Datalog 格式。 有些工厂只认 STDF 格式,有些要 ATDF 或自定义 CSV。开发前先问清楚客户要什么格式,不然后面转换数据能把你搞疯。
  • 忘记备份。 有一次我在 IG-XL 里改一个全局 timing 文件,手抖把默认值覆盖了。测试结果一片红,折腾了两天才发现是 timing 文件被改了。从那以后,每次改配置前我一定先备份。

说白了,ATE 开发环境的搭建和选择,没有标准答案。你得根据自己做的芯片类型、团队的技能树、客户的产线标准来定。用熟了,哪个平台都是好工具。