功能测试理论Word文档下载推荐.docx

上传人:b****6 文档编号:18126947 上传时间:2022-12-13 格式:DOCX 页数:14 大小:231.51KB
下载 相关 举报
功能测试理论Word文档下载推荐.docx_第1页
第1页 / 共14页
功能测试理论Word文档下载推荐.docx_第2页
第2页 / 共14页
功能测试理论Word文档下载推荐.docx_第3页
第3页 / 共14页
功能测试理论Word文档下载推荐.docx_第4页
第4页 / 共14页
功能测试理论Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

功能测试理论Word文档下载推荐.docx

《功能测试理论Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《功能测试理论Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

功能测试理论Word文档下载推荐.docx

输入电平

VOL/VOH 

输出电平

IOL/IOH 

输出电流负载

VREFIOL/IOH 

切换点

TestFrequency 

测试频率/周期

InputSignalTimings 

时钟/建立时间/保持时间/控制信号

InputSignalFormats 

输入波形

OutputTimings 

周期内何时采样

VectorSequencing 

向量文件的起始/终止点

从上表可以看出,在功能测试中需要利用测试系统的大部分资源,所有的功能测试都有两个不同的部分组成,主测试程序中的测试向量文件和指令集。

测试向量文件代表需测试的DUT的输入输出逻辑状态,测试程序包括控制测试硬件产生必需的电压、波形和时序需要的信息。

图5-1.功能测试

执行功能测试时,测试系统给DUT提供输入数据并逐个周期、逐个管脚监测DUT的输出,如果任何管脚输出逻辑状态、电压、时序与期望的不符,则功能测试就无法通过。

2.测试周期及输入数据

测试周期

测试周期(testcycle或testperiod)是基于器件测试过程中的工作频率而定义的每单元测试向量所持续的时间,其公式为:

T=1/F,T为测试周期,F为工作频率。

每个周期的起始点称为timezero或T0,为功能测试建立时序的第一步总是定义测试周期的时序关系。

输入数据

输入数据由以下因素的组合构成:

∙∙●

测试向量数据(给到DUT的指令或激励)

输入信号时序(信号传输点)

输入信号格式(信号波形)

输入信号电平(VIH/VIL)

时序设置选择(如果程序中有不止一套时序)

最简单的输入信号是以测试向量数据形式存储的一个逻辑0或逻辑1电平,而代表逻辑0或逻辑1的电平则由测试头中的VIH/VIL参考电平产生。

大部分的输入信号要求设置为包含唯一格式(波形)和时序(时沿设定)的更为复杂的数据形式,主程序中会包含这些信息并通过相应的代码实现控制和调用。

一些老的测试机是资源分享结构,这意味着测试硬件可同时提供的输入时序、格式、电平都是有限的,这增加了测试程序开发的难度;

而拥有perpin结构的测试系统则使程序开发大大简化,因为每个管脚都可以拥有自己的时序、格式和电平。

输入信号格式

信号的格式很重要,使用得当可以保证规格书定义的所有AC参数均被测试。

信号格式与向量数据、时沿设定及输入电平组合使用可以确定给到DUT的输入信号波形。

图5-2给出了一些信号格式的简单描述,有心的朋友应该熟悉并记住他们。

图5-2.信号格式

NRZ

NonReturntoZero,不返回,代表存储于向量存储器的实际数据,它不含有时沿信息,只在每个周期的起始(T0)发生变化。

DNRZ

DelayedNonReturntoZero,延迟不返回,顾名思义,它和NRZ一样代表存储于向量存储器的数据,只是周期中数据的转变点不在T0。

如果当前周期和前一周期的数据不同,DNRZ会在预先定义的延时点上发生跳变。

RZ

ReturntoZero,返回0,当数据为1时提供一个正向脉冲,数据为0时则没有变化。

RZ信号含有前(上升)沿和后(下降)沿这两个时间沿。

当相应管脚的所有向量都为逻辑1时,用RZ格式则等于提供正向脉冲的时钟。

一些上升沿有效的信号,如片选(CS)信号,也会要求使用RZ格式。

RO

ReturntoOne,返回1,与RZ相反,当数据为0时提供一个负向脉冲,数据为1时则保持。

RO信号也有前(下降)沿和后(上升)沿。

