CN110865299A - 一种基于前向相容的折叠集分层压缩方法及装置 - Google Patents

一种基于前向相容的折叠集分层压缩方法及装置 Download PDF

Info

Publication number
CN110865299A
CN110865299A CN201911192492.8A CN201911192492A CN110865299A CN 110865299 A CN110865299 A CN 110865299A CN 201911192492 A CN201911192492 A CN 201911192492A CN 110865299 A CN110865299 A CN 110865299A
Authority
CN
China
Prior art keywords
data block
folding
encoded
compatibility
coded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911192492.8A
Other languages
English (en)
Other versions
CN110865299B (zh
Inventor
詹文法
陶鹏程
蔡雪原
邵志伟
彭勇
张振林
丁文祥
彭登辉
华铭
都奕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Volkswagen Information Industry Co ltd
Original Assignee
Anqing Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anqing Normal University filed Critical Anqing Normal University
Priority to CN201911192492.8A priority Critical patent/CN110865299B/zh
Publication of CN110865299A publication Critical patent/CN110865299A/zh
Application granted granted Critical
Publication of CN110865299B publication Critical patent/CN110865299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318335Test pattern compression or decompression

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种基于前向相容的折叠集分层压缩方法,步骤如下:S1、划分测试向量;S2、从划分的测试向量中,获取待编码数据块与折叠集;S3、根据折叠集依次对待编码数据块进行编码;S4、判断待编码数据块是否为最后一个,如果是输出压缩后的测试向量,如果不是返回执行步骤S3。本发明还公开了一种基于前向相容的折叠集分层压缩装置。本发明通过将测试向量划分,利用参考向量作为折叠种子生成折叠集,依次对剩余的待编码数据块与参考向量进行相容性判断,从而实现降低参考向量的相容条件,使原本不具有相容关系的两个数据块产生相容关系,即增大了数据块间的相容性,从而在原来相容压缩的基础上进一步提高了数据的压缩率。

Description

一种基于前向相容的折叠集分层压缩方法及装置
技术领域
本发明涉及数据编码技术,更具体涉及一种基于前向相容的折叠集分层压缩方法及装置。
背景技术
VLSI((Very Large Scale Integration,超大规模集成电路)芯片上晶体管的特征尺寸每年以大约10.5%的速度减小,导致晶体管密度以每年大约22.1%的速度增长。随着晶体管密度的增加,需要的测试向量的数量也随之增加。大量的测试数据不仅超过了自动测试设备存储器和I/O信道的容量,也延长了测试时间,影响了测试成本。测试数据压缩、改变扫描链结构、使用逻辑内建自测试是三种可以减少测试时间的方法,但是对于已有的IP内核,更改扫描链结构不可能实现,使用逻辑内建自测试需要重新设计IP内核,需要更高的成本,此时测试数据压缩是唯一选择。
测试数据压缩方法主要可分为基于编码和基于扫描链的方案。基于编码的方案用于压缩多维测试集或测试向量,其基本思想是将测试数据分割为称为称为符号的模块。然后使用压缩算法将每个符号转换为码字。测试时在通过解压电路还原,是一种无损压缩方法。
基于编码的方案大致可分为四类,这是根据符号和码字的容量是否固定来划分的。例如,字典编码属于固定—固定,字典索引与待编码数据是一一对应的关系,字典索引要覆盖到所有的待编码数据的种类,并且需要存储字典数据,压缩效果偏低,并且硬件开销较高;赫夫曼编码属于固定—可变,赫夫曼编码用较短的编码字来表示出现频率高的测试数据,用较长的编码字来表示出现频率低的测试数据,压缩效果有所提升,但对于出现频率高却数据长度短的压缩效果有限;Run_length编码属于可变—固定,一个测试向量被分割成可变长度的符号,由连续的1s或0s游程组成,再由固定长度的码字,此类编码方式对于短游程的压缩效果不佳;Golomb编码属于可变—可变,用可变长度的码字表示可变长度的游程,增强其适应性,压缩效果更好。
测试数据压缩属于外建自测试,具有不改变芯片IP内核、减少测试数据容量使其满足自动测试设备内存限制、解压结构简单等特点,是集成电路测试所研究的热点问题
在对集成电路进行测试时,需要将测试向量输入ATE自动化检测设备当中,根据其生成的测试响应来判断电路是否存在故障。由于ATE设备内存有限,而集成电路需要的大量的测试向量,因此需要对测试数据压缩,相容压缩是一种有效的编码压缩方法,其编码规则简单,易与还原。但是在测试集当中,测试向量划分的数据块间往往没有相容关系,从而降低了压缩率。
申请号为“CN201811306241.3”的发明专利公开了一种数据压缩方法,方法包括:1)、获取待压缩向量,并将待压缩的数据切分为若干个等长的数据块;2)、将当前参考向量之后的待压缩向量作为当前待压缩向量;3)、判断对应位置上的数据块之间的相容性;若相容,将数据块的编码值设置为第一码值,更新当前参考向量;若反向相容,将当前待压缩向量的编码值设置为第二码值,更新当前参考向量;若不相容,将当前待压缩向量的编码值设置为第三码值,更新当前参考向量;4)、将当前待压缩向量的下一向量作为当前待压缩向量,并返回执行步骤3),直至对所有待压缩向量进行了压缩。但是该专利方案中数据块之间也往往没有相容关系。
发明内容
本发明所要解决的技术问题在于提供一种基于前向相容的折叠集分层压缩方法,以解决上述背景技术中测试向量划分的数据块间往往没有相容关系,从而降低了压缩率的问题。
为解决上述问题,本发明提供如下技术方案:
一种基于前向相容的折叠集分层压缩方法,步骤如下:
S1、划分测试向量;
S2、从划分的测试向量中,获取待编码数据块与折叠集;
S3、根据折叠集依次对待编码数据块进行编码;
S4、判断待编码数据块是否为最后一个,如果是输出压缩后的测试向量,如果不是返回执行步骤S3。
通过将现有的测试向量划分,然后利用折叠集,依次对测试向量中的数据块进行相容性判断,通过对待编码数据块的编码使原本不具有相容关系的数据块近似相容,从而提高了数据的压缩率,这种压缩方法效率高,编码规则简单易于还原。
作为本发明进一步的方案:所述步骤S1中,包括
按顺序将测试集中的测试向量依次划分成等长k位的数据块,最后一块数据块不足k位的,用无关位填充补全;
其中,k是指正整数;测试集中,测试向量包括若干个数据块,依次为Z1、Z2……Zn,其中n为任意正整数;
每个数据块是0、1、x的集合,其中x为无关位。
作为本发明进一步的方案:所述步骤S2中,包括;
获取测试向量中的第一块数据块Z1,且剩余的Z2……Zn为待编码数据块,第一块数据块Z1记为首个参考数据块r,并将参考数据块r存入寄存器RAM1,寄存器RAM1直接原样输出,然后原样输出后的参考向量r记为折叠种子,折叠种子作为折叠计数器的初始状态,然后折叠计数器对折叠种子进行运算处理,产生折叠集F1(x)存入RAM2中;
其中,F1(x)={a0,a1,a2,…,ak-1,ak},a0…ak为数据块。
作为本发明进一步的方案:生成折叠集F1(x)的方法为;
获取初始状态s,s即为折叠种子;所述折叠计数器根据折叠种子s生产出n+1个状态s1:s1=F(0,s),F(1,s),…,F(n,s),这n+1个状态构成的集合称为折叠集,其中状态F(n-1,s)转移到F(n,s)表示保持第n-1为前的码值不变,F(n,s)表示通过折叠种子s生成的第n个折叠集,n为正整数。
作为本发明进一步的方案:所述步骤S3包括:
S31、依次判断待编码数据块与参考数据块r的相容性,根据编码方式图进行编码,包括;
1)、判断第一个待编码数据块与参考向量r的相容性,如果不相容,则执行步骤S4,如果相容,则执行步骤11),如果反向相容则执行步骤12);
11)、输出“00”,同时如果该待编码数据块中存在确定位,而参考向量r与该待编码数据块中确定位对应的位置为无关位X,填充参考向量r的无关位X更新参考向量r,再执行步骤S4;
其中,确定位是为0或者1;
其中,填充规则为:参考向量与第一个待编码数据库相容,则用确定位填充参考向量中的无关位;如果反向相容,则确定位取反后再进行填充参考向量中的无关位;
12)、输出“01”,同时如果该待编码数据块中存在确定位,而参考向量r与该待编码数据块中确定位对应的位置为无关位X,填充参考向量r的无关位X更新参考向量r,并执行步骤S4;
其中,确定位是为0或者1;如果第一个待编码数据块与参考向量r不相容的话,则执行步骤S32;
S32、判断待编码数据块与折叠集F1(x)的相容性,根据编码方式图进行编码,包括;
判断待编码数据块与ai的相容性,其中i=1、2、…k;如果待编码数据块与ai相容,则执行步骤21),如果待编码数据块与ai反向相容,执行步骤22),如果待编码数据块与ai不相容,执行步骤S33;
21)、输出“100”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,然后执行步骤S4;i表示折叠距离;其中“100”为该情况下前缀与折叠集标记组合;
22)、输出“101”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,然后执行步骤S4;i表示折叠距离;“101”为该情况下前缀与折叠集标记组合;
S33、输出“11”加上该待编码数据块;将该待编码数据块作为新的参考数据块r存入寄存器RAM1,并将该参考向量r作为折叠种子产生折叠集F2(x)存入RAM2,再执行步骤S4。
作为本发明进一步的方案:该待编码数据块与折叠集相容是指:如果第一个待编码数据块与F1(x)={a0,a1,a2,…,ak-1,ak}中的任何一数据块a0,a1,a2,…,ak-1,ak存在相容关系。
作为本发明进一步的方案:其中待编码数据块与ai不相容是指待编码数据块与F1(x)={a0,a1,a2,…,ak-1,ak}中的任何一数据块a0,a1,a2,…,ak-1,ak都不相容。
作为本发明进一步的方案:数据块相容是指在任意两个数据块中相对应位置的码值均不冲突,即数据块中的0与1冲突不相容,x表示无关位,即x与0、x与1均不冲突,0与0、1与1、x与0、x与1均相容;
不相容是指除了相容以外的情况,即为不相容;
反向相容是指在任意两个数据块中相对应位置的码值均冲突,不考虑无关位;
前缀用于区分待编码数据块与参考数据块的相容性;折叠集标记用于区分待编码数据块与参考数据块产生的折叠集F1(x)的相容性;后缀用于表示折叠距离和不相容数据块的内容。
作为本发明进一步的方案:所述步骤S4,包括;
如果输入为步骤S31或者S32,则执行步骤31);如果输入为步骤S33,执行步骤32);
31)、判断第一个待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,继续读取下一个数据块作为第二个待编码数据块,并返回执行步骤S3;
32)、判断第一个待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,舍弃折叠集F1(x),以折叠集F2(x)为基础、该待编码数据块作为新的参考向量r继续执行步骤S3。
一种采用基于前向相容的折叠集分层压缩方法的压缩装置,包括;
划分模块,用于划分测试向量;
划分模块还包括按顺序将测试集中的测试向量依次划分成等长k位的数据块,最后一块数据块不足k位的,用无关位填充补全;
其中,k是指正整数;测试集中,测试向量包括若干个数据块,依次为Z1、Z2……Zn,其中n为任意正整数;
每个数据块是0、1、x的集合,其中x为无关位。
获取模块,用于从划分的测试向量中,获取待编码数据块与折叠集;
所述获取模块还包括,获取测试向量中的第一块数据块Z1,且剩余的Z2……Zn为待编码数据块,第一块数据块Z1记为首个参考数据块r,并将参考数据块r存入寄存器RAM1,寄存器RAM1直接原样输出,然后原样输出后的参考向量r记为折叠种子,折叠种子作为折叠计数器的初始状态,然后折叠计数器对折叠种子进行运算处理,产生折叠集F1(x)存入RAM2中;
其中,F1(x)={a0,a1,a2,…,ak-1,ak},a0…ak为数据块。
产生折叠集F(x)的方法为;
获取初始状态s,s即为折叠种子;所述折叠计数器根据折叠种子s生产出n+1个状态s1:s1=F(0,s),F(1,s),…,F(n,s),这n+1个状态构成的集合称为折叠集,其中状态F(n-1,s)转移到F(n,s)表示保持第n-1为前的码值不变,F(n,s)表示通过折叠种子s生成的第n个折叠集,n为正整数。
编码模块,根据折叠集依次对待编码数据块进行编码,并触发步骤S4;
编码模块还包括:
S31、依次判断待编码数据块与参考数据块r的相容性,根据编码方式图进行编码,包括;
1)、判断第一个待编码数据块与参考向量r的相容性,如果不相容,则执行步骤11),如果相容,则执行步骤12),如果反向相容则执行步骤13);
11)、执行步骤S4;
12)、输出“00”,同时如果该待编码数据块中存在确定位,而参考向量r与该待编码数据块中确定位对应的位置为无关位X,填充参考向量r的无关位X更新参考向量r,再执行步骤S4;
其中,确定位是为0或者1;
其中,填充规则为:参考向量与第一个待编码数据库相容,则用确定位填充参考向量中的无关位;如果反向相容,则确定位取反后再进行填充参考向量中的无关位;
13)、输出“01”,同时如果该待编码数据块中存在确定位,而参考向量r与该待编码数据块中确定位对应的位置为无关位X,填充参考向量r的无关位X更新参考向量r,并执行步骤S4;
其中,确定位是为0或者1;如果第一个待编码数据块与参考向量r不相容的话,则执行步骤S32;
S32、判断待编码数据块与折叠集F1(x)的相容性,根据编码方式图进行编码,包括;
判断待编码数据块与ai的相容性,其中i=1、2、…k;如果待编码数据块与ai相容,则执行步骤21),如果待编码数据块与ai反向相容,执行步骤22),如果待编码数据块与ai不相容,执行步骤23);
21)、输出“100”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,然后执行步骤S4;i表示折叠距离;其中“100”为该情况下前缀与折叠集标记组合;
22)、输出“101”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,然后执行步骤S4;i表示折叠距离;“101”为该情况下前缀与折叠集标记组合;
23)执行步骤S33。
S33、输出“11”加上该待编码数据块;将该待编码数据块作为新的参考数据块r存入寄存器RAM1,并将该参考向量r作为折叠种子产生折叠集F2(x)存入RAM2,再执行步骤S4。
判断模块,判断待编码数据块是否为最后一个,如果是输出压缩后的测试向量,如果不是返回编码模块;
判断模块还包括;
如果输入为步骤S31或者S32,则执行步骤31);如果输入为步骤S33,执行步骤32);
31)、判断第一个待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,继续读取下一个数据块作为第二个待编码数据块,并返回执行步骤S3;
32)、判断第一个待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,舍弃折叠集F1(x),以折叠集F2(x)为基础、该待编码数据块作为新的参考向量r继续执行步骤S3。
与现有技术相比,本发明的有益效果是:
1、本发明通过将测试向量划分,利用参考向量作为折叠种子生成折叠集,依次对剩余的待编码数据块与参考向量进行相容性判断,从而实现利用折叠集进行相容压缩,在确定参考向量时,同时将其作为种子向量生成折叠集,假设参考向量长度为k,则可生成的折叠集中包含k+1个向量,折叠集中每条向量都可作为待编码数据块的参考向量,从而极大扩充了参考向量个数,同一待编码数据块与多个参考向量比较相容性;因此原本不具有相容关系的数据块之间产生了相容性,提高了压缩率。
2、本发明中当待编码数据块与参考向量r和折叠集F1(x)不相容时该待编码数据块作为新的参考向量,并将该参考向量作为折叠种子生成折叠集F2(x)存入RAM2;可以在不影响原有压缩率的前提下,使新的参考向量和折叠集F2(x)具有更多的无关位X,同时利用折叠集及类似方法扩充参考向量个数,先比较待编码数据块和参考数据块相容性,再比较其和折叠集相容性的分层压缩,能跟大大从而提高待编码数据块与新的参考向量和折叠集的相容性,实现提高准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例1提供的基于前向相容的折叠集分层压缩方法的方框示意图。
图2为本发明实施例1提供的基于前向相容的折叠集分层压缩装置的结构示意图。
图3为本发明实施例1提供的基于前向相容的折叠集分层压缩方法编码方式图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
本发明实施例中,一种基于前向相容的折叠集分层压缩方法,步骤如下:
S1、划分测试向量,
按顺序将测试集中的测试向量依次划分成等长k位的数据块,最后一块数据块不足k位的,用无关位填充补全;
其中,k是指正整数;测试集中,测试向量包括若干个数据块,依次为Z1、Z2……Zn,其中n为任意正整数。
每个数据块是0、1、x的集合,其中x为无关位。
S2、获取折叠集,并获取待编码数据块,
获取测试向量中的第一块数据块,作为当前数据块Z1,且剩余的Z2……Zn为待编码数据块,当前数据块Z1记为首个参考数据块r,并将参考数据块r存入寄存器RAM1,寄存器RAM1直接原样输出,然后原样输出后的参考向量r记为折叠种子,折叠种子作为折叠计数器的初始状态,然后折叠计数器对初始状态进行运算处理,生成折叠集F1(x)存入RAM2中。
其中,折叠计数器具有一个动态改变的状态转移函数,它主要取决于这个计数器的初始状态和转移“距离”;
生成的折叠集F1(x)={a0,a1,a2,…,ak-1,ak}。
折叠计数器生成折叠集F1(x)的方法为:获取初始状态s,s即为折叠种子;根据折叠种子s生产出n+1个状态s1:s1=F(0,s),F(1,s),…,F(n-1,s),F(n,s),这n+1个状态构成的集合称为折叠集,其中状态F(n-1,s)转移到F(n,s)表示保持第n-1为前的码值不变;
为了更详细的说明折叠计数器生成折叠集F1(x)的方法,具体如下:
表1为折叠计数器生成的时序表,
Figure BDA0002293910790000111
如表1所示,初始状态是由4位0组成,由这4位0通过折叠计数器计算生出一个折叠集F1(x),折叠集F1(x)={0000,1111,1000,1011,1010},折叠集F1(x)的初始状态0000折叠种子;此时只需要知道折叠种子和折叠距离就可以得出折叠集F1(x)内的任何一组数据。
S3、对待编码数据块进行编码;包括
S31、依次判断待编码数据块与参考数据块r的相容性,根据编码方式图进行编码,
其中,数据块相容是指在任意两个数据块中相对应位置的码值均不冲突,即数据块中的0与1冲突不相容,x表示无关位,即x与0、x与1均不冲突,0与0、1与1、x与0、x与1均相容;
不相容是指除了相容以外的情况,即为不相容;
反向相容是指在任意两个数据块中相对应位置的码值均冲突(不考虑无关位);
表中的前缀用于区分待编码数据块与参考数据块的相容性;折叠集标记用于区分待编码数据块与参考数据块产生的折叠集F1(x)的相容性;后缀用于表示折叠距离和不相容数据块的内容。
1)、判断当前待编码数据块与参考向量r的相容性,如果不相容,则执行步骤S32,如果相容,则执行步骤11),如果反向相容则执行步骤12);
11)、输出“00”,同时如果该待编码数据块中存在确定位(为0或者1),而参考向量r与该待编码数据块中确定位对应的位置为无关位X,填充参考向量r的无关位X更新参考向量,用于与下一个待编码数据块相容性判断,再执行步骤S4;
12)、输出“01”,同时如果该待编码数据块中存在确定位(为0或者1),而参考向量r与该待编码数据块中确定位对应的位置为无关位X,填充参考向量r的无关位X更新参考向量,用于与下一个待编码数据块相容性判断,再执行步骤S4;
其中,在判断待编码数据块与参考向量r有相容关系后,如果待编码数据块的某一位是确定位,而参考向量r的对应位是无关位X,此时无法准确还原出原来的该待编码数据块,因此对参考向量r的无关位根据该待编码数据块的确定位填充,实现压缩后的数据能够根据参考向量r准确还原出该待编码数据块。
为了更详细的说明填充规则,具体为:
设定参考向量r为01XX1XX0,待编码数据块为01111XX0、10000111;
判断第一块待编码数据块01111XX0是与参考向量r相容的,可以编码为“00”,但是第一块待编码数据块的第3位和第4位是确定位1,而参考向量r的第3位和第4位是无关位X,如果根据参考向量r还原数据只能得出01XX1XX0,无法准确还原出第一块待编码数据块01111XX0,所以对r的第3位和第4位填充为1,并将填充后的参考向量r(01111XX0)作为新的参考向量,记为参考向量r2;
再判断第二块待编码数据块10000111与参考向量r2(01111XX0)是反向相容的,同样,待编码第6位和第7位是确定位1,参考向量r2对应位是无关位X,但是因为待编码数据块与参考向量r2是反向相容,所以将参考向量r2的第6位和第7位填充为0,将填充后的r2(011110001)作为新的参考向量,记为参考向量r3;
S32、判断当前待编码数据块与折叠集F1(x)的相容性,根据编码方式图进行编码,具体方法如下:
判断当前待编码数据块与ai的相容性,其中i=1、2、…k;如果待编码数据块与ai相容,则执行步骤21),如果待编码数据块与ai反向相容,执行步骤22),如果待编码数据块与ai不相容,执行步骤S33;
其中,其中,当前待编码数据块与折叠集相容是指:如果当前待编码数据块与F1(x)={a0,a1,a2,…,ak-1,ak}中的任何一数据块a0,a1,a2,…,ak-1,ak存在相容关系;
当前待编码数据块与ai不相容是指:当前待编码数据块与F1(x)={a0,a1,a2,…,ak-1,ak}中的任何一数据块a0,a1,a2,…,ak-1,ak都不相容;
21)、输出“100”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,用于与下一个待编码数据块相容性判断,然后执行步骤S4;其中“100”为该情况下前缀与折叠集标记组合;i表示折叠距离;
22)、输出“101”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,用于与下一个待编码数据块相容性判断,然后执行步骤S4;其中“101”为该情况下前缀与折叠集标记组合;i表示折叠距离;
S33、输出“11”加上当前待编码数据块;同时将未编码的当前待数据块作为新的参考向量r存入寄存器RAM1,用于与下一个待编码数据块进行相容性判断,并将该参考向量作为折叠种子生成折叠集F2(x)存入RAM2;执行步骤S4;
参考向量和折叠集可以动态更新,因为待编码数据块与参考向量r和折叠集F1(x)相容时会对无关位X做相应的填充,使参考向量r和折叠集F1(x)的无关位不断减少,从而直接导致其与待编码数据块的相容性降低,不利于压缩,而当待编码数据块与参考向量r和折叠集F1(x)不相容时该待编码数据块作为新的参考向量,并将该参考向量作为折叠种子生成折叠集F2(x)存入RAM2;可以在不影响原有压缩率的前提下,使新的参考向量和折叠集F2(x)具有更多的无关位X,从而提高待编码数据块与新的参考向量和折叠集的相容性,提高压缩率。
S4、判断待编码数据块是否为最后一个,如果是输出压缩后的测试向量,如果不是返回执行步骤S3;
如果输入为步骤S31或者S32,则执行步骤31);如果输入为步骤S33,执行步骤32);
31)、判断第一个待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,继续读取下一个数据块作为第二个待编码数据块,并返回执行步骤S3;
32)、判断第一个待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,将折叠集F1(x)替换为折叠集F2(x),继续执行步骤S3。
通过上述步骤,能够实现将折叠集与相容压缩结合,使原本不具有相容关系的数据块近似相容,进而提高了压缩率。
原理:测试数据压缩率受数据块之间的相容性的影响,提高数据块相容性可以有效提高测试数据压缩率,通常相容压缩只和参考向量比较相容性,并基于提高参考数据块无关位数量的方式提高数据块之间的相容性,但基于某个固定参考向量比较相容性,压缩率的提高受到约束;
本方案通过利用折叠集进行相容压缩,在确定参考向量时,同时将其作为种子向量生成折叠集,生成的折叠集中包含k+1个数据块,折叠集中每条数据库都可作为待编码数据块的参考向量,从而极大扩充了参考向量个数,同一待编码数据块与多个参考向量比较相容性;因此原本不具有相容关系的数据块之间产生了相容性,提高了压缩率;
折叠计算的特征为可以用k位向量作为折叠种子自动生成包含k+1条k位向量的折叠集合,利用该特征在生成k位参考向量的同时,生成折叠集,则将原来的一条参考向量扩充到k+1条,利用折叠集及类似方法扩充参考向量个数,先比较待编码数据块和参考数据块相容性,再比较其和折叠集相容性的分层压缩的方法,可有效提高压缩率。
为了更详细的说明本实施例,下面用一个具体的例子详细说明。
S1、获取测试向量为TD;
TD:1111000000XX11X1011100001011XX0010101100,
S2、将测试向量按8位分块,第一块数据块Z1为11110000,将数据组Z1作为参考向量,同时也作为折叠种子,利用折叠计数器对折叠种子进行计算生成折叠集F1(x),折叠集F1(x)={11110000,00001111,01110000,01001111,01010000,01011111,01011000,01011011,01011010}。
S3、数据块Z2为00XX11X1,数据块Z2与参考向量反向相容,编码为01;再执行步骤S4,此时数据块Z2不是最后一个数据块,继续执行判断数据块Z3,数据块Z3为01110000,数据块Z3与参考数据块不相容,但是与折叠集相容(即存在于折叠集F1(x)当中),折叠距离为2,前缀为10,折叠集标记为0,后缀用折叠距离减1的二进制表示为001(2-1=1),因此编码为100001,再执行步骤S4,此时数据块Z3不是最后一个数据块,继续判断下一个待编码数据块Z4,待编码数据块Z4为1011XX00,待编码数据块Z4与参考数据块不相容,但是与折叠集反向相容,折叠距离为3,前缀为10,折叠集标记为1,后缀用折叠距离减1的二进制表示为为010(3-1=2),因此编码为101010,再执行步骤S4,此时待编码数据块Z4不是最后一个数据块,继续执行判断下一个待编码数据块Z5,数据块Z5为10101100,数据块Z5既不和参考向量相容,也不和折叠集相容,前缀为11,后缀为原数据块10101100,同时将与待编码数据块Z5存入寄存器RAM1中,并将与待编码数据块Z5相容性判断的参考向量r作为折叠种子并生成折叠集F2(x)存入RAM2中;再执行步骤S4,判断此时的待编码数据块Z5是否为最后一个数据块,待编码数据块Z5为最后一个数据块,结束流程。
所以,最后测试向量压缩为TE=11110000011000011010101110101100。
实施例2
一种采用基于前向相容的折叠集分层压缩方法的压缩装置,包括;
划分模块301,用于划分测试向量;
划分模块301还包括按顺序将测试集中的测试向量依次划分成等长k位的数据块,最后一块数据块不足k位的,用无关位填充补全;
其中,k是指正整数;测试集中,测试向量包括若干个数据块,依次为Z1、Z2……Zn,其中n为任意正整数;
每个数据块是0、1、x的集合,其中x为无关位。
获取模块302,用于从划分的测试向量中,获取待编码数据块与折叠集;
所述获取模块302还包括,获取测试向量中的第一块数据块Z1,且剩余的Z2……Zn为待编码数据块,第一块数据块Z1记为首个参考数据块r,并将参考数据块r存入寄存器RAM1,寄存器RAM1直接原样输出,然后原样输出后的参考向量r记为折叠种子,折叠种子作为折叠计数器的初始状态,然后折叠计数器对折叠种子进行运算处理,产生折叠集F1(x)存入RAM2中;
其中,F1(x)={a0,a1,a2,…,ak-1,ak},a0…ak为数据块。
产生折叠集F(x)的方法为;
获取初始状态s,s即为折叠种子;所述折叠计数器根据折叠种子s生产出n+1个状态s1:s1=F(0,s),F(1,s),…,F(n,s),这n+1个状态构成的集合称为折叠集,其中状态F(n-1,s)转移到F(n,s)表示保持第n-1为前的码值不变,F(n,s)表示通过折叠种子s生成的第n个折叠集,n为正整数。
编码模块303,根据折叠集依次对待编码数据块进行编码,并触发步骤S4;
编码模块303还包括:
S31、依次判断当前待编码数据块(即第二个待编码数据块)与参考数据块r的相容性,根据编码方式图进行编码,包括;
1)、判断当前待编码数据块与参考向量r的相容性,如果不相容,则执行步骤11),如果相容,则执行步骤12),如果反向相容则执行步骤13);
11)、执行步骤S4;
12)、输出“00”,同时如果该待编码数据块中存在确定位,而参考向量r与当前待编码数据块中确定位对应的位置为无关位X,填充参考向量r的无关位X更新参考向量r,再执行步骤S4;
其中,确定位是为0或者1;
其中,填充规则为:参考向量与当前待编码数据库相容,则用确定位填充参考向量中的无关位;如果反向相容,则确定位取反后再进行填充参考向量中的无关位;
13)、输出“01”,同时如果该待编码数据块中存在确定位,而参考向量r与该待编码数据块中确定位对应的位置为无关位X,填充参考向量r的无关位X更新参考向量r,并执行步骤S4;
其中,确定位是为0或者1;如果当前待编码数据块与参考向量r不相容的话,则执行步骤S32;
S32、判断待编码数据块与折叠集F1(x)的相容性,根据编码方式图进行编码,包括;
判断待编码数据块与ai的相容性,其中i=1、2、…k;如果待编码数据块与ai相容,则执行步骤21),如果待编码数据块与ai反向相容,执行步骤22),如果待编码数据块与ai不相容,执行步骤23);
21)、输出“100”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,然后执行步骤S4;i表示折叠距离;其中“100”为该情况下前缀与折叠集标记组合;
22)、输出“101”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,然后执行步骤S4;i表示折叠距离;“101”为该情况下前缀与折叠集标记组合;
23)执行步骤S33。
S33、输出“11”加上当前待编码数据块;将当前待编码数据块作为新的参考数据块r存入寄存器RAM1,并将该参考向量r作为折叠种子产生折叠集F2(x)存入RAM2,再执行步骤S4。
判断模块304,判断待编码数据块是否为最后一个,如果是输出压缩后的测试向量,如果不是返回编码模块303;
判断模块304还包括;
如果输入为步骤S31或者S32,则执行步骤31);如果输入为步骤S33,执行步骤32);
31)、判断第一个待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,继续读取下一个数据块作为当前待编码数据块,并返回执行步骤S3;
32)、判断第一个待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,执行步骤S3。
在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于前向相容的折叠集分层压缩方法,其特征在于,步骤如下:
S1、划分测试向量;
S2、从划分的测试向量中,获取待编码数据块与折叠集;
S3、根据折叠集依次对待编码数据块进行编码,并触发步骤S4;
S4、判断待编码数据块是否为最后一个,如果是输出压缩后的测试向量,如果不是返回执行步骤S3。
2.根据权利要求1所述的基于前向相容的折叠集分层压缩方法,其特征在于,所述步骤S1中,包括
按顺序将测试集中的测试向量依次划分成等长k位的数据块,最后一块数据块不足k位的,用无关位填充补全;
其中,k是指正整数;测试集中,测试向量包括若干个数据块,依次为Z1、Z2……Zn,其中n为任意正整数;
每个数据块是0、1、x的集合,其中x为无关位。
3.根据权利要求2所述的基于前向相容的折叠集分层压缩方法,其特征在于,所述步骤S2中,包括;
将数据块组成的序列中第一个数据块作为参考数据块r,且参考数据块r即为折叠种子s,利用折叠计数器对折叠种子s进行运算处理,生成折叠集F1(x),并存入RAM2中;余下的数据块作为待编码数据块;
其中,F1(x)={a0,a1,a2,…,ak-1,ak},a0…ak为数据块。
4.根据权利要求3所述的基于前向相容的折叠集分层压缩方法,其特征在于,生成折叠集F1(x)的方法为;
所述折叠计数器根据折叠种子s生产出n+1个状态s1:s1=F(0,s),F(1,s),…,F(n,s),这n+1个状态构成的集合称为折叠集;
其中状态F(n-1,s)转移到F(n,s)表示保持第n-1为前的码值不变,F(n,s)表示通过折叠种子s生成的第n个折叠集,n为正整数。
5.根据权利要求1所述的基于前向相容的折叠集分层压缩方法,其特征在于,所述步骤S3包括:
S31、依次判断待编码数据块与参考数据块r的相容性,根据编码方式图进行编码,包括;
1)、获取当前待编码数据块,并判断所述当前待编码数据块与参考向量r的相容性,如果不相容,则执行步骤S32,如果相容,则执行步骤11),如果反向相容则执行步骤12);
11)、输出“00”,同时如果该待编码数据块中存在确定位,而参考向量r与该待编码数据块中确定位对应的位置为无关位X,则填充参考向量r的无关位X更新参考向量r,再执行步骤S4;
其中,确定位是为0或者1;填充规则为:参考向量与当前待编码数据库相容,则用确定位填充参考向量中的无关位;如果反向相容,则确定位取反后再进行填充参考向量中的无关位;
12)、输出“01”,同时如果该待编码数据块中存在确定位,而参考向量r与该待编码数据块中确定位对应的位置为无关位X,填充参考向量r的无关位X更新参考向量r,并执行步骤S4;
S32、判断当前待编码数据块与折叠集F1(x)的相容性,根据编码方式图进行编码,包括;
判断当前待编码数据块与F1(x)中的数据库ai的相容性,其中i=1、2、…k;如果当前待编码数据块与ai相容,则执行步骤21),如果当前待编码数据块与ai反向相容,执行步骤22),如果当前待编码数据块与ai不相容,执行步骤S33;
21)、输出“100”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,然后执行步骤S4;
其中,i表示折叠距离;其中“100”为该情况下前缀与折叠集标记组合;
22)、输出“101”加上用二进制表示的i-1,填充参考向量r的无关位X来更新参考向量r,然后执行步骤S4;
其中,“101”为该情况下前缀与折叠集标记组合;
S33、输出“11”加上该待编码数据块;将当前待编码数据块作为新的参考数据块r存入寄存器RAM1,并将该参考向量r作为折叠种子生成折叠集F2(x)存入RAM2中,再执行步骤S4。
6.根据权利要求5所述的基于前向相容的折叠集分层压缩方法,其特征在于,所述当前待编码数据块与折叠集相容为:如果当前待编码数据块与F1(x)={a0,a1,a2,…,ak-1,ak}中的任何一数据块a0,a1,a2,…,ak-1,ak存在相容关系。
7.根据权利要求5所述的基于前向相容的折叠集分层压缩方法,其特征在于,所述当前待编码数据块与ai不相容是指待编码数据块与F1(x)={a0,a1,a2,…,ak-1,ak}中的任何一数据块a0,a1,a2,…,ak-1,ak都不相容。
8.根据权利要求5所述的基于前向相容的折叠集分层压缩方法,其特征在于,所述相容是指在任意两个数据块中相对应位置的码值均不冲突;
所述反向相容是指不考虑无关位的情况下,任意两个数据块中相对应位置的码值均冲突;
所述不相容是指除了相容、反向相容以外的情况。
9.根据权利要求1所述的基于前向相容的折叠集分层压缩方法,其特征在于,所述步骤S4,包括;
判断触发步骤S4的输入,如果输入为步骤S31或者S32,则执行步骤31);如果输入为步骤S33,执行步骤32);
31)、判断当前待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,将待编码数据库的下一个待编码数据块作为当前待编码数据块,并返回执行步骤S3;
32)、判断当前待编码数据块是否为折叠集F1(x)中最后一个数据块,如果是,结束编码,得到压缩后的测试向量;如果不是,执行步骤S3。
10.一种采用权利要求1-9任一所述的基于前向相容的折叠集分层压缩方法的压缩装置,其特征在于,包括;
划分模块(301),用于划分测试向量;
获取模块(302),用于从划分的测试向量中,获取待编码数据块与折叠集;
编码模块(303),根据折叠集依次对待编码数据块进行编码;
判断模块(304),判断待编码数据块是否为最后一个,如果是输出压缩后的测试向量,如果不是返回编码模块(303)。
CN201911192492.8A 2019-11-28 2019-11-28 一种基于前向相容的折叠集分层压缩方法及装置 Active CN110865299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911192492.8A CN110865299B (zh) 2019-11-28 2019-11-28 一种基于前向相容的折叠集分层压缩方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911192492.8A CN110865299B (zh) 2019-11-28 2019-11-28 一种基于前向相容的折叠集分层压缩方法及装置

