CN102043126A - 一种基于测试向量相容的三游程编码压缩方法及其解压缩方法 - Google Patents

一种基于测试向量相容的三游程编码压缩方法及其解压缩方法 Download PDF

Info

Publication number
CN102043126A
CN102043126A CN 201010539334 CN201010539334A CN102043126A CN 102043126 A CN102043126 A CN 102043126A CN 201010539334 CN201010539334 CN 201010539334 CN 201010539334 A CN201010539334 A CN 201010539334A CN 102043126 A CN102043126 A CN 102043126A
Authority
CN
China
Prior art keywords
vector
test
value
test vector
code
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
Application number
CN 201010539334
Other languages
English (en)
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 201010539334 priority Critical patent/CN102043126A/zh
Publication of CN102043126A publication Critical patent/CN102043126A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

一种基于测试向量相容的三游程编码压缩方法,首先确定测试向量的编码,从测试向量集中取出任意一个测试向量t1,通过把与t1相容性最大的向量合并,并同时进行“0”的游程,“1”的游程和不相容值“c”游程的编码。以及提供解压缩方法,由解码器负责解码,将编码移入到被测电路保存,编码解码,直到还原被压缩之前的向量。本发明根据相容性最大的关系把测试向量集合并,并将合并后的向量同时进行三种游程的编码,在编码两端分别插入头信息和分割码,极大的减少了总的测试位数。解码时,将测试向量组的编码移入被测电路保存,可以重复利用,极大地降低了测试机与被测电路的带宽少。

Description

一种基于测试向量相容的三游程编码压缩方法及其解压缩方法
技术领域
本发明涉及集成电路测试技术,尤其涉及一种基于测试向量相容的三游程编码压缩方法及其解压缩方法。
背景技术
芯片制造技术的进步使单一的硅片上能集成上亿个晶体管,同时新的设计方法的产生,特别是向SOC设计方法的转变,大量的IP(Intellectual Property)核组合在一起形成片上系统(SOC,System-On-Chip),导致芯片规模直线上升,为了达到很高的错误覆盖率用于测试芯片的数据变的十分庞大,进而测试时间变得冗长。这就使得测试单个SOC所用的测试向量超出了测试设备性能允许的范围,测试设备面临容量不足以及输入输出带宽过小的问题。同时芯片的对从设计到最终上市的时间要求很紧,从而使得给予测试的时间变得更少。如今测试成本已经成为芯片成本的主要组成部分,如何减少测试成本进而减少芯片成本成为研究人员日益关注的问题。BIST(Built-In-Self-Test)测试方法众所周之的测试特定芯片结构的方法,它在芯片内部自动生成用于测试的伪随机向量序列,但具有芯片面积开销较大,测试时间长和难测故障等一些缺点。另一种很受研究人员重视的方法是通过测试数据的压缩/解压缩解决测试设备性能不足的问题以及缩短测试时间的问题。
数据压缩主要包含两类:基于线性反馈移位寄存器LFSR(Linear Feedback Shift Register)的重播种技术和基于编码的技术。LFSR在压缩存在大量无关位的测试集时有很大的优势,不适合确定位个数过多的情况。基于编码的技术通过对测试集定长或者变长的序列进行编码,可以有效减少测试数据量。在测试集中有大量的不定值“x”存在,可以将“x”设为“0”或“1”;测试集中相邻的向量具有很好的相关性,它们之间只有很少的位数值是不同的。利用这个结果可以得到新的差分测试集,该集合具有更好的“0”的游程,编码效率更高;也可以合并相邻的向量,减少向量个数,对合并后的向量压缩,也能很大的提高压缩率。把压缩后的数据放入ATE(Automatic Test Equipment)内存中,由芯片的解码模块进行解码,还原测试向量,减少了测试机与被测芯片的带宽和测试时间。
当前的基于编码的数据压缩技术仅对单个向量进行编码而没有结合向量相容性,仍存在较大的数据测试量,测试时间相对较长的技术缺陷,以及解码时,测试机和被测电路的带宽要求较高。
发明内容
本发明的目的是针对当前的基于编码的数据压缩方法只对单个向量进行编码而没有结合向量相容性、数据测试量较大、测试时间较长的不足,以及现有的解压缩方法的测试机和被测电路的带宽要求较高的不足,本发明提供一种根据相容性最大的关系把测试向量合并、大大减少了数据测试量、缩短测试时间的基于测试向量相容的三游程编码压缩方法,以及解码时能极大地降低测试机和被测电路的带宽的编码解压缩方法。 
为了解决上述技术问题提出的技术方案为:
一种基于测试向量相容的三游程编码压缩方法,所述压缩方法包括如下步骤:
1)确定测试向量的三种游程的编码,即“1”的游程,“0”的游程和不相容位上的值“c”的游程;
2)由被测电路得到第一测试向量集R,选取第一测试向量集R中任一个第一向量t 1 ,将第一向量t 1 从第一测试向量集R中移出,放入测试向量组S中,测试向量组S内的向量个数m为1,设第二测试向量集H,第二测试向量集H与第一测试向量集R相同;
3)从第二测试向量集H中找出与第一向量t 1 相容性最大的第二向量t 2 ,并将第二向量t 2从第二测试向量集H中移出;
    4)若n 2 大于n max ,并且第二测试集H不是空集,则返回步骤3),若第二测试集H为空集,则到步骤7)完成分组,若n 2 小于n max ,则到步骤5),其中,n max 为测试向量之间不相容位的最大个数,n 2 为第一向量t 1 与第二向量t 2 不相容位的个数;
