半导体测试基础 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
描述半导体测试的专业术语很多,这里只例举部分基础的:
1. DUT
需要被实施测试的半导体器件通常叫做DUT(Device Under Test,我们常简称“被测器件”),或者叫UUT(Unit Under Test)。
首先我们来看看关于器件引脚的常识,数字电路期间的引脚分为“信号”、“电源”和“地”三部分。
信号脚,包括输入、输出、三态和双向四类,
输入:在外部信号和器件内部逻辑之间起缓冲作用的信号输入通道;输入管脚感应其上的电压并将它转化为内部逻辑识别的“0”和“1”电平。
输出:在芯片内部逻辑和外部环境之间起缓冲作用的信号输出通道;输出管脚提供正确的逻辑“0”或“1”的电压,并提供合适的驱动能力(电流)。
三态:输出的一类,它有关闭的能力(达到高电阻值的状态)。
双向:拥有输入、输出功能并能达到高阻态的管脚。
电源脚,“电源”和“地”统称为电源脚,因为它们组成供电回路,有着与信号引脚不同的电路结构。
VCC:TTL器件的供电输入引脚。
VDD:CMOS器件的供电输入引脚。
VSS:为VCC或VDD提供电流回路的引脚。
GND:地,连接到测试系统的参考电位节点或VSS,为信号引脚或其他电路节点提供参考0电位;对于单一供电的器件,我们称VSS为GND。
2. 测试程序
半导体测试程序的目的是控制测试系统硬件以一定的方式保证被测器件达到或超越它的那些被具体定义在器件规格书里的设计指标。
测试程序通常分为几个部分,如DC测试、功能测试、AC测试等。DC测试验证电压及电流参数;功能测试验证芯片内部一系列逻辑功能操作的正确性;AC测试用以保证芯片能在特定的时间约束内完成逻辑操作。
程序控制测试系统的硬件进行测试,对每个测试项给出pass或fail的结果。Pass指器件达到或者超越了其设计规格;Fail则相反,器件没有达到设计要求,不能用于最终应用。测试程序还会将器件按照它们在测试中表现出的性能进行相应的分类,这个过程叫做“Binning”,也称为“分Bin”.举个例子,一个微处理器,如果可以在150MHz下正确执行指令,会被归为最好的一类,称之为“Bin1”;而它的某个兄弟,只能在100MHz下做同样的事情,性能比不上它,但是也不是一无是处应该扔掉,还有可以应用的领域,则也许会被归为“Bin2”,卖给只要求100MHz的客户。
程序还要有控制外围测试设备比如 Handler 和 Probe 的能力;还要搜集和提供摘要性质(或格式)的测试结果或数据,这些结果或数据提供有价值的信息给测试或生产工程师,用于良率(Yield)分析和控制。
正确的测试方法
经常有人问道:“怎样正确地创建测试程序?”这个问题不好回答,因为对于什么是正确的或者说最好的测试方式,一直没有一个单一明了的界定,某种情形下正确的方式对另一种情况来说不见得最好。很多因素都在影响着测试行为的构建方式,下面我们就来看一些影响力大的因素。
1、 测试程序的用途。
下面的清单例举了测试程序的常用之处,每一项都有其特殊要求也就需要相应的测试程序:
1、 Wafer Test——测试晶圆(wafer)每一个独立的电路单
元(Die),这是半导体后段区分良品与不良品的第一道
工序,也被称为“Wafer Sort”、CP测试等.
2、 Package Test——晶圆被切割成独立的电路单元,且每
个单元都被封装出来后,需要经历此测试以验证封装过程
的正确性并保证器件仍然能达到它的设计指标,也称为
“Final Test”、FT测试、成品测试等。
3、 Quality Assurance Test—— 质量保证测试,以抽样检测
方式确保Package Test执行的正确性,即确保pass的产品
中没有不合格品。
4、 Device Characterization—— 器件特性描述,决定器件
工作参数范围的极限值。
5、 Pre/Post Burn-In —— 在器件“Burn-in”之前和之后进
行的测试,用于验证老化过程有没有引起一些参数的漂
移。这一过程有助于清除含有潜在失效(会在使用一段时
间后暴露出来)的芯片。
6、 Miliary Test—— 军品测试,执行更为严格的老化测试标
准,如扩大温度范围,并对测试结果进行归档。
7、 Incoming Inspection —— 收货检验,终端客户为保证购买
的芯片质量在应用之前进行的检查或测试。
8、 Assembly Verification —— 封装验证,用于检验芯片经过
了封装过程是否仍然完好并验证封装过程本身的正确性。
这一过程通常在FT测试时一并实施。
9、 Failure Analysis —— 失效分析,分析失效芯片的故障以
确定失效原因,找到影响良率的关键因素,并提高芯片的
可靠性。
2、 测试系统的性能。
测试程序要充分利用测试系统的性能以获得良好的测试覆盖率,一些测试方法会受到测试系统硬件或软件性能的限制。
高端测试机:
1、 高度精确的时序——精确的高速测试
2、 大的向量存储器——不需要去重新加载测试向量
3、 复合PMU(Parametric Measurement Unit)——可进行并行测试,以减少测试时间
4、 可编程的电流加载——简化硬件电路,增加灵活性
5、 PerPin的时序和电平——简化测试开发,减少测试时间
低端测试机:
1、 低速、低精度——也许不能充分满足测试需求
2、 小的向量存储器——也许需要重新加载向量,增加测试时间
3、 单个PMU ——只能串行地进行DC测试,增加测试时间
4、 均分资源(时序/电平)——增加测试程序复杂度和测试时间
3、 测试环节的成本。
这也许是决定什么需要被测试以及以何种方式满足这些测试的唯一的最重要的因素,测试成本在器件总的制造成本中占了很大的比重,因此许多与测试有关的决定也许仅仅取决于器件的售价与测试成本。例如,某个器件可应用于游戏机,它卖15元;而同样的器件用于人造卫星,则会卖3500元。每种应用有其独特的技术规范,要求两种不同标准的测试程序。3500元的器件能支持昂贵的测试费用,而15元的器件只能支付最低的测试成本。
4、 测试开发的理念。
测试理念只一个公司内部测试人员之间关于什么是最优的测试方法的共同的观念,这却决于他们特殊的要求、芯片产品的售价,并受他们以往经验的影响。在测试程序开发项目启动之前,测试工程师必须全面地上面提到的每一个环节以决定最佳的解决方案。开发测试程序不是一件简单的正确或者错误的事情,它是一个在给定的状况下寻找最佳解决方案的过程。
测试系统
测试系统称为ATE,由电子电路和机械硬件组成,是由同一个主控制器指挥下的电源、计量仪器、信号发生器、模式(pattern)生成器和其他硬件项目的集合体,用于模仿被测器件将会在应用中体验到的操作条件,以发现不合格的产品。
测试系统硬件由运行一组指令(测试程序)的计算机控制,在测试时提供合适的电压、电流、时序和功能状态给DUT并监测DUT的响应,对比每次测试的结果和预先设定的界限,做出pass或fail的判断。
l 测试系统的内脏
图2-1显示所有数字测试系统都含有的基本模块,虽然很多新的测试系统包含了更多的硬件,但这作为起点,我们还是拿它来介绍。
“CPU”是系统的控制中心,这里的CPU不同于电脑中的中央处理器,它由控制测试系统的计算机及数据输入输出通道组成。许多新的测试系统提供一个网络接口用以传输测试数据;计算机硬盘和Memory用来存储本地数据;显示器及键盘提供了测试操作员和系统的接口。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
图2-1.通用测试系统内部结构
DC子系统包含有DPS(Device Power Supplies,器件供电单元)、RVS(Reference VoltageSupplies,参考电压源)、PMU(Precision MeasurementUnit,精密测量单元)。DPS为被测器件的电源管脚提供电压和电流;RVS为系统内部管脚测试单元的驱动和比较电路提供逻辑0和逻辑1电平提供参考电压,这些电压设置包括:VIL、VIH、VOL和VOH。性能稍逊的或者老一点的测试系统只有有限的RVS,因而同一时间测试程序只能提供少量的输入和输出电平。这里先提及一个概念,“tester pin”,也叫做“testerchannel”,它是一种探针,和Loadboard背面的Pad接触为被测器件的管脚提供信号。当测试机的pins共享某一资源,比如RVS,则此资源称为“Shared Resource”。一些测试系统称拥有“perpin”的结构,就是说它们可以为每一个pin独立地设置输入及输出信号的电平和时序。
DC子系统还包含PMU(精密测量单元,Precision Measurement Unit)电路以进行精确的DC参数测试,一些系统的PMU也是per pin结构,安装在测试头(Test Head)中。(PMU我们将在后面进行单独的讲解)
每个测试系统都有高速的存储器——称为“pattern memory”或“vectormemory”——去存储测试向量(vector或pattern)。Testpattern(注:本人驽钝,一直不知道这个pattern的准确翻译,很多译者将其直译为“模式”,我认为有点欠妥,实际上它就是一个二维的真值表;将“testpattern”翻译成“测试向量”吧,那“vector”又如何区别?呵呵,还想听听大家意见)描绘了器件设计所期望的一系列逻辑功能的输入输出的状态,测试系统从pattern memory中读取输入信号或者叫驱动信号(Drive)的pattern状态,通过testerpin输送给待测器件的相应管脚;再从器件输出管脚读取相应信号的状态,与pattern中相应的输出信号或者叫期望(Expect)信号进行比较。进行功能测试时,pattern为待测器件提供激励并监测器件的输出,如果器件输入与期望不相符,则一个功能失效产生了。有两种类型的测试向量——并行向量和扫描向量,大多数测试系统都支持以上两种向量。
Timing分区存储有功能测试需要用到的格式、掩盖(mask)和时序设置等数据和信息,信号格式(波形)和时间沿标识定义了输入信号的格式和对输出信号进行采样的时间点。Timing分区从patternmemory那里接收激励状态(“<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0”或者“1”),结合时序及信号格式等信息,生成格式化的数据送给电路的驱动部分,进而输送给待测器件。
Special Tester Options部分包含一些可配置的特殊功能,如向量生成器、存储器测试,或者模拟电路测试所需要的特殊的硬件结构。
The Systen Clocks为测试系统提供同步的时钟信号,这些信号通常运行在比功能测试要高得多的频率范围;这部分还包括许多测试系统都包含的时钟校验电路。
PMU
PMU(PrecisionMeasurementUnit,精密测量单元)用于精确的DC参数测量,它能驱动电流进入器件而去量测电压或者为器件加上电压而去量测产生的电流。PMU的数量跟测试机的等级有关,低端的测试机往往只有一个PMU,同过共享的方式被测试通道(testchannel)逐次使用;中端的则有一组PMU,通常为8个或16个,而一组通道往往也是8个或16个,这样可以整组逐次使用;而高端的测试机则会采用per pin的结构,每个channel配置一个PMU。
图2-2. PMU状态模拟图
1、 驱动模式和测量模式(Force and Measurement Modes)
在ATE中,术语“驱动(Force)”描述了测试机应用于被测器件的一定数值的电流或电压,它的替代词是Apply,在半导体测试专业术语中,Apply和Force都表述同样的意思。
在对PMU进行编程时,驱动功能可选择为电压或电流:如果选择了电流,则测量模式自动被设置成电压;反之,如果选择了电压,则测量模式自动被设置成电流。一旦选择了驱动功能,则相应的数值必须同时被设置。
2、 驱动线路和感知线路(Force and Sense Lines)
为了提升PMU驱动电压的精确度,常使用4条线路的结构:两条驱动线路传输电流,另两条感知线路监测我们感兴趣的点(通常是DUT)的电压。这缘于欧姆定律,大家知道,任何线路都有电阻,当电流流经线路会在其两端产生压降,这样我们给到DUT端的电压往往小于我们在程序中设置的参数。
设置两根独立的(不输送电流)感知线路去检测DUT端的电压,反馈给电压源,电压源再将其与理想值进行比较,并作相应的补偿和修正,以消除电流流经线路产生的偏差。驱动线路和感知线路的连接点被称作“开尔文连接点”。
3、 量程设置(Range Settings)
PMU的驱动和测量范围在编程时必须被选定,合适的量程设定将保证测试结果的准确性。需要提醒的是,PMU的驱动和测量本身就有就有范围的限制,驱动的范围取决于PMU的最大驱动能力,如果程序中设定PMU输出5V的电压而PMU本身设定为输出4V电压的话,最终只能输出4V的电压。同理,如果电流测量的量程被设定为1mA,则无论实际电路中电流多大,能测到的读数不会超过1mA。
值得注意的是,PMU上无论是驱动的范围还是测量的量程,在连接到DUT的时候都不应该再发生变化。这种范围或量程的变化会引起噪声脉冲(浪涌),是一种信号电压值短时间内的急剧变化产生的瞬间高压,类似于ESD的放电,会对DUT造成损害。
4、 边界设置(Limit Settings)
PMU有上限和下限这两个可编程的测量边界,它们可以单独使用(如某个参数只需要小于或大于某个值)或者一起使用。实际测量值大于上限或小于下限的器件,均会被系统判为不良品。
5、 钳制设置(Clamp Settings)
大多数PMU会被测试程序设置钳制电压和电流,钳制装置是在测试期间控制PMU输出电压与电流的上限以保护测试操作人员、测试硬件及被测器件的电路。
图2-2.电流钳制电路模拟图
当PMU用于输出电压时,测试期间必须设定最大输出电流钳制。驱动电压时,PMU会给予足够的必须的电流用以支持相应的电压,对DUT的某个管脚,测试机的驱动单元会不断增加电流以驱动它达到程序中设定的电压值。如果此管脚对地短路(或者对其他源短路),而我们没有设定电流钳制,则通过它的电流会一直加大,直到相关的电路如探针、ProbeCard、相邻DUT甚至测试仪的通道全部烧毁。
图2-3显示PMU驱动5.0V电压施加到250ohm负载的情况,在实际的测试中,DUT是阻抗性负载,从欧姆定律I=U/R我们知道,其上将会通过20mA的电流。器件的规格书可能定义可接受的最大电流为25mA,这就意味着我们程序中此电流上限边界将会被设置为25mA,而钳制电流可以设置为30mA。
如果某一有缺陷的器件的阻抗性负载只有10ohm的话,在没有设定电流钳制的情况下,通过的电流将达到500mA,这么大的电流已经足以对测试系统、硬件接口及器件本身造成损害;而如果电流钳制设定在30mA,则电流会被钳制电路限定在安全的范围内,不会超过30mA。
电流钳制边界(Clamp)必须大于测试边界(Limit)上限,这样当遇到缺陷器件才能出现fail;否则程序中会提示“边界电流过大”,测试中也不会出现fail了。
图2-4.电压钳制电路模拟图
当PMU用于输出电流时,测试期间则相应地需要进行电压钳制。电压钳制和电流钳制在原理上大同小异,这里就不再赘述了。
管脚电路
管脚电路(The Pin Electronics,也叫PinCard、PE、PEC或I/O Card)是测试系统资源部和待测期间之间的接口,它给待测器件提供输入信号并接收待测器件的输出信号。
每个测试系统都有自己独特的设计但是通常其PE电路都会包括:
1、 提供输入信号的驱动电路
2、 驱动转换及电流负载的输入输出切换开关电路
3、 检验输出电平的电压比较电路
4、 与PMU的连接电路(点)
5、 可编程的电流负载
还可能包括:
1、 用于高速电流测试的附加电路
2、 Per pin 的PMU结构
尽管有着不同的变种,但PE的基本架构还是一脉相承的,图2-5显示了数字测试系统的数字测试通道的典型PE卡的电路结构。
图2-5.典型的Pin Electronics
1. 驱动单元(The Driver)
驱动电路从测试系统的其他相应环节获取格式化的信号,称为FDATA,当FDATA通过驱动电路,从参考电压源(RVS)获取的VIL/VIH参考电平被施加到格式化的数据上。如果FDATA命令驱动单元去驱动逻辑0,则驱动单元会驱动VIL参考电压;VIL(Voltage InLow)指施加到DUT的input管脚仍能被DUT内部电路识别为逻辑0的最高保证电压。
如果FDATA命令驱动单元去驱动逻辑1,则驱动单元会驱动VIH参考电压;VIH(Voltage In High)指施加到DUT的input管脚仍能被DUT内部电路识别为逻辑1的最低保证电压。
F1场效应管用于隔离驱动电路和待测器件,在进行输入-输出切换时充当快速开关角色。当测试通道被程序定义为输入(Input),场效应管F1导通,开关(通常是继电器)K1闭合,使信号由驱动单元(Driver)输送至DUT;当测试通道被程序定义为输出(Output)或不关心状态(don’tcare),F1截止,K1断开,则驱动单元上的信号无法传送到DUT上。F1只可能处于其中的一种状态,这样就保证了驱动单元和待测器件同时向同一个测试通道送出电压信号的I/O冲突状态不会出现。
2. 电流负载单元(Current Load)
电流负载(也叫动态负载)在功能测试时连接到待测器件的输出端充当负载的角色,由程序控制,提供从测试系统到待测器件的正向电流或从待测器件到测试系统的负向电流。
电流负载提供IOH(Current Output High)和IOL(Current Output Low)。IOH指当待测器件输出逻辑1时其输出管脚必须提供的电流总和;IOL则相反,指当待测器件输出逻辑0时其输出管脚必须接纳的电流总和。
当测试程序设定了IOH和IOL,VREF电压就设置了它们的转换点。转换点决定了IOH起作用还是IOL起作用:当待测器件的输出电压高于转换点时,IOH提供电流;当待测器件的输出电压低于转换点时,IOL提供电流。
F2和F1一样,也是一个场效应管,在输入-输出切换时充当高速开关,并隔离电流负载电路和待测器件。当程序定义测试通道为输出,则F2导通,允许输出正向电流或抽取反向电流;当定义测试通道为输入,则F2截止,将负载电路和待测器件隔离。
电流负载在三态测试和开短路测试中也会用到。
3. 电压比较单元(Voltage Receiver)
电压比较器用于功能测试时比较待测器件的输出电压和RVS提供的参考电压。RVS为有效的逻辑1(VOH)和逻辑0(VOL)提供了参考:当器件的输出电压等于或小于VOL,则认为它是逻辑0;当器件的输出电压等于或大于VOH,则认为它是逻辑1;当它大于VOL而小于VOH,则认为它是三态电平或无效输出。
4. PMU连接点(PMU Connection)
当PMU连接到器件管脚,K1先断开,然后K2闭合,用于将PMU和Pin Electrics卡的I/O电路隔离开来。
5. 高速电流比较单元(High Speed Current Comparators)
相对于为每个测试通道配置PMU,部分测试系统提供了快速测量小电流的另一种方法,这就是可进行快速漏电流(Leakage)测试的电流比较器,开关K3控制它与待测器件的连接与否。如果测试系统本身就是Per Pin PMU结构的,那么这部分就不需要了。
6. PPPMU(Per Pin PMU)
一些系统提供Per Pin PMU的电路结构,以支持对DUT每个管脚同步地进行电压或电流测试。与PMU一样,PPPMU可以驱动电流测量电压或者驱动电压测量电流,但是标准测试系统的PMU的其它功能PPPMU则可能不具备。
测试开发基本规则
任何工作都有其规则和流程,IC测试也不例外。我们在实际工作中看到,一些简单的错误和低级的问题经常在一个又一个的程序中再现,如果有一定的标准,相信情况会好很多。这里我们就来总结一些基本的规则,它们将普遍适用于多数的实例;也许其中的一些在我们看来是显而易见的,但是在测试硬件无误的情况下,很多人还是在不经意间违反。可能大家会说了,谁这么傻呀?呵呵,相信大家都不会主动这么做,但是粗心呢?如果你决定刻意违反其中的某一条或几条的话,请确定你完全知道后果。^_^
1 永远不要将DUT的输入管脚当作输出管脚进行功能测试。最常见的是在pattern中,如果一个输入管脚在此测试项不需要去管(既给0或给1不影响此测试结果),我们有人就给它“X”,而“X”是输出测试的mask态,这样测试机就会将此管脚当作输出去处理,连接到比较电路,只是对结果不做比较。记住,在功能测试中,输入管脚不能直接测试以期得到pass/fail的结果;信号施加到输入管脚,我们需要测试的是输出管脚。
2 永远不要将测试机的驱动单元连接到DUT的输出管脚。此举会造成测试机和器件本身会在同一时间驱动电压和电流到该管脚,当它们在某一点相遇时,那就是狭路相逢勇者胜了,输的一方会受伤哦!
3 永远不要悬空(float)某个输入管脚,一个有效的逻辑必须施加到输入管脚,0或者1。对于CMOS工艺的器件,悬空输入管脚会造成闩锁(latch-up)现象,导致大电流对器件造成破坏。
4 永远不要施加大于VDD或小于GND的电压到输入或输出管脚。否则同样会引起浪涌现象损害器件。
5 驱动电压信号到DUT时,记得设置电流钳制,限制测试机的最大输出电流。
6 驱动电流信号到DUT时,记得设置电压钳制,限制测试机的最大输出电压。
7 永远不要在驱动单元与器件引脚连接时改变驱动信号(电压或电流)的范围,也不要在这个时候改变PMU驱动的信号类型(如将电压驱动改为电流驱动)。
用户1009728 2009-2-24 11:46