一种交替循环翻转的测试数据压缩方法与流程

文档序号:11062992阅读:419来源:国知局

本发明涉及的是一种集成电路测试技术,尤其涉及的是一种交替循环翻转的测试数据压缩方法。



背景技术:

在系统芯片(System-on-a-Chip,SoC)设计中,越来越高的电路密度导致测试数据量急剧增加。更大的测试数据规模不仅要求更高的内存需求,而且还增加测试时间。ITRS 2013报告显示,SOC-CP-Consumer SOC进行测试的最小测试数据量10年增加了近4倍,最低压缩比10年增加了近6倍。测试数据压缩技术通过减少测试数据量来解决这个问题,而不会影响系统的整体性能。

测试数据压缩技术能有效地减少测试数据量,一方面可以降低测试功耗,另一方面可以缩短测试应用时间,节约测试成本。常见的测试数据压缩技术有:测试集紧缩技术、编码压缩技术、线性压缩技术等。

(1)测试集紧缩技术。测试集紧缩(Test Set Compaction)技术运用自动测试模式生成算法,对部分确定的测试向量实行紧缩,以达到减少测试数据量的目的。通常它不需要额外的硬件投资,测试集紧缩的结果将使得用于芯片测试向量数目的减少,它的不利之处在于其非模型故障的覆盖率要受到影响。通常测试集的紧缩可用动态或静态的途径来实现。

(2)编码压缩技术。编码压缩技术就是压缩预先计算的测试集TD,而得到比TD小的测试集TE,并将其存储在ATE的存储器中。测试应用时,利用芯片上的硬件,解压存储在ATE中的TE而还原得到TD,再将其应用到被测电路。由于只需传输最终压缩后的编码数据,因而更能节省测试时间,并可有效降低对ATE数据传输带宽的要求。编码压缩技术的优点是在不降故障覆盖率的情况下,降低了对ATE性能的要求,能有效地保护知识产权,其被测芯片上的解压模块可以重用。但确定的测试数据的理论极限(熵)是确定的,编码压缩的效果不可能超过其理论极限(熵)。

(3)线性压缩技术。线性压缩技术通过线性方程的扩展来实现解码过程,因其使用控制逻辑简单的解码器就能实现测试数据解压,所以大部分商业EDA软件都集成了该类工具。线性压缩技术的压缩效果,很大程度上受测试向量无关位比例的限制;同时,由于线性解压结构,如LFSR、XOR网络、Illinois扫描结构、折叠计数器等都存在一定的线性相关性,可能造成向量的不编码性,虽然可以在ATPG中加入相应约束来保证向量的可编码性,但结果往往会增加测试向量的个数,不利于测试数据压缩和测试时间的减少,同时解压结构依赖确定测试集的特征,因此测试移植性不强。

对于线性压缩技术,解压时都是通过对预先求得种子进行线性变换,生成更多的测试向量,从而完成故障测试。然而现有线性压缩技术的解压协议都比较复杂,每个种子解压生成的子集中向量数目有限,测试功耗较高。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供了一种交替循环翻转的测试数据压缩方法,以使用尽可能少的种子来覆盖整个测试集,达到进一步提高压缩率,缩短测试应用时间的目的。

本发明是通过以下技术方案实现的:

本发明提供了一种交替循环翻转的测试数据压缩方法,包括以下步骤:

步骤一:将原始测试向量进行向量排序,获得测试集T0

步骤二:取T0中的第一个测试向量v1作为种子s1,对种子s1做一位交替循环翻转,获得测试子集C1,将种子s1从T0中删除并加入种子集S中,删除种子s1后的测试集标记为T1

步骤三:将T1中的每个测试向量vi逐一与测试子集C1进行比较,若vi强相容于测试子集C1中的某一向量cj,则将vi从T1中删除,获得T2;所述的强相容指的是:若向量v1中值为确定位的位,向量v2中与之对应位置的位的值为相同的确定位,则称向量v1强相容于向量v2

步骤四:取T2中的第一个测试向量vj作为种子,重复执行步骤二、步骤三,直至测试集为空,得到种子集S即为压缩结果。

进一步地,所述步骤二中,所述一位交替循环翻转的方法为:设初始种子的长度为L,记为x1x2…xi…xL-1xL,其中,第i位xi翻转后记为再次翻转后即为xi,对L位依次进行一位交替循环翻转4L-4次,记录每次翻转的结果,获得包含4L-4个向量的测试子集C。

本发明相比现有技术具有以下优点:本发明提供了一种交替循环翻转的测试数据压缩方法,该方法解压协议简单、压缩效率高,每个种子解压生成4L-4个测试向量,解压时每次仅需翻转一位,测试功耗低。

具体实施方式

下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例1

本实施例提供的一种交替循环翻转的测试数据压缩方法,包括以下步骤:

(1)使用ATPG工具进行随机测试,分离出难测故障,生成完全测试集T:

(2)对完全测试集T中的测试向量按照确定为的数量从多到少排序,确定位数量多的测试向量在前,确定位数量少的测试向量在后,获得测试集T0

(3)取测试集T0中的第一个测试向量v1作为种子s1,种子s1的初始长度为L,记为x1x2…xi…xL-1xL,其中,第i位xi翻转后记为再次翻转后即为xi,对L位的种子s1依次进行一位交替循环翻转4L-4次,记录每次翻转的结果,如下表1为生成的测试子集的时序性考察结果,最终获得包含4L-4个向量的测试子集C1={f(1,s1),f(2,s1),…,f(4L-4,s1)};

表1:L位种子实施一位交替循环翻转技术的生成时序

从表1中可知,一位交替循环翻转的测试数据压缩方法能够把4L-4个测试向量压缩成一个种子,每生成一个新的向量只需翻转1位。

然后,将种子s1从T0中删除并加入种子集S中,删除种子s1后的测试集标记为T1

(4)将T1中的每个测试向量vi逐一与测试子集C1进行比较,若vi强相容于测试子集C1中的某一向量cj,则将vi从T1中删除,获得T2

(5)取T2中的第一个测试向量vj作为种子,重复执行步骤(3)-(4),直至测试集为空,得到种子集S即为压缩结果。

为了更清楚地阐述本发明内容,下面通过一具体实例进行详细阐述:

设原始测试集T={1X10X0,01X001,01X1X0,100101,00X1XX,1X1X1,101X00,…}

将原始测试集T进行向量排序,获得T0:

T0={100101,01X001,101X00,1X10X0,01X1X0,00X1XX,X1X1X1,…}

取T0的第一个测试向量100101作为种子,使用一位交替循环翻转技术,生成测试子集C1

C1={000101,010101,011101,011001,011011,011010,011000,011100,010100,000100,100100,110100,111100,111000,111010,111011,111001,111101,110101,100101}

将100101加入种子集S中,S={100101}

从T0中删除100101,得到T1

T1={01X001,101X00,1X10X0,01X1X0,00X1XX,X1X1X1,…}

依次将T1中每个向量vi逐一与测试子集C1进行比较,若vi强相容于测试子集C1中的某一向量cj,则将vi从T1中删除,01X001强相容于011001,1X10X0强相容于111000,01X1X0强相容于011100,00X1XX强相容于000101,X1X1X1强相容于010101。此时,T={101X00,…};获得T2={101X00,…};

重复上述步骤进行筛除,直到T0为空,得到种子集S={100101,…},即为压缩结果。

以上为本发明一种详细的实施方式和具体的操作过程,是以本发明技术方案为前提下进行实施,但本发明的保护范围不限于上述的实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1