电路时延测试方法

文档序号:6030961阅读:1096来源:国知局
专利名称:电路时延测试方法
技术领域
本发明涉及一种电路时延测试方法,特别涉及一种可变双观测点的电路时延测试方法。
随着集成电路(Integrated Circuit,简称IC)设计技术和制造工艺的不断发展,数字系统的工作频率在迅速提高。为了确保数字系统的正常工作,必须对它们进行测试。IC测试包含两方面的内容逻辑测试和时延测试(Delay Testing)。逻辑测试验证系统逻辑功能的正确性,即在给定输入的情况下、测试其是否输出正确的响应。时延测试则验证系统时间特性的正确性,即在给定输入的情况下、测试其是否能在规定的时钟周期内输出正确的响应。现代数字电路集成度越来越高、工作频率越来越快,对电路进行时延测试也越来越关键,受到科学界和工业界的普遍关注。可变双观测点的时延测试方法是在时延测试领域提出的一种新的测试方法。


图1给出了国际上普遍使用的时延测试的硬件模型。标号10为输入锁存器,标号20为组合网络,标号30为输出锁存器,时钟c1,c2分别为输入锁存器和输出锁存器的输入时钟,中间的组合网络为被测的组合电路,使用一个测试向量对作为被测电路的一个测试。假定测试向量对为<V1,V2>。时钟c1在t0时刻经输入锁存器将输入向量V1送入被测的组合电路,等待充分长的时间以使电路的各点状态稳定,然后在t1时刻输入V2。假设电路的工作时钟周期为τ,则在t2=t1+τ时刻由时钟c2将组合网络的输出锁存到输出锁存器中。将输出的状态和预期的逻辑值相比较可以判断被测电路中是否存在时延故障。
对时延测试的研究一般基于两种时延故障模型门时延故障模型(gatedelay fault model)和通路时延故障模型(path delay fault model)。门时延故障模型描述由电路中单独某个元件的延迟过大引起的电路在时间特性上的不正确表现,通路时延故障模型则面对沿着电路中的门和线构成的从电路的某个原始输入到某个原始输出的某条通路,考察该通路上各元件的延时积累造成的时延过大的现象。由于门时延故障模型只能用来检测局部的非常大的时延故障,而电路时间特性的失效行为往往是由许多稍大的延迟积累起来产生的,所以现在人们更倾向于使用通路时延故障模型。
在通路时延故障模型下,使用上述的时延测试硬件模型,根据系统时钟周期限定统一的测试采样时刻t2,对任一测试,只有在这一时刻输出端预期的跳变还未来到,才认为所测的通路存在时延故障。但是,在这个硬件模型下,一个测试只关心电路中的被测通路是否存在时延故障,其测试向量对也只能对电路中的被测通路进行测试;而电路中的总通路数是与电路的门数成指数增长的,随着电路规模的增大,穷举测试每条通路是不可能的。于是,与电路的门数成指数增长的庞大通路数成为时延测试的主要困难。
此外,采用什么样的通路敏化方法是通路时延测试产生中的关键问题。针对通路时延测试产生的大部分研究工作使用不考虑电路的时延分配的通路敏化方法,主要有强健测试、非强健测试等。在这类敏化条件下,多数电路中大部分通路是不可测试的,从而严重影响了时延测试的完全性。在考虑电路的时延分配的情况下,闵应骅,李忠诚,赵著行,“布尔过程论,”《中国科学》E辑,1996年12月,第26卷,第6期,第541-548页的文献基于布尔过程提出了波形敏化的概念。波形敏化允许使用电路中的“冒险”(hazard)来在电路中传播跳变信号。与不考虑电路的时延分配的敏化条件相比,波形敏化更接近于电路的实际,并且使得电路中可测的通路数大大增加了。考虑电路的时延分配,也使估计电路中各通路的通路延时成为可能。
通路时延测试所面临的主要困难有两点一、电路中的通路数太多了,并且其数目随着电路的大小按指数率增长;二、电路中大部分通路是不可测的。本发明正是面对上述难点提出的实现电路的完全时延测试的一种简单有效的途径。
本发明的一个目的是精减被测通路数。
本发明的另一个目的是选择适当的通路敏化方法对通路进行测试。
在此提出了一种新的可变双观测点的时延测试方法,建立了可变双观测点的时延测试模型。对每一个测试,按照可变双观测点的时延测试模型工作的测试仪需要在电路的原始输出采样两次以确定被测通路的传输延时是否在预期的正常范围内,采样的时间对不同的测试是可变的。为了估计电路中各通路的通路延时的正常范围,需要知道被测电路门级的时延分配,实现一种精确测量的时延测试自动生成系统。
在此提出一种可变双观测点的时延测试方法,把被测电路作为一个组合网络,由测试仪产生第一时钟序列、第二时钟序列和第三时钟序列。第一时钟序列在第一时刻将输入跳变送入输入锁存,第二时钟序列和第三时钟序列为采样脉冲,分别在第二时刻和第三时刻(第二时刻在第三时刻之前)送入输出锁存。测试仪检查输出锁存器里的数据,从而确定预期的跳变是否产生。
在上述可变双观测点的时延测试方法中,找出电路通路集的最大线性无关组,并对该最大线性无关组进行测试,即可完成对整个电路的时延测试。
下面参照附图具体描述本发明的具体实施例。
图1为时延测试的硬件模型。
图2为可变双观测点的时延测试模型。
图3为可变双观测点的时延测试产生系统。
图4为“可变双观测点的时延测试产生”系统的测试产生算法。
图5为C17的电路。
图6为C17的通路图。
图2示出可变双观测点的时延测试模型。
如该图中所示,把被测电路作为一个组合网络10,由测试仪产生第一时钟序列C0、第二时钟序列C1和第三时钟序列C2。第一时钟序列C0在第一时刻t0将输入跳变送入输入锁存,第二时钟序列C1和第三时钟序列C2为采样脉冲,分别在第二时刻t1和第三时刻t2(t1<t2)送入输出锁存。测试仪检查输出锁存器里的数据,从而确定预期的跳变是否产生。假定电路中所有门的延时是固定的参数,那么对于每条被测的通路pk,t1=mkD-δ,t2=mkD+δ,其中mk是通路pk上的门数,D为设计时规定的门延迟,δ为测试采样时间的前后跨度。假设电路的时钟周期为C,δ的值等于 在实际电路的实现中,由于工艺的误差等原因,门的延时往往是在一个区间[D+ε,D-ε]内变化的,其中D为平均门延时,ε为可以接受的最大误差。这时对于每条被测的通路pk,可以取t1=mk(D-ε)-δ,t2=mk(D+ε)+δ,取δ的值等于 前面提到,电路中的通路是由电路中从某个原始输入到某个原始输出之间的门和线组和构成的。在所有通路构成的通路集中,可以找到一个最小的通路子集,使得通路集中任意通路所对应的门和线的组合,都可以由这个通路子集中的各通路所对应的门和线的组合,用代数的线性组合方式表示出来。在代数意义上,这个最小的通路子集中的通路构成总通路集中的一个最大线性无关组,它的大小对特定的电路是确定的,它等于inpnum+∑j(fobj-1),其中inpnum是原始输入数,fobj是扇出源j的扇出分支数。因此,总通路集中的一个最大线性无关通路集的元素个数与电路的规模呈线性增长关系。
发明人发现,找到被测电路的这样的一个最大线性无关通路集的测试集,用可变双观测点的时延测试模型对它们进行时延测试,只要电路通过这样的测试,就一定不存在时延故障(有关证明见附录)。因此,对被测电路的一个最大线性无关通路集的可变双观测点的时延测试,构成了被测电路的一个完全时延测试集。
实现的“可变双观测点的时延测试产生”系统采用波形敏化作为测试产生的通路敏化条件,是一种精确测量的时延测试自动生成系统,如图3所示。此系统以组合电路的门级数据结构为输入,可用来寻找组合电路的最大线性无关通路集,自动对其产生该电路的完全时延测试集,同时也给出了指定时钟周期下,完全时延测试集中每个测试所测的通路的测试采样区间[t1,t2]。
我们认为,实现可变双观测点的时延测试应该包括下面一些步骤1)实现被测电路在门级的内部数据结构,给出门级的时延分配方案。
2)确定在被测电路总通路集中,最大线性无关通路集的寻找算法。
3)实现精确测量的时延测试产生算法。
在“可变双观测点的时延测试产生”系统中,这一点是通过采用波形敏化作为测试产生的通路敏化条件来实现的。
图4是“可变双观测点的时延测试产生”系统的测试产生算法的流程图,其中关键部分是如何根据波形敏化原理得到最终的测试向量。
具体来说,该流程包括三个主要部分电路数据预处理、测试预处理、测试产生。在电路数据预处理部分中包括两个步骤在步骤S2,接受门级电路文件;在步骤S3,输入时延分配,并计算最大通路延时。在测试预处理部分也包括两个步骤在步骤S4,根据最大线性无关通路集的寻找算法找到一条通路,读取通路信息;然后在步骤S5,送入被测通路的测试跳变,进行跳变蕴涵,确定电路中所有可能产生跳变的门。测试产生部分包括三个步骤在步骤S6,根据波形敏化原理,使用九值逻辑在被测通路上传播跳变,对确定的逻辑值在电路中充分蕴涵;接着执行步骤S7,对蕴涵中未确定逻辑值的线进行处理;然后到达步骤S8,标记是否通路可敏化;若可敏化,输出敏化向量对作为该通路的一个测试向量,并计算当前时延分配下给定时钟周期后,测试该通路的可变双观测点。
在步骤S9判断是否已经输出了一个最大线性无关通路集的测试集。如果为“否”,则转到步骤S4,继续执行步骤S4-S9;如果为“是”,则结束该流程。
为了表示在波形敏化过程中,电路中各信号线取值的可能的状态,我们采用了一种九值逻辑来实现波形敏化。九值逻辑包括下列九种定义的逻辑值S0--稳定在0,S1--稳定在1,U1--上升跳变,U0--下降跳变,0X={S0,U1},X0={S0,U0},X1={S1,U1},1X={S1,U0},X={S0,S1,U1,U0}。
测试产生中为引入时间参数而建立的数据结构,是赋予电路中每条线的一个时刻逻辑值表。表中的元素分别记录了该线在不同时刻的逻辑值,从而刻画了该线上的波形。同一线在不同时刻可取不同的逻辑值,但同一线上相继时刻的逻辑值必须相容。所谓“相容性”,可由下例说明设电路中某线L上有三个相继时刻点t1、t2、t3,t1<t2<t3。若Value(L,t1)=0,Value(L,t3)=1,则必有Value(L,t2)=0→1,才能保证相容性。
波形敏化时对旁路输入信号逻辑值的要求列入表3,其中t表示时刻值,“cv”是门的控制值,“ncv”是门的非控制值,“x”为逻辑值0或1,“→”左右两边分别为该信号上前后时刻的逻辑值,如“cv→ncv”即表示从控制值到非控制值的跳变,其它符号以此类推。该敏化条件等价于波形敏化。
表3波形敏化时对旁路输入信号逻辑值的要求
时间参数的引入使九值逻辑的运算可完全遵循二值逻辑的运算规则。
算法其它部分的实现与国际上公认的比较成熟有效的测试产生算法FAN算法是一致的。
4)实现可变双观测点时延测试的模式生成算法(用来给测试仪送入完全时延测试集的输入图形)。
5)生成每个测试的可变双观测点(用来控制测试仪的测试采样时刻)。
6)模拟验证。
根据上述实施例,可以快速准确地判断电路是否具有延迟故障。附录可变双观测点的时延测试方法的完全性证明为了证明可变双观测点的时延测试方法对于测试被测电路是否存在时延故障的完全性,我们首先引入一个通路图来表示逻辑电路中通路之间的关系。通路图可由下列两步来构造第一步对于电路中每一个原始输入、原始输出和扇出源,画出一个相应的结点。
第二步对于电路中存在的每一条从结点M到N的通路,由结点M连一个有向边到结点N。
假设通路图中,通路数为m,有向边数为s,通路图可用m×s的通路矩阵P来表示。P的每行对应唯一的通路pi,称为通路行pi.通路行pi的某元素为1,当且仅当它所在的列所对应的有向边属于通路pi。令DS是s×1矩阵,其元素是相应有向边的时滞,令DP是m×1矩阵,其元素是各通路的时滞,则[DP]m×1=[P]m×s×[DS]s×1。图6和表4分别为C17电路(图5)的通路图和通路矩阵。
表4 C17的通路矩阵
根据通路矩阵,某些通路行可以表示成另一些通路行的线性组合,因而可用已知通路延迟的线性组合来计算未知的通路延迟。
根据一般的矩阵理论,通路矩阵的基底将构成行数最少的矩阵,它能生成与通路矩阵相同的子空间。我们知道,一个矩阵可能有许多不同的基底,但每个基底包含的元素个数是一样的,此数即矩阵的秩(rank)。通路矩阵的秩R是一个与电路的拓卜结构相关的量,它可以根据电路的原始输入数、各扇出源(电路中有多个后继结点的结点)的扇出分支数准确计算出来。
在可变双观测点的时延测试中,我们将被选中做时延测试产生的通路称为样品通路,为每个样品通路产生一个带单跳变的输入向量对来诊察它的时延故障。一些样品通路组成的精简了的通路集合称为一个样品通路集。如果测试后,一个样品通路集中所有的样品通路上预期的跳变都在与它的通路长度相关的特定时间跨度内出现,就意味着被测电路没有通路时延故障,那么,这个样品通路集是完全的。对完全的样品通路集产生的时延测试的集合称为完全时延测试集。
在对可变双观测点的时延测试的完全性进行证明之前,我们首先作以下假定1.将电路中的线延迟加入到门的时间延迟中,并且认为门传播上升跳变的时间与它传播下降跳变的时间相等。不考虑门延迟缩小的可能性。
2.一条通路的通路延迟是通路上各门的时间延迟之和。
3.如果通路延迟超过系统时钟周期,则存在通路时延故障。
下面的定理1给出了关于可变双观测点的时延测试的完全性的理论证明。我们首先约定一些在定理及其证明中出现的符号x—电路中的一个门;pi—一条通路或通路行;d()—一个门或者一条通路的实际延迟;D—设计时规定的门延迟;C—系统时钟周期;n—通路上最大可能的门数;
δ—可变双观测点时延测试的测试采样时间的前后跨度,它的值等于 定理1若通路行pj与p1、p2、…、pi存在这样的关系pj=c1×p1+c2×p2+…+ci×pi,其中ck(k=1,2,…,i)是有理常数,且对p1、p2、…、pi实施各自的可变双观测点的时延测试后,预期的跳变都在与它们的通路长度相关的采样时间跨度内出现,则pj不存在通路时延故障,即d(pj)<C。
证明(1)首先,我们证明对任意门x∈pk,k∈{1,2,…,i},D-δn<d(x)<D-δn+2δ.]]>由前述假定,不考虑门延迟缩小的可能性, 显然成立。我们只需证明 已知对p1、p2、…、pi实施各自的测试后,预期的跳变都在与它们的通路长度相关的采样时间跨度内出现,则对通路pk(k=1,2,…,i),mkD-δ<d(pk)<mkD+δ,其中mk(mk≤n)是通路pk上的门数。用反证法,假设存在一个门y∈pk,k∈{1,2,…,i}, 。因为对任意门x∈pk,k∈{1,2,…,i}, ,所以 ,即d(pk) 。又由mk≤n,有 则 -δ=δ,即d(pk)>mkD+δ,与已知矛盾。
因此,对任意门x∈pk,k∈{1,2,…,i}, (2)对任意通路 ,pj上的每个门一定在某条通路pk(k=1,2,…,i)上。那么由(1),对任意门x∈pj, 。因此,d(pj)=Σx∈pjd(x)<mj(D-δn+2δ)≤n(D-δn+2δ)=nD+(2n-1)δ=nD+(2n-1)C-nD2n<C]]>,则pj不存在通路时延故障。证毕。
定理1将被测通路的时间延迟限定在与其级数相关的时间跨度内,使用国际上普遍使用的时延测试的硬件模型是无法对通路进行这样的测试的。因此,我们建立了可变双观测点的时延测试模型。
通路矩阵的基底将构成行数最少的矩阵,它能生成与通路矩阵相同的子空间。如果对基底中所有通路实施各自的测试后,预期的跳变都在与它们的级数相关的采样时间跨度内出现,由定理1,我们就可以得出电路中所有通路都不存在通路时延故障的结论。因此,通路矩阵的任何一个基底构成一个完全样品通路集。
定理2在可变双观测点的时延测试方法中,如果测试集T所测试的通路行包含通路矩阵的基底,那么T是完全时延测试集。
通路矩阵P的秩R=inpnum+∑j(fobj-1)。其中inpnum是原始输入数,fobj是扇出源j的扇出分支数。因此,在可变双观测点的时延测试方法中,最小的完全时延测试集包含inpnum+∑j(fobj-1)个测试。
权利要求
1.一种电路时延测试方法,其中包括如下步骤第一步骤,实现被测电路在门级的内部数据结构,给出门级的时延分配方案;第二步骤,确定在被测电路总通路集中,最大线性无关通路集的寻找算法;第三步骤,实现精确测量的时延测试产生算法;第四步骤,实现可变双观测点时延测试的模式生成算法;第五步骤,生成每个测试的可变双观测点;第六步骤,模拟验证。
2.根据权利要求1所述的电路时延测试方法,其特征在于,由测试仪产生第一时钟序列、第二时钟序列和第三时钟序列,第一时钟序列在第一时刻将输入跳变送入输入锁存,第二时钟序列和第三时钟序列为采样脉冲,分别在第二时刻和第三时刻送入输出锁存,第二时刻在第三时刻之前。
3.根据权利要求2所述的电路时延测试方法,其特征在于,假定电路中所有门的延时是固定的参数,并且所述第二时刻为t1以及所述第三时刻为t2,那么对于每条被测的通路pk,第二和第三时刻的取值分别为t1=mkD-δ,t2=mkD+δ,其中mk是通路pk上的门数,D为设计时规定的门延迟,δ为测试采样时间的前后跨度,假设电路的时钟周期为C,δ的值等于
4.根据权利要求2所述的电路时延测试方法,其特征在于,假定门的延时在一个区间[D+ε,D-ε]内变化的,其中D为平均门延时,ε为可以接受的最大误差,对于每条被测的通路pk,第二和第三时刻的取值分别为t1=mk(D-ε)-δ,t2=mk(D+ε)+δ,取δ的值等于
5.根据权利要求2所述的电路时延测试方法,其特征在于,从第二步骤得到被测电路的最大线性无关通路集,从第三步骤得到该最大线性无关通路集的测试集,测试仪按照第四步骤到第六步骤使用该测试集进行时延测试,如果测试后,发现该最大线性无关通路集中所有通路上预期的跳变都在测试采样的所述第二时刻和所述第三时刻之间出现,就可判定被测电路没有通路时延故障。
全文摘要
一种新的可变双观测点的时延测试方法,建立了可变双观测点的时延测试模型。被测电路的完全时延测试集是由通路集的一个最大线性无关组中每条通路的波形敏化测试图形构成的。对每一个测试,按照可变双观测点的时延测试模型工作的测试仪需要在电路的原始输出采样两次以确定被测通路的传输延时是否在预期的正常范围内,采样的时间对不同的测试是可变的。用该方法实现一种精确测量的时延测试自动生成系统。
文档编号G01R31/3181GK1361428SQ0013611
公开日2002年7月31日 申请日期2000年12月25日 优先权日2000年12月25日
发明者李华伟 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1