版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、功能测试理论1.基础术语摘要: 本章节包含以下内容, 功能测试简介u 功能测试要求u 输入/输出信号的建立u 功能测试的一些方法u 基础术语 功能测试包含一些新的术语,这里先简单介绍一下: Output Mask 输出屏蔽,一种在功能测试期间让测试通道的输出比较功能打开或关闭的方法,可以针对单独的pin在单独的周期实施。 Output Sampling 输出采样,在功能测试中,DUT的输出信号在周期内的某个时间点被评估的过程。PE卡上的比较电路会将输出电压和预先设定的逻辑1(VOH)和逻辑0(VOL)相比较,然后测试系统做出pass或fail的判断。Output Sampling也称为“Str
2、obing”。 Test Pattern 测试向量(国内很多资料将其译为“测试模式”),是器件一系列所设计的逻辑功能的输入输出状态的描述。输入数据由测试系统提供给DUT,输出数据则用于和DUT的输出响应相比较。在功能测试期间,测试向量施加到DUT并运行,当其中的一个期望输出与器件的实际输出不匹配时,一个failure就产生了。Test pattern也称为“Test Vectors”或“Truth Tables(真值表)”。Test Vectors的说法更强调时序性,指逻辑电平的一系列0、1序列或其他表征。 Signal Format 信号格式,PE驱动电路提供的输入信号的波形。功能测试 功能
3、测试是验证DUT是否能正确实现所设计的逻辑功能,为此,需生成测试向量或真值表以检测DUT中的错误,真值表检测错误的能力可用故障覆盖率衡量,测试向量和测试时序组成功能测试的核心。 当执行功能测试时,必须考虑DUT性能的所有方面,必须仔细检查下列项的准确值: VDD Min/Max DUT电源电平 VIL/VIH 输入电平 VOL/VOH 输出电平 IOL/IOH 输出电流负载 VREF IOL/IOH 切换点 Test Frequency 测试频率/周期 Input Signal Timings 时钟/建立时间/保持时间/控制信号 Input Signal Formats 输入波形 Output
4、 Timings 周期内何时采样 Vector Sequencing 向量文件的起始/终止点 从上表可以看出,在功能测试中需要利用测试系统的大部分资源,所有的功能测试都有两个不同的部分组成,主测试程序中的测试向量文件和指令集。测试向量文件代表需测试的DUT的输入输出逻辑状态,测试程序包括控制测试硬件产生必需的电压、波形和时序需要的信息。 图5-1.功能测试 执行功能测试时,测试系统给DUT提供输入数据并逐个周期、逐个管脚监测DUT的输出,如果任何管脚输出逻辑状态、电压、时序与期望的不符,则功能测试就无法通过。2.测试周期及输入数据测试周期 测试周期(test cycle或test period
5、)是基于器件测试过程中的工作频率而定义的每单元测试向量所持续的时间,其公式为:T=1/F,T为测试周期,F为工作频率。 每个周期的起始点称为time zero或T0,为功能测试建立时序的第一步总是定义测试周期的时序关系。 输入数据 输入数据由以下因素的组合构成: l测试向量数据(给到DUT的指令或激励) l输入信号时序(信号传输点) l输入信号格式(信号波形) l输入信号电平(VIH/VIL) l时序设置选择(如果程序中有不止一套时序) 最简单的输入信号是以测试向量数据形式存储的一个逻辑0或逻辑1电平,而代表逻辑0或逻辑1的电平则由测试头中的VIH/VIL参考电平产生。 大部分的输入信号要求设
6、置为包含唯一格式(波形)和时序(时沿设定)的更为复杂的数据形式,主程序中会包含这些信息并通过相应的代码实现控制和调用。 一些老的测试机是资源分享结构,这意味着测试硬件可同时提供的输入时序、格式、电平都是有限的,这增加了测试程序开发的难度;而拥有per pin结构的测试系统则使程序开发大大简化,因为每个管脚都可以拥有自己的时序、格式和电平。 输入信号格式 信号的格式很重要,使用得当可以保证规格书定义的所有AC参数均被测试。信号格式与向量数据、时沿设定及输入电平组合使用可以确定给到DUT的输入信号波形。图5-2给出了一些信号格式的简单描述,有心的朋友应该熟悉并记住他们。 图5-2.信号格式 NRZ
7、Non Return to Zero,不返回,代表存储于向量存储器的实际数据,它不含有时沿信息,只在每个周期的起始(T0)发生变化。 DNRZDelayed Non Return to Zero,延迟不返回,顾名思义,它和NRZ一样代表存储于向量存储器的数据,只是周期中数据的转变点不在T0。如果当前周期和前一周期的数据不同,DNRZ会在预先定义的延时点上发生跳变。 RZReturn to Zero,返回0,当数据为1时提供一个正向脉冲,数据为0时则没有变化。RZ信号含有前(上升)沿和后(下降)沿这两个时间沿。当相应管脚的所有向量都为逻辑1时,用RZ格式则等于提供正向脉冲的时钟。一些上升沿有效的
8、信号,如片选(CS)信号,也会要求使用RZ格式。 ROReturn to One,返回1,与RZ相反,当数据为0时提供一个负向脉冲,数据为1时则保持。RO信号也有前(下降)沿和后(上升)沿。当相应管脚的所有向量都为逻辑0时,RO格式提供了负向脉冲的时钟。一些下降沿有效的信号,如始能(OE/)信号,会要求使用RO格式。 SBCSurround By Complement,补码环绕,当前后周期的数据不同时,它可以在一个周期内提供3个跳变沿,信号更为复杂:首先在T0翻转电平,等待预定的延迟后,在定义的脉冲宽度内表现真实的向量数据,最后再次翻转电平并在周期内剩下的时间保持。SBC是运行测试向量时唯一能
9、同时保证信号建立(setup)和保持(hold)时间的信号格式,也被称为XOR格式。 ZDZ(Impendance)Drive,高阻驱动,允许输入驱动在同一周期内打开和关闭。当驱动关闭,测试通道处于高阻态;当驱动打开,则根据向量给DUT送出逻辑0或1。 输入信号时序 一旦决定了测试周期,周期内各控制信号的布局及时沿位置也就可以确定了。通常来说,输入信号有两类:控制信号和数据信号。数据信号在控制信号决定的时间点提供数据读入或锁定到器件内部逻辑。 第一个要决定的是控制信号的有效时沿和数据信号的建立和保持时间,这些信息将决定周期内各输入信号时间沿的位置。 接下来决定各输入信号的格式。时钟信号通常使用
10、RZ(正脉冲)或RO(负脉冲)格式;上升沿有效的信号如片选(CS)或读(READ)常使用RZ格式;下降沿有效的信号如输出始能(OE/)常使用RO格式;拥有建立和保持时间要求的数据信号常使用SBC格式;其他的输入信号则可以使用NRZ或DNRZ格式。 输入信号由测试系统各区域提供的数据组合创建,最后从测试头输出的信号波形是测试向量、时沿设置、信号格式及VIH/VIL设置共同作用的结果,如图5-3。 图5-3.输入信号的创建功能测试(3)输出数据输出数据 输出部分的测试由以下组合: 测试向量数据(期望的逻辑状态) 采样时序(周期内何时对输出进行采样) VOL/VOH(期望的逻辑电平) IOL/IOH
11、(输出电流负载) 测试输出 功能测试期间,程序会为每个输出管脚在测试周期内指定一个输出采样时间,在这个时间点上,比较单元会对输出进行采样,再将采样到的DUT输出信号电平和VOL/VOH参考电平相比较。 测试向量含有每个管脚的期望逻辑状态。如果期望是逻辑0,当采样进行时,DUT的输出电平必须小于或等于VOL;如果期望时逻辑1,则必须大于或等于VOH。部分测试系统还拥有测试高阻态的能力。 图5-4显示了测试普通输出管脚时,DUT输出和VOH/VOL之间pass/fail/pass的关系。 图5-4.功能测试的输出电平测试高阻态输出 高阻态的输出管脚也可以进行功能性的测试,在这类测试中,将比较器逻辑
12、翻转以得到非有效的逻辑。高阻状态(电平)定义为高于VOL和低于VOH的电压(见图7-5)。DUT的外部电压需将高阻状态拉到非有效(中间)的电压,通过接到参考电压的负载可以做到。通常使用2V的参考电压代表中间级或高阻态。当输出进入高阻态时,将不能输出电压和电流。高阻态输出将会保持其最后的逻辑状态直至器件外部的因素引起输出改变。负载将输出拉到特定的参考电压。 图5-5表示测试高阻抗输出时,DUT输出和VOL/VOH值之间的fail/pass/fail的关系。 图5-5.高阻逻辑输出电流负载 在功能测试中,DUT输出可能会用到电流负载。PE卡上配置有可编程电流负载(也叫动态电流负载)电路,可以在测试
13、程序中进行设定。如果测试系统不支持可编程负载,则可能需要在外围硬件电路上加上电阻。电流负载的作用是运行功能测试时在输出端施加合适的IOL和IOH电流。 通过施加指定的IOL/IOH电流而测试VOL/VOH电压,输出电流和电压的参数在功能测试运行过程中得以验证,这比用PMU实施相同的测试快得多。 输出信号时序 输出信号的传输通常由时钟和控制信号的时间沿进行控制,要理解这一点,需要察看器件的时序图,确定引起输出信号发生变化的时钟有效沿和控制信号,以及输出达到有效逻辑电平前所需要的延迟时间,这些都是为了确定特定信号采样点在周期内的位置。 测试系统硬件的能力允许的话,采样形式可以是边沿模式或窗口模式。
14、边沿模式只在周期内特定的时间点采集并比较一次数据,而窗口模式则在周期内特定的一段时间都对输出进行采样和比较。 通常来讲,好的测试时序会使输出的变化和测试系统的检测发生在相同的周期内,这样就可以在测试周期内准确地测量输出延迟,保证在测试周期结束前有足够的时间输出准确的结果。一些器件的输出端存在比其他的需要更长的时间达到它们的最终值,在降低的频率上测试能发现传输延迟的问题。还需要认识到的是一些测试系统对输出采样距测试周期内的始端或末端(如T0)距离的问题考虑得不多。 图5-6.输出测试如图5-6所示,一些因素综合影响着什么时候怎样精确测试输出信号,包括: 向量数据决定期望的逻辑状态; VOL/VO
15、H参考电平决定期望的输出电压; 输出采样时序决定着周期内输出信号的测试点; 输出比较屏蔽(mask)控制决定了输出结果是用以判断pass/fail还是忽略。功能测试(4)Output Loading for AC TestAC测试的输出负载 器件的规格书可能会标示进行AC时序测试时器件输出管脚上需要施加的电流性负载。这些负载通常是电阻、电容、二极管以及他们的网络,用以模仿器件最终应用条件下(比如电脑或手机上)的负载状态,这类负载往往伴随有TTL电路在其中。 图5-7是AC测试中给逻辑0输出施加负载的一个例子。 图5-7.AC负载 起始,VCC设置为5.0V而节点A悬空,此状态下节点A与B会呈现
16、约2.1V电压,施加在RL(2Kohm)上的电压为2.9V,则会有1.45mA流经RL和3个二极管流向GND。 当节点A连接到某个器件驱动逻辑0(0.4V)的输出上,经过二极管D4,将节点B拉低至1.1V,那么现在施加在RL上的电压就变成了3.9V,而经过RL流向器件的电流,即当输出为逻辑0时的负载电流为1.95mA。 当节点A连接的是驱动逻辑1(2.4V)的输出,D4反向截止,就消除了电流负载的影响。 (注:图中的电容CL不是物理存在的,它代表测试机台通道自身带有的寄生电容,往往比15pF还大,比如我们常用的J750就达到了60pF.)功能测试(5)Vector Data向量数据 测试向量文
17、件包含DUT运行一系列功能的真值表,包括必须施加到DUT输入端的逻辑状态和期望在输出端出现的逻辑状态。向量数据通常包含如下字符: Vector Charactersitem logic Drv state Cpr state type0 = logic0 driver on comparator off input1 = logic1 driver on comparator off inputL = logic0 driver off comparator on outputH = logic1 driver off comparator on outputZ = float driver
18、off comparator on outputX =dont care driver off comparator off ignore 向量文件还可能包含一些供测试系统识别的标识。如果DUT拥有I/O管脚,向量文件就需要控制测试系统的输入驱动电路何时打开和关闭。I/O切换可以发生在任何需要的周期,将DUT的某个I/O管脚从输入状态变为输出状态或反之。 测试向量可能还含有部分输出管脚的屏蔽信息。屏蔽用于控制一个输出管脚的测试与否:当输出管脚处于已知的逻辑状态,输出可以被测试;而当输出处于未知的逻辑状态或者我们在某个条件下不理会它的状态,它就可以不被测试,这时我们就可以用“X”来忽略输出管脚上
19、的状态,通常可以基于独立的管脚和独立的周期进行。 如果测试系统支持复合时序设置,则向量还可能含有时序设置方面的信息。复合时序设置用于在向量运行时改变测试时序,举例来说,测试一款典型的RAM时,将数据写入RAM的时间比从中读出数据的时间要少,这种情况下,就可能有一套包含写入数据时序的时序设置和另一套包含读出数据时序的时序设置。时序设置可以控制周期的长短、输入信号的时序和格式、以及输出采样的时序。向量会包含根据具体的向量功能(如写入或读出)选择相应的时序设置的控制状态,具体信息我们在后面相关章节中再详述。运行功能测试 运行功能测试要求以下步骤: 1 定义VDD电平; 2 定义输入、输出电平(VIL
20、/VIH/VOL/VOH); 3 定义输出电流负载(IOL/IOH/VREF); 4 定义测试周期; 5 为所有输入信号定义输入时序和信号格式; 6 为所有输出信号定义输出采样时序; 7 为向量存储器定义向量的起始和终止点; 8 运行测试。功能测试(6) Functional Specifications功能测试参数定义 验证器件的功能是否符合器件规格书通常有两种方法。第一种方法是将所有的输入、输出和时序参数都设置成最差(规格书中会定义)的情况,然后运行功能向量序列。这种方式能最快地判断器件是否符合其设计规范,缺点在于如果有fail发生,无法直观地知道是什么参数引起的。 另一种方法是单独地设置
21、各个参数,例如,开始只按照规格书定义的最差情形设置VIL/VIH,其他的参数则放宽。如果有fail发生在这个地方,则马上可以判断是VIL或VIH电平引起。然后再设置下一组参数,知道所有参数都被单独验证。如果良率出现问题,此方式可以让我们直观地获取更多具体的信息,代价是测试时间的增加。 宽松的参数 放宽某个参数意味着按照一定的方式调整其参数值使DUT更容易正确地满足功能要求。例如,如果规格书定义VIL为0.8V,我们可以将它放宽到0.4V,通过降低VIL使得DUT判读输入信号为逻辑0更加不易出错。要放宽输入,可以降低VIL,提高VIH;要放宽输出,则可以提高VOL,降低VOH,最宽松的情况是设置
22、VOL=VOH=1.5V,此时比较器会将所有低于1.5V的电平判为逻辑0,而将所有高于1.5V的电平判为逻辑1(注意:在测试Z态电平时,不能采用此情况);要方宽时序,降低测试频率,增加建立(setup)和保持(hold)时间并增加输出传输延迟。 时序参数 通过提供合适的信号波形给DUT,可以实现AC时序参数的验证。建立时间、保持时间、最小脉宽、传输延迟都必须测试。在某些情况下,可以一次设定所有极限条件,以使器件通过一次测试就能满足所有参数要求,复杂的功能时序则需要在不同的条件下多次重复测试。 最小/最大电压 器件规格书通常定义VDD的工作电压范围。例如VDD=5.010%表示对于VDD为5.0
23、V的器件,在4.5V5.5V之间它必须能正常工作。这个电压范围通常叫做VDDMIN和VDDMAX。功能测试必须在器件参数的整个范围内测试,所以功能测试向量序列必须执行两次,一次是VDD设为VDDMIN,另一次是设为VDDMAX。一些器件参数(VIL/VIH/VOL/VOH)可以按VDD的百分比定义。当改变VDD的值时,这些参数也必须调整。功能测试(7)Gross Functional Test and Equation Based Timing总功能测试指使用最宽松的条件去运行的功能测试,频率、时序、电压、电流负载等条件都被放宽,也成为基础功能测试(Basic Function test)或摆
24、动测试(Wiggle Test)。实施理由总功能测试相当于功能测试的前提测试,它检验器件是否能够进行功能测试,通俗地讲,就是器件能否“动”起来。当测试程序基本建立,常用总功能测试的相关条件验证全部向量集所需测试的功能是否基本正确。总功能测试常在程序中测试流程的前段运行,以保证后面贯穿整个测试程序的功能测试可以正确实施。测试方法 图5-8.总功能测试时序图5-8显示的是256x4静态RAM总功能测试的时序。此RAM规格书的AC部分规定其工作频率为66MHz,在总功能测试中,测试频率放宽到1MHz,相应放宽的还有输入电平(VIL/VIH)、输出电平(VOL/VOH)以及其他时序参数,包括建立时间、
25、保持时间、何输出延迟。各个信号的时序关系(时间沿位置)最好仍然保持不变。器件通过了总功能测试后,会运行更多更严格的测试以确保器件符合其规格书中的全部要求。当多数更严格的测试都是失败的时候,在它们之前按照一定的条件进行总测试也可以较早地发现这些失效,以提高提高测试吞吐量。在生产测试中,总功能测试通常就可以提供有价值的良率信息。时序变量在测试程序开发和调试过程中,功能测试中的时序参数便于修改是非常重要的,因此常用程序变量建立一个等式来代替具体的参数。举个例子,通过简单地改变时钟变量“SCALE”的值,整个程序的时序可以轻易地“收紧”或“放宽”。这一方法也可以用于在不同的测试项之间改变测试频率,比如
26、降低总功能测试的主时钟,或提高时钟以改变器件的最大工作速率。SCALE = 1;PERIOD = 150E-9 * SCALE; CLKDLY =0E-9;CLKWIDTH = 50E-9 * SCALE; OE_DLY =10E-9 * SCALE;OE_WIDTH = 60E-9 * SCALE; CS_DLY =5E-9 * SCALE;CS_WIDTH = 30E-9 * SCALE; COLDLY =15E-9 * SCALE;COLWIDTH = 40E-9 * SCALE; DATADLY =7E-9;DATAWIDTH =25E-9 * SCALE; READDLY = 10E
27、-9 * SCALE;READWIDTH = PERIOD /2; OUT_VALID1 = PERIOD * 0.75;STROBEWINDOW1 = 10E-9; OUT_VALID2 = PERIOD * 0.85;STROBEWINDOW2 = 10E-9;第五章功能测试(6) Functional Specifications功能测试参数定义 验证器件的功能是否符合器件规格书通常有两种方法。第一种方法是将所有的输入、输出和时序参数都设置成最差(规格书中会定义)的情况,然后运行功能向量序列。这种方式能最快地判断器件是否符合其设计规范,缺点在于如果有fail发生,无法直观地知道是什么参数
28、引起的。 另一种方法是单独地设置各个参数,例如,开始只按照规格书定义的最差情形设置VIL/VIH,其他的参数则放宽。如果有fail发生在这个地方,则马上可以判断是VIL或VIH电平引起。然后再设置下一组参数,知道所有参数都被单独验证。如果良率出现问题,此方式可以让我们直观地获取更多具体的信息,代价是测试时间的增加。 宽松的参数 放宽某个参数意味着按照一定的方式调整其参数值使DUT更容易正确地满足功能要求。例如,如果规格书定义VIL为0.8V,我们可以将它放宽到0.4V,通过降低VIL使得DUT判读输入信号为逻辑0更加不易出错。要放宽输入,可以降低VIL,提高VIH;要放宽输出,则可以提高VOL
29、,降低VOH,最宽松的情况是设置VOL=VOH=1.5V,此时比较器会将所有低于1.5V的电平判为逻辑0,而将所有高于1.5V的电平判为逻辑1(注意:在测试Z态电平时,不能采用此情况);要方宽时序,降低测试频率,增加建立(setup)和保持(hold)时间并增加输出传输延迟。 时序参数 通过提供合适的信号波形给DUT,可以实现AC时序参数的验证。建立时间、保持时间、最小脉宽、传输延迟都必须测试。在某些情况下,可以一次设定所有极限条件,以使器件通过一次测试就能满足所有参数要求,复杂的功能时序则需要在不同的条件下多次重复测试。 最小/最大电压 器件规格书通常定义VDD的工作电压范围。例如VDD=5
30、.010%表示对于VDD为5.0V的器件,在4.5V5.5V之间它必须能正常工作。这个电压范围通常叫做VDDMIN和VDDMAX。功能测试必须在器件参数的整个范围内测试,所以功能测试向量序列必须执行两次,一次是VDD设为VDDMIN,另一次是设为VDDMAX。一些器件参数(VIL/VIH/VOL/VOH)可以按VDD的百分比定义。当改变VDD的值时,这些参数也必须调整。 第五章.功能测试(7)Gross Functional Test and Equation Based Timing总功能测试(Gross Function Test) 总功能测试指使用最宽松的条件去运行的功能测试,频率、时序
31、、电压、电流负载等条件都被放宽,也成为基础功能测试(Basic Function test)或摆动测试(Wiggle Test)。实施理由 总功能测试相当于功能测试的前提测试,它检验器件是否能够进行功能测试,通俗地讲,就是器件能否“动”起来。当测试程序基本建立,常用总功能测试的相关条件验证全部向量集所需测试的功能是否基本正确。总功能测试常在程序中测试流程的前段运行,以保证后面贯穿整个测试程序的功能测试可以正确实施。测试方法 图5-8.总功能测试时序 图5-8显示的是256x4静态RAM总功能测试的时序。此RAM规格书的AC部分规定其工作频率为66MHz,在总功能测试中,测试频率放宽到1MHz,
32、相应放宽的还有输入电平(VIL/VIH)、输出电平(VOL/VOH)以及其他时序参数,包括建立时间、保持时间、何输出延迟。各个信号的时序关系(时间沿位置)最好仍然保持不变。 器件通过了总功能测试后,会运行更多更严格的测试以确保器件符合其规格书中的全部要求。当多数更严格的测试都是失败的时候,在它们之前按照一定的条件进行总测试也可以较早地发现这些失效,以提高提高测试吞吐量。在生产测试中,总功能测试通常就可以提供有价值的良率信息。时序变量 在测试程序开发和调试过程中,功能测试中的时序参数便于修改是非常重要的,因此常用程序变量建立一个等式来代替具体的参数。举个例子,通过简单地改变时钟变量“SCALE”
33、的值,整个程序的时序可以轻易地“收紧”或“放宽”。这一方法也可以用于在不同的测试项之间改变测试频率,比如降低总功能测试的主时钟,或提高时钟以改变器件的最大工作速率。SCALE = 1;PERIOD = 150E-9 * SCALE; CLKDLY = 0E-9;CLKWIDTH = 50E-9 * SCALE; OE_DLY = 10E-9 * SCALE;OE_WIDTH = 60E-9 * SCALE; CS_DLY = 5E-9 * SCALE;CS_WIDTH = 30E-9 * SCALE; COLDLY = 15E-9 * SCALE;COLWIDTH = 40E-9 * SCAL
34、E; DATADLY = 7E-9;DATAWIDTH =25E-9 * SCALE; READDLY = 10E-9 * SCALE;READWIDTH = PERIOD /2; OUT_VALID1 = PERIOD * 0.75;STROBEWINDOW1 = 10E-9; OUT_VALID2 = PERIOD * 0.85;STROBEWINDOW2 = 10E-9;第五章.功能测试(8.1)Functionally Testing a Device功能测试 首先我们需要对一个基础的功能测试所涉及的器件规格、测试系统硬件和测试程序之间的关系做一个整体的了解,这里拿一款简单的器件时钟控
35、制反向器为例,来说说相关内容。钟控反相器有两个输入端:时钟输入(CLK)和数据输入(DATAIN);一个输出端:反向信号输出(DATAOUT)。它有如下功能特征:1 时钟是数据由输入到输出经过器件进行传输的同步控制信号; 2 输入数据在时钟的上升沿由器件读入; 3 输出数据在时钟的下降沿由器件输出; 4 数据传输仅在时钟有效时进行;5 输出数据与输入数据逻辑相反。器件规格 总的说来,规格书给出了器件需要满足的最差情况,测试工程师会根据它去建立测试计划(Test Plan)、选择合适的测试系统,并在测试系统上实现其测试。下面的数据是测试钟控反相器需要控制的电平及时序参数: VDD=5.0V VI
36、H=2.0V VIL=0.8V VOH=2.4V VOL=0.4V 工作频率=10MHz,时钟占空比50%输入数据建立时间=15nS 输入数据保持时间=5nS 输出传输最大延时=8nS 图5-9钟控反向器测试所需 1 测试硬件及设备测试板(Loadboard)、测试座(Socket)、相关阻容元件; 2 器件电源,VDD和Ground; 3 输入电平,VIL(逻辑0)和VIH(逻辑1); 4 输出参考电平,VOL(逻辑0)和VOH(逻辑1); 5 信号时序和格式配置,包括输入信号的生成和输出信号的比较; 6 测试向量。 测试资源规划 测试系统内的资源有很多,我们要针对测试所需选取并配置相关的资
37、源,实现性价比高的测试开发。 首先肯定是DPS单元,我们需要它对器件供电。这里VDD为5V,通过一路DPS提供5V电压即可;Ground已经由测试板和测试机的Ground连接。 接着是输入电平,它们由RVS单元提供,VIL设定为0.8V,VIH设定为2.0V。 输出比较的参考电平也是由RVS单元提供,这里VOL设定为0.4V,VOH设定为2.4V。 测试系统的时序单元会给定输入信号的信号周期、信号格式及输出信号的比较沿位置。对于时钟信号,规格书给出的是10MHz,则时钟周期为100nS;占空比要求是50%,即一个周期内时钟信号一半为高一半为低,这里我们将上升沿设定在25nS,下降沿设定在75n
38、S;信号格式我们选用RZ格式。DATAIN的时序则需要参考时钟信号。它的建立时间是15nS,即在时钟的上升沿之前15nS,它的状态必须是有效的;保持时间是5nS,即上升沿只有的5nS它必须保持相同的状态。这样我们就知道周期内数据信号的脉宽最少是20nS。为了能正确地验证建立时间和保持时间,我们选用SBC格式作为DATAIN的信号格式。 最后一步是确定输出信号的相关时序。规格书给出的信号传输延迟为8nS,加上时钟的下降沿在75nS,则我们可以确定输出信号比较沿的位置:75nS+8nS=83nS,测试系统在此位置上对输出采样并将电平值与VOL/VOH相比较,判断状态为L、M还是H,再与patter
39、n中的期望值比较以判断此周期的输出正确与否。 当然还需要的资源是向量存储器,pattern存储其中并由测试系统在功能测试器件运行。第五章.功能测试(8.2)功能测试实例测试向量 功能测试必须有测试向量,也就是反映器件真值表的图形化文件,这在之前已经有过介绍,这里只说说此例的pattern.如表5-1,钟控反向器的向量文件包含七种向量字符,每个字符都代表一个周期数据状态,它们与时序、电平和格式等信息共同构成相关信号的波形,如图5-10。 DATA IN CLOCK DATA OuT REMARKS 1 P L Input 1 / Clock / Output 0 0 P H Input 0 /
40、Clock / Output 1 1PLInput 1 / Clock / Output 00 0 L Input 0 / No Clock / Output 0 0 P H Input 0 / Clock / Output 1 1 0 H Input 1 / No Clock / Output 1 1 P L Input 1 / Clock / Output 0 表5-1. Test Vectors for Clocked Inverter向量字符说明:1 : Drive input high (to logic 1)0 : Drive input low (to logic 0)H : C
41、ompare output to a highL : Compare output to a lowP : Drive input with a positive clock pulse测试条件说明 图5-10显示的是运行功能测试期间钟控反向器各信号的时序图,我们可以看到由信号时序、信号格式及信号电平组合而成的七个周期的向量数据,这和之前规格书中定义的情形一致。测试周期设定为100nS;时钟信号则是RZ信号格式,占空比为50%;DATAIN采用SBC格式,设置了正确的建立时间和保持时间;输入和输出的电平值也按照规格书进行了设定。 图5-10.功能测试的测试条件总功能测试条件 实施总功能测试通常
42、是有用的,它的目的是在不动用精确参数设置的情况下基本判断器件是“活的”还是“死翘翘”的,就像军医抢救“伤员”时先用手探探鼻息摸摸心跳,而非直接将“伤员”抬进手术台用仪器去探测各种血压、脉搏等生命体征。总功能测试能最快地检测出半导体内部的物理损伤或制程中的错误。 图5-11的波形显示的是总功能测试用到的时序及电平条件。输入和输出电平较功能测试条件有所改变(放宽),这使得器件更容易正确运行其功能;测试速度由原来的100nS放宽至500nS; DATAIN信号则改为在每个周期的开始启动的NRZ格式,放弃了对建立和保持时间的测试;输出传输延迟也适当增加使输出有更多时间去改变状态并稳定。 如果器件在图5
43、-10的测试条件下失效(fail)而在图5-11的测试条件下重新测试并通过(pass),则之前的失效不是由硅缺陷引起。这时每个具体的参数则需要单独测试以找出失效的真正原因。总功能测试条件常被用于测试向量的调试阶段,它可以在排除其他因素干扰的情况下轻易判断测试向量是否正确。 图5-11.总功能测试的测试条件测试程序实例 下面我们就来看一段钟控反向器在脱机(non-Tester)模式下的功能测试程序代码:Begin Program; /* define pin functions */Connect DPS1 pin 4; Connect GND pin 5; /* ground is hard
44、wired */Data_in input pin 1;Clock input pin 2; Data_out output pin 3;/* set voltage levels */Set DPS1 5V;Set VIL 0.8V; Set VIH 2.0V;Set VOL 0.4V; Set VOH 2.4V;/* set timings */Set Test Period 100nsec; Set Clock start_edge 25nsec;Set Clock stop_edge 75nsec; Set Clock format RZ; Set Data_in start_edge
45、 10nsec;Set Data_in stop_edge 30nsec; Set Data_in format SBC; Set Data_out start_strobe 83nsec; Set Data_out stop_strobe 93nsec;/* load the test vector file into vector memory */At Vector Location 0; Load Pattern (test_vectors); Start Pattern 0; Stop Pattern 6; Execute Test_pattern; /* this runs the
46、 test */* Turn off voltage levels */Set VIL 0.0V; Set VIH 0.0V; Set VOL 0.0V; Set VOH 0.0V; Set DPS1 0.0V;End Program; 第五章.功能测试(9.1)标准功能测试(1):O/S Test标准功能测试 尽管每款独特的电路设计要求的功能测试条件都不一样,但很多时候我们还是能找到他们的相同之处,比如一些可以通过功能测试去验证的参数,我们就可以总结出一些标准的方法。 开短路测试功能测试法 使用功能测试法进行开短路测试比之前介绍的DC测试法更快,成本也更低。 图5-12.O/S的功能测试法(
47、VDD Diode) 首先需要准备好测试时序,例如测试周期定义为1uS,输出采样使用窗口(Window),设定在900nS处,窗口宽度为10nS,具体时序参见图5-13。 图5-13.O/S Functional Timing 所有的信号管脚需要预置为“0”,这可以通过定义所有管脚为输入并由测试机施加VIL来实现;所有的电源管脚,VDD和VSS,都连接到地(Ground);动态电流负载单元将在3V的参考电压(VREF)下为前端偏置的VDD保护二极管提供400uA的电流;输出比较电平也需要定义以确定中央的Pass区域(称为“中间带”或“Z态”),VOL设置为+0.2V,VOH设置为+1.5V。如
48、图5-12。 还需要准备的是测试向量,它将按照以下顺序运行:1. 定义所有信号管脚为输入并施加VIL,pattern中的一行“0”将命令测试机完成这一步骤; 2. 定义待测信号管脚为输出管脚,关闭其上的测试机驱动电路,打开比较单元,判断pass/fial;pattern中的“Z”将指引测试机完成这一步骤。 3. 为上一周期测试的管脚切换回测试机驱动电路,在下一管脚上重复步骤2; 4. 重复步骤2、3知道全部管脚均已测试。Sample Test Vector File for Opens/Shorts 00000 /*cycle 1 ground all pins*/ Z0000 /*cycle
49、 2 test for diode on first pin*/ 0Z000 /*cycle 3 test for diode on second pin*/ 00Z00 /*cycle 4 test for diode on third pin*/ 000Z0 /*cycle 5 test for diode on fourth pin*/ 0000Z /*cycle 6 test for diode on fifth pin*/ ZZZZZ /*cycle 7 turn drivers off & test all pins*/ 在上面示例的向量运行时,第一个信号管脚在第2个周期测试,当测试机管脚驱动电路关闭,动态电流负载单元开始通过VREF将管脚电压向+3V拉升,如果VDD的保护二极管工作,当电压升至约+0.65V时它将导通,从而将VREF的电压
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《再看鸦片战争说》课件
- 零售连锁合同管理细则
- 钻石开采保温系统安装协议
- 昆明市高档小区二手房交易合同
- 万能工项目投资合同
- 科技园区消防系统更新施工协议
- 软件公司技术支持经理聘用合同
- 铁路工程桩机租赁合同
- 农药原料采购合同要点
- 长沙市二手房赠送花园合同
- 人教版高中历史 第13课 辛亥革命 【公开课教学PPT课件】
- 补全句子专项预习(试题)外研版英语三年级上册
- 药理学题库(含答案)
- Minitab-培训教程大全-500多页
- 水质工程学课程设计
- 河北省工程质量材料检验收费标准
- GB/T 36073-2018数据管理能力成熟度评估模型
- GB/T 19076-2022烧结金属材料规范
- 工具移交表模板
- 变更索赔成功案例-某工程窝工变更索赔报告
- 模具定期保养点检表
评论
0/150
提交评论