一种基于异或逻辑运算折半划分的测试数据压缩方法技术

技术编号:10304736 阅读:207 留言:0更新日期:2014-08-08 01:28
本发明专利技术公开了一种基于异或逻辑运算折半划分的测试数据压缩方法,将测试集按单位长度M分成若干块,首先通过异或逻辑运算将块内数据为01或10的交替序列变换成全0或全1序列;其次,对于不能转换的序列,不断进行折半划分。本发明专利技术相比现有技术具有以下优点:本发明专利技术的基于异或逻辑运算折半划分的测试数据压缩方法,代码字的长度直接用折半的次数表示,减少了代码字的长度,且解压时直接将计数器移位,提高了压缩率,减少了减压时的硬件开销,降低了解压成本。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,将测试集按单位长度M分成若干块,首先通过异或逻辑运算将块内数据为01或10的交替序列变换成全0或全1序列;其次,对于不能转换的序列,不断进行折半划分。本专利技术相比现有技术具有以下优点:本专利技术的基于异或逻辑运算折半划分的测试数据压缩方法,代码字的长度直接用折半的次数表示,减少了代码字的长度,且解压时直接将计数器移位,提高了压缩率,减少了减压时的硬件开销,降低了解压成本。【专利说明】
本专利技术涉及集成电路测试技术,尤其涉及的是。
技术介绍
为了满足集成电路工艺不断发展的要求,IP核复用思想的提出导致系统芯片(SOC)的集成度越来越高,单个芯片上的数据量的增加对电路测试增加了难度。系统自动测试设备(ATE)已经满足不了测试数据量增加的需求,大大增加了测试成本。快速有效的完成对SOC的测试,可以有效的减少测试的成本。内建自测技术和外建自测技术被广泛应用于测试集数据减少的研究。内建自测技术(BIST)是利用芯片自带的测试生成器,直接在片上生成测试向量,降低对ATE的要求。但是数据量的激增使得它不能满足需求。外建自测技术是将测试资源进行适当划分,将一部分测试数据移到芯片外,以减少测试成本,如测试数据压缩技术。这些技术将原始测试集Td进行适当的划分,然后用选定的码字代替,压缩为Te存储到ATE中传给芯片,再通过解码器还原。现有的编码方法可以分为定长到定长的编码方法、定长到变长、变长到定长、变长到变长、混合定变长五种,这些方法都有很 好的压缩效果。测试数据压缩技术能够减少预先计算的测试集TD,得到较小的测试集TE。近几年已经提出了一些有效的测试数据压缩方法,分为定长到定长的编码方法、定长到变长、变长到定长、变长到变长、混合定变长五种,从各技术的压缩效果来看,都有很好的压缩效果。但是,虽然传统的FDR码有很好的压缩效果,但是在解压时的硬件开销较大,通信协议较为复杂。因此在是压缩率达到最高的前提下考虑解压成本。本方法提出一直基于异或逻辑运算的测试数据压缩编码方法,不用像FDR码和Golomb码那样,用前缀和后缀来记录,只要用一定的标记位来表示折半的次数,就可以换算出数据块的长度。而且在解压时,只要一个移位计数器就可以换算出数据块的长度。本方法不仅有很好的压缩效果,而且解压也比较容易,在硬件开销和通信协议上有很大的改进。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供了。本专利技术是通过以下技术方案实现的:,其步骤如下:A、将测试集L看成一个数据流,按照单位长度M(M〈L),将测试集L进行分段,其中M = 2η,(η为整数,且η>0),对于最后不足单位长度M的数据块,用无关位X进行填充;B、对每一数据块,分析计算:(I)如果数据块全是O序列或者全是I序列,用标记位来标记;(2)如果数据块是01序列或10序列,在数据块序列前添加I或0,再将后面一位分别与前面一位进行异或逻辑运算,化成全I序列,再用标记位表示;(3)否则,我们对数据块进行折半;(4)看折半后的长度是否达到最小临界值MIN,若是,停止折半,若否,返回步骤⑴。C、对每个数据块根据标记位和编码规则进行编码,生成种子结果,所生成的单个种子结果与对应的段长编码一起构成该段压缩后的数据,每段压缩后的数据按顺序合并后即为最终的压缩数据。本专利技术相比现有技术具有以下优点:本文所提出基于异或逻辑运算折半划分的压缩方法,在折半划分的基础上,对非全0/1的序列进行优化,加入异或逻辑运算化为全I序列,不能进行优化的再采用折半划分方法.只要记录折半的次数,就可以换算出原始数据块的长度,提高了压缩率,减少了减压时的硬件开销,从而减少成本。【专利附图】【附图说明】图1是本专利技术的的流程图。图2为基于异或逻辑运算折半划分的测试数据压缩方法的编码规则。图3为本专利技术的编码实例图,图3(a)原始测试集,总长度为16,3(b)和3 (c)折半划分的示意图,图3(d)为折分后的测试集结果。【具体实施方式】下面对本专利技术的实施例作详细说明,本实施例在以本专利技术技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。参见图1,的流程图。结合图1,,其步骤如下:,其特征在于,包括如下步骤:A、将测试集L看成一个数据流,按照单位长度M(M〈L),将测试集L进行分段,其中M = 2η,(η为整数,且η>0),对于最后不足单位长度M的数据块,用无关位X进行填充;B、对每一数据块,分析计算:(I)如果数据块全是O序列或者全是I序列,用标记位来标记;(2)如果数据块是01序列或10序列,在数据块序列前添加I或0,再将后面一位分别与前面一位进行异或逻辑运算,化成全I序列,再用标记位表示;(3)否则,我们对数据块进行折半;(4)若折半后的长度是否达到最小临界值ΜΙΝ,若是,停止折半,若否,返回步骤⑴。C、对每个数据块根据标记位和编码规则进行编码,生成种子结果,所生成的单个种子结果与对应的段长编码一起构成该段压缩后的数据,每段压缩后的数据按顺序合并后即为最终的压缩数据。其中,连续序列,包括全O序列,如0000......;全I序列,如111L...。 交替序列,该数据块中全是O和I交叉的序列,OI块,即OIOIOI……;IO块:IO块,即 101010......。其中对步骤C中采用的编码规则,参见图2,的编码规则。在图2中,全O序列或者全I序列的长度是ZiXMin,其中Min是最小块序列的长度,A取值可为0,1,X,表示此块为全0,全I或无关位。B取值可能为O或1,表示序列前面加O或I异或得到的全I序列。全O序列或者全I序列的个数越多时,它的标记位也就越长。全O序列或者全I序列的长度为M时的标记位最长,可以根据图2的编码规则算出它的标记位。如果数据块是01或10序列,我们就在序列前添加I或0,将序列里后面一位数分别跟前面一位进行异或逻辑运算,化成全I序列,然后用标记位表示之后在编码字后面加上O或I标记是前面添加O或I异或而来。在图2中,全O序列或者全I序列的长度每增加2倍,标记位就增加一个标记位1,有助于解压时对全O序列或者全I序列的长度进行换算。参见图3,结合编码实例,给出了详细的实施方式和具体的操作过程。对长度为16的测试集a,如图3 (a)所示。测试集a既不是全O序列、也不是全I序列数据块,也不能填充无关位得到01或10交替序列。对它进行第一次折半划分,如图3(b)所示,得到测试向量bl和b2,bl是连续的无关位,则不再划分,按编码规则编码。b2既不是全O序列、也不是全I序列数据块,也不可通过填充得到01或10交替序列。再继续折半划分,如图3(c)所示,b2折半划分得到Cl和c2,Cl可以通过填充得到10序列。C2既不是全O序列、也不是全I序列数据块,也不可通过填充为01或10交替序列,但它的长度已经达到最小临界值,不再进行划分。根据图2的规则得到最终编码结果,如图3(d)所示。从图3(a)和3(d)所示,可以看到原来的测试集的长度为16,折半划分后总长度为13,因此,测试数集可以得到压缩,缩短了测试应用时间。以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和本文档来自技高网
...

【技术保护点】
一种基于异或逻辑运算折半划分的测试数据压缩方法,其特征在于,包括如下步骤:A、将测试集L看成一个数据流,按照单位长度M(M<L),将测试集L进行分段,其中M=2n,(n为整数,且n>0),对于最后不足单位长度M的数据块,用无关位X进行填充;B、对每一数据块,分析计算:(1)如果数据块全是0序列或者全是1序列,用标记位来标记;(2)如果数据块是01序列或10序列,在数据块序列前添加1或0,再将后面一位分别与前面一位进行异或逻辑运算,化成全1序列,再用标记位表示;(3)否则,我们对数据块进行折半;(4)看折半后的数据块的长度是否达到最小临界值MIN,若是,停止折半,若否,返回步骤(1)。C、对每个数据块根据标记位和编码规则进行编码,生成种子结果,所生成的单个种子结果与对应的段长编码一起构成该段压缩后的数据,每段压缩后的数据按顺序合并后即为最终的压缩数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:吴琼黄丽詹文法
申请(专利权)人:安庆师范学院
类型:发明
国别省市:安徽;34

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

1