目录
测试概述
开短路测试(Open-Short)
开尔文四线接法
测试概述
IC测试(集成电路测试)是指通过特定方法和工具对集成电路(Integrated Circuit)的功能、性能、可靠性等进行验证的过程。其目的是确保芯片在设计和制造阶段符合预期规格,并能在实际应用中稳定工作。
通过光刻、蚀刻等工艺,可以将电路刻在晶圆上,每个晶圆可以做非常多的chips,之后对晶圆进行切割、封装,就变成了日常生活中常见的芯片。
有必要对晶圆上的电路进行测试,称为CP测试,CP测试(Chip Probing)是晶圆级的测试,在芯片切割封装前进行,通过探针接触晶圆上的焊盘检测芯片的电性能和功能。
封装时的应力可能会改变电参数,所以封装后也需对产品进行测试,称为FT测试,对成品芯片进行全面的功能和性能验证。
CP测试主要用于筛选出晶圆上的不良芯片,避免不良品进入封装环节,降低成本。FT测试确保封装后的芯片符合最终产品规格,验证封装过程是否引入缺陷。CP测试需要探针台和晶圆级测试机,测试环境需严格控制温湿度。FT测试使用自动化测试设备(ATE)和测试插座,兼容封装后的引脚布局。CP测试通常覆盖基本功能和关键参数,测试项目相对较少。FT测试包含更全面的功能、性能、可靠性测试,如时序、功耗、高温老化等。CP测试成本较高,因晶圆级测试设备昂贵且测试时间较长。FT测试效率更高,可并行测试多颗芯片,但封装成本已投入。
抽象地,测试就是对IC激励一个信号,然后观察响应是否符合预期值,因为工艺的问题,IC不可能做到参数完全一致,所以这个预期值通常是一个范围,依据是否在这个limit内,给出pass/fail的结果。
想要给IC这样一个激励,并且将响应正确地引出来,第一步就是验证IC和测试设备有没有正确的电气连接以及IC的引脚之间有没有短路,这也是所有IC测试的第一个测试项,称为开短路测试(Open-Short)
开短路测试(Open-Short)
这里对PMU做一个说明:它的全称是:Precision Measurement Unit(精确测量单元),本质上是一个V/I源和一个高精度的电压表。它集激励、测量功能于一体。
为了防止ESD击穿pin脚,大部分IC的pin脚上会连接两个二极管,一个接到电源正极,一个接到电源负极(上图所示),静电会沿着这个通路泄放而不打坏器件。因此,在O/S测试时,通常会利用这两个二极管来进行测试,一般地,会让PMU拉出/灌入几百uA的电流,二极管导通时会有一个约0.7V的压降,通过测量这个压降,就可以观察到IC和测试设备有没有正确的电气连接。
如果器件的pin脚上因为一些原因没有二极管结构(比如需要高频输出的pin,二极管的寄生电容会影响输出,不宜采用这种结构),此时需要根据具体的内部结构,选择合适的测量方案。
在测试中,当然希望测试越快越好,最快的方法当然是并行测试所有的pin,目前的测试机完全可以做到这一点。但如果IC上有pin-to-pin之间的短路,并行测试检测不出这个故障。
串行地测试每个pin可以解决这个问题,如上图它需要将除测试pin外所有pin都接地,再单独地拉出/灌入电流,无疑会延长测试时间。
一个折中地方法是双轮法,将pin脚编号,第一次测试奇数pin,偶数pin置地,第二次测试偶数pin,奇数pin置0。平衡短的测试时间与高的测试精确性之间的矛盾,是TE不可避免的一项工作。
Egale平台的示例代码如下:
//方法一
RESULTS_STR PIN_1_OS [NUM_SITES]
//Force all pin to 0V
apu12set(OS_APU12, APU12_FV, 0.0, APU12_3p6V, APU12_1MA, APU12_PIN_TO_VI);
// pin 1
apu12set(PIN_1, APU12_FI, -0.5, APU12_3p6V, APU12_1MA, APU12_PIN_TO_VI);
lwait(500);
apu12mv(PIN_1, 20, 13.0);//Measure
groupgetresults(PIN_1_OS, NUM_SITES);
apu12set(PIN_1, APU12_FV, 0, APU12_3p6V, APU12_1MA, APU12_PIN_TO_VI);
FOR_EACH_SITE(site, NUM_SITES)
{
msLogResult(site, DSIndex, PIN_1_OS[site].value);
}
//方法二
RESULTS_STR results_ALL[(8 * NUM_SITES)]
apu12set(OS_APU12_ALL, APU12_FI, -0.5, APU12_3p6V, APU12_1MA, APU12_PIN_TO_VI);
lwait(1000);
apu12mv(OS_APU12_A, 50, 13.0);//Measure
groupgetresults(results_A, (8 * NUM_SITES));
FOR_EACH_SITE(site, NUM_SITES)
{
msLogResultAll(DSIndex++, results_ALL, (8 * NUM_SITES), i, 8);
}
O/S的troubleshooting比较简单,如果出现短路,从pin端沿着回路检查哪一部分出现接地的情况;如果出现断路,首先测试机端Force一个电压,并且使用万用表确保在测试机端能测量到这个电压,然后在IC端对应pin上看是否正确上电,如果没有,沿着回路检查哪一部分出现断路的情况。
此外,程序上Force电压/电流后,必须给一个delay,因为测试机实际上是一个带有反馈的系统,它的上电是有一个上升时间的而非理想的阶跃,此外,IC端的负载也可能会并联电容,电容的充电也需要时间,如果没有delay,测量动作开始时,DUT还没有正确的上电,就会出现fail的情况。
开尔文四线接法
在实际的测试中,IC与测试机的连接,会经过LoardBoard和线缆,它们带有一定的线阻,PMU测量的原理基本可以看作测量一个等效电阻,所以当线阻与待测电阻的量级接近时,引入的误差将不可接受。
为了解决这个问题,目前通用的方法是采用开尔文四线接法,消除线阻的影响。
开尔文接法的核心设计是,High Sence和Low Force非常靠近IC,这两根导线会连接输入阻抗非常大的电压表、运放等,以至于只有非常小的电流流过,附带的电阻就基本不会对测量造成影响。不难看到,Measure模式时,由High Sence和Low Force的回路,直接测量DUT两端的电阻,High Force和Low Force上的电阻没有引入,在Force模式时,会通过一个负反馈,使得DUT获得了足够的电压,Force模式的SPICE仿真如下:
很多时候,理想值和实际值会因为这些额外引入的电阻,电容以及电感而呈现出一些不可忽视的差异,在调试中要格外注意。