当相应管脚的所有向量都为逻辑0时,RO格式提供了负向脉冲的时钟。

一些下降沿有效的信号,如始能(OE/)信号,会要求使用RO格式。

SBC

SurroundByComplement,补码环绕,当前后周期的数据不同时,它可以在一个周期内提供3个跳变沿,信号更为复杂:

首先在T0翻转电平,等待预定的延迟后,在定义的脉冲宽度内表现真实的向量数据,最后再次翻转电平并在周期内剩下的时间保持。

SBC是运行测试向量时唯一能同时保证信号建立(setup)和保持(hold)时间的信号格式,也被称为XOR格式。

ZD

Z(Impendance)Drive,高阻驱动,允许输入驱动在同一周期内打开和关闭。

当驱动关闭,测试通道处于高阻态;

当驱动打开,则根据向量给DUT送出逻辑0或1。

输入信号时序

一旦决定了测试周期,周期内各控制信号的布局及时沿位置也就可以确定了。

通常来说,输入信号有两类:

控制信号和数据信号。

数据信号在控制信号决定的时间点提供数据读入或锁定到器件内部逻辑。

第一个要决定的是控制信号的有效时沿和数据信号的建立和保持时间,这些信息将决定周期内各输入信号时间沿的位置。

接下来决定各输入信号的格式。

时钟信号通常使用RZ(正脉冲)或RO(负脉冲)格式;

上升沿有效的信号如片选(CS)或读(READ)常使用RZ格式;

下降沿有效的信号如输出始能(OE/)常使用RO格式;

拥有建立和保持时间要求的数据信号常使用SBC格式;

其他的输入信号则可以使用NRZ或DNRZ格式。

输入信号由测试系统各区域提供的数据组合创建,最后从测试头输出的信号波形是测试向量、时沿设置、信号格式及VIH/VIL设置共同作用的结果,如图5-3。

图5-3.输入信号的创建

功能测试(3)——输出数据

输出数据

输出部分的测试由以下组合:

测试向量数据(期望的逻辑状态)

采样时序(周期内何时对输出进行采样)

VOL/VOH(期望的逻辑电平)

IOL/IOH(输出电流负载)

测试输出

功能测试期间,程序会为每个输出管脚在测试周期内指定一个输出采样时间,在这个时间点上,比较单元会对输出进行采样,再将采样到的DUT输出信号电平和VOL/VOH参考电平相比较。

测试向量含有每个管脚的期望逻辑状态。

如果期望是逻辑0,当采样进行时,DUT的输出电平必须小于或等于VOL;

如果期望时逻辑1,则必须大于或等于VOH。

部分测试系统还拥有测试高阻态的能力。

图5-4显示了测试普通输出管脚时,DUT输出和VOH/VOL之间pass/fail/pass的关系。

图5-4.功能测试的输出电平

测试高阻态输出

高阻态的输出管脚也可以进行功能性的测试,在这类测试中,将比较器逻辑翻转以得到非有效的逻辑。

高阻状态(电平)定义为高于VOL和低于VOH的电压(见图7-5)。

DUT的外部电压需将高阻状态拉到非有效(中间)的电压,通过接到参考电压的负载可以做到。

通常使用2V的参考电压代表中间级或高阻态。

当输出进入高阻态时,将不能输出电压和电流。

高阻态输出将会保持其最后的逻辑状态直至器件外部的因素引起输出改变。

负载将输出拉到特定的参考电压。

图5-5表示测试高阻抗输出时,DUT输出和VOL/VOH值之间的fail/pass/fail的关系。

图5-5.高阻逻辑

在功能测试中,DUT输出可能会用到电流负载。

PE卡上配置有可编程电流负载(也叫动态电流负载)电路,可以在测试程序中进行设定。

如果测试系统不支持可编程负载,则可能需要在外围硬件电路上加上电阻。

电流负载的作用是运行功能测试时在输出端施加合适的IOL和IOH电流。

通过施加指定的IOL/IOH电流而测试VOL/VOH电压,输出电流和电压的参数在功能测试运行过程中得以验证,这比用PMU实施相同的测试快得多。

输出信号时序