5)将第二向量t 2 移入测试向量组S中,向量个数m的值增加1,求出第一向量t 1 与第二向量t 2 相容后的第四向量t 4
6)对测试向量组S编码,计算第一测试向量组S的压缩率λ和第二向量t 2 的压缩率λ comp ,判断第二向量t 2 是否要从测试向量组S移出,若第二测试向量集H为空集,则到步骤7),若第二测试向量集H不为空集,则到步骤3);
7)完成对测试向量组S的分组,对测试向量组S编码,得到表示测试向量组S内向量个数m的编码M、表示不相容位个数n的编码N以及表示不相容位上值信息的编码Q,由第一向量t 1 得到第六向量t 6 ,第六向量t 6 的编码为T6_code,从第一测试向量集R中移出测试向量组S内的向量;
8)若第一测试向量集R为空集,则分组结束,若第一测试向量集R不为空集,则回到步骤2)开始下一测试向量组。
所述步骤1)包括:
1.1)游程0和游程1的码字由前缀、后缀和标记码组成,将码字分组,设编码组为A k ,其中k为组号,码字的前缀和后缀的位数均为k,若对0游程编码,则标记码为1,否则为0,标记码在前缀之前;
1.2)码字前缀最后一位为“0”,其余位为“1”;码字后缀是由2 k 个01组合组成,顺序按大小排列;
1.3)对于长度为l的“0”游程或“1”游程,通过以下公式确定该游程落在哪一个编码组:
k=                                                
Figure 2010105393348100002DEST_PATH_IMAGE001
1.4)游程“c”的码字分两种情况,若游程“c”前面是游程“1”,则码字是由等于游程长度的个数的“1”和末尾的“0”组成,反之前面是游程“0”,则码字是由等于游程长度的个数的“0”和末尾的“1”组成;
1.5)设A max为测试集中最大的编码组,A max加1的组编码前缀作为测试向量组与测试向量组的分割码Sep_code。
所述步骤3)包括:
3.1)设定测试集中每个向量都有四种可能的取值:“0”、“1”、“x”、“c”,“x”表示不定值,既可取“1”也可取“0”,选取第二测试向量集H中任一个第二向量t 2  ,其中i为第一向量t 1 和第二向量t 2 内第i个元素的位置,函数Tor(t 1 (i),t 2 (i))为t 1 i)和t 2 i)的相容计算结果,当函数Tor(t 1  (i),t 2 (i))值为“1”时,t 1 i)和t 2 i)相容且取值为“1”,当函数Tor(t 1  (i),t 2 (i))值为“0”时,t 1 i)和t 2 i)相容且取值为“0”,当Tor(t 1  (i),t 2 (i))的值为“c”时,t 1 i)和t 2 i)不相容且取值为“c”, 
3.2)选取第二测试向量集H中任一个第三向量t 3 ,其中j为第三向量t 3 内第j个元素的位置,函数Tor(t 1 (j),t 3 (j))为t 1 j)和t 3 j)的相容结果,设n 2 为第一向量t 1 与第二向量t 2 不相容位的个数,即Tor(t 1  (i),t 2 (i))中值“c”的个数,设n 3 为第一向量与第三向量不相容位的个数,即Tor(t 1 (j),t 3 (j))中值“c”的个数;          
3.3)比较n 2 n 3 ,若n 2 大于n 3 ,则n 2 n 3 的值,第二向量t 2 取第三向量t 3 的值,若未遍历第二测试向量集H,则到步骤3.2),若遍历第二测试集H,将第二向量t 2 从第二测试向量集H中移出,然后到步骤4)。
所述步骤5)包括:
5.1)将第二向量t 2 移入测试向量组S中,m增加1,第四向量t 4 k个位置的元素t 4 k)的值由Tor(t 1  (i),t 2 (i))计算得到。
所述步骤6)包括:
6.1)由第四向量t 4 得到第五向量t 5 ,通过把第四向量t 4 中的值“0”、“1”和“c”复制到第五向量t 5 中相同的位置,而第四向量t 4 中的值“x”被它前面最近的值“0”或“1”替换后再复制到第五向量t 5 中;
6.2)对第五向量t 5 进行编码,用前面定义的三种游程编码得到t 5 的编码T5_code,编码长度为l code
6.3)测试向量组S中向量个数m和不相容个数n 1 MN位二进制信息表示,测试向量组S中不相容位上的值由Q位二进制表示,其中n 1 的值为第四向量t 4 内“c”出现的次数,也即第一向量t 1 与第二向量t 2 不相容位的个数,
Figure 2010105393348100002DEST_PATH_IMAGE003
Figure 557878DEST_PATH_IMAGE004
Figure 2010105393348100002DEST_PATH_IMAGE005
6.4)计算测试向量组S的压缩率λ和第二向量t 2 的压缩率λ comp ,将第二向量t 2 中的值“x”替换为前面与它最近的值“0”或“1”后进行编码,编码后的长度为l 2
Figure 744009DEST_PATH_IMAGE006
Figure 2010105393348100002DEST_PATH_IMAGE007
6.5)若测试向量组S的压缩率λ小于第二向量t 2 的压缩率λ comp ,则将第二向量t 2 从测试向量组S中移出,m减1,若λ大于λ comp ,则第二向量t 2 留在测试向量组S中,第一向量t 1 取第四向量t 4 的值;
6.6)若第二测试向量集H为空集,则到步骤7),若第二测试向量集H不为空集,则到步骤3)。
所述步骤7)包括:
7.1)由第一向量t 1 得到第六向量t 6 ,通过把第一向量t 1 中的值“0”、“1”和“c”复制到第六向量t 6 中相同的位置,而第一向量t 1 中的值“x”被它前面最近的值“0”或“1”替换后再复制到第六向量t 6 中;
7.2)根据三游程编码规则对第六向量t 6 进行编码,得到t 6 的编码T6_code;
7.3)测试向量组S中向量个数m和不相容个数nMN位二进制信息表示,测试向量组S中不相容位上的值由Q位二进制表示,其中n的值为第一向量t 1 内“c”出现的次数即不相容位个数;
Figure 651529DEST_PATH_IMAGE003
Figure 2010105393348100002DEST_PATH_IMAGE009
7.4)在T6_code之前插入(
Figure 216688DEST_PATH_IMAGE010
)位的组头信息,并在T6_code的末尾插入组分割码Sep_code,完成对测试向量组S的编码。
基于测试向量相容的三游程编码压缩方法及其解压缩方法的解压缩方法包括如下步骤:
1)将表示测试向量组S内向量个数m的编码M、不相容位个数n的编码N和不相容位上值的信息的Q输入到被测电路保存,然后输入第六向量t 6 的编码T6_code到被测电路;
2)对第六向量t 6 的编码T6_code进行解码,当遇到不相容位的编码时,用步骤2)保存过的不相容位上的值作为解码值,还原一个被压缩的向量,编码M的值减1;
3)若编码M的值不为0,则回到步骤3)继续对T6_code解码,若编码M的值为0,则对测试向量组S解码完成。
本发明具有以下优点:相容性最大的关系把测试向量集分组,并将测试向量组内的向量合并为一个第一向量t 1 ,对第一向量t 1 进行编码,在编码前插入组头信息,形成对测试向量组的编码。解码时,将测试向量组的编码移入被测电路保存,保存在被测电路中的编码可以重复利用,极大地降低了测试机与被测电路的带宽。
附图说明
图1本发明的测试向量压缩流程图;
图2本发明的寻找与第一向量t 1 相容性最大的第二向量t 2 流程图;
图3本发明的计算测试向量组S和第二向量t 2 的压缩率流程图;
图4本发明的对完成分组的测试向量组S编码流程图;
图5本发明的编码结构图;
图6本发明的解压缩测试向量组流程图。
具体实施方式
下面结合附图对本发明做进一步的说明。
实施例1
如图1所示,一种基于测试向量相容的三游程编码压缩方法,压缩过程包括如下步骤:
1)确定测试向量的三种游程的编码,即“1”的游程,“0”的游程和不相容位上的值“c”的游程;
2)由被测电路得到第一测试向量集R,选取第一测试向量集R中任一个第一向量t 1 ,将第一向量t 1 从第一测试向量集R中移出,放入测试向量组S中,测试向量组S内的向量个数m为1,设第二测试向量集H,第二测试向量集H与第一测试向量集R相同;
3)从第二测试向量集H中找出与第一向量t 1 相容性最大的第二向量t 2 ,并将第二向量t 2从第二测试向量集H中移出;
    4)若n 2 大于n max ,并且第二测试集H不是空集,则返回步骤3),若第二测试集H为空集,则到步骤7)完成分组,若n 2 小于n max ,则到步骤5),其中,n max 为测试向量之间不相容位的最大个数,n 2 为第一向量t 1 与第二向量t 2 不相容位的个数;