Publications (2)

Publication Number Publication Date
CN110865299A true CN110865299A (zh) 2020-03-06
CN110865299B CN110865299B (zh) 2021-10-15

Family

ID=69656787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911192492.8A Active CN110865299B (zh) 2019-11-28 2019-11-28 一种基于前向相容的折叠集分层压缩方法及装置

Country Status (1)

Country Link
CN (1) CN110865299B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1475644A1 (en) * 2003-04-29 2004-11-10 Koninklijke Philips Electronics N.V. Data compression
CN1862274A (zh) * 2006-05-27 2006-11-15 合肥工业大学 一种多扫描链的大规模集成电路测试数据压缩方法
JP2008111682A (ja) * 2006-10-30 2008-05-15 Yokogawa Electric Corp 半導体試験方法および半導体試験装置
US20090006906A1 (en) * 2007-06-29 2009-01-01 Noah Jacobsen Method and system for encoding data using rate-compatible irregular LDPC codes based on edge growth and parity splitting
CN102262209A (zh) * 2011-04-15 2011-11-30 詹文法 一种基于广义折叠集的自动测试向量生成方法
CN104467869A (zh) * 2014-11-17 2015-03-25 安庆师范学院 一种二分对称折叠技术的测试数据压缩方法
CN109474279A (zh) * 2018-11-05 2019-03-15 安庆师范大学 一种数据压缩方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1475644A1 (en) * 2003-04-29 2004-11-10 Koninklijke Philips Electronics N.V. Data compression
CN1862274A (zh) * 2006-05-27 2006-11-15 合肥工业大学 一种多扫描链的大规模集成电路测试数据压缩方法
JP2008111682A (ja) * 2006-10-30 2008-05-15 Yokogawa Electric Corp 半導体試験方法および半導体試験装置
US20090006906A1 (en) * 2007-06-29 2009-01-01 Noah Jacobsen Method and system for encoding data using rate-compatible irregular LDPC codes based on edge growth and parity splitting
CN102262209A (zh) * 2011-04-15 2011-11-30 詹文法 一种基于广义折叠集的自动测试向量生成方法
CN104467869A (zh) * 2014-11-17 2015-03-25 安庆师范学院 一种二分对称折叠技术的测试数据压缩方法
CN109474279A (zh) * 2018-11-05 2019-03-15 安庆师范大学 一种数据压缩方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HUA-GUO LIANG ETC.: "Two-dimensional test data compression for scan-based deterministic BIST", 《PROCEEDINGS INTERNATIONAL TEST CONFERENCE 2001》 *
李建新等: "测试数据编码压缩技术研究", 《宿州学院学报》 *
欧阳一鸣等: "数据块前向相容标记码的测试数据压缩方法", 《计算机辅助设计与图形学学报》 *

