除了待测器件的输入输出数据,测试向量还可能包含测试系统的一些运作指令。比如说,要包含时序信息等,因为时序或者波形格式等可能需要在周期之间实时切换。输入驱动器可能需要被打开或者关闭,输出比较器也可能需要选择性地在周期之间开关。许多测试系统还支持像跳转,循环,向量重复,子程序等微操作指令。不同的测试仪,其测试仪指令的表示方式可能会不一样,这也是当把测试程序从一个测试平台转移到另一个测试平台时需要做向量转换的原因之一。

比较复杂的芯片,其测试向量一般是由芯片设计过程中的仿真数据提取而来。仿真数据需要重新整理以满足目标测试系统的格式,同时还需要做一些处理以保证正确的运行。通常来说测试向量并不是由上百万行的独立向量简单构成的。测试向量或者仿真数据可以由设计工程师,测试工程师或者验证工程师来完成,但是要保证成功的向量生成,都必须对芯片本身和测试系统有非常全面地了解。

测试资源的消耗

当开发一个功能测试时,待测器件各方面的性能与功能都要考虑到。以下这些参数都要仔细地进行测试或设置:

VDD Min/Max (待测器件电源电压)

VIL/VIH (输入电压)

VOL/VOH (输出电压)

IOL/IOH (输出电流负载)

VREF (IOL/IOH转换电平)

测试频率(测试使用的周期)

输入信号时序(时钟/建立时间/保持时间/控制)

输入信号波形格式

输出时序(在周期内何时对输出进行采样)

向量顺序(向量文件内的start/stop位置)

上述的这些资源说明了功能测试会占用测试系统的大部分资源。功能测试主要由两大块组成,一是测试向量文件,另外一块是包含测试指令的主测试程序。测试向量代表了测试待测器件所需的输入输出逻辑状态。主测试程序包含了保证测试仪硬件能产生必要的电压,波形和时序等所必需的信息。(如图所示)