当前位置: 首页 > 专利查询>吴海峰专利>正文

基于前后游程长度编码的测试数据压缩及解压方法技术

技术编号:33783461 阅读:22 留言:0更新日期:2022-06-12 14:38
本发明专利技术提供了一种基于前后游程长度编码的测试数据压缩及解压方法,其对测试数据的无关位进行填充后,将较长的0游程或1游程编码为较短的码字,实现第一级压缩功能;码字具备可还原性,解压后不影响芯片测试。填充后的测试数据相邻游程长度相等时,使用较短的特殊编码代替较长的码字,实现第二级压缩功能。相邻游程长度相同时不论游程类型是否相同均可使用特殊码字,其使用频次高,进一步提高压缩效率。在无关位填充时,采用了动态规划的方法,增加了前后游程长度相同情况出现的次数,即再次增加了特殊码字的使用频次。本发明专利技术能提高测试数据的压缩效率,降低硬件开销。降低硬件开销。降低硬件开销。

【技术实现步骤摘要】
基于前后游程长度编码的测试数据压缩及解压方法


[0001]本专利技术涉及计算机信息领域,具体涉及一种测试数据压缩及解压方法。

技术介绍

[0002]在信息时代,各行各业都离不开电子设备,而集成电路芯片是一切设备的核心,在集成电路生产过程中,测试是不可或缺的流程,它对生产成本有很大影响。在测试中,测试时间是影响生产成本的因素之一,因此如何减少测试时间、降低测试成本是芯片行业一直关注的问题。
[0003]随着集成电路的发展,芯片持续向更小的外形尺寸发展,同时集成度也越来越高,这大大增加了测试难度和测试成本。为了减少测试成本,对测试数据进行压缩是一种常见方法。基于编码的测试数据压缩方法有字典编码,哈夫曼编码,Golomb,FDR,EFDR,AFDR,交替和连续长度编码,Variable

Tail编码,变游程编码,混合定变长码,双游程交替编码等。以上方法编码的长度和码字的长度既有固定的也有可变的,但编码和码字之间却是一一对应的,它们的编码过程是相对独立的,只考虑单个游程长度如何编码,没从全局分析游程长度之间的关系。因此是否能够找到具有一定规律的游程长度序列,然后用特殊编码表示它们,从而提高压缩率。

技术实现思路

