当前位置: 首页 > 专利查询>程一飞专利>正文

自适应游程编码的测试数据压缩及解压方法技术

技术编号:33783464 阅读:19 留言:0更新日期:2022-06-12 14:38
本发明专利技术提供了一种自适应游程编码测试数据压缩及解压方法,其对测试数据的无关位进行填充后,将较长的0游程或1游程编码为较短的码字,实现第一级压缩功能;码字具备可还原性,解压后不影响芯片测试。填充后的测试数据相邻游程长度差值为出现次数最多的差值M时,使用较短的特殊编码代替较长的码字,实现第二级压缩。差值M根据测试数据确定,相邻游程长度差值为M时不论游程类型是否相同均可使用特殊码字,其使用频次高,进一步提高了压缩效率。本发明专利技术能提高测试数据的压缩效率,降低硬件开销。降低硬件开销。降低硬件开销。

【技术实现步骤摘要】
自适应游程编码的测试数据压缩及解压方法


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

技术介绍

[0002]测试是计算机信息领域必不可少的流程,集成电路芯片也不例外。测试在集成电路芯片生产过程中的地位越来越高,测试时间过长会提高测试成本,因此如何减少测试时间,降低测试成本是芯片行业从业者和科研人员都十分关注的问题。
[0003]随着集成电路的发展,芯片的集成度越来越高,这大大增加了测试难度和测试成本。为了减少测试成本,采用编码的方式来无损压缩测试数据是一种常见的手段,常见的编码压缩方法有Golomb,哈夫曼编码,FDR,EFDR,AFDR,交替和连续长度编码,Variable

Tail编码,9值码,变游程编码,混合定变长码,双游程交替编码,混合编码方案等。以上方法大多采用固定的编码来一一对应不同的游程长度,只考虑单个游程长度如何编码,没有分析游程长度之间的关系。从FDR编码、EFDR编码、变游程编码等方法的编码表中可以看出,表中编码的长度是随着游程长度增加而呈阶梯式上升趋势,游程长度越长,编码长度越长。因此是否能够通过一个特殊编码代替多个具有一定规律的游程长度,从而提高压缩率。

技术实现思路

