CN104038232A - 基于二次异或运算的测试数据压缩与解压缩方法 - Google Patents

基于二次异或运算的测试数据压缩与解压缩方法 Download PDF

Info

Publication number
CN104038232A
CN104038232A CN201410195188.XA CN201410195188A CN104038232A CN 104038232 A CN104038232 A CN 104038232A CN 201410195188 A CN201410195188 A CN 201410195188A CN 104038232 A CN104038232 A CN 104038232A
Authority
CN
China
Prior art keywords
group
swimming
distance
length
res
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
CN201410195188.XA
Other languages
English (en)
Other versions
CN104038232B (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.)
Anqing Normal University
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 CN201410195188.XA priority Critical patent/CN104038232B/zh
Publication of CN104038232A publication Critical patent/CN104038232A/zh
Application granted granted Critical
Publication of CN104038232B publication Critical patent/CN104038232B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种基于二次异或运算的测试数据压缩与解压缩方法,能够减少划分数目,提高最短游程长度,从而进一步提高压缩率。本发明所提供的方法通过相邻位异或将连续01或者10序列合并成为一个码字,这样不仅减少了划分数目,而且提高了最短游程长度,从而能进一步提高压缩率。通过解码分析,该方法解码结构额外增加的硬件开销不大,并且与被测试电路无关。因此该方法具有极好的压缩率硬件开销比。

Description

