CN102522120B - 一种字典编码压缩方法 - Google Patents

一种字典编码压缩方法 Download PDF

Info

Publication number
CN102522120B
CN102522120B CN201110348937.4A CN201110348937A CN102522120B CN 102522120 B CN102522120 B CN 102522120B CN 201110348937 A CN201110348937 A CN 201110348937A CN 102522120 B CN102522120 B CN 102522120B
Authority
CN
China
Prior art keywords
dictionary
coding
compression method
test
even bit
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.)
Expired - Fee Related
Application number
CN201110348937.4A
Other languages
English (en)
Other versions
CN102522120A (zh
Inventor
詹文法
马俊
韩建华
程一飞
吴海峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201110348937.4A priority Critical patent/CN102522120B/zh
Publication of CN102522120A publication Critical patent/CN102522120A/zh
Application granted granted Critical
Publication of CN102522120B publication Critical patent/CN102522120B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种字典编码压缩方法,包括:a.采用自动测试模式生成工具,生成确定的完全测试集,并记其测试向量个数为;b.将所有测试向量级联,即将一个向量的尾部接另一个向量的首部,记为S;c.建立无理数字典列表,整数a、b都从2开始,一直计算

Description

一种字典编码压缩方法
【技术领域】
本发明涉及集成电路测试技术,特别是对系统芯片(System-on-a-Chip,SoC)的外建自测试(Built-Out Self-Test,BOST)方法中测试数据压缩方法。
【背景技术】
集成电路技术的发展使得可在一个芯片中集成数以亿计的器件,并且可以集成预先设计和经过验证的IP,如存储器,微处理器,DSP(数字信号处理器)等。这种多元化的集成芯片已经成为能处理各种信息的集成系统,被称为片上系统或系统芯片。SoC大大降低了系统成本,缩短了设计周期,加快了产品上市时间,但是SoC产品的测试面临越来越多的挑战,如:
1、芯片测试点少,可直接控制或观测的测试点有限,通常只能通过芯片有限的输入/输出引脚进行测试,而芯片内部节点很难通过宏观机械装置直接控制或观测。
2、自动测试设备(ATE)价格昂贵,芯片的设计和制造技术发展速度比ATE的设计和制造技术发展快,芯片的时钟频率已超过了目前最先进的ATE的频率,无法进行全速测试。
3、测试数据量大,SoC中集成的IP越多,所需测试数据量就越大。预计到2014年存储测试向量所需存储器的容量是1999年的150倍,将会超过ATE的存储深度。
芯片的测试已成为制约集成电路发展的一个“瓶颈”。已有大量的文献对集成电路的测试方法展开研究,主要有测试集紧缩技术(TestSet Compaction,TSC)、内建自测试(Built-In Self-Test,BIST)和外建自测试三种方法。
测试集紧缩技术通过自动测试模式生成算法(Auto Test PatternGeneration,ATPG)对测试立方体进行动态或静态的压缩,通过对减少测试立方体数目达到减少测试数据量的目的。该技术的优点是不需要任何额外的硬件开销;其缺点不对某些非故障模型的故障可能无法检测到。
内建自测试方法,依靠芯片自身的资源完成对芯片的测试。此方法将测试模式生成器TPG、测试过程控制和测试响应评价功能模块嵌入在被测电路CUT上,摆脱了对ATE的依赖,减少了测试费用。但由于BIST生成的多是伪随机测试向量,测试时通常存在着抗随机故障(Random Resistant Fault,RRF),故BIST存在故障覆盖率不高、测试序列较长的弊端。虽然可以通过加权或采用混合模式的BIST等方法来进一步提高测试效率,但随着电路规模的扩大,RRF的增多,要付出的硬件开销将显著增加。
外建自测试方法又称为测试源划分技术,此方法将所需的测试向量经过压缩存储在ATE中,测试期间,通过片上的解压电路将其还原施加到被测电路上。它同样是将一些测试资源从ATE移入到芯片中,以达到减少测试数据量、缩短测试时间的目的,并能允许使用低速ATE而不降低测试质量。该方法不需要了解被测设计(Design UnderTest,DUT)的具体内部结构,可以很好的保护知识产权,因而得到了广泛地应用。
基于编码的方法是外建自测试中应用最广泛的技术之一。该方法将芯核供应商提供的测试集TD压缩(编码)成一个更小的测试集TE,并把它存储于ATE的存储器中。测试时,由芯片上解码电路把TE解码成TD后再实行测试。测试数据编码压缩按照编码的原理可分为统计编码和游程编码两大类:统计编码中具有代表性的方法为统计码、Huffman选择码以及9值编码等;而游程编码方法包括Golomb码、FDR码、交替游程码以及PRL编码等等。
编码压缩技术所用测试集TD其测试模式数量较少,测试时间相对BIST更短;并且它不需要测试模式生成电路和响应压缩分析电路,其解压电路的成本低于BIST;对于不支持BIST的CUT也可实现测试,具有广泛的应用性。
基于统计编码由于压缩效果接近于熵(压缩理论极限),得到广泛的应用。基于字典的编码方法作为统计编码方法中最优秀的方法之一,得到普遍应用。Jas等人提出的统计码,是根据数据字段出现的频率,将字段用Huffman码编码为变长度的索引。Reddy等人提出使用索引为定长度的字典。另一种是基于LZ77算法的,其采用的是动态字典的方法,使用部分预先输入的数据流作为动态字典。
基于字典的编码方法是选择出现频率高的字符串并建立字典,并将这些字符串编码成索引。字符串所存储的字典可以是静态的,也可以是动态的。静态字典一般保持不变,有时允许添加少量字符串;而动态字典中保存着从先前输入数据流中得出的字符串,当有新的数据输入后,允许添加新的字符串或删除原来的字符串。
当前的字典编码需要存储字典和索引信息,占用了一定的存储容量。一种改进的方法是不直接存储字典和索引,让字典和索引在解压时自动产生。
【发明内容】
本发明所要解决的技术问题在于提供一种可以很大程度地减少存储量的字典编码方法。
本发明是通过以下技术方案解决上述技术问题的:一种字典编码压缩方法,包括下述步骤:
a、采用自动测试模式生成工具,生成确定的完全测试集T,记其测试向量个数为N;
b、将所有测试向量级联,即将一个向量的尾部接另一个向量的首部,记为S;
c、建立无理数字典列表,让整数a、b都从2开始,一直计算的值,按二进制方式存储其前t位,建立字典,其对应索引值为a,b,本过程直到a=m,b=n,其中,t、m和n都是整数,其值可以根据实际压缩情况调整;
d、编码,将S从头开始与字典列表按位比较,取与字典列表相容最长的一项,记录其对应的相容长度k和对应索引值x和y;将S除去前k位,重复步骤d,此过程直到S为空。
本发明进一步具体为:
所述步骤c中,存储前t位时忽略小数点。
所述步骤c中,一般情况下t、m和n取180至220。
最优的,t、m和n取200。
所述步骤d中,记录其对应的相容长度k和对应索引值x和y,并将k,x,y编码。
所述步骤d中,k,x,y按Golomb码编码。
或者所述步骤d中,k,x,y按FDR码编码。
或者所述步骤d中,k,x,y按偶数位标记编码。
所述偶数位标记编码使用了变长到变长的编码方式,总共包括五列,第一列是游程长度,第二列是组数,第三列和第四列是代码字的奇数位和偶数位,最后一列是对应代码字,偶数位表示代码字是否结束,奇数位表示游程的长度信息,代码字的偶数位如果为0,表示代码字继续,偶数位如果为1,则表示本代码字结束,而长度信息仅含在奇数位。
本发明的优点是:可以很大程度地减少存储量,本发明的另一优点是无需进行无关位填充,由于传统的压缩算法中对无关位的填充几乎都是NP完全问题,算法复杂,运行时间长,这就限制了传统的压缩算法的适用性。本发明无需进行任何无关位的填充,只进行相容性检查,因此其效率高。
【具体实施方式】
下面参照附图结合实施例对本发明作进一步的描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明提出一种字典编码方法,其基本思想是将无理数的a和b做为索引值,无理数所对应的二进制数前t位做为字典。由于无理数和其值对应的前t位之间存在一定的计算关系,所以只用存储索引值a和b,就可以根据计算出前t位,这样就可以只存储索引值,减少了存储体积。
便于叙述方便,以一个例子来说明。不失一般性,设原始测试集T={00100011,11000110,11101111,00110111,00101111,11101011,...},将其级联后,数据流为:001000111100011011101111001101110010111111101011...,将其与无理数字典列表比较,发现字典列表项:5,2,001000111100011011101111001101110010111111101001,因为所以对数据流001000111100011011101111001101110010111111101011...前44位的存储就可以转化为对索引值5和2的存储和其字典长度44的存储,而字典本身00100011110001101110111100110111001011111110可以在解压时通过运算获得。
该字典编码方法的具体步骤为:
a、采用自动测试模式生成工具ATPG,生成确定的完全测试集T,记其测试向量个数为N;
b、将所有测试向量级联,即将一个向量的尾部接另一个向量的首部,记为S;
c、建立无理数字典列表,让整数a、b都从2开始,一直计算的值,按二进制方式存储其前t位(忽略小数点),建立字典,其对应索引值为a,b,本过程直到a=m,b=n,其中,t、m和n都是整数,其值可以根据实际压缩情况调整,一般情况下t、m和n取200左右即可;
d、编码,将S从头开始与字典列表按位比较,取与字典列表相容最长的一项,记录其对应的相容长度k和对应索引值x和y,并将k,x,y编码;将S除去前k位,重复步骤d,此过程直到S为空。
上述步骤d中,k,x,y可以用现有的方式编码,如:Golomb码、FDR码等。
也可以按偶数位标记编码(CEBM),所述偶数位标记编码方式如下:
请参见下表1,为偶数位标记编码表。
表1偶数位标记编码编码表
CEBM使用了变长到变长的编码方式,第一列是游程长度,第二列是组数,第三列和第四列是代码字的奇数位和偶数位,最后一列是对应代码字。偶数位标记编码的特点是偶数位表示代码字是否结束,奇数位表示游程的长度信息。代码字的偶数位如果为0,表示代码字继续;偶数位如果为1,则表示本代码字结束。而长度信息仅含在奇数位。这样解压可以根据偶数位判断代码字是否结束,根据奇数位判断代码字的长度。
如长度为13的编码为101011,其中偶数位为001,奇数位为111。解码时,只用监控偶数位的数据,如果为0,表示代码字继续;如果为1,则表示本代码字结束。在奇数位(111)前增加一位数据1,即得到1111,其对应的十进制值为15,比其代表的长度13多2,因此自减计数时,让计算器的结束值为2即可。偶数位标记编码因易于解码,硬件开销小,得到广泛应用。
请参见下表2,为采用本发明压缩方法的实验结果。使用的是Mintest测试集中的7个时序电路,第一列为电路名称,第二列为原测试集数据位数,第三列为压缩后的数据位数,第四列为压缩效果。
表2实验数据
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (9)

1.一种字典编码压缩方法,其特征在于:包括下述步骤:
a、采用自动测试模式生成工具,生成确定的完全测试集T,记其测试向量个数为N;
b、将所有测试向量级联,即将一个向量的尾部接另一个向量的首部,记为S;
c、建立无理数字典列表,让整数a、b都从2开始,一直计算的值,按二进制方式存储其前t位,建立字典,其对应索引值为a,b,本过程直到a=m,b=n,其中,t、m和n都是整数,其值根据实际压缩情况调整;
d、编码,将S从头开始与字典列表按位比较,取与字典列表相容最长的一项,记录其对应的相容长度k和对应索引值x和y;将S除去前k位,重复步骤d,此过程直到S为空。
2.如权利要求1所述的一种字典编码压缩方法,其特征在于:所述步骤c中,存储前t位时忽略小数点。
3.如权利要求1所述的一种字典编码压缩方法,其特征在于:所述步骤c中,一般情况下t、m和n取180至220。
4.如权利要求3所述的一种字典编码压缩方法,其特征在于:t、m和n取200。
5.如权利要求1所述的一种字典编码压缩方法,其特征在于:所述步骤d中,记录其对应的相容长度k和对应索引值x和y,并将k,x,y编码。
6.如权利要求5所述的一种字典编码压缩方法,其特征在于:所述步骤d中,k,x,y按Golomb码编码。
7.如权利要求5所述的一种字典编码压缩方法,其特征在于:所述步骤d中,k,x,y按FDR码编码。
8.如权利要求5所述的一种字典编码压缩方法,其特征在于:所述步骤d中,k,x,y按偶数位标记编码。
9.如权利要求8所述的一种字典编码压缩方法,其特征在于:所述偶数位标记编码使用了变长到变长的编码方式,总共包括五列,第一列是游程长度,第二列是组数,第三列和第四列是代码字的奇数位和偶数位,最后一列是对应代码字,偶数位表示代码字是否结束,奇数位表示游程的长度信息,代码字的偶数位如果为0,表示代码字继续,偶数位如果为1,则表示本代码字结束,而长度信息仅含在奇数位。
CN201110348937.4A 2011-11-08 2011-11-08 一种字典编码压缩方法 Expired - Fee Related CN102522120B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110348937.4A CN102522120B (zh) 2011-11-08 2011-11-08 一种字典编码压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110348937.4A CN102522120B (zh) 2011-11-08 2011-11-08 一种字典编码压缩方法

Publications (2)

Publication Number Publication Date
CN102522120A CN102522120A (zh) 2012-06-27
CN102522120B true CN102522120B (zh) 2014-11-12

Family

ID=46293012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110348937.4A Expired - Fee Related CN102522120B (zh) 2011-11-08 2011-11-08 一种字典编码压缩方法

Country Status (1)

Country Link
CN (1) CN102522120B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904579B (zh) * 2012-10-25 2015-03-25 吴海峰 基于逐次逼近法的编码压缩方法
CN102932000B (zh) * 2012-10-25 2015-07-08 詹文法 快速查找无理数的测试数据压缩方法
CN105577192A (zh) * 2015-12-21 2016-05-11 安庆师范学院 数字集成电路中测试数据的编码压缩方法
CN108259043B (zh) * 2018-01-23 2019-10-18 程一飞 基于间隔划分的测试数据压缩与解压缩方法
CN109412605B (zh) * 2018-11-05 2022-06-21 安庆师范大学 基于fdr的最大相容块的向量压缩方法、装置及系统
CN111680095B (zh) * 2020-06-10 2021-01-12 上海城市地理信息系统发展有限公司 一种处理点云数据的方法、装置和电子设备
CN113553002A (zh) * 2021-06-11 2021-10-26 宁乐 一种利用无理数的特性进行数据压缩和存储的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968528A (zh) * 2010-08-19 2011-02-09 詹文法 集成电路测试中的测试数据压缩方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968528A (zh) * 2010-08-19 2011-02-09 詹文法 集成电路测试中的测试数据压缩方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙冀.无理压缩-利用无理数特性压缩大型文件的设想.《职大学报》.2005,(第4期), *
无理压缩-利用无理数特性压缩大型文件的设想;孙冀;《职大学报》;20050127(第4期);全文 *

Also Published As

Publication number Publication date
CN102522120A (zh) 2012-06-27

Similar Documents

Publication Publication Date Title
CN102522120B (zh) 一种字典编码压缩方法
Li et al. Test data compression using dictionaries with selective entries and fixed-length indices
Li et al. Test data compression using dictionaries with fixed-length indices [soc testing]
Chandra et al. Test data compression and test resource partitioning for system-on-a-chip using frequency-directed run-length (FDR) codes
Chandra et al. Test data compression for system-on-a-chip using Golomb codes
Kavousianos et al. Optimal selective Huffman coding for test-data compression
Chandra et al. Frequency-directed run-length (FDR) codes with application to system-on-a-chip test data compression
Chandra et al. System-on-a-chip test-data compression and decompression architectures based on Golomb codes
CN100516911C (zh) 一种块标记的系统芯片测试数据压缩方法
US7484151B2 (en) Method and apparatus for testing logic circuit designs
EP1584937B1 (en) Systems and methods for processing automatically generated test patterns
Chandra et al. Test data compression and decompression based on internal scan chains and Golomb coding
CN101807926B (zh) 低功耗soc测试数据压缩编码方法
Wang et al. Test data compression for IP embedded cores using selective encoding of scan slices
CN101968528B (zh) 集成电路测试中的测试数据压缩方法
CN100454318C (zh) 适用于多扫描链设计芯核的soc测试数据的压缩方法
Sismanoglou et al. Input test data compression based on the reuse of parts of dictionary entries: Static and dynamic approaches
Kavousianos et al. Multilevel Huffman coding: An efficient test-data compression method for IP cores
CN104753541B (zh) 无理数存储测试向量的测试数据压缩方法
CN101604974A (zh) 一种具有相同游程长度的测试数据压缩编码、解码方法及专用解码单元
CN101762782B (zh) 系统芯片外建自测试数据的压缩方法及专用解码单元
Kavousianos et al. Test data compression based on variable-to-variable Huffman encoding with codeword reusability
CN102932000B (zh) 快速查找无理数的测试数据压缩方法
CN102323540A (zh) 一种基于编码的soc的测试方法
CN101937056B (zh) 数字集成电路测试数据的压缩生成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141112

Termination date: 20151108

EXPY Termination of patent right or utility model