[0004]本专利技术所要解决的技术问题在于提供一种自适应游程编码的测试数据压缩及解压方法,能提高压缩效率,降低测试成本。
[0005]为解决上述技术问题,本专利技术的自适应游程编码的测试数据压缩及解压方法,包括:A.压缩步骤:(A1)构建训练用编码表:(1.1)所述训练用编码表包含以下字段:组号:以一个十进制数k表示;游程长度:以一个十进制数L表示;0游程前缀:以一组由若干个0和1个1组成的二进制代码表示;1游程前缀:以一组由若干个1和1个0组成的二进制代码表示;后缀:以一组二进制代码表示;0游程码字:以一组二进制代码表示;所述0游程码字由0游程前缀和后缀连续排列而成;1游程码字:以一组二进制代码表示;所述1游程码字由1游程前缀和后缀连续排列而成;所述训练用编码表中的记录按照游程长度L递增排列,并编组,组号k升序排列,游程长度最小为1,组号最小为1;(1.2)在所述码表中,第k组包含2
k
条记录,第k组0游程前缀由k个0和一个1组成,
第k组1游程前缀由k个1和一个0组成,第k组后缀由最小的k位二进制数至最大的k位二进制数依次排序;(A2)对原始测试数据进行预处理,填充无关位,得到双游程序列;(A3)通过步骤(A2)所得双游程序列,获得对应游程长度序列,依次用后一个游程长度减去前一个游程长度得到一个差值序列,找出差值序列中出现频率最高的差值M,将差值M设为最优值;(A4)构建压缩用编码表将训练用编码表中每条记录的游程长度全部减1,其余部分保持不变,获得压缩用编码表;(A5)对步骤(A2)所得数据按位进行读取,得到第一个游程,记录其游程类型、游程长度;查压缩用编码表得到一个码字并加入压缩后数据队列;(A6)继续读取数据得到当前游程,若当前游程与前一游程的长度差值为M,则根据当前游程类型得到特殊码字并加入压缩后数据队列;若当前游程与前一游程的长度差值不为M,则根据当前游程长度、游程类型查压缩用编码表得到码字并加入压缩后数据队列;若当前游程长度减去前一游程长度差值为M,且当前游程为0游程,则当前游程记为特殊码字010;若当前游程长度减去前一游程长度差值为M,且当前游程为1游程,则当前游程记为特殊码字100;(A7)重复步骤(A6),直到所有游程编码完成,编码后的数据即为压缩后的数据。
[0006]本专利技术的自适应游程编码的测试数据压缩及解压方法,还包括:B.解压步骤:(B1)按位读取待解压数据,直至得到一个0游程或1游程,所得游程即为前缀,记录游程类型和前缀长度,按所记录的前缀长度计算后缀长度并读取相应位数的数据为后缀;(B2)判定步骤(B1)所得后缀是否为特殊码字的后缀;若否,则在步骤(B1)所得后缀的高位添加一个1,得到一个新的二进制数,将其转换为十进制数,再减去2,得到当前游程长度,步骤(B1)所得游程类型为当前游程类型,依据当前游程类型、当前游程长度还原出一个游程作为解压后游程,记录其长度为Lx;若是,则,当前解压后游程长度依据前一个解压后游程的长度和差值M确定,具体当前游程长度=前一游程长度Lx+M;当前解压后游程类型与步骤(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位计数器中的值为10(二进制),v置为低电平,输出无效,c置为高电平,控制m位寄存器输入输出,再根据差值M的值,FSM向m位寄存器移入/移出M个0,再执行步骤(f);e)m位寄存器重置,FSM通过d输出0到m位寄存器。dec1置为高电平,k+1位计数器每次减1,输出一个0,直到k+1位计数器值为2,rs1为1。最后输出一个1;f)将v置为高电平,表示输出有效,将m位寄存器的数据依次与flag进行异或的结果输出;g)重复步骤a)至f),直到解压完毕。
[0008]本方法的技术优点体现在:(1)对测试数据的无关位进行填充后,将较长的0游程或1游程编码为较短的码字,实现第一级压缩功能;码字具备可还原性,解压后不影响芯片测试。(2)填充后的测试数据相邻游程长度差值为出现次数最多的差值M时,使用较短的特殊编码代替较长的码字,差值M根据测试数据确定,在实际应用时更加灵活,可以进一步提高压缩效率。(3)相邻游程长度差值为M时不论游程类型是否相同均可使用特殊码字,其使用频次高,进一步提高了压缩效果。使用本方法,由于数据压缩效率提高,能明显降低芯片测试成本。
附图说明
[0009]图1 是本专利技术中压缩步骤所涉及的编码流程图;图2 是本专利技术中解压步骤所涉及的解码电路图。
具体实施方式
[0010]以下结合附图对本专利技术的具体实施方式做进一步说明。
[0011]本专利技术的自适应游程编码测试数据压缩及解压方法具体包括:A.压缩步骤:(A1)构建训练用编码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自适应游程编码的测试数据压缩及解压方法,包括:A.压缩步骤:(A1)构建训练用编码表:(1.1)所述训练用编码表包含以下字段:组号:以一个十进制数k表示;游程长度:以一个十进制数L表示;0游程前缀:以一组由若干个0和1个1组成的二进制代码表示;1游程前缀:以一组由若干个1和1个0组成的二进制代码表示;后缀:以一组二进制代码表示;0游程码字:以一组二进制代码表示;所述0游程码字由0游程前缀和后缀连续排列而成;1游程码字:以一组二进制代码表示;所述1游程码字由1游程前缀和后缀连续排列而成;所述训练用编码表中的记录按照游程长度L递增排列,并编组,组号k升序排列,游程长度最小为1,组号最小为1;(1.2)在所述码表中,第k组包含2
k
条记录,第k组0游程前缀由k个0和一个1组成,第k组1游程前缀由k个1和一个0组成,第k组后缀由最小的k位二进制数至最大的k位二进制数依次排序;(A2)对原始测试数据进行预处理,填充无关位,得到双游程序列;(A3)通过步骤(A2)所得双游程序列,获得对应游程长度序列,依次用后一个游程长度减去前一个游程长度得到一个差值序列,找出差值序列中出现频率最高的差值M,将差值M设为最优值;(A4)构建压缩用编码表将训练用编码表中每条记录的游程长度全部减1,其余部分保持不变,获得压缩用编码表;(A5)对步骤(A2)所得数据按位进行读取,得到第一个游程,记录其游程类型、游程长度;查压缩用编码表得到一个码字并加入压缩后数据队列;(A6)继续读取数据得到当前游程,若当前游程与前一游程的长度差值为M,则根据当前游程类型得到特殊码字并加入压缩后数据队列;若当前游程与前一游程的长度差值不为M,则根据当前游程长度、游程类型查压缩用编码表得到码字并加入压缩后数据队列;若当前游程长度减去前一游程长度差值为M,且当前游程为0游程,则当前游程记为特殊码字010;若当前游程长度减去前一游程长度差值为M,且当前游程为1游程,则当前游程记为特殊码字100;(A7)重复步骤(A6),直到所有游程编码完成,编码后的数据即为压缩后的数据。2.如权利要求1所述的自适应游程编码的测试数据压缩及解压方法,其特征在于,还包括:B.解压步骤:(B1)按位读取待解压数据,直至得到一个0游程或1游程,所得游程即为前缀,记录游程
...

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

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

1