基于二次异或运算的测试数据压缩与解压缩方法
技术领域
本发明涉及集成电路测试方法,具体涉及一种集成电路测试数据压缩与解压缩方法。
背景技术
因集成电路技术的飞速发展,系统芯片的功能越来越强大,但同时用于测试芯片的测试数据量也快速增加。急速增长的测试数据量对昂贵的自动测试设备ATE存储空间和传输通道性能都提出了更高的要求,同时也增加了测试芯片所需的时间,增加了测试所需的成本。
测试数据压缩技术是缓解测试数据量过大的一种非常有效的方法。目前国内外学者对其进行了充分研究。测试数据编码方法是测试数据压缩技术中的一大类。编码方法首先对测试集按照某种规则进行划分,然后分别用较短的码字来表示一个个划分。例如Golomb码和FDR码、国内学者詹文法等提出的混合定变长码以及韩银和等提出的Variable-Tail编码都是基于0游程进行划分的,而AFR码以及国内学者彭喜元等提出的变游程编码都是同时基于0游程和1游程进行划分的。这些方法都能够在较小的硬件开销下取得较好的压缩率,尤其是国内学者提出的很多方法都能在对原始的测试集未进行差分处理的情况下,取得较好的压缩率。但用这些方法进行划分时,仍有两个问题值得进一步研究。两个问题是:(1)划分数能否进一步减少,(2)划分的最短长度能否进一步提高。
发明内容
本发明所要解决的技术问题在于提供一种基于二次异或运算的测试数据压缩与解压缩方法,能够减少划分数目,提高最短游程长度,从而进一步提高压缩率。
为解决上述技术问题,本发明的基于二次异或运算的测试数据压缩与解压缩方法,包括以下步骤:
A、构建码表;
所述的码表包括以下字段:以L表示的游程长度、以k表示的组号、组前缀、组后缀、由组前缀和组后缀组合而成的游程长度对应的码字,码表中的记录按照游程长度递增排列并编组,组号k升序排序;
第k组包括2k+1条记录;
在第k组的前半组,组前缀以长度为k的0游程对应的编码表示;在第k组的前半组,组后缀由最小的k位二进制数至最大的k位二进制数依次排列;在第k组的后半组,组前缀以长度为k的1游程对应的编码表示;在第k组的后半组,组后缀同样由最小的k位二进制数至最大的k位二进制数依次排列。
所述的0游程指由若干个连续的0加上1个1组成的二进制代码,其长度以0的数目计算;所述的1游程指由若干个连续的1加上1个0组成的二进制代码,其长度以1的数目计算。本发明中,每一个0游程或1游程根据其长度L可以得到一个唯一的编码;该编码可以根据计算得到。而构建码表的目的在于以低成本的数据存储取代高消耗的计算,从而减少压缩与解压缩时的计算开销,码表的规模可以根据芯片测试规模而定。
B、编码步骤;
(1)将所有测试立方首尾相连,形成数据流;
(2)i=0;
(3)以当前点i作为起点,获取最长能取得的0游程,将结果存储到res[0]中,并记录终点位置到pos[0]中;
(4)以当前点i作为起点,获取最长能取得的1游程,将结果存储到res[1]中,并记录终点位置到pos[1]中;
(5)以当前点i作为起点,获取最长能取得的01序列,将结果存储到res[2]中,并记录终点位置到pos[2]中;所述的01序列是指起始为0且0/1交替出现并以最后两位相同的方式结尾的字符串序列;
由上述对01序列的定义可知,01序列的长度若为奇数,则其结尾必然是两个1,例如01011、0101011;01序列的长度若为偶数,则其结尾必然是两个0,例如0100、010100;因而在知道01序列长度L的前提下,其编码是唯一的;
(6)以当前点i作为起点,获取最长能取得的10序列,将结果存储到res[3]中,并记录终点位置到pos[3]中;10序列是指起始为1且0/1交替出现并以最后两位相同的方式结尾的字符串序列;
(7)取pos数组最大值所对应下标index;
(8)第一次异或运算;
判断res[index]类型:若res[index]为0游程,则c1为0;若为1游程,则c1为1;若为01序列,则c1为1;若为10序列,则c1为0;将c1与res[index]组成字符串,相邻位异或得到0或者1游程,结果保存在res[index]中;
(9)第二次异或运算;
对第(8)步处理的res[index]进行类型判断:若res[index]为0游程,则c2为0;若为1游程,则c2为1;将c2与res[index]组成字符串,相邻位异或得到0游程,记录c2及游程长度L;
(10)通过游程长度L査A步骤所得的码表获取对应的码字;
(11)输出c2、c1和码字;
(12)将i置为pos[index]+1;
(13)重复(3)-(12)直到数据编码完成。
C、将B步骤所得数据编码传送至被测芯片。
D、解码步骤;
①被测芯片的解码器读取一个二进制数,作为游程类型代码c2;
②继续读取一个二进制数,作为字符串类型代码c1;
③读取一个连续的0游程或1游程作为组前缀,根据得到的组前缀确定组后缀的位数,并读取组后缀,取二进制数1和组前缀起始位以及组后缀组成一个二进制数,转换为十进制,再减2得到当前目标数据流长度L;
④若c2=0且c1=0,则输出一个长度为L的0游程;
若c2=0且c1=1,则输出一个长度为L的1游程;
若c2=1且c1=0,则输出一个长度为L的10序列;
若c2=1且c1=1,则输出一个长度为L的01序列;
根据前面的表述,该0游程或1游程的长度L确定以后,其二进制代码具备唯一性;
根据前面的表述,该01序列或10序列的长度L确定以后,其二进制代码也具备唯一性;本领域技术人员可以根据L的奇偶属性,以各种算法来输出01序列或10序列的原始代码,但仍然落入本发明的保护范围;
⑤重复上述①-④步骤直到解码完成,还原得到完整的数据流。
以下给出解码设计的一种优选算法:
所述的D步骤所述的解码器包括一个FSM(有限状态机)、一个k+2位计数器、一个log2(k+2)位计数器和一个异或门。
所述的解码步骤包括:
(1)初始化 en=1;
(2)FSM读入1位,将其输出给f,表示游程类型;
(3)FSM读入1位,将其输出给t;
(4)FSM接收编码的组前缀并将组前缀首位移入到k+2位计数器;每接收1位组前缀,inc加1;
(5)将组后缀移入至k+2位计数器,dec2=1,表示每进入一位log2(k+2)位计数器减1,直到log2(k+2)位计数器减为1;
(6)k+2位计数器进行减1操作。k+2位计数器每减1,f值不变,输出t值为f与t异或结果,v=1,直到k+2位计数器减为2;
(7)将t与f异或得到最终输出out;
(8)t=0时输出非f,t=1时继续输出上一个f;
(9)重复2-8直到解码结束。
本发明所提供的方法通过相邻位异或将连续01或者10序列合并成为一个码字,这样不仅减少了划分数目,而且提高了最短游程长度,从而能进一步提高压缩率。通过解码分析,该方法解码结构额外增加的硬件开销不大,并且与被测试电路无关。因此该方法具有极好的压缩率硬件开销比。
附图说明
图1 是使用本发明对数据流进行二次异或运算的运算方式示意图;
图1a表示对数据进行第一次异或运算,图1b表示对数据进行第二次异或运算;
图2给出了使用本发明的基于二次异或运算的测试数据压缩与解压缩方法对某个给定测试集进行编码的示例;图2(a)给出了一个确定测试集,图2(b)演示了如何对其进行编码的实例;
图3是本发明的基于二次异或运算的测试数据压缩与解压缩方法所提供的解码器的解压电路框图。
具体实施方式
下面结合附图对本发明做进一步说明。
定义:
0游程指由若干个连续0组成并以一个1结尾的字符串,0的个数至少为1,该0游程的长度L指字符串中0的个数。
1游程指由若干个连续1组成并以一个0结尾的字符串,1的个数至少为1,该1游程的长度L指字符串中1的个数。
01序列是指起始为0且0/1交替出现并以最后两位相同的方式结尾的字符串序列;该01序列的长度L指不包含最后一位在内的字符串的长度;
由上述对01序列的定义可知,01序列的长度L若为偶数,则其结尾必然是两个1,例如01011、0101011;01序列的长度L若为奇数,则其结尾必然是两个0,例如0100、010100;因而在知道01序列长度L的前提下,其编码是唯一的。
10序列是指起始为1且0/1交替出现并以最后两位相同的方式结尾的字符串序列;该10序列的长度L指不包含最后一位在内的字符串的长度;
由上述对10序列的定义可知, 10序列的长度L若为偶数,则其结尾必然是两个0,例如100、10100; 10序列的长度L若为奇数,则其结尾必然是两个1,例如1011、101011;因而在知道10序列长度L的前提下,其编码是唯一的。
如图1所示,本发明中,通过对这四种类型的序列相邻位分别进行异或运算,都能将它们转变成0游程。
图1(a)是对四种类型划分相邻位进行第一次异或变换,图1(b)是对第一次异或变换结果相邻位进行异或变换,其中灰色底纹部分在本发明中称为添加的默认位,它的作用是与划分中的第一位进行异或需要添加的一位。默认位添加规则是:在0游程前添加0,1游程前添加1,01序列前添加1,10序列前添加0。
通过对划分中相邻位进行两次异或运算,即可把原始测试集转换成长度至少为2的0游程。这样一来:(1)减少了划分的数目,划分数目减少了,需要编码的代码字就会减少;(2)将游程的长度提高2,消除了长度为0以及长度为1的游程,这样可以提高码字的压缩增益;(3)仅包含0游程更易于压缩。
两次异或后运算后最终仅包含0游程,因此编码时不需要区分是0游程还是1游程。两次变换时为了让每一位都能与它的前一位进行异或运算,所以需要在起始位之前添加一位(我们称之为默认位)。默认位只有两种可能:0或者1,因此需要加标记来区分。通过分析可知最终编码一个划分的码字一般形式:第二次默认位+第一次默认位+游程长度对应代码字。
两两异或运算所得到的结果其长度与原始字符串长度相同。
游程长度对应码字表按如下规则构建:(1)码字由前缀和后缀组成,前缀表示代码字所在的组,后缀表示代码字在同组前缀内序号;(2)码字前缀有 两种形式,其中k表示组号;(3)后缀长度等于组号k。
A、构建码表
第k组包括2k+1条记录;在第k组的前半组,组前缀以长度为k的0游程对应的编码表示;在第k组的前半组,组后缀由最小的k位二进制数至最大的k位二进制数依次排列;在第k组的后半组,组前缀以长度为k的1游程对应的编码表示;在第k组的后半组,组后缀同样由最小的k位二进制数至最大的k位二进制数依次排列;也就是说,根据游程长度L,可以通过简单计算得到组前缀与组后缀并得到编码;而本发明中以码表的形式来将计算结果存储,其目的是减少芯片测试过程中的计算开销。依此方法构建码表,码表所需组数K可由表示游程最长长度L计算得到,具体计算公式:K=
表1中第3列为组前缀,为一个0游程或1游程,其长度k指连续0或连续1的个数(不含尾数),而组后缀的长度为k。
表1中第1列为两次变换后得到的游程长度,注意最短长度为2,第2列为组号,表示该长度游程编码所在的组,第3列为组前缀,每组有两种形式,第4列为该游程所对应的后缀,第5列为最终编码时的代码字。
特殊情况的处理:在具体芯片测试过程中,对于测试集的结尾,可能出现不能构成游程、也不能构成序列的情形,例如结尾为若干个连续的0、若干个连续的1等情形,此时该数据不能以一个游程被编码程序读取。为解决此问题,可在所获得的编码后面加上一个无关位让其满足编码需要,例如加上一个游程结束标志,让其构成一个游程。例如最后得到的结果是111111,则在其后添加1位0,变成1111110;例如得到得到的结果是00000,则添加1位1,得到000001。经过处理后,测试集的结尾也能被编码。在后续的解码步骤,能够解码得到原始的结尾数据以及附加的游程结束标志,而在芯片测试过程中,对测试集数据长度是有要求的,因而在读取测试数据时,最后附加的游程结束标志不被读入,因而不影响测试结果。
对于一个如图2(a)所示的确定测试集,给出本发明编码方法对应代码字,如图2(b)所示。
B、编码算法
图2实例中是一个确定测试集,而实际测试集中通常包含大量无关位,对无关位的任意赋值并不影响故障覆盖率,同时合理赋值会进一步提高压缩率。下面给出本发明编码算法。
(1)将所有测试立方首尾相连,形成数据流;
(2)i=0;
(3)以当前点i作为起点,获取最长能取得的0游程,将结果存储到res[0]中,并记录终点位置到pos[0]中;
(4)以当前点i作为起点,获取最长能取得的1游程,将结果存储到res[1]中,并记录终点位置到pos[1]中;
(5)以当前点i作为起点,获取最长能取得的01序列,将结果存储到res[2]中,并记录终点位置到pos[2]中;所述的01序列是指起始为0且0/1交替的序列,序列最后两位相同;
(6)以当前点i作为起点,获取最长能取得的10序列,将结果存储到res[3]中,并记录终点位置到pos[3]中;所述的10序列是指起始为1且0/1交替的序列,序列最后两位相同;
(7)取pos数组最大值所对应下标index;
(8)第一次异或运算;
判断res[index]类型:若res[index]为0游程,则c1为0;若为1游程,则c1为1;若为01序列,则c1为1;若为10序列,则c1为0;将c1与res[index]组成字符串,相邻位异或得到0或者1游程,结果保存在res[index]中;
(9)第二次异或运算;
对第(8)步处理的res[index]进行类型判断:若res[index]为0游程,则c2为0;若为1游程,则c2为1;将c2与res[index]组成字符串,相邻位异或得到0游程,记录c2及游程长度;
(10)通过游程长度査A步骤所得的码表获取对应的码字;
(11)输出c2、c1和码字;
(12)将i置为pos[index]+1;
(13)重复(3)-(12)直到数据编码完成;
C、解压分析
基本的解压思路:
①被测芯片的解码器读取一个二进制数,作为游程类型代码c2;
②继续读取一个二进制数,作为字符串类型代码c1;
③读取一个连续的0游程或1游程作为组前缀,根据得到的组前缀确定组后缀的位数,并读取组后缀,取二进制数1和组前缀起始位以及组后缀组成一个二进制数,转换为十进制,再减2得到当前目标数据流长度L。根据组前缀、组后缀可以有多种方法得到目标数据流长度L,例如使用查表发反查,但本步骤中,根据码表的规则以计算的方法得到L,可以降低芯片的硬件开销;
④若c2=0且c1=0,则输出一个长度为L的0游程;
也就是输出一个L+1位的数据流,即输出L个0加一个1组成的数据流;
若c2=0且c1=1,则输出一个长度为L的1游程;
也就是输出一个由L个1加一个0组成的数据流;
若c2=1且c1=0,则输出一个长度为L的10序列;
也就是根据前述10序列的定义输出一个L+1位的数据流;若L为奇数,输出一个以1开始并0/1交替出现的序列,并在末尾补入一个1;若L为偶数,输出一个以1开始并0/1交替出现的序列,并在末尾补入一个0,从而形成一个L+1位数据流;
若c2=1且c1=1,则输出一个长度为L的01序列;
也就是根据前述01序列的定义输出一个L+1位的数据流;若L为奇数,输出一个以0开始并0/1交替出现的序列,并在末尾补入一个0;若L为偶数,输出一个以0开始并0/1交替出现的序列,并在末尾补入一个1;从而形成一个L+1位数据流;
⑤重复上述①-④步骤直到解码完成,还原得到完整的数据流。
以下给出一种具体的解压方法:
从表1可以看出游程的长度i可通过将1+组前缀起始位+所有组后缀组成的二进制数换算为十进制再减2即得到,即i=(1Xt)2-2,其中X为对应编码组前缀起始位。如游程长度i=6,对应的码字为00101,(1000)2-2=8-2=6,游程长度i=10,对应的码字为11000, (1100)2-2=12-2=10。因此可以使用一个特殊的k+2位计数器控制输出序列的长度。该计数器的初值置为1,当编码输入时,将1和组前缀起始位以及组后缀依次向高位移位得到一个k+2位二进制数。通过该计数器减1操作控制输出序列的长度,直到该计数器的值为十进制2(二进制10时)输出结束。而序列的具体形式是连续0、连续1、01交替还是10交替则由起始处添加的默认位来确定。
此于上述分析,我们设计一个由一个FSM(有限状态机)、一个k+2位计数器、一个log2(k+2)位计数器和一个异或门构成的解码器,该解码器结构简单,独立于被测电路且大小可变,解压器结构框图见图2,其中的信号名称及其对应功能描述见表2。
下面结合图3介绍本方法解码基本过程。
(1)初始化 en=1;
(2)FSM读入1位,将其输出给f,表示游程类型;
(3)FSM读入1位,将其输出给t;
(4)FSM接收编码的组前缀并将组前缀首位移入到k+2位计数器;每接收1位组前缀,inc加1;
=(5)将组后缀移入至k+2位计数器,dec2=1,表示每进入一位log2(k+2)位计数器减1,直到log2(k+2)位计数器减为1;
(6)k+2位计数器进行减1操作。k+2位计数器每减1,f值不变,输出t值为f与t异或结果,v=1,直到k+2位计数器减为2;
(7)将t与f异或得到最终输出out;
(8)t=0时输出非f,t=1时继续输出上一个f;
(9)重复2-8直到解码结束。
本发明的测试结果:
为了比较和验证,我们也将本方法应用到ISCAS-89 标准电路中六个规模较大的电路,同样采用Mintest ATPG预先计算的测试集。
首先比较我们的方法与FDR以及EFDR从划分数目方面进行比较,如表3。第一列是电路名称,第二列是我们的方法划分数,第三列是FDR的划分数,第四列是EFDR的划分数。
从表3可以看出本方法的划分数要远少于其它两种方法,因此它能进一步提高压缩率。具体各种方法压缩率比较见表4,其中第一列是电路名称,第二列是该电路原始大小,第三列是Golomb码压缩效果,第4列是FDR码压缩效果。
从表4可以看出本发明方法与Golomb码压缩效果平均差是14.60%,比交替连接长度码压缩效果也提高了3.65%。基于异或的测试数据压缩方法要好于其它方法,分析原因有两:(1)减少了划分数目;(2)提高了最短游程长度。
本发明为了应对测试数据量过大而提出了基于二次异或的测试数据压缩与解压缩方法。该方法将原始测试数据基于最长可分割长度策略划分为0游程、1游程、01序列、10序列四种基本类型,得到其长度L后查表得对应码字;再根据类型判断结果对每一个二进制字符串分别添加一个前置的默认位二进制数c1,进行第一次异或运算,运算结果体现为一个0游程或一个1游程;然后再添加一前置的默认位二进制数c2,进行第二次异或运算,从而得到一个由c1、c2以及表示原始字符串长度的码字组成的压缩字符串集合,解码过程中,根据c1、c2及码字进行逆序运算。编码和解码过程中,数据具备唯一的对应性。本方法不仅减少了划分数目,而且提高了最短游程长度,从实验结果看它能进一步提高压缩率。通过解码分析,该方法解码结构额外增加的硬件开销不大,并且与被测试电路无关。因此该方法具有极好的压缩率硬件开销比。