输出信号的传输通常由时钟和控制信号的时间沿进行控制,要理解这一点,需要察看器件的时序图,确定引起输出信号发生变化的时钟有效沿和控制信号,以及输出达到有效逻辑电平前所需要的延迟时间,这些都是为了确定特定信号采样点在周期内的位置。

测试系统硬件的能力允许的话,采样形式可以是边沿模式或窗口模式。

边沿模式只在周期内特定的时间点采集并比较一次数据,而窗口模式则在周期内特定的一段时间都对输出进行采样和比较。

通常来讲,好的测试时序会使输出的变化和测试系统的检测发生在相同的周期内,这样就可以在测试周期内准确地测量输出延迟,保证在测试周期结束前有足够的时间输出准确的结果。

一些器件的输出端存在比其他的需要更长的时间达到它们的最终值,在降低的频率上测试能发现传输延迟的问题。

还需要认识到的是一些测试系统对输出采样距测试周期内的始端或末端(如T0)距离的问题考虑得不多。

图5-6.输出测试

如图5-6所示,一些因素综合影响着什么时候怎样精确测试输出信号,包括:

向量数据决定期望的逻辑状态;

VOL/VOH参考电平决定期望的输出电压;

输出采样时序决定着周期内输出信号的测试点;

输出比较屏蔽(mask)控制决定了输出结果是用以判断pass/fail还是忽略。

功能测试(4)——OutputLoadingforACTest

AC测试的输出负载

器件的规格书可能会标示进行AC时序测试时器件输出管脚上需要施加的电流性负载。

这些负载通常是电阻、电容、二极管以及他们的网络,用以模仿器件最终应用条件下(比如电脑或手机上)的负载状态,这类负载往往伴随有TTL电路在其中。

图5-7是AC测试中给逻辑0输出施加负载的一个例子。

图5-7.AC负载

起始,VCC设置为5.0V而节点A悬空,此状态下节点A与B会呈现约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)——VectorData

向量数据

测试向量文件包含DUT运行一系列功能的真值表,包括必须施加到DUT输入端的逻辑状态和期望在输出端出现的逻辑状态。

向量数据通常包含如下字符:

VectorCharacters

item 

logic 

Drvstate 

Cprstate 

type

logic0 

driveron 

comparatoroff 

input

logic1 

driveroff 

comparatoron 

output

float 

don'

tcare 

ignore

向量文件还可能包含一些供测试系统识别的标识。

如果DUT拥有I/O管脚,向量文件就需要控制测试系统的输入驱动电路何时打开和关闭。

I/O切换可以发生在任何需要的周期,将DUT的某个I/O管脚从输入状态变为输出状态或反之。

测试向量可能还含有部分输出管脚的屏蔽信息。

屏蔽用于控制一个输出管脚的测试与否:

当输出管脚处于已知的逻辑状态,输出可以被测试;

而当输出处于未知的逻辑状态或者我们在某个条件下不理会它的状态,它就可以不被测试,这时我们就可以用“X”来忽略输出管脚上的状态,通常可以基于独立的管脚和独立的周期进行。

如果测试系统支持复合时序设置,则向量还可能含有时序设置方面的信息。

复合时序设置用于在向量运行时改变测试时序,举例来说,测试一款典型的RAM时,将数据写入RAM的时间比从中读出数据的时间要少,这种情况下,就可能有一套包含写入数据时序的时序设置和另一套包含读出数据时序的时序设置。

时序设置可以控制周期的长短、输入信号的时序和格式、以及输出采样的时序。

向量会包含根据具体的向量功能(如写入或读出)选择相应的时序设置的控制状态,具体信息我们在后面相关章节中再详述。

运行功能测试

运行功能测试要求以下步骤:

1.定义VDD电平;

2.定义输入、输出电平(VIL/VIH/VOL/VOH);

3.定义输出电流负载(IOL/IOH/VREF);

4.定义测试周期;

5.为所有输入信号定义输入时序和信号格式;

6.为所有输出信号定义输出采样时序;

7.为向量存储器定义向量的起始和终止点;

8.运行测试。

功能测试(6)——FunctionalSpecifications

功能测试参数定义

验证器件的功能是否符合器件规格书通常有两种方法。

第一种方法是将所有的输入、输出和时序参数都设置成最差(规格书中会定义)的情况,然后运行功能向量序列。

这种方式能最快地判断器件是否符合其设计规范,缺点在于如果有fail发生,无法直观地知道是什么参数引起的。