[0004]本专利技术所要解决的技术问题在于提供一种基于前后游程长度编码的测试数据压缩及解压方法,能提高压缩效率,降低硬件开销。
[0005]为解决上述技术问题,本专利技术的基于前后游程长度编码的测试数据压缩及解压方法,包括:A.压缩步骤:(A1)构建码表:(A1.1)所述码表包含以下字段:组号:以一个十进制数k表示;标称长度:以一个十进制数Lx表示;前缀(0游程):以一组由若干个0和1个1组成的二进制代码表示;前缀(1游程):以一组由若干个1和1个0组成的二进制代码表示;后缀:以一组二进制代码表示;码字(0游程):以一组二进制代码表示;所述码字(0游程)由前缀(0游程)和后缀连续排列而成;码字(1游程):以一组二进制代码表示;所述码字(1游程)由前缀(1游程)和后缀连续排列而成;所述码表中的记录按照标称长度递增排列并编组,组号k升序排列;标称长度Lx最小为0,组号k最小为1;
(A1.2)在所述码表中,第k组包含2
k+1
条记录,第k组前缀(0游程)由k个0和一个1组成,第k组前缀(1游程)由k个1和一个0组成,第k组后缀由最小的(k+1)位二进制数至最大的(k+1)位二进制数依次排序;(A1.3)0游程指由若干个连续的0加上1个1组成的二进制代码,1是0游程结束标志,其游程长度L指0的个数;1游程指由若干个连续的1加上1个0组成的二进制代码,0是1游程结束标志,其游程长度L指1的个数;(A1.4)在所述码表中,标称长度为0时,所得两个码字作为特殊码字;(A2)填充无关位:本步骤依次按位读取待压缩数据,并将无关位填充为二进制数0或1;(A3)对步骤(A2)所得数据按位进行读取,得到第一个游程,记录其游程类型、游程长度;查表得到码字,并加入压缩后数据队列;(A4)继续读取数据得到当前游程,若当前游程与前一游程的长度相同,则根据当前游程类型得到特殊码字并加入压缩后数据队列;若当前游程与前一游程的长度不同,则根据当前游程长度、游程类型查表得到码字并加入压缩后数据队列;若当前游程与前一游程长度相同,且当前游程为0游程,则当前游程记为特殊码字0100;若当前游程与前一游程长度相同,且当前游程为1游程,则当前游程记为特殊码字1000;(A5)重复步骤(A4),直到所有游程编码完成,编码后的数据即为压缩后的数据。
[0006]作为优选,还包括:B.解压步骤:(B1)按位读取待解压数据,直至得到一个0游程或1游程,所得游程即为前缀,记录游程类型和前缀长度,按所记录的前缀长度计算后缀长度并读取相应位数的数据为后缀;(B2)判定步骤(B1)所得后缀是否为特殊码字的后缀;若否,则在步骤(B1)所得后缀的高位添加一个1,得到一个新的二进制数,将其转换为十进制数再减去4,得到标称长度,将该标称长度作为当前游程长度、将步骤(B1)所得游程类型作为当前游程类型,还原出一个游程作为解压后游程,记录其长度为L;若是,则,当前解压后游程的类型依据步骤(B1)所得前缀确定、长度依据前一个解压后游程的长度确定;依据类型、长度还原出一组游程作为解压后游程;将所得解压后游程加入解压数据;(B3)重复步骤(B1)(B2)直至解压缩完成,得到完整的解压数据用于芯片测试。
[0007]作为计算机程序实现方式之一,所述解压步骤具体包括:(C1)配置解码器所述解码器包括一个有限状态机(FSM)、一个k+1位计数器、一个log2(k+1)位计数器、1个m位寄存器和一个异或门;(C2)解压流程:a)令en=1,FSM接收bit_in的数据;inc2置为高电平;bit_in的首位发送给flag, log2(k+1)位计数器加1,此时v为低电平,输出无效;b)FSM继续从bit_in接收数据,inc2为高电平,每传入一位log2(k+1)位计数器加
1,同时与flag值进行同或,当bit_in与 flag同或值为0时,前缀输入结束;c)将后缀部分从counter_in移入k+1位计数器,shift和dec2置为高电平,即每移入一位数据,log2(k+1)位计数器减1,直到log2(k+1)位计数器为空,rs2为1,后缀输入结束;d)若此时k+1位计数器中的值为100(二进制),v置为低电平,输出无效,c置为高电平,控制m位寄存器输入输出,再执行步骤(f);e)m位寄存器重置,FSM通过d输出0到m位寄存器;dec1置为高电平,k+1位计数器每次减1,输出一个0,直到k+1位计数器值为4,rs1为1;最后输出一个1;f)将v置为高电平,表示输出有效,将m位寄存器的数据依次与flag进行异或的结果输出;g)重复上述步骤a)至步骤f),直到解压完毕。
[0008]本方法的技术优点体现在:(1)对测试数据的无关位进行填充后,将较长的0游程或1游程编码为较短的码字,实现第一级压缩功能;码字具备可还原性,解压后不影响芯片测试。(2)填充后的测试数据相邻游程长度相等时,使用较短的特殊编码代替较长的码字,实现第二级压缩功能。(3)相邻游程长度相同时不论游程类型是否相同均可使用特殊码字,其使用频次高,进一步提高了压缩效率。
附图说明
[0009]图1 是本专利技术中压缩步骤所涉及的编码流程图;图2 是本专利技术中解压步骤所涉及的解码电路图。
具体实施方式
[0010]以下结合附图对本专利技术的具体实施方式做进一步说明。
[0011]A.压缩步骤:(A1)构建码表:(A1.1)所述码表包含以下字段:组号:以一个十进制数k表示;标称长度:以一个十进制数Lx表示;前缀(0游程):以一组由若干个0和1个1组成的二进制代码表示;前缀(1游程):以一组由若干个1和1个0组成的二进制代码表示;后缀:以一组二进制代码表示;码字(0游程):以一组二进制代码表示;所述码字(0游程)由前缀(0游程)和后缀连续排列而成;码字本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于前后游程长度编码的测试数据压缩及解压方法,包括:A.压缩步骤:(A1)构建码表:(A1.1)所述码表包含以下字段:组号:以一个十进制数k表示;标称长度:以一个十进制数Lx表示;前缀(0游程):以一组由若干个0和1个1组成的二进制代码表示;前缀(1游程):以一组由若干个1和1个0组成的二进制代码表示;后缀:以一组二进制代码表示;码字(0游程):以一组二进制代码表示;所述码字(0游程)由前缀(0游程)和后缀连续排列而成;码字(1游程):以一组二进制代码表示;所述码字(1游程)由前缀(1游程)和后缀连续排列而成;所述码表中的记录按照标称长度递增排列并编组,组号k升序排列;标称长度Lx最小为0,组号k最小为1;(A1.2)在所述码表中,第k组包含2
k+1
条记录,第k组前缀(0游程)由k个0和一个1组成,第k组前缀(1游程)由k个1和一个0组成,第k组后缀由最小的(k+1)位二进制数至最大的(k+1)位二进制数依次排序;(A1.3)0游程指由若干个连续的0加上1个1组成的二进制代码,1是0游程结束标志,其游程长度L指0的个数;1游程指由若干个连续的1加上1个0组成的二进制代码,0是1游程结束标志,其游程长度L指1的个数;(A1.4)在所述码表中,标称长度为0时,所得两个码字作为特殊码字;(A2)填充无关位:本步骤依次按位读取待压缩数据,并将无关位填充为二进制数0或1;(A3)对步骤(A2)所得数据按位进行读取,得到第一个游程,记录其游程类型、游程长度;查表得到码字,并加入压缩后数据队列;(A4)继续读取数据得到当前游程,若当前游程与前一游程的长度相同,则根据当前游程类型得到特殊码字并加入压缩后数据队列;若当前游程与前一游程的长度不同,则根据当前游程长度、游程类型查表得到码字并加入压缩后数据队列;若当前游程与前一游程长度相同,且当前游程为0游程,则当前游程记为特殊码字0100;若当前游程与前一游程长度相同,且当前游程为1游程,则当前游程记为特殊码字1000;(A5)重复步骤(A4),直到所有游程编码完成,编码后的数据即为压缩后的数据。2.如权利要求1所述的基于前后游程长度编码的测试数据压缩及解压方法,其特征在于,还包括:B.解压步骤:(B1)按位读取待解压...

【专利技术属性】
技术研发人员:吴海峰邓博文王远志程一飞赵晓静吴心竹
申请(专利权)人:吴海峰
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1