Claims (3)

1.一种基于二次异或运算的测试数据压缩与解压缩方法,包括以下步骤:
A、构建码表;
所述的码表包括以下字段:以L表示的游程长度、以k表示的组号、组前缀、组后缀、由组前缀和组后缀组合而成的游程长度对应的码字,码表中的记录按照游程长度L递增排列并编组;
第k组包括2k+1条记录;
在第k组的前半组,组前缀以长度为k的0游程对应的编码表示;在第k组的前半组,组后缀由最小的k位二进制数至最大的k位二进制数依次排列;在第k组的后半组,组前缀以长度为k的1游程对应的编码表示;在第k组的后半组,组后缀同样由最小的k位二进制数至最大的k位二进制数依次排列;
B、编码步骤;
(1)将所有测试立方首尾相连,形成数据流;
(2)i=0;
(3)以当前点i作为起点,获取最长能取得的0游程,将结果存储到res[0]中,并记录终点位置到pos[0]中;
(4)以当前点i作为起点,获取最长能取得的1游程,将结果存储到res[1]中,并记录终点位置到pos[1]中;
(5)以当前点i作为起点,获取最长能取得的01序列,将结果存储到res[2]中,并记录终点位置到pos[2]中;所述的01序列是指起始为0且0/1交替的序列,序列最后两位相同;
(6)以当前点i作为起点,获取最长能取得的10序列,将结果存储到res[3]中,并记录终点位置到pos[3]中;所述的10序列是指起始为1且0/1交替的序列,序列最后两位相同;
(7)取pos数组最大值所对应下标index;
(8)第一次异或运算;
判断res[index]类型:若res[index]为0游程,则c1为0;若为1游程,则c1为1;若为01序列,则c1为1;若为10序列,则c1为0;将c1与res[index]组成字符串,相邻位异或得到0或者1游程,结果保存在res[index]中;
(9)第二次异或运算;
对第(8)步处理的res[index]进行类型判断:若res[index]为0游程,则c2为0;若为1游程,则c2为1;将c2与res[index]组成字符串,相邻位异或得到0游程,记录c2及游程长度;
(10)通过游程长度査A步骤所得的码表获取对应的码字;
(11)输出c2、c1和码字;
(12)将i置为pos[index]+1;
(13)重复(3)-(12)直到数据编码完成;
C、将B步骤所得数据编码传送至被测芯片;
D、解码步骤;
①被测芯片的解码器读取一个二进制数,作为游程类型代码c2;
②继续读取一个二进制数,作为字符串类型代码c1;
③读取一个连续的0游程或1游程作为组前缀,根据得到的组前缀确定组后缀的位数,并读取组后缀,取二进制数1和组前缀起始位以及组后缀组成一个二进制数,转换为十进制,再减2得到当前目标数据流长度L;
④若c2=0且c1=0,则输出一个长度为L的0游程;
若c2=0且c1=1,则输出一个长度为L的1游程;
若c2=1且c1=0,则输出一个长度为L的10序列;
若c2=1且c1=1,则输出一个长度为L的01序列;
⑤重复上述①-④步骤直到解码完成,还原得到完整的数据流。
2.如权利要求1所述的基于二次异或运算的测试数据压缩与解压缩方法,其特征在于:D步骤所述的解码器包括一个FSM(有限状态机)、一个k+2位计数器、一个log2(k+2)位计数器和一个异或门。
3.如权利要求2所述的所述的基于二次异或运算的测试数据压缩与解压缩方法,其特征在于:所述的解码步骤包括:
(1)初始化 en=1;
(2)FSM读入1位,将其输出给f,表示游程类型;
(3)FSM读入1位,将其输出给t;
(4)FSM接收编码的组前缀并将组前缀首位移入到k+2位计数器;每接收1位组前缀,inc加1;
(5)将组后缀移入至k+2位计数器,dec2=1,表示每进入一位log2(k+2)位计数器减1,直到log2(k+2)位计数器减为1;
(6)k+2位计数器进行减1操作;
k+2位计数器每减1,f值不变,输出t值为f与t异或结果,v=1,直到k+2位计数器减为2;
(7)将t与f异或得到最终输出out;
(8)t=0时输出非f,t=1时继续输出上一个f;
(9)重复2-8直到解码结束。
CN201410195188.XA 2014-05-09 2014-05-09 基于二次异或运算的测试数据压缩与解压缩方法 Expired - Fee Related CN104038232B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410195188.XA CN104038232B (zh) 2014-05-09 2014-05-09 基于二次异或运算的测试数据压缩与解压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410195188.XA CN104038232B (zh) 2014-05-09 2014-05-09 基于二次异或运算的测试数据压缩与解压缩方法

