欢迎光临专业集成电路测试网~~欢迎加入IC测试QQ群:111938408

专业IC测试网

测试向量长什么样?写给芯片的功能测试说明书

时间:2026-05-07 22:24来源: IC测试之家 作者:ictest8_edit 点击:

 

功能测试怎么做?简单说就是:给芯片一系列输入信号,看输出对不对。

输入和输出的组合,就是测试向量

今天聊聊向量的基本概念、常见格式,以及新人常遇到的坑。

 
 
01 什么是测试向量?

一个测试向量,可以理解为一组在某个时钟周期内,所有输入引脚的逻辑状态(0或1)和预期输出引脚的逻辑状态。

比如一个简单的与门:

周期 输入A 输入B 预期输出Y
1 0 0 0
2 0 1 0
3 1 0 0
4 1 1 1

每一行就是一个向量。测试系统按照周期顺序,把输入信号施加到芯片引脚,然后在Strobe Edge读取实际输出,与预期值比较。一致则Pass,不一致则Fail。
向量通常很长,几千到几百万行都有。
 
02 向量从哪里来?

不是测试工程师手动写的,而是从设计工具自动生成的。

设计工程师用硬件描述语言(Verilog/VHDL)完成芯片设计后,会做仿真。仿真时写一套激励(Testbench),跑完会生成一个波形文件,包含所有输入输出的时序值。
把这个波形文件转换成测试机能识别的格式,就是测试向量。

常见转换路径:仿真波形(VCD)→ 转换工具 → 测试向量(WGL或STIL)→ 测试机格式(各ATE厂商私有格式)
 
03 三种常见的向量格式

VCD:EDA工具最原始的波形输出格式。记录了每个信号在每个时间点的变化,可读性差,体积巨大。一般不直接用于测试机,只作为中间文件。

WGL:一种文本格式,专门用于描述测试向量。它定义了信号如何分周期、如何设置忽略位(X)、如何定义掩码(Mask)等。大多数ATE都支持导入WGL。

STIL:IEEE标准格式(IEEE 1450),比WGL更规范,支持更复杂的时序和测试条件描述。目前主流ATE都支持STIL导入。

新人不需要精通这些格式,但至少要知道:仿真波形不能直接灌给测试机,必须经过转换。
 
04 常见问题

问题一:向量中出现了X或Z

仿真时某些信号未定义或处于高阻态,生成的向量里会有X或Z。测试机不认识这些状态,直接加载会报错。

解决方法:在转换工具中把X/Z映射为0或1,或者和设计工程师确认该周期内信号不应该出现X/Z,修改Testbench。
 
问题二:向量长度太大,测试时间过长

几百万行向量,测试时间可能几秒钟。对于量产来说,几秒已经很贵了。

解决方法:向量压缩、跑更高速的测试周期、或者只保留关键路径的向量。设计工程师可以提供一个“简化的功能测试”向量集,覆盖基本功能。
 
问题三:预期输出与实际输出总是差一拍

这是新手常见错误。仿真波形里,输入变化后输出可能在下一个周期才变化,但转换工具没有调整对齐,导致预期值错位。

解决方法:检查测试程序的Strobe Edge设置,或者重新生成向量时指定延迟模型。
 
05 向量调试的小技巧

拿到向量后,不要直接跑量产。先做几件事:

低频率预跑:把测试周期放宽(比如从10MHz降到1MHz),确认向量时序正确。

单步调试:只跑前几个向量,看实际输出是否匹配。

用Shmoo扫Strobe Edge:找到稳定的采样窗口。

和设计工程师对齐:如果一直Fail,先确认向量本身是否正确,而不是怀疑测试机。
 
测试向量是功能测试的“标准答案”。答案错了,考试结果必然错。

三个要点:

向量来源于设计仿真,不是测试工程师手写

常见格式有VCD、WGL、STIL,需要转换才能上机

第一次用向量时,低频率预跑、单步调试、确认正确性再量产
下次功能测试Fail,先别急着调机台。问一句:向量本身对了吗?


 
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片