1.4 测试程序

测试程序(Test Program)是可以被ATE识别和执行的指令集合。ATE之所以可以按照测试计划完成对被测器件(Device Under Test,DUT)的测试,依靠的是在测试过程中按照测试程序控制测试系统硬件,施加激励,测量响应,并与预期设定的门限(Limit)进行比较,最终对每个测试项给出“通过”(Pass)或“失效”(Fail)的结果。测试程序会按照器件在测试中表现出的性能进行相应的分类,这个过程叫作“Binning”,或者“分Bin”。另外,测试程序还会负责与外围测试设备(如分选机、探针台等)进行交互,并搜集和提供汇总的测试结果或数据给测试或生产工程师,用于良率(Yield)分析和控制。

1.4.1 测试程序的分类

测试按照不同的应用有不同的分类,相应的测试程序也有相应的分类,如特性化分析程序、量产程序等。测试程序根据不同的应用场景,会有不同的侧重点。

特性化分析程序会尽可能地对各种参数做详尽的测试,包括各种参数的变化组合,以便确定产品工作的边界条件。特性化分析程序通常在芯片设计完成之后就开始开发,用来对产品进行全面的分析,收集的数据用于产品手册的修正或设计及工艺的改进。

量产程序的主要目的是区分产品的好坏,所以需要在满足测试覆盖率的前提下尽可能地快速执行,以达到增加产出、降低成本的目的。

1.4.2 量产测试程序的流程

测试项目按照什么样的顺序执行,对于量产测试程序是很重要的。以下是几个建议:

1)开短路测试应该放在首位。

2)失效比较多的项目应该尽早执行。

3)针对不同的应用环境,定义不同速度等级的产品或多个Pass等级,这是提升良率的方法之一(例如Xilinx FPGA的-1、-2、-3速度等级,对应了器件可以支持的最高运行频率)。

4)测试数据应该被定期检测,以便对测试流程进行优化。

图1.13中给出了测试项目运行顺序与分Bin示意图。

028-01

图1.13 测试项目运行顺序与分Bin

1.4.3 分类筛选

测试的分Bin,实际上是根据测试结果对被测产品进行分类筛选的一种方式。例如前文所说的根据测试结果对IC支持的最高运行频率进行分类筛选,得到不同速度等级的产品。

Bin分为硬件Bin(Hardware Bin)和软件Bin(Software Bin)两种。

硬件Bin对应产品的实际物理操作,把不同Bin的产品放在不同的料管或料盘中。硬件Bin的数量受限于与ATE连接的分选机或探针台参数。软件Bin的数量通常只是受到ATE系统软件的限制,可以定义的数量较多,能够更详细地分辨产品的失效状况。