Publications (2)

Publication Number Publication Date
CN104038232A true CN104038232A (zh) 2014-09-10
CN104038232B CN104038232B (zh) 2017-02-22

Family

ID=51468844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410195188.XA Expired - Fee Related CN104038232B (zh) 2014-05-09 2014-05-09 基于二次异或运算的测试数据压缩与解压缩方法

Country Status (1)

Country Link
CN (1) CN104038232B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104467867A (zh) * 2014-10-30 2015-03-25 安庆师范学院 一种基于多个连续数据复制的幂次划分数据压缩方法
CN106877874A (zh) * 2017-01-17 2017-06-20 杭州清本科技有限公司 一种压缩编码方法
CN107852174A (zh) * 2015-07-03 2018-03-27 基麦提松科技公司 固定长度数据的压缩方法
CN109144957A (zh) * 2017-06-28 2019-01-04 北京嘀嘀无限科技发展有限公司 网格数据压缩方法和网格数据压缩装置
CN110417811A (zh) * 2019-08-22 2019-11-05 上海兆芯集成电路有限公司 比特流编码压缩的方法及装置
CN111064471A (zh) * 2018-10-16 2020-04-24 阿里巴巴集团控股有限公司 数据处理方法、装置及电子设备
CN112861121A (zh) * 2020-12-23 2021-05-28 工业信息安全(四川)创新中心有限公司 一种块内最大1、0游程检测合并优化实现方法及装置
CN115396092A (zh) * 2022-08-26 2022-11-25 河南天一智能信息有限公司 一种智能心功能治疗系统的数据管理方法
CN117118456A (zh) * 2023-10-25 2023-11-24 山东德源电力科技股份有限公司 基于深度融合的磁控开关控制数据处理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070297518A1 (en) * 2006-06-22 2007-12-27 Samsung Electronics Co., Ltd. Flag encoding method, flag decoding method, and apparatus thereof
CN103746704A (zh) * 2014-01-01 2014-04-23 安庆师范学院 基于双游程交替编码的芯片测试数据传输方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070297518A1 (en) * 2006-06-22 2007-12-27 Samsung Electronics Co., Ltd. Flag encoding method, flag decoding method, and apparatus thereof
CN103746704A (zh) * 2014-01-01 2014-04-23 安庆师范学院 基于双游程交替编码的芯片测试数据传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANSHUMAN CHANDRA 等: "System-on-a-Chip Test-Data Compression and Decompression Architectures Based on Golomb Codes", 《TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS》 *
彭喜元 等: "基于变游程编码的测试数据压缩算法", 《电子学报》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104467867A (zh) * 2014-10-30 2015-03-25 安庆师范学院 一种基于多个连续数据复制的幂次划分数据压缩方法
CN107852174A (zh) * 2015-07-03 2018-03-27 基麦提松科技公司 固定长度数据的压缩方法
CN106877874A (zh) * 2017-01-17 2017-06-20 杭州清本科技有限公司 一种压缩编码方法
CN109144957B (zh) * 2017-06-28 2020-12-08 北京嘀嘀无限科技发展有限公司 网格数据压缩方法和网格数据压缩装置
CN109144957A (zh) * 2017-06-28 2019-01-04 北京嘀嘀无限科技发展有限公司 网格数据压缩方法和网格数据压缩装置
CN111064471A (zh) * 2018-10-16 2020-04-24 阿里巴巴集团控股有限公司 数据处理方法、装置及电子设备
CN111064471B (zh) * 2018-10-16 2023-04-11 阿里巴巴集团控股有限公司 数据处理方法、装置及电子设备
CN110417811A (zh) * 2019-08-22 2019-11-05 上海兆芯集成电路有限公司 比特流编码压缩的方法及装置
CN110417811B (zh) * 2019-08-22 2021-08-10 上海兆芯集成电路有限公司 比特流编码压缩的方法及装置
CN112861121A (zh) * 2020-12-23 2021-05-28 工业信息安全(四川)创新中心有限公司 一种块内最大1、0游程检测合并优化实现方法及装置
CN112861121B (zh) * 2020-12-23 2023-04-07 工业信息安全(四川)创新中心有限公司 一种块内最大1、0游程检测合并优化实现方法及装置
CN115396092A (zh) * 2022-08-26 2022-11-25 河南天一智能信息有限公司 一种智能心功能治疗系统的数据管理方法
CN115396092B (zh) * 2022-08-26 2023-09-12 河南天一智能信息有限公司 一种智能心功能治疗系统的数据管理方法
CN117118456A (zh) * 2023-10-25 2023-11-24 山东德源电力科技股份有限公司 基于深度融合的磁控开关控制数据处理方法
CN117118456B (zh) * 2023-10-25 2024-01-26 山东德源电力科技股份有限公司 基于深度融合的磁控开关控制数据处理方法

