集成电路自动测试技术综述陈华成0812002193电087摘要:随着经济发展和技术的进步,集成电路(IntegratedCircuit,IC)产业取得了突飞猛进的发展。集成电路测试是集成电路产业链中的一个重要环节,是保证集成电路性能、质量的关键环节之一。集成电路测试是集成电路产业的一门支撑技术,而集成电路自动测试设备(AutomaticTestEquipment,ATE)是实现集成电路测试必不可少的工具。本文首先介绍了集成电路自动测试系统的国内外研究现状,接着介绍了数字集成电路的测试技术,包括逻辑功能测试技术和直流参数测试技术。逻辑功能测试技术介绍了测试向量的格式化作为输入激励和对输出结果的采样,最后讨论了集成电路测试面临的技术难题。关键词:集成电路;测试技术;IC1引言随着经济的发展,人们生活质量的提高,生活中遍布着各类电子消费产品。电脑﹑手机和mp3播放器等电子产品和人们的生活息息相关,这些都为集成电路产业的发展带来了巨大的市场空间。2007年世界半导体营业额高达2.740亿美元,2008世界半导体产业营业额增至2.850亿美元,专家预测今后的几年随着消费的增长,对集成电路的需求必然强劲。因此,世界集成电路产业正在处于高速发展的阶段。集成电路产业是衡量一个国家综合实力的重要重要指标。而这个庞大的产业主要由集成电路的设计、芯片、封装和测试构成。在这个集成电路生产的整个过程中,集成电路测试是惟一一个贯穿集成电路生产和应用全过程的产业。如:集成电路设计原型的验证测试、晶圆片测试、封装成品测试,只有通过了全部测试合格的集成电路才可能作为合格产品出厂,测试是保证产品质量的重要环节。集成电路测试是伴随着集成电路的发展而发展的,它为集成电路的进步做出了巨大贡献。我国的集成电路自动测试系统起步较晚,虽有一定的发展,但与国外的同类产品相比技术水平上还有很大的差距,特别是在一些关键技术上难以实现突破。国内使用的高端大型自动测试系统,几乎是被国外产品垄断。市场上各种型号国产集成电路测试,中小规模占到80%。大规模集成电路测试系统由于稳定性、实用性、价格等因素导致没有实用化。大规模/超大规模集成电路测试系统主要依靠进口满足国内的科研、生产与应用测试,我国急需自主创新的大规模集成电路测试技术,因此,本文对集成电路测试技术进行了总结和分析。2集成电路测试的必要性随着集成电路应用领域扩大,大量用于各种整机系统中。在系统中集成电路往往作为关键器件使用,其质量和性能的好坏直接影响到了系统稳定性和可靠性。如何检测故障剔除次品是芯片生产厂商不得不面对的一个问题,良好的测试流程,可以使不良品在投放市场之前就已经被淘汰,这对于提高产品质量,建立生产销售的良性循环,树立企业的良好形象都是至关重要的。次品的损失成本可以在合格产品的售价里得到相应的补偿,所以应寻求的是质量和经济的相互制衡,以最小的成本满足用户的需要。作为一种电子产品,所有的芯片不可避免的出现各类故障,可能包括:1.固定型故障;2.跳变故障;3.时延故障;4.开路短路故障;5桥接故障,等等。测试的作用是检验芯片是否存在问题,测试工程师进行失效分析,提出修改建议,从工程角度来讲,测试包括了验证测试和生产测试两个主要的阶段。一款新的集成电路芯片被设计并生产出来,首先必须接受验证测试。在这一阶段,将会进行功能测试、以及全面的交流(AC)参数和直流(DC)参数的测试等,也可能会探测芯片的内部结构。通常会得出一个完整的验证测试信息,如芯片的工艺特征描述、电气特征(DC参数、AC参数、电容、漏电、温度等测试条件)、时序关系图等等。通过验证测试中的参数测试、功能性测试、结构性测试,可以诊断和修改系统设计、逻辑设计和物理设计中的设计错误,为最终规范(产品手册)测量出芯片的各种电气参数,并开发出测试流程。当芯片的设计方案通过了验证测试,进入生产阶段之后,将利用前一阶段设计好的测试流程进行生产测试。在这一阶段里,测试的目的就是对被测芯片进行“Pass”或“Fail”判断。由于要每一片芯片进行生产测试,所以测试成本是这一阶段的首要问题。出于此种目的,测试的效率很关键,生产测试生产没有验证测试那么全面,测试通常所采用的测试向量集不会包含过多的测试向量,但是必须有足够高的模型化故障的覆盖率以满足质量上的要求。3集成电路测试的分类依照器件开发和制造阶段、采用的工艺技术、测试项目种类以及待测器件等的不同,测试技术可以分为很多种类。器件开发阶段的测试包括:1.晶圆测试(WaferTest):对裸露的、尚未切割的每颗晶圆进行探针测试。测试过程中,要让测试仪的探针与晶粒上的节电接触,测试晶粒的电气特性不合格的晶粒会被标上记号。探针卡的阻抗匹配和延时问题必须加以考虑,以便于时序调整和矫正。2.生产测试:晶圆上的芯片经过封装后,对成品进行全面的电性能测试。3.老化测试:通过生产性测试的产品并不是完全一致的,在实际应用当中,有些会很快失效,而有些会能长时间正常工作。老化测试是通过一个长时间的连续或周期性的测试使不耐用的器件失效,从而确保老化测试后器件的可靠性。老化测试分为静态老化测试和动态老化测试。静态老化测试是在给器件提供供电电压下,提高器件的工作温度,对其寿命进行测试。动态老化测试是在静态老化测试的基础上施加激励。4.质量控制测试:为确保生产产品的质量,对准备出厂的合格器件进行抽样测试,确保良品的合格率。目前,集成电路针对不同的应用场合分为民用标准级、工业标准级和军用标准级别,不同的级别参数测试的标准高低不同。图1为集成电路一般的测试流程:图1测试流程4集成电路测试的原理与方法通常的按测试项目种类分主要包括:1.逻辑功能测试:根据被测器件的真值表,设计向量,对器件逻辑功能进行测试。2.直流参数测试:在DUT的引脚上施加电流或电压,测出具体的参数数值。测试项目包括:开路/短路测试,输出驱动电流测试,漏电电流测试,电源电流测试,转换电平测试等。4.1数字器件的逻辑功能测试结合体图2,逻辑功能测试是旨在于检查被测器件在类似实际使用的环境下是否能实现其预期逻辑功能的一类测试,也就是我们常说的功能测试。功能测试根据被测器件的真值表、状态方程、测试图形来测试器件的逻辑功能。功能测试是全集的,测试向量集不会包含多余的测试向量,但必须有足够高的故障覆盖率。在电路中传输的逻辑“1/0”是由带定时特性和电平特性的波形,与波形形状、脉冲宽度、脉冲边缘或斜率以及上升沿和下降沿的位置都有关系。功能测试关注的重点是测试图形产生的速度、边沿定时控制的特性、输入/输出控制和屏蔽选择。参照被测器件(DUT)的器件手册,考虑各个方面的性能,必须仔细检查下列项的准确值:①被测器件电源电压最小值/最大值;②VOL/VOH(输出电压);③VIL/VIH(输入电压);④IOL/IOH(输出负载电流);⑤动态电流负载参考电平VREF;⑥测试频率/周期;⑦输入信号时序(时钟/建立时间/保持时间/控制信号);⑧输入信号波形编码方式;⑨输出时序(在周期内何时对输出进行采样);⑩向量序列(向量文件内的开始/停止位置)。从以上可以看出,逻辑功能测试中需要配置大量的资源信息,主要由两大块组成,一是测试向量文件,另外一块是包含测试指令的主测试程序。测试向量代表了测试待测器件所需的激励输入和期望输出的逻辑状态。主测试程序设定测试速率、引脚部件电平值、输入通道的编码格式、波形和时序等所必需的信息。从向量存储器里输出的数据与时序,编码格式以及电平数据结合在一起,通过引脚电路施加给被测器件。输入的测试数据就包含测试向量、输入信号时序、输入信号格式化编码、输入电平组等。执行功能测试时,设定必要的初始程序、合理的电平和电流值和定时条件后,测试系统逐个周期的给DUT提供激励,同时在一个周期内对DUT的输出进行监测,输出信号与测试向量表示的期望值相互比较,如果输出引脚输出的逻辑状态与期望不相符合,则功能测试失效。图2集成电路逻辑功能测试原理图对输出响应的检测有两种方法。(1)比较法:输入激励同时应用于被测电路和一个称为金器件(设为无故障)的相同器件,比较两者输出响应即可判断被测电路正确性。这种比较法一般适用于比较简单的标准中小规模(SSI、MSI)电路的测试。(2)存储响应法:结合图3,在计算机的控制下,被测器件的测试集存放在测试系统高速缓冲存储器中。测试时,测试图形根据测试主频逐排读出,输入激励顺次施加于被测器件,逐拍与期望响应作为比较。如果比较结果全部一致,则证明器件功能合格;否则称器件功能失效。这种方法涉及大量测试数据的存储和读出操作,但它具有相当的灵活性,也适用于时序电路的测试。该方法的优点是可以根据测试要求,在确保一定的测试可接受的前提下,将一个很长的测试集进行压缩,这样不仅节省了存储空间,而且加快了测试速度,因此存储响应原理为众多测试系统所采用。测试的顺序为测试矢量→被测电路→与标准响应比较→结果分析。图3存储响应法4.1.1测试周期及输入数据(1)测试周期测试周期是测试器件过程中的工作频率,为每一条测试向量所持续的时间。功能测试建立时序的第一步是定义测试周期的时序关系。(2)输入数据激励给DUT的数据是含有时序和电平信息的,一般由以下因数构成:①测试向量;②输入信号格式化编码组;③输入信号电平组;④输入信号时序组。激励给DUT的输入信号是以测试向量数据形式存储的逻辑“1/0”,而代表逻辑“1/0”的电平则由电子引脚中的VIH/VIL参考电平规定的。输入信号要求设置为包含唯一格式化编码方式和设定时序更为复杂的数据形式,主程序中会包含这些信息并通过相应的代码实现设置。(3)输入信号格式根据DUT输入引脚的特性,设定其输入信号的编码格式以完成功能测试,使用得当还可以保证规格书定义的所有交流参数被测试。信号格式与测试向量、时沿设定及输入电平组合起来作为DUT的输入信号波形。图4给出了一些信号格式的简单描述。图4信号格式化编码①NRZ(NonReturntoZero,不返回):代表存储于向量存储器的实际数据,它不含有时沿信息,只在每个周期的起始点(T0)发生变化。②DNRZ(DelayedNonReturntoZero,延迟不返回):顾名思义,它和NRZ一样代表存储于向量存储器的数据,只是周期中数据的转变点不在T0。如果当前周期和前一周期的数据不同,DNRZ会在预先定义的前延处发生跳变。③RZ(ReturntoZero,归零码):当数据为逻辑“1”时提供一个正向脉冲,数据为逻辑“0”时则保持为低状态。RZ信号含有前(上升)沿和后(下降)沿这两个时间沿。当相应引脚的所有向量都为逻辑“1”时,用RZ格式则等于提供正向脉冲的时钟,脉宽是可以调节的。一些上升沿有效的信号,如芯片的片选(CS)信号,会要求使用RZ编码格式。④RO(ReturntoOne,归一码):当数据为逻辑“0”时提供一个负向脉冲,数据为逻辑“1”时则保持高状态。当相应引脚的所有向量都为逻辑“0”时,RO格式提供了负向脉冲的时钟。一些下降沿有效的信号,如芯片的使能(/OE)信号,会要求使用RO编码格式。⑤SBC(SurroundByComplement,补码环绕):当前后周期的数据不同时,信号在一个周期内将跳变3次,信号更为复杂。首先在T0点处翻转电平,等待预定的延迟时间后,在定义的脉冲宽度内表现真实的向量数据,最后再次翻转电平并在周期内剩下的时间保持。SBC是运行测试向量15时唯一能同时保证信号建立(setup)和保持(hold)时间的信号格式,也被称为XOR格式。(4)输入信号时序测试周期确定了,周期内各输入信号的编码格式及时沿点也就可以确定了。通常来说,输入信号有两类:数据信号和控制信号。数据信号在控制信号设定的时间点处锁存数据到器件内部。第一个要确定的是数据信号的建立/保持时间和控制信号的有效时沿,这些信息将决定各输入信号时间沿在周期内的位置。接下来确定各输入信号的编码格式。时钟信号通常使用RZ(正脉冲)或RO(负脉冲)编码格式;上升沿有效的信号如片选(CS)常使用RZ编码格式;下降沿有效的信号如输出始能(/OE)常使用RO编码