5)将第二向量t 2 移入测试向量组S中,向量个数m的值增加1,求出第一向量t 1 与第二向量t 2 相容后的第四向量t 4
6)对测试向量组S编码,计算第一测试向量组S的压缩率λ和第二向量t 2 的压缩率λ comp ,判断第二向量t 2 是否要从测试向量组S移出,若第二测试向量集H为空集,则到步骤7),若第二测试向量集H不为空集,则到步骤3);
7)完成对测试向量组S的分组,对测试向量组S编码,得到表示测试向量组S内向量个数m的编码M、表示不相容位个数n的编码N以及表示不相容位上值信息的编码Q,由第一向量t 1 得到第六向量t 6 ,第六向量t 6 的编码为T6_code,从第一测试向量集R中移出测试向量组S内的向量;
8)若第一测试向量集R为空集,则分组结束,若第一测试向量集R不为空集,则回到步骤2)开始下一测试向量组。
所述步骤1)包括:
1.1)游程0和游程1的码字由前缀、后缀和标记码组成,将码字分组,设编码组为A k ,其中k为组号,码字的前缀和后缀的位数均为k,若对0游程编码,则标记码为1,否则为0,标记码在前缀之前;
1.2)码字前缀最后一位为“0”,其余位为“1”;码字后缀是由2 k 个01组合组成,顺序按大小排列;
1.3)对于长度为l的“0”游程或“1”游程,通过以下公式确定该游程落在哪一个编码组:
k=
Figure 335954DEST_PATH_IMAGE001
1.4)游程“c”的码字分两种情况,若游程“c”前面是游程“1”,则码字是由等于游程长度的个数的“1”和末尾的“0”组成,反之前面是游程“0”,则码字是由等于游程长度的个数的“0”和末尾的“1”组成;
1.5)设A max为测试集中最大的编码组,A max加1的组编码前缀作为测试向量组与测试向量组的分割码Sep_code。
表1 本发明提出的“0”和“1”游程编码表
表2 本发明提出的“c”游程编码表
Figure 214043DEST_PATH_IMAGE012
如图2所示,所述步骤3)包括:
3.1)设定测试集中每个向量都有四种可能的取值:“0”、“1”、“x”、“c”,“x”表示不定值,既可取“1”也可取“0”,选取第二测试向量集H中任一个第二向量t 2  ,其中i为第一向量t 1 和第二向量t 2 内第i个元素的位置,函数Tor(t 1 (i),t 2 (i))为t 1 i)和t 2 i)的相容计算结果,当函数Tor(t 1  (i),t 2 (i))值为“1”时,t 1 i)和t 2 i)相容且取值为“1”,当函数Tor(t 1  (i),t 2 (i))值为“0”时,t 1 i)和t 2 i)相容且取值为“0”,当Tor(t 1  (i),t 2 (i))的值为“c”时,t 1 i)和t 2 i)不相容且取值为“c”, 
Figure 51549DEST_PATH_IMAGE002
3.2)选取第二测试向量集H中任一个第三向量t 3 ,其中j为第三向量t 3 内第j个元素的位置,函数Tor(t 1 (j),t 3 (j))为t 1 j)和t 3 j)的相容结果,设n 2 为第一向量t 1 与第二向量t 2 不相容位的个数,即Tor(t 1  (i),t 2 (i))中值“c”的个数,设n 3 为第一向量与第三向量不相容位的个数,即Tor(t 1 (j),t 3 (j))中值“c”的个数;          
3.3)比较n 2 n 3 ,若n 2 大于n 3 ,则n 2 n 3 的值,第二向量t 2 取第三向量t 3 的值,若未遍历第二测试向量集H,则到步骤3.2),若遍历第二测试集H,将第二向量t 2 从第二测试向量集H中移出,然后到步骤4)。
所述步骤5)包括:
5.1)将第二向量t 2 移入测试向量组S中,m增加1,第四向量t 4 k个位置的元素t 4 k)的值由Tor(t 1  (i),t 2 (i))计算得到。
所述步骤6)包括:
6.1)由第四向量t 4 得到第五向量t 5 ,通过把第四向量t 4 中的值“0”、“1”和“c”复制到第五向量t 5 中相同的位置,而第四向量t 4 中的值“x”被它前面最近的值“0”或“1”替换后再复制到第五向量t 5 中;
6.2)对第五向量t 5 进行编码,用前面定义的三种游程编码得到t 5 的编码T5_code,编码长度为l code
6.3)测试向量组S中向量个数m和不相容个数n 1 MN位二进制信息表示,测试向量组S中不相容位上的值由Q位二进制表示,其中n 1 的值为第四向量t 4 内“c”出现的次数,也即第一向量t 1 与第二向量t 2 不相容位的个数,
Figure 804610DEST_PATH_IMAGE003
Figure 43961DEST_PATH_IMAGE004
Figure 90021DEST_PATH_IMAGE005
6.4)计算测试向量组S的压缩率λ和第二向量t 2 的压缩率λ comp ,将第二向量t 2 中的值“x”替换为前面与它最近的值“0”或“1”后进行编码,编码后的长度为l 2
Figure 477140DEST_PATH_IMAGE006
6.5)若测试向量组S的压缩率λ小于第二向量t 2 的压缩率λ comp ,则将第二向量t 2 从测试向量组S中移出,m减1,若λ大于λ comp ,则第二向量t 2 留在测试向量组S中,第一向量t 1 取第四向量t 4 的值;
6.6)若第二测试向量集H为空集,则到步骤7),若第二测试向量集H不为空集,则到步骤3)。
如图4所示,所述步骤7)包括:
7.1)由第一向量t 1 得到第六向量t 6 ,通过把第一向量t 1 中的值“0”、“1”和“c”复制到第六向量t 6 中相同的位置,而第一向量t 1 中的值“x”被它前面最近的值“0”或“1”替换后再复制到第六向量t 6 中;
7.2)根据三游程编码规则对第六向量t 6 进行编码,得到t 6 的编码T6_code;
7.3)测试向量组S中向量个数m和不相容个数nMN位二进制信息表示,测试向量组S中不相容位上的值由Q位二进制表示,其中n的值为第一向量t 1 内“c”出现的次数即不相容位个数;
Figure 862171DEST_PATH_IMAGE003
Figure 596909DEST_PATH_IMAGE008
Figure 894160DEST_PATH_IMAGE009
7.4)在T6_code之前插入(
Figure 67653DEST_PATH_IMAGE010
)位的组头信息,并在T6_code的末尾插入组分割码Sep_code,完成对测试向量组S的编码,编码结构如图5所示。
实例:设测试集R中有四个向量:T1T2T3T4。向量长度L均为24位。选取T1作为分组S的第一个向量,从R中移出,并使t 1 =T1。R中向量为T2T3T4。集合H=R。n max =3。组分割码Sep_code取111110
T1:1xxx1xxxx0xx1xxxxx1xxxxxxxxx
T2xxxx0xx0x0xxx0xxxx1xxxxxxxxx
T3xxxx1xxxx1xxxxxxxx0xxx1xxxxx
T4:1xxx01xxx1xxxxxxxxx0xx0xxxxx
从H中找与t 1 相容性最大的向量,得到向量t 2 =T2n 2 =1。从H中移出t 2 n 2 小于n max 并且测试集H不是空集。m=2,合并t 1 t 2 得到向量t 4 t 2 移入测试向量组St 4 中值“c”个数为n 1 =1,M=N=2,Q=m×n 1 =2。
t 4 :1xxxcxx0x0xx10xxxx1xxxxxxxxx
    根据“x”前面的值,把“x”设为“0”或“1”,得到向量t 5