Also Published As

Publication number Publication date
CN104038232B (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN104038232A (zh) 基于二次异或运算的测试数据压缩与解压缩方法
CN104038233A (zh) 基于相邻位异或运算的测试数据压缩与解压缩方法
US7872598B2 (en) Accelerated decompression
CN103746706B (zh) 基于双游程交替编码的测试数据压缩与解压缩方法
KR101643450B1 (ko) 오디오 신호 트랙들의 펄스 포지션들의 인코딩 및 디코딩
CN102353894A (zh) 基于参考向量和位掩码的soc的测试方法
CN105610447B (zh) 基于lz77算法的分区编码压缩方法
CN105791828B (zh) 二进制算术编码器及其编码方法
US7650040B2 (en) Method, apparatus and system for data block rearrangement for LZ data compression
CN116016606B (zh) 一种基于智慧云的污水处理运维数据高效管理系统
CN114697654B (zh) 一种神经网络量化压缩方法及系统
CN103746704B (zh) 基于双游程交替编码的芯片测试数据传输方法
US9979415B2 (en) Data compression apparatus, data decompression apparatus, data compression method, data compression method, and computer readable medium
CN102904579B (zh) 基于逐次逼近法的编码压缩方法
Yu et al. Test data compression based on variable prefix dual-run-length code
CN108259043A (zh) 基于间隔划分的测试数据压缩与解压缩方法
US20200412479A1 (en) Polar coding system and parallel computation method for polar coding system
CN103973310A (zh) 一种基于异或逻辑运算折半划分的测试数据压缩方法
CN103428502B (zh) 一种解码方法及解码系统
CN114614832A (zh) 基于前后游程长度编码的测试数据压缩及解压方法
CN108259042A (zh) 基于公共码表和间隔划分的测试数据压缩与解压缩方法
CN110798223B (zh) 一种最小游程切换点标记编码压缩方法及装置
CN109116211B (zh) 一种测试激励分段及编码方法
RU2693190C1 (ru) Способ диагностики недвоичных блоковых кодов
CN110865299B (zh) 一种基于前向相容的折叠集分层压缩方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170222

Termination date: 20180509

CF01 Termination of patent right due to non-payment of annual fee