2. 测试向量定义
2.1 什么是测试向量
测试向量(Test Vector)是 ATE 系统向被测器件(DUT)施加的数字激励信号与期望响应信号的完整描述。它定义了在每一个测试周期(Cycle)内,DUT 各引脚(Pin)上的逻辑电平状态、时序关系以及电压/电流参考值。简单来说,测试向量就是一张“时序-状态-电平”三位一体的指令表,ATE 按照这张表逐周期驱动 DUT 并比对输出。
在半导体量产测试中,测试向量通常由 EDA 工具(如 ATPG、FastScan、TetraMAX)从设计网表自动生成,再经过 DFT 工程师或测试工程师转换为 ATE 平台(如 Teradyne、Advantest、Chroma)可识别的格式。
2.2 测试向量的组成要素
一个完整的测试向量由三个核心要素构成:Pattern(图形)、Timing(时序)和Levels(电平)。三者缺一不可,共同决定了 ATE 在每个测试周期内的行为。
| 组成要素 | 英文名称 | 定义 | 典型内容 |
|---|---|---|---|
| 图形 | Pattern | 每个测试周期内各引脚的逻辑状态序列(0/1/Z/X) | 扫描链数据、功能向量、BIST 控制序列 |
| 时序 | Timing | 定义每个周期内驱动、采样、比较的时间参考点 | 周期宽度、驱动沿、选通沿、格式(NRZ/RZ/SBC) |
| 电平 | Levels | 定义逻辑“1”和“0”对应的实际电压/电流值 | VIH/VIL、VOH/VOL、VCC、IOL/IOH |
2.2.1 Pattern(图形)
Pattern 是测试向量的核心数据部分,它描述了 DUT 每个引脚在每个测试周期应该被驱动为什么逻辑状态(输入引脚),或者期望输出什么逻辑状态(输出引脚)。常见的 Pattern 格式包括:
- 二进制格式:直接使用 0/1 表示逻辑状态,例如
00110101。 - 多值格式:除 0/1 外,还包含
Z(高阻)、X(未知/忽略)、L(低电平)、H(高电平)等。 - 向量压缩格式:使用重复计数、循环、子程序调用等方式减少文件体积,例如
REPEAT 10 { 0101 }。
2.2.2 Timing(时序)
Timing 定义了测试周期的时间参考框架。ATE 在每个周期内需要完成驱动(Drive)、选通(Strobe)和比较(Compare)等操作,这些操作的时间点由 Timing 规范精确指定。主要参数包括:
- 周期宽度(Period):一个测试周期的总时长,单位通常为 ns 或 ps。
- 驱动沿(Drive Edge):ATE 向 DUT 输入引脚施加激励的时间点。
- 选通沿(Strobe Edge):ATE 对 DUT 输出引脚进行采样比较的时间点。
- 波形格式(Waveform Format):如 NRZ(不归零)、RZ(归零)、SBC(环绕)等,决定信号在周期内的形状。
2.2.3 Levels(电平)
Levels 将 Pattern 中的逻辑“0”和“1”映射为实际的电压值和电流值。ATE 通过精密电源和比较器,确保施加到 DUT 引脚上的信号符合器件规格书要求。主要电平参数包括:
| 参数 | 全称 | 说明 | 典型值(1.8V I/O) |
|---|---|---|---|
| VIH | Input High Voltage | 输入高电平电压 | 1.62 V |
| VIL | Input Low Voltage | 输入低电平电压 | 0.18 V |
| VOH | Output High Voltage | 输出高电平阈值(期望值) | ≥ 1.35 V |
| VOL | Output Low Voltage | 输出低电平阈值(期望值) | ≤ 0.45 V |
| VCC | Supply Voltage | 器件核心/IO 电源电压 | 1.8 V ± 5% |
2.3 向量格式介绍
不同 ATE 平台使用不同的向量格式。以下是业界最常见的几种格式对比:
| 格式名称 | 所属平台 | 特点 | 适用场景 |
|---|---|---|---|
| STIL | IEEE 1450 标准 | 通用性强,支持 Pattern/Timing/Levels 分离 | 跨平台向量交换、EDA 工具输出 |
| WGL | Mentor Graphics | 波形级描述,支持复杂时序 | 功能测试、时序验证 |
| VCD | EDA 通用 | 仿真转储格式,可读性好 | 仿真结果对比、调试 |
| ATL | Teradyne | 高效压缩,支持 Pattern 子程序 | 大规模量产测试 |
| Flat Vector | Advantest | 简单直接,每行一个周期 | 小规模测试、快速验证 |
以下是一个简化的 Flat Vector 格式示例,展示 Pattern、Timing 和 Levels 如何组合成一个完整的测试向量文件:
// ===== Levels 定义 =====
LEVELS:
VCC = 1.8V;
VIH = 1.62V; VIL = 0.18V;
VOH = 1.35V; VOL = 0.45V;
// ===== Timing 定义 =====
TIMING:
PERIOD = 100ns;
DRIVE_EDGE = 20ns;
STROBE_EDGE = 80ns;
FORMAT = NRZ;
// ===== Pattern 数据 =====
PATTERN:
// Cycle CLK DATA_IN DATA_OUT
0 1 1 Z
1 0 0 Z
2 1 1 Z
3 0 0 1
4 1 1 0
5 0 0 1
6 1 1 Z
7 0 0 0
2.4 本章小结
- 测试向量是 ATE 测试的核心指令集,由 Pattern、Timing、Levels 三要素组成。
- Pattern 定义逻辑状态序列,Timing 定义时间参考点,Levels 定义电压/电流阈值。
- 不同 ATE 平台支持不同的向量格式,STIL 是跨平台标准,平台原生格式(如 ATL、Flat Vector)在量产中更高效。
- 向量格式转换是测试工程师的日常工作之一,必须确保三要素信息在转换过程中不丢失、不畸变。