t 5 :1111c00000001000001111111111
编码:11001 10 0110000 100 01010 1110001              29bits
组头信息编码:M:10  N:01  Q:10               6bits
总的编码:10 01 10 110011001100001000101011011     35bits
压缩率
Figure 2010105393348100002DEST_PATH_IMAGE013
t 2 单独编码
编码:0110010 1110011                              14bits
压缩率λ comp =
Figure 202968DEST_PATH_IMAGE014
=
Figure 2010105393348100002DEST_PATH_IMAGE015
由于λ<λ comp ,则t 2 S中移出,m的值减1。
继续从H中寻找与t 1 相容最大的向量,此时H中的向量为T3T4
从H中找到与T相容性最大的向量t 2 =T3n 2 =2,从H中移出t 2 n 2 小于n max 并且测试集H不是空集,t 2 移入测试向量组S中,合并t 1 t 2 得到向量t 4 t 4 中值“c”个数为n 1 =2,M=N=2,Q=m×n 1 =4。
t 4 :1xxx1xxxxcxx1xxxxxcxxx1xxxxx
根据“x”前面的值,把“x”设为“0”或“1”,得到向量t 5
t 5 :111111111c11111111c111111111
编码:1110010 10 1110001 10 1110010                         25bits
组头信息编码:M:10  N:10  Q:0110                8bits
总的编码:10 10 0110 1110010101110001101110010          33bits
压缩率
Figure 794093DEST_PATH_IMAGE013
t 2 单独编码
编码:111100011 01001 11011                19bits
压缩率λ comp =
Figure 827908DEST_PATH_IMAGE016
=
Figure 2010105393348100002DEST_PATH_IMAGE017
由于λ>λ comp ,则t 2 保留在测试向量组S中。
t 1 =t 4   
从H中找到与t 1 相容性最大的向量t 2 =T4,从H中移出t 2 n 2 =4,由于n 2 >n max ,所以t 2 不能移入组S。H为空集。完成测试向量组S的分组,组内向量为T1T3,并从R中移出T3。编码组S内向量个数和不相容位个数,不相容位个数Q
对测试向量组S编码,统计t 1 内值“c”的个数n=2,M=N=2,不相容位上值信息Q=m×n
M:10  N:10  Q:0110
t 6 编码得到T6_code。
t 6 :1110010101110001101110010    
在T6_code之前插入组头信息并在末尾插入组分割码。
S编码:10 10 0110 1110010101110001101110010111110  
测试集R完成第一个分组。
实施例2
如图6所示,一种基于测试向量相容的三游程编码解压缩方法,所述解压缩方法包括如下步骤:
1)将表示测试向量组S内向量个数m的编码M、不相容位个数n的编码N和不相容位上值的信息的Q输入到被测电路保存,然后输入第六向量t 6 的编码T6_code到被测电路;
2)对第六向量t 6 的编码T6_code进行解码,当遇到不相容位的编码时,用步骤2)保存过的不相容位上的值作为解码值,还原一个被压缩的向量,编码M的值减1;
3)若编码M的值不为0,则回到步骤3)继续对T6_code解码,若编码M的值为0,则对测试向量组S解码完成。
实例:根据实施例1所划分的组S的编码进行解码。组S的编码为:10 10 0110 1110010101110001101110010111110。向量个数m的编码M为10,不相容位个数n的编码N的编码为10。则0110为不相容位上的值。去掉编码MNQ以及组分割码得到第六向量t 6 的编码T6_code为1110010101110001101110010。
对T6_code进行解码,不相容位的编码分别为10和10,其它为游程0和游程1的编码。当对不相容为解码时用Q的值作为解码值。还原第一个向量1111111110111111111111111111,M的值减1;
继续对T6_code解码,直到M的值为0,从而得到另一个向量1111111111111111110111111111。此时M的值为0,解码完成。

