发明内容
本发明所要解决的技术问题在于提供基于可测试面积估算测试性能的测试集重排序方法及装置,以解决测试集整体的测试性能较低的问题。
本发明通过以下技术手段实现解决上述技术问题的:
一种基于估算测试性能的测试集重排序方法,包括以下步骤:
S1、生成测试集并仿真测试;
S2、根据仿真测试结果,估算测试集中测试向量的测试性能;
S3、根据测试性能对估算后的测试集进行重新排序,得到新的测试集。
本发明依据测试性能的高低对测试向量进行重新排序,使用重新排序后的测试向量进行测试,可以有效减少故障电路的测试时间,提高测试效率。
作为本发明进一步的方案:所述生成测试集的方法如下:
利用自动测试生成算法,使集成电路X生成Y测试类型的测试集V1,V2,......,Vi,......,Vn,包含输入序列和输出序列。
作为本发明进一步的方案:所述仿真测试方法为:
通过编程搭建仿真环境还原逻辑结构进行故障仿真测试,测试时,依次使用测试集V1,V2,......,Vi,......,Vm的每条测试向量对集成电路X进行仿真测试;
对于任意一个测试集Vi,测试时,依次在每个逻辑门内部添加Y类型故障,判断测试集Vi中的向量是否能检测出该故障并记录,如果可以检测该故障的话,则记为1,否则记为0,将所有的故障类型测试完毕后得到n位由1、0组成的序列;m条测试向量运行完毕后得到m行n列的矩阵Fmn。
作为本发明进一步的方案:所述步骤S2中,包括以下步骤:
S21、计算逻辑门面积;
S22、计算测试向量的测试性能。
作为本发明进一步的方案:所述步骤S21中,包括:
通过公式Sj=L×W计算矩阵Fmn中的每测试向量Vi,得到逻辑门面积;其中,Sj为逻辑门面积,L为逻辑门长度,W为逻辑门宽度。
作为本发明进一步的方案:所述L、W可以从集成电路制造过程中的标准单元库得到。
作为本发明进一步的方案:所述步骤S22中,包括:
通过公式
计算测试向量的测试性能,每个测试向量的测试性能值对应代表了每个测试集的测试性能;从而得到测试集V
1,V
2,......,V
i,......,V
m对应的测试性能为P
1,P
2,......,P
i,......,P
m;其中,Fmn(i,j)表示矩阵F
mn的第i行第j列的值,S
j表示第j个逻辑门的面积,P
i是测试性能。
作为本发明进一步的方案:所述步骤S3中,包括:将测试集按照测试性能的高低重新排序后得到新的测试集V′1,V′2,......,V′i,......,V′m。
一种基于估算测试性能的测试集重排序方法的排序装置,包括:
测试集模块,用于生成测试集并仿真测试;
估算模块,用于估算测试集中测试向量的测试性能;
排序模块,用于对估算后的测试集进行重新排序,得到新的测试集。
本发明的优点在于:
1、本发明依据测试性能的高低对测试向量进行重新排序,使用重新排序后的测试向量进行测试,测试性能较高的测试向量可以较早的发现故障,可以有效减少故障电路的测试时间,提高测试效率,有效缩短了故障检测时间。
2、本发明根据测试向量可以测试的逻辑门的面积的大小来评价其测试性能的高低,方法简单且能够准确得出测试性能,缩短测试时间、工号,降低测试成本。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
首先,需要说明的是,在不考虑集成电路本身存在设计缺陷或制造流程存在漏洞的情况下,故障发生是小概率事件,故障发生相对独立,故障发生率相对稳定,即故障发生这一事件服从泊松分布。假设,现有一种集成电路X,包含n个逻辑门,在标准单元库(集成电路制造过程中,不同的制造工艺采用不同标准单元库,从标准单元库中可以查询每种逻辑门的长度、宽度。)下每种类型的逻辑门长和宽已知,在实际测试中,测试向量存在可以合并的、不能调整顺序的特点。
如图1,一种基于估算测试性能的测试集重排序方法,包括以下步骤:
S1.生成测试集并仿真测试,具体如下:
S11、利用自动测试生成算法,使集成电路X生成Y测试类型的测试集V1,V2,......,Vi,......,Vn,且每个测试集均包含输入序列和输出序列;
优选的,实际测试时,存在n种故障类型需要测试,所以需要生成n种类型的测试集;
本实施例中,自动测试生成算法为现有技术,此处不再详细进行描述。
S12、分析集成电路X内部的逻辑门结构,通过编程搭建仿真环境还原逻辑门结构进行故障仿真测试;
测试时,依次使用测试集V1,V2,......,Vi,......,Vm中每条测试向量对集成电路X进行仿真测试;
其中,仿真测试为现有技术,此处不再进行详细描述。
S13、对于任意一个测试集Vi,测试时,依次在每个逻辑门内部添加Y类型故障,判断测试集Vi中的向量是否能检测出该故障并记录,如果可以检测该故障的话,则记为1,否则记为0,将所有的故障类型测试完毕后得到n位由1、0组成的序列;m条测试向量运行完毕后得到m行n列的矩阵Fmn;
其中Y类型故障为已知的。
S2.估算测试向量的测试性能;
S21、基于贝叶斯概率对测试性能进行估算,测试向量可以检测的逻辑门为由1、0组成的序列;逻辑门面积越大,那么它的测试性能也越高;在测试中,测试性能高的向量具有更高的概率测试出一个随机故障。
首先估算每条测试向量中可以检测的逻辑门面积;方法为:依据集成电路制造过程中的标准单元库,获得各个逻辑门的长L和宽W,利用公式(1)计算Sj:
Sj=L×W (1)
其中,Sj为测试向量中可以检测的逻辑门面积,L为逻辑门长度,W为逻辑门宽度。
S22、计算测试向量的测试性能;
测试向量的测试性能Pi计算公式如(2)
其中,Fmn(i,j)表示矩阵Fmn的第i行第j列的值,Sj表示第j个逻辑门的位由1、0组成的序列;计算得到测试向量V1,V2,......,Vi,......,Vm对应的测试性能为P1,P2,......,Pi,......,Pm。
S3、重新排序
经过估算得到每条测试向量的测试性能P1,P2,......,Pi,......,Pm,将测试集按照测试性能的从高到低重新排序后得到新的测试集:
V′1,V′2,......,V′i,......,V′m。
工作原理:本发明根据测试向量面积的大小来评价其测试性能的高低,最后依据测试性能的高低对测试向量进行重新排序,使用重新排序后的测试向量进行测试,可以有效减少故障电路的测试时间,提高测试效率。
实施例2
一种基于估算测试性能的测试集重排序方法的排序装置,包括:
测试集模块,用于生成测试集并仿真测试;
还包括以下步骤:
S11、利用自动测试生成算法,使集成电路X生成Y测试类型的测试集V1,V2,......,Vi,......,Vn,包含输入序列和输出序列;因为实际测试时,存在n种故障类型需要测试,所以需要生成n种类型的测试集;
本实施例中,自动测试生成算法为现有技术,此处不再详细进行描述。
S12、分析集成电路X内部的逻辑门结构,通过编程搭建仿真环境还原逻辑门结构进行故障仿真测试;
测试时,依次使用测试集V1,V2,......,Vi,......,Vm的每条测试向量对集成电路X进行仿真测试;
S13、对于任意一个测试集Vi,测试时,依次在每个逻辑门内部添加Y类型故障,判断测试集Vi中的向量是否能检测出该故障并记录,如果可以检测该故障的话,则记为1,否则记为0,将所有的故障类型测试完毕后得到n位由1、0组成的序列;m条测试向量运行完毕后得到m行n列的矩阵Fmn
估算模块,用于估算测试集中测试向量的测试性能;还包括:
S21、计算逻辑门位由1、0组成的序列;
首先估算每条测试向量中可以检测的逻辑门面积;方法为:依据集成电路制造过程中的标准单元库,获得各个逻辑门的长L和宽W,利用公式(1)计算Sj:
Sj=L×W (1);
S22、计算测试向量的测试性能;
测试向量的测试性能Pi计算公式如(2)
其中,Fmn(i,j)表示矩阵Fmn的第i行第j列的值,Sj表示第j个逻辑门的位由1、0组成的序列;计算得到测试向量V1,V2,......,Vi,......,Vm对应的测试性能为P1,P2,......,Pi,......,Pm。
排序模块,用于对估算后的测试集进行重新排序,得到新的测试集。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。