3、测试数据采集系统:ATE测试原理、测试向量与测试模式、数据采集的格式与标准(STDF、ATDF)

各位工程师朋友,今天我们来聊聊测试数据采集系统。这部分内容,说白了就是芯片测试的“耳朵”和“嘴巴”——怎么把芯片的响应抓出来,又怎么把这些数据存下来。我做了十几年测试,见过太多因为数据格式不规范导致分析困难的项目,所以这部分内容,我建议你认真看看。

3.1 ATE测试原理:芯片测试的“体检中心”

ATE(自动测试设备)是什么?你可以把它想象成一个芯片的“体检中心”。我们把芯片放上去,ATE会按照我们设定的“体检项目”(也就是测试程序),给芯片施加各种“刺激”(测试信号),然后观察芯片的“反应”(输出响应)。

ATE的核心原理其实不复杂:

  • 施加激励:给芯片的输入引脚加上特定的电压、电流或数字信号序列
  • 测量响应:在芯片的输出引脚上捕获信号,测量电压、电流、时序等参数
  • 比较判定:将测量结果与预设的“合格标准”进行比较,给出PASS/FAIL判定

关键点:ATE测试的本质是“比较”。不是测芯片有多好,而是测芯片有没有达到我们设定的最低标准。这个思路很重要,很多新手容易搞反。

我记得刚入行时,有个老工程师跟我说:“ATE不是万能的,它只能测你让它测的东西。”这句话我到现在还记得。你想想看,如果你没写某个测试项,ATE再贵也测不出来那个问题。

3.2 测试向量与测试模式:给芯片的“考试题目”

测试向量(Test Vector)和测试模式(Test Pattern),这两个概念经常被混用,但严格来说是有区别的。

测试向量:是ATE施加给芯片的输入信号序列。它定义了每个时钟周期,芯片每个输入引脚应该是什么电平(0或1)。

测试模式:是测试向量的集合,通常针对某个特定的测试目标。比如“扫描链测试模式”、“功能测试模式”、“BIST测试模式”等。

我的经验:我个人习惯把测试向量看作“题目”,测试模式看作“试卷”。一份试卷(测试模式)包含多道题目(测试向量)。这样理解起来比较直观。

测试向量的格式通常长这样:

// 这是一个简单的测试向量示例
// 格式:时间 引脚1 引脚2 引脚3 ... 引脚N
0ns    1    0    1    ...    0
10ns   0    1    0    ...    1
20ns   1    1    0    ...    0
30ns   0    0    1    ...    1

为什么会需要这么精确的时间控制?因为芯片的时序特性非常关键。我曾经遇到过一个项目,芯片功能完全正确,但就是跑不到目标频率。后来发现是测试向量中的时序设置有问题,导致ATE在错误的时间点采样了输出信号。嗯,这里要注意,测试向量的时序精度直接影响测试结果的可靠性。

3.3 数据采集的格式与标准:STDF和ATDF

测试数据采集完了,总得有个地方存吧?而且这个数据格式要通用,方便不同工具之间交换数据。这就是STDF和ATDF存在的意义。

3.3.1 STDF(Standard Test Data Format)

STDF是半导体行业最通用的测试数据格式,由Teradyne公司开发,后来成为行业标准。它是个二进制格式,体积小、解析快,适合大规模量产数据的存储和传输。

STDF文件的结构是这样的:

记录类型 记录名称 说明
FAR 文件属性记录 文件版本、创建时间等元信息
ATR 审计追踪记录 记录文件修改历史
MIR 主信息记录 测试批次、产品型号、测试程序等
MRR 主结果记录 批次测试结果汇总
PIR 器件信息记录 每个器件的ID、位置等
PRR 器件结果记录 每个器件的测试结果
PTR 参数测试记录 具体的参数测量值
FTR 功能测试记录 功能测试的详细结果

避坑指南:我曾经遇到过一个项目,STDF文件解析出来全是乱码。后来发现是字节序(Endian)设置错了。STDF支持大端和小端两种字节序,解析时必须匹配生成时的设置。这个坑我踩过,你注意一下。

3.3.2 ATDF(ASCII Test Data Format)

ATDF是STDF的文本版本,说白了就是把二进制数据转成了人能看懂的文本格式。它的优点是可直接用文本编辑器打开查看,方便调试和验证。但缺点也很明显——文件体积大,解析速度慢。

ATDF的格式示例:

# ATDF文件示例
# 版本: 1.0
# 生成时间: 2024-01-15 10:30:00

RECORD: MIR
  LOT_ID: "LOT20240101"
  DEVICE: "CHIP_X"
  PROGRAM: "TEST_PROG_V2.1"

RECORD: PIR
  SITE_NUM: 1
  HEAD_NUM: 0
  PART_ID: "A001"

RECORD: PTR
  TEST_NAME: "VDD_MIN"
  TEST_NUM: 10
  RESULT: 1.25
  LOW_LIMIT: 1.10
  HIGH_LIMIT: 1.40
  UNITS: "V"
  PASS_FAIL: "P"

我个人习惯在调试阶段用ATDF,因为可以直接看内容,发现问题也方便定位。但到了量产阶段,我一定会换成STDF,不然数据量太大了,存储和传输都是问题。

3.4 知识体系框架

为了让你更直观地理解本章的知识结构,我画了一张图:

测试数据采集系统知识体系 ATE测试原理 施加激励 测量响应 比较判定 测试向量 测试模式 时序控制 STDF(二进制) ATDF(文本) 数据交换标准 目标:高效、准确、标准化的测试数据采集

这张图把本章的知识体系串起来了。从ATE测试原理出发,到测试向量和测试模式,再到数据格式标准,环环相扣。你想想看,如果没有标准化的数据格式,良率分析工具怎么读取数据?失效定位系统怎么找到问题芯片?

实用建议:在实际项目中,我建议你从STDF入手学习。虽然它是二进制格式,但几乎所有良率分析工具都支持它。ATDF可以作为调试辅助,但不要依赖它做大规模数据分析。

好了,关于测试数据采集系统的基础内容就讲到这里。这部分内容虽然看起来偏理论,但实际工作中天天都要用到。特别是STDF格式,我建议你找个实际文件打开看看,熟悉一下它的结构。下一章我们会深入讨论测试程序开发的具体方法。


公众号:蓝海资料掘金营,微信deep3321