Claims (7)

1.一种基于测试向量相容的三游程编码压缩方法,其特征在于:所述压缩方法包括如下步骤:
1)确定测试向量的三种游程的编码,即“1”的游程,“0”的游程和不相容位上的值“c”的游程;
2)由被测电路得到第一测试向量集R,选取第一测试向量集R中任一个第一向量t 1 ,将第一向量t 1 从第一测试向量集R中移出,放入测试向量组S中,测试向量组S内的向量个数m为1,设第二测试向量集H,第二测试向量集H与第一测试向量集R相同;
3)从第二测试向量集H中找出与第一向量t 1 相容性最大的第二向量t 2 ,并将第二向量t 2从第二测试向量集H中移出;
    4)若n 2 大于n max ,并且第二测试集H不是空集,则返回步骤3),若第二测试集H为空集,则到步骤7)完成分组,若n 2 小于n max ,则到步骤5),其中,n max 为测试向量之间不相容位的最大个数,n 2 为第一向量t 1 与第二向量t 2 不相容位的个数;
5)将第二向量t 2 移入测试向量组S中,向量个数m的值增加1,求出第一向量t 1 与第二向量t 2 相容后的第四向量t 4
6)对测试向量组S编码,计算第一测试向量组S的压缩率λ和第二向量t 2 的压缩率λ comp ,判断第二向量t 2 是否要从测试向量组S移出,若第二测试向量集H为空集,则到步骤7),若第二测试向量集H不为空集,则到步骤3);
7)完成对测试向量组S的分组,对测试向量组S编码,得到表示测试向量组S内向量个数m的编码M、表示不相容位个数n的编码N以及表示不相容位上值信息的编码Q,由第一向量t 1 得到第六向量t 6 ,第六向量t 6 的编码为T6_code,从第一测试向量集R中移出测试向量组S内的向量;
8)若第一测试向量集R为空集,则分组结束,若第一测试向量集R不为空集,则回到步骤2)开始下一测试向量组。
2.如权利要求1所述的一种基于测试向量相容的三游程编码压缩方法,其特征在于:所述步骤1)包括:
1.1)游程0和游程1的码字由前缀、后缀和标记码组成,将码字分组,设编码组为A k ,其中k为组号,码字的前缀和后缀的位数均为k,若对0游程编码,则标记码为1,否则为0,标记码在前缀之前;
1.2)码字前缀最后一位为“0”,其余位为“1”;码字后缀是由2 k 个01组合组成,顺序按大小排列;
1.3)对于长度为l的“0”游程或“1”游程,通过以下公式确定该游程落在哪一个编码组:
k=                                                
1.4)游程“c”的码字分两种情况,若游程“c”前面是游程“1”,则码字是由等于游程长度的个数的“1”和末尾的“0”组成,反之前面是游程“0”,则码字是由等于游程长度的个数的“0”和末尾的“1”组成;
1.5)设A max为测试集中最大的编码组,A max加1的组编码前缀作为测试向量组与测试向量组的分割码Sep_code。
3. 如权利要求1或2所述的一种基于测试向量相容的三游程编码压缩方法及其解压缩方法,其特征在于:所述步骤3)包括:
3.1)设定测试集中每个向量都有四种可能的取值:“0”、“1”、“x”、“c”,“x”表示不定值,既可取“1”也可取“0”,选取第二测试向量集H中任一个第二向量t 2  ,其中i为第一向量t 1 和第二向量t 2 内第i个元素的位置,函数Tor(t 1 (i),t 2 (i))为t 1 i)和t 2 i)的相容计算结果,当函数Tor(t 1  (i),t 2 (i))值为“1”时,t 1 i)和t 2 i)相容且取值为“1”,当函数Tor(t 1  (i),t 2 (i))值为“0”时,t 1 i)和t 2 i)相容且取值为“0”,当Tor(t 1  (i),t 2 (i))的值为“c”时,t 1 i)和t 2 i)不相容且取值为“c”, 
3.2)选取第二测试向量集H中任一个第三向量t 3 ,其中j为第三向量t 3 内第j个元素的位置,函数Tor(t 1 (j),t 3 (j))为t 1 j)和t 3 j)的相容结果,设n 2 为第一向量t 1 与第二向量t 2 不相容位的个数,即Tor(t 1  (i),t 2 (i))中值“c”的个数,设n 3 为第一向量与第三向量不相容位的个数,即Tor(t 1 (j),t 3 (j))中值“c”的个数;          
3.3)比较n 2 n 3 ,若n 2 大于n 3 ,则n 2 n 3 的值,第二向量t 2 取第三向量t 3 的值,若未遍历第二测试向量集H,则到步骤3.2),若遍历第二测试集H,将第二向量t 2 从第二测试向量集H中移出,然后到步骤4)。
4. 如权利要求3所述的一种基于测试向量相容的三游程编码压缩方法,其特征在于:所述步骤5)包括:
5.1)将第二向量t 2 移入测试向量组S中,m增加1,第四向量t 4 k个位置的元素t 4 k)的值由Tor(t 1  (i),t 2 (i))计算得到。
5.如权利要求1或2所述的一种基于测试向量相容的三游程编码压缩方法,其特征在于:所述步骤6)包括:
6.1)由第四向量t 4 得到第五向量t 5 ,通过把第四向量t 4 中的值“0”、“1”和“c”复制到第五向量t 5 中相同的位置,而第四向量t 4 中的值“x”被它前面最近的值“0”或“1”替换后再复制到第五向量t 5 中;
6.2)对第五向量t 5 进行编码,用前面定义的三种游程编码得到t 5 的编码T5_code,编码长度为l code
6.3)测试向量组S中向量个数m和不相容个数n 1 MN位二进制信息表示,测试向量组S中不相容位上的值由Q位二进制表示,其中n 1 的值为第四向量t 4 内“c”出现的次数,也即第一向量t 1 与第二向量t 2 不相容位的个数,
Figure 2010105393348100001DEST_PATH_IMAGE003
Figure 2010105393348100001DEST_PATH_IMAGE004
Figure 2010105393348100001DEST_PATH_IMAGE005
6.4)计算测试向量组S的压缩率λ和第二向量t 2 的压缩率λ comp ,将第二向量t 2 中的值“x”替换为前面与它最近的值“0”或“1”后进行编码,编码后的长度为l 2
Figure 2010105393348100001DEST_PATH_IMAGE006
Figure 2010105393348100001DEST_PATH_IMAGE007
6.5)若测试向量组S的压缩率λ小于第二向量t 2 的压缩率λ comp ,则将第二向量t 2 从测试向量组S中移出,m减1,若λ大于λ comp ,则第二向量t 2 留在测试向量组S中,第一向量t 1 取第四向量t 4 的值;
6.6)若第二测试向量集H为空集,则到步骤7),若第二测试向量集H不为空集,则到步骤3)。
6.如权利要求1或2所述的一种基于测试向量相容的三游程编码压缩方法,其特征在于:所述步骤7)包括:
7.1)由第一向量t 1 得到第六向量t 6 ,通过把第一向量t 1 中的值“0”、“1”和“c”复制到第六向量t 6 中相同的位置,而第一向量t 1 中的值“x”被它前面最近的值“0”或“1”替换后再复制到第六向量t 6 中;
7.2)根据三游程编码规则对第六向量t 6 进行编码,得到t 6 的编码T6_code;
7.3)测试向量组S中向量个数m和不相容个数nMN位二进制信息表示,测试向量组S中不相容位上的值由Q位二进制表示,其中n的值为第一向量t 1 内“c”出现的次数即不相容位个数;
Figure 944027DEST_PATH_IMAGE003
Figure 2010105393348100001DEST_PATH_IMAGE009
7.4)在T6_code之前插入(
Figure 2010105393348100001DEST_PATH_IMAGE010
)位的组头信息,并在T6_code的末尾插入组分割码Sep_code,完成对测试向量组S的编码。
7.一种基于测试向量相容的三游程编码解压缩方法,其特征在于:所述解压缩方法包括如下步骤:
1)将表示测试向量组S内向量个数m的编码M、不相容位个数n的编码N和不相容位上值的信息的Q输入到被测电路保存,然后输入第六向量t 6 的编码T6_code到被测电路;
2)对第六向量t 6 的编码T6_code进行解码,当遇到不相容位的编码时,用步骤2)保存过的不相容位上的值作为解码值,还原一个被压缩的向量,编码M的值减1;
3)若编码M的值不为0,则回到步骤3)继续对T6_code解码,若编码M的值为0,则对测试向量组S解码完成。
CN 201010539334 2010-11-11 2010-11-11 一种基于测试向量相容的三游程编码压缩方法及其解压缩方法 Pending CN102043126A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010539334 CN102043126A (zh) 2010-11-11 2010-11-11 一种基于测试向量相容的三游程编码压缩方法及其解压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010539334 CN102043126A (zh) 2010-11-11 2010-11-11 一种基于测试向量相容的三游程编码压缩方法及其解压缩方法