Also Published As

Publication number Publication date
CN110865299B (zh) 2021-10-15

Similar Documents

Publication Publication Date Title
US9054729B2 (en) System and method of compression and decompression
CN104038232B (zh) 基于二次异或运算的测试数据压缩与解压缩方法
US7548175B2 (en) Encoding apparatus, decoding apparatus, encoding method, computer readable medium storing program thereof, and computer data signal
CN102353894A (zh) 基于参考向量和位掩码的soc的测试方法
CN103746706B (zh) 基于双游程交替编码的测试数据压缩与解压缩方法
CN102592682A (zh) 一种测试数据编码压缩方法
EP2251981A1 (en) Method and apparatus for coding and decoding
CN103746704B (zh) 基于双游程交替编码的芯片测试数据传输方法
US20220200624A1 (en) Lossless compression and decompression method for test vector
CN113381768A (zh) 一种哈夫曼校正编码方法、系统及相关组件
CN108880559B (zh) 数据压缩方法、数据解压缩方法、压缩设备及解压缩设备
CN110865299B (zh) 一种基于前向相容的折叠集分层压缩方法及装置
CN102904579B (zh) 基于逐次逼近法的编码压缩方法
US7256715B1 (en) Data compression using dummy codes
CN105099460A (zh) 字典压缩方法、字典解压缩方法与字典建构方法
WO2016127701A1 (zh) 一种基于无理数存储测试数据的解压方法
CN108777583B (zh) 一种数据压缩方法及装置
CN110798223A (zh) 一种最小游程切换点标记编码压缩方法及装置
CN105137322A (zh) 一种基于最大近似相容的分组测试向量的编码压缩方法
CN112073069B (zh) 一种适用于集成电路测试的测试向量无损压缩方法
Lin et al. On reducing test power and test volume by selective pattern compression schemes
CN112911314B (zh) 一种熵编码器的编码方法及熵编码器
CN113595557B (zh) 一种数据处理的方法和装置
Yu et al. Multiscan-based test data compression using UBI dictionary and bitmask
KR20190094496A (ko) 고속으로 데이터를 인코딩하는 장치 및 데이터 인코딩 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20230530

Address after: 230000 b-1018, Woye Garden commercial office building, 81 Ganquan Road, Shushan District, Hefei City, Anhui Province

Patentee after: HEFEI WISDOM DRAGON MACHINERY DESIGN Co.,Ltd.

Address before: 246133 1318 Jixian North Road, Anqing, Anhui

Patentee before: ANQING NORMAL University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240318

Address after: No.1 Shunhua Road, High tech Zone, Jinan City, Shandong Province, 250000 (Block D, Entrepreneurship Plaza, Qilu Software Park)

Patentee after: Shandong Volkswagen Information Industry Co.,Ltd.

Country or region after: China

Address before: 230000 b-1018, Woye Garden commercial office building, 81 Ganquan Road, Shushan District, Hefei City, Anhui Province

Patentee before: HEFEI WISDOM DRAGON MACHINERY DESIGN Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right