另一种方法是单独地设置各个参数,例如,开始只按照规格书定义的最差情形设置VIL/VIH,其他的参数则放宽。

如果有fail发生在这个地方,则马上可以判断是VIL或VIH电平引起。

然后再设置下一组参数,知道所有参数都被单独验证。

如果良率出现问题,此方式可以让我们直观地获取更多具体的信息,代价是测试时间的增加。

宽松的参数

放宽某个参数意味着按照一定的方式调整其参数值使DUT更容易正确地满足功能要求。

例如,如果规格书定义VIL为0.8V,我们可以将它放宽到0.4V,通过降低VIL使得DUT判读输入信号为逻辑0更加不易出错。

要放宽输入,可以降低VIL,提高VIH;

要放宽输出,则可以提高VOL,降低VOH,最宽松的情况是设置VOL=VOH=1.5V,此时比较器会将所有低于1.5V的电平判为逻辑0,而将所有高于1.5V的电平判为逻辑1(注意:

在测试Z态电平时,不能采用此情况);

要方宽时序,降低测试频率,增加建立(setup)和保持(hold)时间并增加输出传输延迟。

时序参数

通过提供合适的信号波形给DUT,可以实现AC时序参数的验证。

建立时间、保持时间、最小脉宽、传输延迟都必须测试。

在某些情况下,可以一次设定所有极限条件,以使器件通过一次测试就能满足所有参数要求,复杂的功能时序则需要在不同的条件下多次重复测试。

最小/最大电压

器件规格书通常定义VDD的工作电压范围。

例如VDD=5.0±

10%表示对于VDD为5.0V的器件,在4.5V—5.5V之间它必须能正常工作。

这个电压范围通常叫做VDDMIN和VDDMAX。

功能测试必须在器件参数的整个范围内测试,所以功能测试向量序列必须执行两次,一次是VDD设为VDDMIN,另一次是设为VDDMAX。

一些器件参数(VIL/VIH/VOL/VOH)可以按VDD的百分比定义。

当改变VDD的值时,这些参数也必须调整。

功能测试(7)——GrossFunctionalTestandEquationBasedTiming

总功能测试指使用最宽松的条件去运行的功能测试,频率、时序、电压、电流负载等条件都被放宽,也成为基础功能测试(BasicFunctiontest)或摆动测试(WiggleTest)。

实施理由

总功能测试相当于功能测试的前提测试,它检验器件是否能够进行功能测试,通俗地讲,就是器件能否“动”起来。

当测试程序基本建立,常用总功能测试的相关条件验证全部向量集所需测试的功能是否基本正确。

总功能测试常在程序中测试流程的前段运行,以保证后面贯穿整个测试程序的功能测试可以正确实施。

测试方法

图5-8.总功能测试时序

图5-8显示的是256x4静态RAM总功能测试的时序。

此RAM规格书的AC部分规定其工作频率为66MHz,在总功能测试中,测试频率放宽到1MHz,相应放宽的还有输入电平(VIL/VIH)、输出电平(VOL/VOH)以及其他时序参数,包括建立时间、保持时间、何输出延迟。

各个信号的时序关系(时间沿位置)最好仍然保持不变。

器件通过了总功能测试后,会运行更多更严格的测试以确保器件符合其规格书中的全部要求。

当多数更严格的测试都是失败的时候,在它们之前按照一定的条件进行总测试也可以较早地发现这些失效,以提高提高测试吞吐量。

在生产测试中,总功能测试通常就可以提供有价值的良率信息。

时序变量

在测试程序开发和调试过程中,功能测试中的时序参数便于修改是非常重要的,因此常用程序变量建立一个等式来代替具体的参数。

举个例子,通过简单地改变时钟变量“SCALE”的值,整个程序的时序可以轻易地“收紧”或“放宽”。

这一方法也可以用于在不同的测试项之间改变测试频率,比如降低总功能测试的主时钟,或提高时钟以改变器件的最大工作速率。

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-9*SCALE;

READWIDTH=PERIOD/2;

OUT_VALID1=PERIOD*0.75;

STROBEWINDOW1=10E-9;

OUT_VALID2=PERIOD*0.85;

STROBEWINDOW2=10E-9;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1