CN104467867A - 一种基于多个连续数据复制的幂次划分数据压缩方法 - Google Patents
一种基于多个连续数据复制的幂次划分数据压缩方法 Download PDFInfo
- Publication number
- CN104467867A CN104467867A CN201410598319.9A CN201410598319A CN104467867A CN 104467867 A CN104467867 A CN 104467867A CN 201410598319 A CN201410598319 A CN 201410598319A CN 104467867 A CN104467867 A CN 104467867A
- Authority
- CN
- China
- Prior art keywords
- data
- continuous
- data block
- divided
- sequence
- 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.)
- Pending
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于多个连续数据复制的幂次划分数据压缩方法。首先将测试集L看成一个数据流L,若数据流L不是2n的数据块,用无关位X进行填充。再依据连续块划分,并以2的倍数增加划分的数据长度,将数据流L分成若干连续数据块。对每个数据块根据标记位和编码规则进行编码,标记位的末位为0,生成种子结果,所生成的单个种子结果与对应的段长编码一起构成该段压缩后的数据,每段压缩后的数据按顺序合并后即为最终的压缩数据。本发明相比现有技术具有以下优点:本发明采用对于数据快速查找连续数据序列,对于连续的序列用一位标记,这样还原数据时根据标记位数量还原连续序列,这样就会减低在检测数据是否连续的时候的时间。
Description
技术领域
本发明涉及集成电路测试技术,尤其涉及的是一种基于多个连续数据复制的幂次划分数据压缩方法。
背景技术
由于超大规模集成电路复杂性的飞速增长,VLSI电路的测试变得越来越重要。尤其是复杂的VLSI电路发展成了片上***,这就需要大量的测试数据。测试时,测试数据从自动测试设备(Automa ticTest Equipm ent,ATE)移入到被测电路中去,由于有限的测试通道宽度和大量的测试数据,那么必须寻求更加昂贵的ATE,从而增加了测试成本。
为了解决这些问题,内建自测试和测试数据压缩这两类方法被广泛地用于SoC测试。前者减少了对昂贵ATE的需求,它将全部的测试资源移到了芯片上,而实际上,BIST却不能一直代替其他的测试方法,尤其是对大规模的芯片,这主要是由于检测随机模式需要较长的时间。后者是一种基于测试源划分的技术,用来加速测试期间ATE和SoC之间的传递。这些技术用于减少预先计算的测试集(TD),得到较小的测试集(TE),并存储在ATE上。再通过片上解码器将TE还原成TD。最近几年,已经提出了一些有效的测试数据压缩方法,如:基于字典的压缩方法、Golom b码、交替连续长度码、FDR码和统计码等。虽然我们通过压缩/解压的过程来降低对ATE传输带宽和速度的要求,但我们也不能忽视解压时候的硬件开销和通信协议的复杂性问题。以上所提到的几种方法,其硬件开销较大,通信协议较为复杂,尤其是FDR码。
文章《A Multilayer Data Copy Test Data Compression Schemefor Reducing Shifting-in Power for Multiple Scan Design》中提出将测试数据输送到触发器缓存器里,将触发器划分成多层,每一次输送以为数据到触发器,检测是否存在上下数据有存在复制模式。文章中存在问题:检测是否满足复制模式是一位一位检测的,这样势必会增加检测数据任务量减低效率。
发明内容
本发明的目的在于克服现有技术的不足,提供了一种基于多个连续数据复制的幂次划分数据压缩方法。
本发明是通过以下技术方案实现的:
一种基于多个连续数据复制的幂次划分数据压缩方法,包括如下步骤:
A、将测试集L看成一个数据流L,若数据流L不是2n的数据块,其中,n为整数,且n>0,用无关位X进行填充;
B、依据连续块划分,并以2的倍数增加划分的数据长度,将数据流L分成若干连续数据块,所述连续数据块为全0数据块、全1数据块,01数据块或者10数据块;
首先看数据流L起始两位是否是一个连续的数据块,若否,数据流L起始两位分为第一段,若是连续数据块,再看数据流L起始四位是否是一个连续的数据块……;继续分段,将数据流L分成若干个数据块;
C、对每个数据块根据标记位和编码规则进行编码,标记位的末位为0,其中编码规则:连续块的长度为2i,标记位为:0、10、110…,连续序列编码为:0+A、10+A、110+A…,交替序列编码为:0+B、10+B、110+B…,非连续也非交替序列编码为:0+C,其中,A的取值选自00、11、XX,B的取值选自10和01,生成种子结果,所生成的单个种子结果与对应的段长编码一起构成该段压缩后的数据,每段压缩后的数据按顺序合并后即为最终的压缩数据。
本发明相比现有技术具有以下优点:发明用幂次划分方法划分数据流,再根据编码方法标记连续块、交替块和非连续块,尽可能包含连续块。对于原数据利用2的幂次方数据长度进行无关位的填充,既非连续也非交替的序列直接原代码复制下来但是标记位和编码字中间的分隔0要保留下来。且可以得出编码后中的1的个数和数据个数存在数量关系,这样对于还原数据可节约时间。
附图说明
图1是本发明的一种基于多个连续数据复制的幂次划分数据压缩方法的流程图。
图2为一种基于多个连续数据复制的幂次划分数据压缩方法的编码规则。
图3为本发明的编码实例图,a为原始测试集,总长度为62,b是补位后的结果,c是分段后的结果,d为编码后的结果,e是最终结果,总长度为42。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
参见图1,一种基于多个连续数据复制的幂次划分数据压缩方法。结合图1,
一种基于多个连续数据复制的幂次划分数据压缩方法,包括如下步骤:
A、将测试集L看成一个数据流L,若数据流L不是2n的数据块,其中,n为整数,且n>0,用无关位X进行填充。
B、依据连续块划分,根据2的倍数来增加划分的数据长度,将数据流L分成若干数据块,若干数据块为全0数据块、全1数据块,01数据块或者10数据块。
首先看数据流L起始两位是否是一个连续的数据块,若否,数据流L起始两位分为第一段,若是连续数据块,再看数据流L起始四位是否是一个连续的数据块……;继续分段,将数据流L分成若干个数据块。
C、对每个数据块根据标记位和编码规则进行编码,标记位的末位为0,其中编码规则:连续块的长度为2i,标记位为:0、10、110…,连续序列编码为:0+A、10+A、110+A…,交替序列编码为:0+B、10+B、110+B…,非连续也非交替序列编码为:0+C,其中,A的取值选自00、11、XX,B的取值选自10和01,生成种子结果,所生成的单个种子结果与对应的段长编码一起构成该段压缩后的数据,每段压缩后的数据按顺序合并后即为最终的压缩数据。
其中,连续序列,包括全0序列,如0000……;全1序列,如1111…。
交替序列,该数据块中全是0和1交叉的序列,01块,即010101……;10块:10块,即101010……。
其中对步骤C中采用的编码规则,参见图2,一种基于多个连续数据复制的幂次划分数据压缩方法的编码规则。在图2中,全0序列或者全1序列的长度是2i,A取值可为00,10,XX,表示此块为全0,全1或无关位。B取值可能为01或10。在图2中,全0序列或者全1序列的长度每增加2倍,标记位就增加一个标记位1,有助于解压时对全0序列或者全1序列的长度进行换算。
参见图3,结合编码实例,给出了详细的实施方式和具体的操作过程。对长度为62的测试集a:X1XX 1111 1111 1X1X 1XX1 1011 111111X1 1111 1111 1111 1111 1XX0 1010 1111 1X,如图3中a所示。
对测试集a不是2n的数据块,用无关位X进行填充进行补位,得数据流b:X1XX 1111 1111 1X1X 1XX1 1011 1111 11X1 1111 11111111 1111 1XX0 1010 1111 1X X X,如图3中b所示。
补位后的数据流b既不是全0序列、也不是全1序列数据块,也不能填充无关位得到01或10交替序列。
依据连续块划分,且根据2的倍数来增加划分的数据长度,将b分成若干数据块。
首先看数据流b起始两位是否是一个连续的数据块,若否,数据流L起始两位分为第一段,若是连续数据块,再看数据流L起始四位是否是一个连续的数据块……;继续分段,将数据流L分成若干个数据块。
第一分段划分,首先看前数据流b前两位X1是否是连续块;若是,继续增加数据长度,再看前4位X1XX,前4位X1XX也是连续块;再看前8位是X1XX 1111也是连续块,再看前16位X1XX 11111111 1X1X也是连续位;再看前32位X1XX 1111 1111 1X1X 1XX11011 1111 11X1不是连续块了,那就第一分段划分为16位X1XX 11111111 1X1X 1XX1 1011 1111 11X1 1111 1111 1111 1111 1XX0 10101111 1XXX。
第二分段划分,去掉前16位,从第17位起,首先看前2位,1X是否是连续的连续块;若是,继续增加数据长度,再看前4位,1XX1也是连续的;再看前8位,1XX1 1011明显不连续的连续块,结束第二段划分,第二次段划分为:1XX1。
第三分段划分,去掉前20位,从第21位起,首先看前2位,10是否是连续的连续块;若是,继续增加数据长度,再看前4位,1011明显不连续的连续块,结束第三段划分,第三次段划分为10。
第四分段划分,去掉前22位,从第23位起,首先看前2位,11是否是连续的连续块;若是,继续增加数据长度,再看前4位……,结束第四段划分,第四次段划分为:11 1111 11X1 1111 11。
同理,第五次划分为:11 1111 11。
第六次划分为:11 1X。
第七次划分为:X0 10。
第八次划分为:10。
第九次划分为:1111。
根据上述分段规则,将数据流分为九段,具体如图中c所示。
对上述分段的每个数据块根据标记位和编码规则进行编码,标记位的末位为0,其中编码规则:连续块的长度为2i,标记位为:0、10、110…,连续序列编码为:0+A、10+A、110+A…,交替序列编码为:0+B、10+B、110+B…,非连续也非交替序列编码为:0+C,其中,A的取值选自00、11、XX,B的取值选自10和01,具体参见附图3,生成种子结果,所生成的单个种子结果与对应的段长编码一起构成该段压缩后的数据,每段压缩后的数据按顺序合并后即为最终的压缩数据。
根据附图3的编码规则,上述第一个划分段:X1XX 1111 11111X1X,对应编码为:1110+11,具体意思:这个字段是11的复制,前面标记位中三个1,第一个1指的是11的复制,即1111,第二个1指的是1111的复制就是1111 1111,第三个1指的是1111 1111的复制即1111 1111 1111 1111。
同理,第二段划分1XX1对应编码为:10+11。
第三段划分10对应编码为:0+10。
第四段划分11 1111 11X1 1111 11对应编码为:110+11。
第五段划分次11 1111 11是对应编码为:110+11。
第六段划分11 1X是对应编码为:110+11。
第七段划分X0 10是对应编码为:10+11。
第八段划分10是对应编码为:10+10。
第九次段划分1111是对应编码为:110+11。如图3中d所示。
最后,原来数据:X1XX 1111 1111 1X1X 1XX1 1011 1111 11X11111 1111 1111 1111 1XX0 1010 1111 1X编码之后数据:111011 1011010 11011 11011 11011 1011 1010 11011,如图3中e所示。可以看到原来的测试集的长度为62,分段划分且编码后总长度为42,因此,测试数集可以得到压缩,缩短了测试应用时间。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于多个连续数据复制的幂次划分数据压缩方法,其特征在于,包括如下步骤:
A、将测试集L看成一个数据流L,若数据流L不是2n的数据块,其中,n为整数,且n>0,用无关位X进行填充;
B、依据连续块划分,并以2的倍数增加划分的数据长度,将数据流L分成若干连续数据块,所述连续数据块为全0数据块、全1数据块,01数据块或者10数据块;
先看数据流L起始两位是否是一个连续的数据块,若否,数据流L起始两位分为第一段,若是连续数据块,再看数据流L起始四位是否是一个连续的数据块……;继续分段,将数据流L分成若干个数据块;
C、对每个数据块根据标记位和编码规则进行编码,标记位的末位为0,其中编码规则:连续块的长度为2i,标记位为:0、10、110…,连续序列编码为:0+A、10+A、110+A…,交替序列编码为:0+B、10+B、110+B…,非连续也非交替序列编码为:0+C,其中,A的取值选自00、11、XX,B的取值选自10和01,生成种子结果,所生成的单个种子结果与对应的段长编码一起构成该段压缩后的数据,每段压缩后的数据按顺序合并后即为最终的压缩数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410598319.9A CN104467867A (zh) | 2014-10-30 | 2014-10-30 | 一种基于多个连续数据复制的幂次划分数据压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410598319.9A CN104467867A (zh) | 2014-10-30 | 2014-10-30 | 一种基于多个连续数据复制的幂次划分数据压缩方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104467867A true CN104467867A (zh) | 2015-03-25 |
Family
ID=52913332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410598319.9A Pending CN104467867A (zh) | 2014-10-30 | 2014-10-30 | 一种基于多个连续数据复制的幂次划分数据压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104467867A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028088A1 (en) * | 2005-08-01 | 2007-02-01 | Coskun Bayrak | Polymorphic encryption method and system |
CN103746704A (zh) * | 2014-01-01 | 2014-04-23 | 安庆师范学院 | 基于双游程交替编码的芯片测试数据传输方法 |
CN103746706A (zh) * | 2014-01-01 | 2014-04-23 | 安庆师范学院 | 基于双游程交替编码的测试数据压缩与解压缩方法 |
CN103973310A (zh) * | 2014-05-19 | 2014-08-06 | 安庆师范学院 | 一种基于异或逻辑运算折半划分的测试数据压缩方法 |
CN104038233A (zh) * | 2014-05-09 | 2014-09-10 | 安庆师范学院 | 基于相邻位异或运算的测试数据压缩与解压缩方法 |
CN104038232A (zh) * | 2014-05-09 | 2014-09-10 | 安庆师范学院 | 基于二次异或运算的测试数据压缩与解压缩方法 |
-
2014
- 2014-10-30 CN CN201410598319.9A patent/CN104467867A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028088A1 (en) * | 2005-08-01 | 2007-02-01 | Coskun Bayrak | Polymorphic encryption method and system |
CN103746704A (zh) * | 2014-01-01 | 2014-04-23 | 安庆师范学院 | 基于双游程交替编码的芯片测试数据传输方法 |
CN103746706A (zh) * | 2014-01-01 | 2014-04-23 | 安庆师范学院 | 基于双游程交替编码的测试数据压缩与解压缩方法 |
CN104038233A (zh) * | 2014-05-09 | 2014-09-10 | 安庆师范学院 | 基于相邻位异或运算的测试数据压缩与解压缩方法 |
CN104038232A (zh) * | 2014-05-09 | 2014-09-10 | 安庆师范学院 | 基于二次异或运算的测试数据压缩与解压缩方法 |
CN103973310A (zh) * | 2014-05-19 | 2014-08-06 | 安庆师范学院 | 一种基于异或逻辑运算折半划分的测试数据压缩方法 |
Non-Patent Citations (2)
Title |
---|
徐三子: "基于幂次划分和分块编码的SoC测试数据压缩方法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
黄丽等: "一种基于异或运算折半划分的测试数据压缩方案", 《安庆师范学院学报(自然科学版)》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102353894B (zh) | 基于参考向量和位掩码的soc的测试方法 | |
CN101807926B (zh) | 低功耗soc测试数据压缩编码方法 | |
JPH07160473A (ja) | バイト整列式データ圧縮方法及び装置 | |
CN101496288A (zh) | 数据压缩 | |
CN102592682B (zh) | 一种测试数据编码压缩方法 | |
CN103106901B (zh) | 一种基于索引值的压缩域音频数字隐写及提取方法 | |
CN107071451B (zh) | 一种基于可变输入数据流的大动态实时解压缩*** | |
CN102404564A (zh) | 利用相对和绝对增量值的数据压缩和解压缩 | |
CN102522120B (zh) | 一种字典编码压缩方法 | |
CN104424010B (zh) | 一种文本文档乱码检测及修复方法和*** | |
CN104869397A (zh) | 一种基于slwe概率估计模型的自适应区间编码方法及解码方法 | |
CN103973310A (zh) | 一种基于异或逻辑运算折半划分的测试数据压缩方法 | |
RU2010109431A (ru) | Способ передачи данных | |
CN102323541A (zh) | 基于参考向量和位掩码的soc的测试方法 | |
CN102904579B (zh) | 基于逐次逼近法的编码压缩方法 | |
CN104467867A (zh) | 一种基于多个连续数据复制的幂次划分数据压缩方法 | |
Yu et al. | Test data compression based on variable prefix dual-run-length code | |
CN109474279B (zh) | 一种数据压缩方法及装置 | |
CN104301726A (zh) | 一种图像无损压缩与解压缩的方法 | |
CN109412605B (zh) | 基于fdr的最大相容块的向量压缩方法、装置及*** | |
US9722631B2 (en) | Method and apparatus for calculating estimated data compression ratio | |
Tenentes et al. | Low power test-compression for high test-quality and low test-data volume | |
RU153302U1 (ru) | Кодирующее устройство | |
KR101890365B1 (ko) | 압축된 데이터의 오류를 검출하는 방법 및 장치 | |
Ren | A data compression technique based on reversed leading bits coding and Huffman coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150325 |
|
RJ01 | Rejection of invention patent application after publication |