一种双游程数据编码方法技术

技术编号:3420409 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种双游程数据编码方法,其特征在于:该数据编码的码长分为标示位、组别位和奇偶位三个部分。本发明专利技术的优点在于:不考虑原始二进制数据中1或0出现次数多少的情况,在对于测试向量的编码来说可以同时针对1和0进行处理,在各种情况下都可取得较理想的压缩率和更高的编码率,压缩率的增长要快于其它的数据编码方法,而且还可避免测试数据的负压缩现象,因此非常适合于系统芯片测试向量的压缩,具有较强的实用价值。

【技术实现步骤摘要】

本专利技术涉及一种微电子领域里的双游程数据编码方法
技术介绍
当前的IP厂商在提供IP核的同时,就会提供相应的测试向量,这些测试 向量不仅在工作站上进行设计仿真的时候使用,还要用到晶圆硅片测试上去。 对于一个复杂的系统芯片来说,其测试向量是很庞大的。比如以集成ARM7TDMI 的系统芯片来说,ARM提供的测试向量就有近110万个周期的测试向量,即使 改用并行测试,但也只能减少一定的测试周期数,也有15万个时钟周期,但 与此同时,却需要更多的测试通道。对于一个晶圆硅片测试流程来说,其成本 和所需要的测试时间以及测试通道数成正比。解决测试设备昂贵的问题,最好 的方法是采用内建自测试。但是,并非所有的模块可以采用内建自测试的方法。 在这种情况下,唯有在所需要的测试设备、测试时间和测试通道之间寻求平衡。 除此之外,可以通过对测试向量进行压縮,可以极大减少测试数据量,其具体 过程是首先将测试向量按照一定的压縮方法进行压縮,然后测试设备将压缩 后的测试向量送给系统芯片相应的解码电路。经过解码电路的解码,还原出原 始的测试向量,施加到系统芯片中相应的IP进行测试。同时,还可以将系统 芯片的响应进行压縮后,再通过测试设备进行结果判断。对于系统芯片来说, 整个晶圆硅片测试添加了压縮电路,它包括了特定的访问机制和测试激励/响 应压縮电路;对于压縮的方法来说,主要包括基于压缩算法的研究和基于测试结构和状态机等硬件结构的压縮算法。目前常见的数据压縮算法有基于统计的霍夫曼数据编码方法,以及游程数据编码方法,还有Golomb数据编码方法等。霍夫曼数据编码方法是一种基于统计的编码方式。它采用的是对原始数据 进行定长分组,所得到的压縮数据也是定长的。也就是说,它是一种定长到定 长的编码方式。其基本的原理是,将原始的数据按照一定的长度划分成若干组, 然后按照每组码字出现频率的高低分配码字。对于出现频率大的代码进行较可 能短的编码,而对于出现频率较低的代码则可以用稍长一点的编码。具体的实 现可以通过构造霍夫曼树来实现。由于它编码后的代码的不重复性,因而在解 码时便可以用有限状态机来实现。用该方法可以取得很好的压縮率,但是它是 一种动态编码,即每组测试向量编码后的结果是不相同的。这也带来了编码电 路的复杂性,而且这种霍夫曼数据编码方法的压縮率对测试数据中序列重复性 要求很高,如果测试向量中重复的序列不是很多,那么其压縮率是很低的,而 且有可能出现负压縮的现象,因此霍夫曼数据编码方法的缺点和局限性是仍然 要求数据中具有较高的码字重复率。游程数据编码方法(Run-length)是一种变长到定长的编码方式。对于数 据中连续出现多个0或多个1的数据来说,采用这种方法是一种较好的编码方 式。游程数据编码就是根据连续的0或1的个数来进行编码。具体的编码方式 是首先确定编码的位参数b,然后根据其确定分组的大小n^2b-1,然后根据0 或1出现的情况进行编码,例如,根据0的情况进行编码,选择位数为3的话, 则原始数据中连续0的个数在0到6之间的分成一个组,7到13之间的分成 另外一个组。然后进行码字分配。由此可以看出000对应1, OOl对应Ol, 010 对应001, 011对应0001, 100对应00001, 101对应000001, 110对应0000001。而对于连续7个0以上,编码后的长度为6位,即前面加上lll。由此可以看 出,在数据中出现多个O或1的情况编码效率较高;游程数据编码方法对于解 码电路的设计,也比较简单,还以3位游程编码为例,每三位数据对应相应个 数的0和一位1,因此,其解码设计需要使用一个余3的计数器,当计数器到 3以后就复位为0,重新开始余3计位即可完成编码。由上所述,游程数据编 码方法的缺点和局限性是适合于连续0或1的数量较多的情况,但是编码后的 码字的长度是随着连续0或1的位数的长度增加而增加的。Golomb数据编码方法是从游程编码的基础上演进而来,它根据出现的游程 长度采用变长码进行编码,也就是说,它是一种变长到变长的编码方式,Golomb 数据编码方法首先也是要确定一个编码参数m,从而决定分组的大小,m应该 根据原始数据的特性确定,以期获得最佳值。编码后的码字分为两个部分,即 前缀和后缀,前缀表示该码字的分组信息,后缀是重复性数字串的长度信息。 前缀的位数由分组信息决定,对于第一组,由0位表示,第二组则由10表示, 即在前面添加一个l,以后的组别均由1的个数决定,由此可见,Golomb数据 编码每增加l组,其代码字间的长度增加一位l,而传统的游程编码代码字长 度每增加一组需要增加b位,当m为2的整数次幂的时候,其后缀的位数为 log2m,对于解码电路,可以根据码字的前缀l的个数确定组别,然后根据组 别来确定最终的码字长度,进行译码,其整个过程用简单的状态机即可实现。一般取IIF4时,代码获得较高的压縮率,其编码的码字表如表1所示。<table>complex table see original document page 6 </column></row><table>由表1可见,Golomb数据编码方法的缺点和局限性是只适合于测试向量中O 或l的个数有一个占绝对优势的情况,比如0占80%或1占80%的情况。在Golomb 数据编码方法中,只有在原始数据中0或1某一方比另一方更多的时候,才出现 较好的编码率,而对于两者差不多时,将会出现编码率负增长的现象。其临界 点在p = 0.781 ,即只有在0或1的一种数据在原始数据中占有率达至U79呢以上时,才能获得真正的压縮,否则将会有负压縮的现象出现。
技术实现思路
本专利技术所要解决的技术问题是提供一种能克服上述技术的缺点的双游程数据编码方法,该方法对于测试向量的编码来说可以同时处理1和0的编码方 式并可根据系统芯片的测试具体情况综合考虑0和1游程。表2双游程数据编码方法的码字表<table>complex table see original document page 7</column></row><table>17…………本专利技术的双游程数据编码方法(Double-Run-length)是将数据编码的码 长分为标示位、组别位和奇偶位三个部分标示位共有一位,为1或0,表示编码根据1的游程还是0的游程,1 表示该码字根据1的游程进行编码,0表示根据0的游程进行编码;组别位组别位是奇数,起始位为1,结束位为0,从第一个1开始 算起,每两位描述组别的性质其一般格式为lxlxlx0……,其中x为0或1,直至遇到0,表示该组结束;奇偶位共有1位,表示游程的奇偶性,0表示游程为奇数,l表 示游程为偶数。本专利技术的双游程数据编码方法具体的码字表如表2所示。 本专利技术的双游程数据编码方法,从表2可以看出,假如用i表示组别序号, 则第i组包含的游程元素的数量为2i个。它是一种变组长的编码方式。设游程为l ,则其所在的组别i满足计算为<formula>complex formula see original document page 8</formula>编码本文档来自技高网
...

【技术保护点】
一种双游程数据编码方法,其特征在于:该数据编码的码长分为三个部分:标示位:共有一位,为1或0,表示编码根据1的游程还是0的游程,1表示该码字根据1的游程进行编码,0表示根据0的游程进行编码;组别位:组别位是奇数,起始位为1,结束位为0,从第一个1开始算起,每两位描述组别的性质其一般格式为1x1x1x0……,其中x为0或1,直至遇到0,表示该组结束;奇偶位:共有1位,表示游程的奇偶性,0表示游程为奇数,1表示游程为偶数。

【技术特征摘要】

【专利技术属性】
技术研发人员:邓中亮韩可
申请(专利权)人:北京邮电大学
类型:发明
国别省市:11[中国|北京]

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

1
相关领域技术
  • 暂无相关专利