4. 测试向量基础:向量格式(STIL/WGL)、向量周期、时序定义、向量压缩技术
测试向量(Test Vector)是ATE测试程序的核心数据载体,它定义了DUT在每个测试周期内输入/输出引脚的逻辑状态及时序关系。本章系统讲解向量的标准格式、周期模型、时序定义方法以及工业级向量压缩技术,帮助开发者高效构建与优化测试向量集。
4.1 向量格式:STIL与WGL
工业界主流向量格式包括STIL(Standard Test Interface Language)和WGL(Waveform Generation Language)。两者均用于描述测试模式与波形时序,但在语法结构、可扩展性及工具链支持上存在差异。
| 特性 | STIL | WGL |
|---|---|---|
| 标准化组织 | IEEE 1450 | Synopsys(事实标准) |
| 语法风格 | 块结构,关键字驱动 | 行结构,波形定义灵活 |
| 时序定义 | 内嵌WaveformTable | 独立Timing块 |
| 压缩支持 | 内建Repeat/Compress | 依赖外部工具 |
| 工具链生态 | 广泛支持(Tessent, DFT) | 主要配合Synopsys工具 |
格式选择建议: 若ATE平台支持STIL原生解析,优先使用STIL以获得更好的跨平台兼容性;若设计流程基于Synopsys工具链,WGL可减少格式转换开销。
4.1.1 STIL向量结构示例
STIL 1.0 {
Signals {
CLK In; DATA InOut; Q Out;
}
SignalGroups {
bus = 'DATA[7:0]';
}
Timing {
WaveformTable wft_main {
Period '100ns';
Waveforms {
CLK { 0 { '0ns' D/U; } 1 { '50ns' D/U; } }
DATA { 0 { '0ns' Z; } 1 { '0ns' D/U; } }
Q { 0 { '0ns' Z; } 1 { '0ns' D/U; } }
}
}
}
PatternBurst burst1 {
PatList { pat_scan; pat_func; }
}
Pattern pat_scan {
W = wft_main;
V { '0' '1' 'L'; }
V { '1' '0' 'H'; }
}
}
4.1.2 WGL向量结构示例
WGL
TIMING t_main {
WAVEFORM CLK {
0: D(0ns);
1: D(50ns);
}
WAVEFORM DATA {
0: Z(0ns);
1: D(0ns);
}
WAVEFORM Q {
0: Z(0ns);
1: D(0ns);
}
}
PATTERN scan_chain {
VECTORS {
CLK DATA Q
0 1 L
1 0 H
}
}
格式转换注意: STIL的WaveformTable与WGL的TIMING块在周期对齐方式上存在差异。转换时需确认ATE平台是否支持自动周期映射,否则需手动调整时序参数。
4.2 向量周期与时序定义
向量周期(Vector Period)定义了ATE施加一组测试向量的时间窗口,时序定义则描述每个引脚在该周期内的具体波形行为。两者共同决定了测试的时序精度与吞吐率。
4.2.1 向量周期模型
4.2.2 时序定义关键参数
- 周期(Period): 单个向量的时间长度,通常由DUT工作频率决定。例如100 MHz对应10 ns周期。
- 事件时间(Event Time): 引脚状态切换的时刻,相对于周期起始点。
- 波形格式(Waveform Format): 定义引脚在周期内的行为模式,如NRZ(非归零)、RZ(归零)、SBC(环绕)等。
- 时序窗口(Timing Window): 输出数据有效的时间区间,用于ATE采样判决。
时序定义陷阱: 不同ATE平台对时序分辨率的支持不同(如1 ps vs 10 ps)。在跨平台移植时,务必检查时序定义是否超出ATE硬件精度,否则可能导致测试失效。
4.3 向量压缩技术
向量压缩旨在减少测试数据量,降低ATE存储需求与测试时间。工业级压缩技术分为无损压缩与有损压缩两大类,前者保持测试覆盖率不变,后者通过模式缩减牺牲部分覆盖率换取更高压缩比。
4.3.1 常用压缩方法对比
| 压缩技术 | 压缩比 | 适用场景 | 实现复杂度 |
|---|---|---|---|
| 重复向量压缩(Repeat) | 2x ~ 10x | 扫描链测试 | 低 |
| 游程编码(Run-Length) | 3x ~ 15x | 连续相同状态 | 中 |
| 字典编码(LZW/LZ77) | 5x ~ 20x | 大规模向量集 | 高 |
| X填充压缩(X-Fill) | 2x ~ 8x | 含无关位向量 | 中 |
| 模式重排序(Pattern Reorder) | 1.5x ~ 4x | ATE加载优化 | 低 |
4.3.2 重复向量压缩原理
4.3.3 X填充压缩策略
测试向量中常存在大量无关位(X位),通过智能填充可提升压缩效率。常见策略包括:
- 相邻填充(Adjacent Fill): 将X位填充为相邻向量的相同位值,增加游程长度。
- 0/1偏好填充(Preferred Fill): 根据统计分布,将X位填充为出现频率更高的逻辑值。
- 自适应填充(Adaptive Fill): 结合ATE硬件特性,动态选择填充策略以最大化压缩比。
压缩效果验证: 在ATE平台上实际加载压缩后的向量集,需验证解压缩后的时序与原始向量完全一致。建议使用ATE内置的向量比对功能进行逐周期校验。
4.4 向量压缩与ATE平台适配
不同ATE平台对向量压缩的支持程度不同。下表列出主流平台的压缩特性:
| ATE平台 | 支持压缩格式 | 最大压缩比 | 解压缩硬件 |
|---|---|---|---|
| Teradyne UltraFLEX | STIL Repeat, LZW | 20:1 | 板载DSP |
| Advantest T2000 | WGL Run-Length | 15:1 | FPGA加速 |
| Chroma 3650 | 自定义字典压缩 | 10:1 | 软件解压 |
| NI STS | STIL Repeat, X-Fill | 8:1 | CPU解压 |
平台适配建议: 在开发阶段使用STIL/WGL标准格式存储向量,部署时根据目标ATE平台选择最优压缩方案。建议保留一份未压缩的原始向量集,用于调试与回归验证。
4.5 本章小结
测试向量是ATE测试程序的数据核心,其格式、周期、时序定义与压缩技术直接影响测试效率与成本。开发者应掌握STIL与WGL的语法差异,理解向量周期与时序的映射关系,并熟练运用重复压缩、游程编码、X填充等工业级压缩技术。在跨平台移植时,需重点关注时序精度与压缩格式的兼容性,确保测试覆盖率与数据完整性。