Publications (1)

Publication Number Publication Date
CN102043126A true CN102043126A (zh) 2011-05-04

Family

ID=43909459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010539334 Pending CN102043126A (zh) 2010-11-11 2010-11-11 一种基于测试向量相容的三游程编码压缩方法及其解压缩方法

Country Status (1)

Country Link
CN (1) CN102043126A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105137322A (zh) * 2015-08-12 2015-12-09 安庆师范学院 一种基于最大近似相容的分组测试向量的编码压缩方法
CN107144782A (zh) * 2017-04-21 2017-09-08 吴海峰 基于连分数存储的集成电路测试数据压缩方法
CN109412605A (zh) * 2018-11-05 2019-03-01 安庆师范大学 基于fdr的最大相容块的向量压缩方法、装置及系统
CN112073069A (zh) * 2020-09-07 2020-12-11 中电科仪器仪表有限公司 一种适用于集成电路测试的测试向量无损压缩方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050068207A1 (en) * 2003-09-25 2005-03-31 Dongpei Su Split runlength encoding method and apparatus
CN101202548A (zh) * 2007-12-28 2008-06-18 北京邮电大学 一种双游程数据编码方法
CN101604001A (zh) * 2009-07-02 2009-12-16 浙江大学 一种基于测试向量相容的测试向量编码压缩方法
CN101807926A (zh) * 2010-01-21 2010-08-18 上海电力学院 低功耗soc测试数据压缩编码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050068207A1 (en) * 2003-09-25 2005-03-31 Dongpei Su Split runlength encoding method and apparatus
CN101202548A (zh) * 2007-12-28 2008-06-18 北京邮电大学 一种双游程数据编码方法
CN101604001A (zh) * 2009-07-02 2009-12-16 浙江大学 一种基于测试向量相容的测试向量编码压缩方法
CN101807926A (zh) * 2010-01-21 2010-08-18 上海电力学院 低功耗soc测试数据压缩编码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《浙江大学学报》 20101115 万民永 等 基于测试向量相容的编码压缩方法 2148-2153 1-7 第44卷, 第11期 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105137322A (zh) * 2015-08-12 2015-12-09 安庆师范学院 一种基于最大近似相容的分组测试向量的编码压缩方法
CN105137322B (zh) * 2015-08-12 2017-12-12 安庆师范学院 一种基于最大近似相容的分组测试向量的编码压缩方法
CN107144782A (zh) * 2017-04-21 2017-09-08 吴海峰 基于连分数存储的集成电路测试数据压缩方法
CN107144782B (zh) * 2017-04-21 2019-05-14 吴海峰 基于连分数存储的集成电路测试数据压缩方法
CN109412605A (zh) * 2018-11-05 2019-03-01 安庆师范大学 基于fdr的最大相容块的向量压缩方法、装置及系统
CN109412605B (zh) * 2018-11-05 2022-06-21 安庆师范大学 基于fdr的最大相容块的向量压缩方法、装置及系统
CN112073069A (zh) * 2020-09-07 2020-12-11 中电科仪器仪表有限公司 一种适用于集成电路测试的测试向量无损压缩方法
CN112073069B (zh) * 2020-09-07 2024-03-26 中电科思仪科技股份有限公司 一种适用于集成电路测试的测试向量无损压缩方法

Similar Documents

Publication Publication Date Title
CN101604001B (zh) 一种基于测试向量相容的测试向量编码压缩方法
CN101807926B (zh) 低功耗soc测试数据压缩编码方法
Shin et al. A new circuit simplification method for error tolerant applications
CN102353894B (zh) 基于参考向量和位掩码的soc的测试方法
CN102043126A (zh) 一种基于测试向量相容的三游程编码压缩方法及其解压缩方法
WO2013016989A1 (en) Test stimuli compression and test response compaction in low-power scan testing
CN104753541B (zh) 无理数存储测试向量的测试数据压缩方法
CN102668560B (zh) 嵌入式图形编码:用于并行解码的重排序比特流
CN104038232A (zh) 基于二次异或运算的测试数据压缩与解压缩方法
Kavousianos et al. Test data compression based on variable-to-variable Huffman encoding with codeword reusability
CN103297768A (zh) 用于视频和图像压缩的并行金字塔熵编码
CN102904579B (zh) 基于逐次逼近法的编码压缩方法
Kavousianos et al. Multilevel-Huffman test-data compression for IP cores with multiple scan chains
CN109474279B (zh) 一种数据压缩方法及装置
Lin et al. A multilayer data copy test data compression scheme for reducing shifting-in power for multiple scan design
Li et al. On using exponential-golomb codes and subexponential codes for system-on-a-chip test data compression
CN103746704A (zh) 基于双游程交替编码的芯片测试数据传输方法
CN109412605B (zh) 基于fdr的最大相容块的向量压缩方法、装置及系统
CN105137322B (zh) 一种基于最大近似相容的分组测试向量的编码压缩方法
Pomeranz Input test data volume reduction for skewed-load tests by additional shifting of scan-in states
Gopal et al. Low power estimation on test compression technique for SoC based design
CN114325311A (zh) 一种测试向量的编码方法
Mirthulla et al. Improvement of test data compression using combined encoding
Mu et al. Theoretical analysis for low-power test decompression using test-slice duplication
Asokan et al. Burrows wheeler transform based test vector compression for digital circuits

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110504