CN107144782A - 基于连分数存储的集成电路测试数据压缩方法 - Google Patents

基于连分数存储的集成电路测试数据压缩方法 Download PDF

Info

Publication number
CN107144782A
CN107144782A CN201710267075.XA CN201710267075A CN107144782A CN 107144782 A CN107144782 A CN 107144782A CN 201710267075 A CN201710267075 A CN 201710267075A CN 107144782 A CN107144782 A CN 107144782A
Authority
CN
China
Prior art keywords
swimming
distance
data
code
test
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.)
Granted
Application number
CN201710267075.XA
Other languages
English (en)
Other versions
CN107144782B (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.)
Shanghai Woshi Electronic Co ltd
Shenzhen Morning Intellectual Property Operations Co ltd
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 CN201710267075.XA priority Critical patent/CN107144782B/zh
Publication of CN107144782A publication Critical patent/CN107144782A/zh
Application granted granted Critical
Publication of CN107144782B publication Critical patent/CN107144782B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318335Test pattern compression or decompression
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提出了一种基于连分数存储的集成电路测试数据压缩方法,可以实现测试数据的进一步压缩。其依次按位从测试数据包S中读取数据,根据相邻确定位向无关位填充0或1,以使所得游程的长度达到最大,并将测试数据包S转换为多个游程,然后依据相邻两个游程得到一组压缩编码并加入压缩数据包;所述的压缩编码依次由3部分组成:双游程代码、公约数代码、连分数代码;本发明还公开了对应的解码程序。

Description

基于连分数存储的集成电路测试数据压缩方法
技术领域
本发明涉及集成电路测试技术,特别是对系统芯片(System-on-a-Chip, SoC)的外建自测试(Built-Out Self-Test, BOST)方法中测试数据压缩方法。
背景技术
在SoC设计中,越来越高的电路密度导致测试数据量急剧增加。更大的测试数据规模不仅要求更高的内存需求,而且还增加测试时间。ITRS 2013报告显示,SOC-CP-ConsumerSOC进行测试的最小测试数据量10年增加了近4倍,最低压缩比10年增加了近6倍。测试数据压缩技术通过减少测试数据量来解决这个问题,而不会影响系统的整体性能。
编码压缩技术采用比原始测试数据更短的代码字来存储测试数据,实现测试数据的压缩,是测试数据压缩技术中应用广泛的技术之一。该技术具有如下优点:采用的是无损压缩,不降低故障覆盖率;解压结构独立于被测电路,可以有效地保护IP核的知识产权;特别适用于不支持BIST的CUT,应用性更广泛。
按照编码原理,编码压缩技术可以分为游程编码和统计编码。游程编码按照测试数据中连续的0或1的个数进行编码,具有代表性的有EFDR码、变游程码(VRLC)、混合定变长码(MFVLC)、交替-连续长度码(ARLC)等;统计编码按照数据序列出现的频率进行编码,具有代表性的有统计码、选择Huffman编码、字典码等。
游程编码作为编码压缩技术中的一种优秀解决方案,具有压缩方法简单、解压结构硬件开销小的优点。其解压结构包含2个计数器,当游程长度较大时,对应解压结构中的计数器的硬件开销明显增大。
所述游程包括0游程和1游程两种类型,其中0游程是指一个由至少1位的连续的0及结尾的1个1组成的字符段,1游程是指一个由至少1位的连续的1及结尾的1个0组成的字符段,连续0或连续1的位数称为游程长度(以下记为L)。如7位的二进制数据流0011110,前3位001可以认为是一个0游程,游程长度L为2,第3位的1理解为该游程结束标志;后4位1110可以认为是一个1游程,游程长度L为3,第4位的0理解为该游程结束标志。
现有文献已经公开了连分数的相关定义:设{an}为复数列,称形如的分数为连分数,记为[a0/a1/a2/ a3/…],项数可为有限或无限。当项数有限,首项a0为整数,其余项a1,a2,a3,…为正整数时,称为有限简单连分数。公式中的a0, a1,a2,a3,……称为部分商。
何雅.连分数及其基本性质[J].长江工程职业技术学院学报,2004,21(1):50-52.进一步对连分数进行了介绍,并给出了定理:有理数都可以表示为有限简单连分数。该有限简单连分数可以逆转为唯一的分数形式的有理数。
发明内容
本发明的目的在于克服现有技术的不足,提出一种基于连分数存储的集成电路测试数据压缩方法,可以实现测试数据的进一步压缩。
为解决上述技术问题,本发明的基于连分数存储的集成电路测试数据压缩方法,包括以下步骤:
a、采用自动测试模式生成工具ATPG,生成确定的完全测试集T,所述的完全测试集T由有限个固定宽度的测试向量组成,记录该测试向量的宽度;
本领域技术人员都知晓:单个的测试向量包括有限个确定位和有限个无关位,确定位在当前测试向量中的位置不固定,确定位体现为二进制数0或1;无关位在当前测试向量中的位置不固定,无关位填充为0或1后,对集成电路测试结果无影响,且,确定位和无关位是计算机可判定的。在一个测试向量中,确定位和无关位的总位数称为测试向量的宽度。
b、将所有测试向量级联,得到测试数据包,记为S。
c、依次按位从测试数据包S中读取数据;调用游程计算程序,得到第一个游程R1,所述的游程计算程序根据相邻确定位向无关位填充0或1,以使得第一个游程R1的长度达到最大;记录所得游程的类型为C1、长度为L1
d、继续从S中读取数据,调用游程计算程序,得到第二个游程R2,所述的游程计算程序根据相邻确定位向无关位填充0或1,以使得第二个游程R2的长度达到最大;记录所得游程的类型为C2、长度为L2
e、依据步骤c所得到的第一个游程R1、步骤d所得到的第二个游程R2,调用编码程序,得到一组压缩编码,并将该压缩编码加入压缩数据包;本步骤中,所述的压缩编码依次由3部分组成:第一部分为双游程代码,第二部分为公约数代码,第三部分为连分数代码,所述编码程序包括:
e1、计算双游程代码,所述双游程代码为3位二进制代码,第一位为0,第二位以0或1表示第一个游程R1的类型C1,第三位以0或1表示第二个游程R2的类型C2
e2、计算公约数代码:首先计算L1、L2的最大公约数为gcd,然后将该十进制数gcd转换为二进制形式的公约数代码,所述公约数代码包括前缀和后缀,所述的前缀和后缀为位数相同的二进制数,其编码方法:前缀由i个1和1个0构成,其中,;后缀为gcd+4转换成对应的二进制数后去掉最高位1的剩余部分;
e3、计算连分数代码:依据该最大公约数gcd,将L1/L2转化为最简分数,再将所得最简分数转换为一个有限简单连分数表示,所述的有限简单连分数包括由若干个正整数构成的部分商序列,即L1/L2 = [a0/a1/a2/.../an];依次将单个十进制形式的部分商转换为二进制形式的部分商代码并级联,即得到当前第一个游程和第二个游程对应的连分数代码;
所述部分商代码包括前缀和后缀,所述的前缀和后缀为位数相同的二进制数,其编码方法:前缀由i个1和1个0构成,其中,;后缀为an+4转换成对应的二进制数后去掉最高位1的剩余部分。
f、判定测试数据包S是否读完,如否转步骤c继续编码,如是转步骤g。
g、得到完整的压缩数据包,程序结束。
所述游程计算程序包括多种实现方法。
所述步骤c、步骤d中的游程计算程序的第一种实现方法,包括以下步骤:
步骤cd-0、当前数据流清零;
步骤cd-1、从测试数据包S中按顺序逐位读入数据并加入当前数据流;记录读到的首个确定位数据为qd1;
步骤cd-2、继续从测试数据包S中按位读入数据并加入当前数据流,直至读取到一个不等于qd1的确定位,记录该第二个确定位为qd2;
步骤cd-3、将当前数据流中所有的无关位填充为qd1,将所得的以qd2结尾的数据流记录为一个游程,记录该游程的类型、长度。
所述步骤c、步骤d中的游程计算程序的第二种实现方法,包括以下步骤:
步骤cd0、当前数据流清零;
步骤cd1、从测试数据包S中按顺序向当前数据流读入1位数据;
步骤cd2、判断所读入的当前数据是否为无关位,如是转步骤cd3;如否,转步骤cd4;
步骤cd3、判断当前数据流长度是否为1,如是,从测试数据包S中向后寻找最接近的一个确定位,并将当前无关位填充为与该最接近的一个确定位相同的数据,将填充后的数据更新至当前数据流,然后转步骤cd1;如否,将当前无关位填充为与当前数据流中前一位相同的数据,将填充后的数据更新至当前数据流,然后转步骤cd1;
步骤cd4、判定当前数据与前一位是否相同,如是,则当前数据流不能构成游程,转步骤cd1;如否,则当前数据流构成一个游程,记录该游程的类型、长度。
特殊情况处理:测试数据包S可能出现长度不够的情况,即测试数据包S的末尾不足以构成最后的一组连续游程。在此种情况下,所述步骤f还包括:若出现测试数据包S长度不够,导致最后一组游程无法生成的情况,则向测试数据包S补充有限个无关位或游程,以完成最后一组编码;本领域技术人员都知晓,对于某种芯片,其测试向量的宽度是固定的,测试数据包S中有效数据的长度也是固定的,因而末尾补充的数据仅仅用于完成压缩过程,但并不影响测试结果。
本发明的优点在于:将测试数据中大量存在的无关位按照压缩需要填充为0或1,因而可以最大限度的扩大当前游程长度,且不影响解压后的芯片测试;将连续的两个长游程转换为多个短游程进行存储,减小了解压结构的硬件开销;同时,进一步压缩了测试数据。
附图说明
图1 是本发明的基于连分数存储的集成电路测试数据压缩方法的总体流程图;
图2是本发明中游程计算程序的第一种算法的流程图;
图3是本发明中游程计算程序的第二种算法的流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明:
如图1可见,本发明的基于连分数存储的集成电路测试数据压缩方法,包括以下步骤:
a、采用自动测试模式生成工具ATPG,生成确定的完全测试集T,所述的完全测试集T由有限个固定宽度的测试向量组成,记录该测试向量的宽度;
公知常识:单个的测试向量包括有限个确定位和有限个无关位,确定位在当前测试向量中的位置不固定,确定位体现为二进制数0或1;无关位在当前测试向量中的位置不固定,无关位填充为0或1后,对集成电路测试结果无影响,且,确定位和无关位是计算机可判定的。在一个测试向量中,确定位和无关位的总位数称为测试向量的宽度。
b、将所有测试向量级联,得到测试数据包,记为S;
c、依次按位从测试数据包S中读取数据;调用游程计算程序,得到第一个游程R1,所述的游程计算程序根据相邻确定位向无关位填充0或1,以使得第一个游程R1的长度达到最大;记录所得游程的类型为C1、长度为L1
d、继续从S中读取数据,调用游程计算程序,得到第二个游程R2,所述的游程计算程序根据相邻确定位向无关位填充0或1,以使得第二个游程R2的长度达到最大;记录所得游程的类型为C2、长度为L2
e、依据步骤c所得到的第一个游程R1、步骤d所得到的第二个游程R2,调用编码程序,得到一组压缩编码,并将该压缩编码加入压缩数据包;本步骤中,所述的压缩编码依次由3部分组成:第一部分为双游程代码,第二部分为公约数代码,第三部分为连分数代码,所述编码程序包括:
e1、计算双游程代码,所述双游程代码为3位二进制代码,第一位为0,第二位以0或1表示第一个游程R1的类型C1,第三位以0或1表示第二个游程R2的类型C2
e2、计算公约数代码:首先计算L1、L2的最大公约数为gcd,然后将该十进制数gcd转换为二进制形式的公约数代码,所述公约数代码包括前缀和后缀,所述的前缀和后缀为位数相同的二进制数,其编码方法:前缀由i个1和1个0构成,其中,;后缀为gcd+4转换成对应的二进制数后去掉最高位1的剩余部分;
e3、计算连分数代码:依据该最大公约数gcd,将L1/L2转化为最简分数,再将所得最简分数转换为一个有限简单连分数表示,所述的有限简单连分数包括由若干个正整数构成的部分商序列,即L1/L2 = [a0/a1/a2/.../an];依次将单个十进制形式的部分商转换为二进制形式的部分商代码并级联,即得到当前第一个游程和第二个游程对应的连分数代码;
所述部分商代码包括前缀和后缀,所述的前缀和后缀为位数相同的二进制数,其编码方法:前缀由i个1和1个0构成,其中,;后缀为an+4转换成对应的二进制数后去掉最高位1的剩余部分;
本发明中,由于L1、L2均为正整数,因此L1/L2所得的连分数都是有限简单连分数。其中,a0、a1、a2、a3、…称为部分商。根据该部分商序列进行逆转换,所得有理数是唯一的。也就是说,在本发明中,L1/L2可以转换为一个唯一的有限简单连分数,该有限简单连分数可以逆转为唯一的分数形式的有理数。因而,依据压缩编码中的连分数代码,可以唯一的还原L1/L2;结合步骤jy2的最大公约数gcd,可以还原为十进制的L1、L2
至于如何将一个分数形式的有理数转换为对应的有限简单连分数,以及如何将一个有限简单连分数转换为对应的分数形式的有理数,现有数学文献中已经有大量记载,本发明不再详述。
f、判定测试数据包S是否读完,如否转步骤c继续编码,如是转步骤g;
g、得到完整的压缩数据包,程序结束。
□游程计算程序的第一种实现方法
如图2可见,所述步骤c、步骤d中的游程计算程序有多种实现方法,第一种实现方法,包括以下步骤:
步骤cd-0、当前数据流清零;
步骤cd-1、从测试数据包S中按顺序逐位读入数据并加入当前数据流;记录读到的首个确定位数据为qd1;
步骤cd-2、继续从测试数据包S中按位读入数据并加入当前数据流,直至读取到一个不等于qd1的确定位,记录该第二个确定位为qd2;
步骤cd-3、将当前数据流中所有的无关位填充为qd1,将所得的以qd2结尾的数据流记录为一个游程,记录该游程的类型、长度。
□游程计算程序的第二种实现方法
如图3可见,所述步骤c、步骤d中的游程计算程序的第二种实现方法,包括以下步骤:
步骤cd0、当前数据流清零;
步骤cd1、从测试数据包S中按顺序向当前数据流读入1位数据;
步骤cd2、判断所读入的当前数据是否为无关位,如是转步骤cd3;如否,转步骤cd4;
步骤cd3、判断当前数据流长度是否为1,如是,从测试数据包S中向后寻找最接近的一个确定位,并将当前无关位填充为与该最接近的一个确定位相同的数据,将填充后的数据更新至当前数据流,然后转步骤cd1;如否,将当前无关位填充为与当前数据流中前一位相同的数据,将填充后的数据更新至当前数据流,然后转步骤cd1;
步骤cd4、判定当前数据与前一位是否相同,如是,则当前数据流不能构成游程,转步骤cd1;如否,则当前数据流构成一个游程,记录该游程的类型、长度。
□代码举例
为了便于理解,结合一段代码对本发明的具体实施方式进行进一步的说明。本实施中,游程计算程序(步骤c、步骤d)采用前述的第一种实现方法。
a、采用自动测试模式生成工具ATPG,生成确定的完全测试集T。不失一般性,设T={00X0X00X,0X0X0X00,0X0XX00X,0X00XX00,X0X00XX0,0XX0XX0X,1X0X0X0X,00X0X000,X00X000X,0XX0X0X0,X0X000XX,0X01…}。本测试集T中,单个向量宽度为8。在每个测试向量内部,0、1均为确定位,X为无关位。
b、将所有测试向量级联,即将一个向量的尾部接另一个向量的首部,记为S。则S=00X0X00X0X0X0X000X0XX00X0X00XX00X0X00XX00XX0XX0X1X0X0X0X00X0X000X00X000X0XX0X0X0X0X000XX0X01…。
c、依次按位从测试数据包S中读取数据;调用游程计算程序,得到第一个游程R1,所述的游程计算程序根据相邻确定位向无关位填充0或1,以使得第一个游程R1的长度达到最大;具体步骤:
步骤cd-0、当前数据流清零;
步骤cd-1、从测试数据包S中按顺序逐位读入数据并加入当前数据流;读取到第一位时,当前数据是确定位,记录该确定位数据为qd1=0;
步骤cd-2、继续从测试数据包S按位读取数据并加入当前数据流,直至读取到第7个测试向量的第一位时(总第49位数据),该位数据为1且为确定位,qd2=1; qd2≠qd1;
步骤cd3、将当前数据流中所有的无关位填充为qd1,本实施例中,当前数据流填充后为0000000000000000000000000000000000000000000000001,当前数据流长度49,按游程定义,当前数据流构成一个游程,游程长度L1=48,游程类型C1=0。根据背景技术所述游程定义,游程结尾的结束位不计入游程长度,因而当前数据流长度与所得游程长度之差为1。
d、重新调用游程计算程序,以期望得到第二个游程R2
步骤cd-0、当前数据流清零;
步骤cd-1、继续从S中读取数据,即读入总第50位,该位为无关位,加入当前数据流,继续读取第51位数据为确定位0,记录该确定位数据为qd1=0;
步骤cd-2、继续从测试数据包S按位读取数据并加入当前数据流,直至读取到第12个测试向量的第4位(总第92位数据),得到一个确定位为1,qd2=1; qd2≠qd1;
步骤cd-3、将当前数据流中所有的无关位填充为qd1,本实施例中,当前数据流填充后为0000000000000000000000000000000000000000001,当前数据流长度43,能够构成第二个游程,得到第二个游程R2为0游程,流程类型C2=0、长度L2=42。
e、依据步骤c所得到的第一个游程R1、步骤d所得到的第二个游程R2,调用编码程序,计算结果如下:
e1、由于第一个游程R1、第二个游程R2均为0游程,双游程代码为000。
e2、由于L1=48,L2=42,最大公约数gcd=6。
,公约数代码前缀由2个1和1个0组成,为110;,去掉二进制表示的最高位1后,得到后缀为010,前缀、后缀位数相等。故按公式计算公约数代码为110010。
e3、依据该最大公约数gcd,将L1/L2转化为最简分数,令R1= R1/gcd=48/6=8,R2=R2/gcd=42/6=7,得到的L1/L2=8/7为最简分数。再将所得最简分数转换为连分数表示,即8/7= [1/7];本步骤得到一个有限简单连分数,其包含2个部分商,分别为1、7。
第一个部分商1(十进制),按照本发明的方法计算,其前缀为10,后缀为01,对应代码为1001;第二个部分商7(十进制),按照本发明的方法计算,前缀为110,后缀为011,对应代码为110011,第一个部分商代码、第二个部分商代码级联得连分数代码为1001110011。
双游程代码、公约数代码、连分数代码级联,当前所得两个游程构成的压缩编码为0001100101001110011,将其加入压缩数据包,并继续循环直至压缩完毕。可见,测试数据包S的前92位代码压缩后形成19位代码,压缩比较高。
n 解压方法
本发明压缩数据包的解压原理:每段压缩编码由第一部分双游程代码,第二部分公约数代码,第三部分连分数代码。
jy1、依次按位从压缩数据包中读取数据,读取到0时,可判断为双游程代码起始,连续读取3位得到双游程代码,还原出当前段第一个游程R1、第二个游程R2的类型;
jy2、继续按位读取数据,读取到一个1游程,可判断为公约数代码起始,按照所读取的1游程长度,继续读取对应位数(游程长度加1位)的数据得到公约数代码,依据公约数代码可还原出十进制形式的最大公约数gcd;
jy3、继续按位读取数据,读取到下一个1游程,可判定为当前部分商代码起始,按照所读取的1游程长度,继续读取对应位数(游程长度加1位)的数据得到当前部分商代码,转换为对应的十进制部分商;
本发明中,公约数代码、部分商代码均为偶数位的二进制数,其前缀均表现为1游程,其后缀位数均为前缀对应1游程的长度加1,因而,根据所读取到的1游程可判定后续读入位数,程序因而可准确的读取一段正确的代码。且公约数代码、部分商代码的编码形式相同,因而,加压缩程序更为简单。
jy4、继续按位读取数据,若读取到的数据为0,则说明已经读取到一段完整的代码,还原数据并转步骤jy1,否则转步骤jy3继续得到下一个部分商。
当前数据还原原理:依据步骤jy1还原当前段第一个游程R1、第二个游程R2的类型;依据步骤jy2得到最大公约数gcd;依据步骤jy3得到的多个数据还原出部分商序列;依据最大公约数gcd、部分商序列可还原出所得当前段第一个游程R1、第二个游程R2的长度L1、L2,即可得到解压还原后的数据,该解压数据的所有确定位均与压缩前完全一致,无关位的数据是否一致并不影响集成电路芯片的测试效果。
本发明的具体实施方式包括但不局限于上述实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但仍然落入本发明的保护范围。

Claims (3)

1.一种基于连分数存储的集成电路测试数据压缩方法,包括以下步骤:
a、采用自动测试模式生成工具ATPG,生成确定的完全测试集T,所述的完全测试集T由有限个固定宽度的测试向量组成,记录该测试向量的宽度;
b、将所有测试向量级联,得到测试数据包,记为S;
c、依次按位从测试数据包S中读取数据;调用游程计算程序,得到第一个游程R1,所述的游程计算程序根据相邻确定位向无关位填充0或1,以使得第一个游程R1的长度达到最大;记录所得游程的类型为C1、长度为L1
d、继续从S中读取数据,调用游程计算程序,得到第二个游程R2,所述的游程计算程序根据相邻确定位向无关位填充0或1,以使得第二个游程R2的长度达到最大;记录所得游程的类型为C2、长度为L2
e、依据步骤c所得到的第一个游程R1、步骤d所得到的第二个游程R2,调用编码程序,得到一组压缩编码,并将该压缩编码加入压缩数据包;本步骤中,所述的压缩编码依次由3部分组成:第一部分为双游程代码,第二部分为公约数代码,第三部分为连分数代码,所述编码程序包括:
e1、计算双游程代码,所述双游程代码为3位二进制代码,第一位为0,第二位以0或1表示第一个游程R1的类型C1,第三位以0或1表示第二个游程R2的类型C2
e2、计算公约数代码:首先计算L1、L2的最大公约数为gcd,然后将该十进制数gcd转换为二进制形式的公约数代码,所述公约数代码包括前缀和后缀,所述的前缀和后缀为位数相同的二进制数,其编码方法:前缀由i个1和1个0构成,其中,;后缀为gcd+4转换成对应的二进制数后去掉最高位1的剩余部分;
e3、计算连分数代码:依据该最大公约数gcd,将L1/L2转化为最简分数,再将所得最简分数转换为一个有限简单连分数表示,所述的有限简单连分数包括由若干个正整数构成的部分商序列,记为L1/L2 = [a0/a1/a2/.../an];依次将单个十进制形式的部分商转换为二进制形式的部分商代码并级联,即得到当前第一个游程和第二个游程对应的连分数代码;
所述部分商代码包括前缀和后缀,所述的前缀和后缀为位数相同的二进制数,其编码方法:前缀由i个1和1个0构成,其中,;后缀为an+4转换成对应的二进制数后去掉最高位1的剩余部分;
f、判定测试数据包S是否读完,如否转步骤c继续编码,如是转步骤g;
g、得到完整的压缩数据包,程序结束。
2.如权利要求1所述的基于连分数存储的集成电路测试数据压缩方法,其特征在于:所述步骤c、步骤d中的游程计算程序包括以下步骤:
步骤cd-0、当前数据流清零;
步骤cd-1、从测试数据包S中按顺序逐位读入数据并加入当前数据流;记录读到的首个确定位数据为qd1;
步骤cd-2、继续从测试数据包S中按位读入数据并加入当前数据流,直至读取到一个不等于qd1的确定位,记录该第二个确定位为qd2;
步骤cd-3、将当前数据流中所有的无关位填充为qd1,将所得的以qd2结尾的数据流记录为一个游程,记录该游程的类型、长度。
3.如权利要求1所述的基于连分数存储的集成电路测试数据压缩方法,其特征在于:所述步骤c、步骤d中的游程计算程序包括以下步骤:
步骤cd0、当前数据流清零;
步骤cd1、从测试数据包S中按顺序向当前数据流读入1位数据;
步骤cd2、判断所读入的当前数据是否为无关位,如是转步骤cd3;如否,转步骤cd4;
步骤cd3、判断当前数据流长度是否为1,如是,从测试数据包S中向后寻找最接近的一个确定位,并将当前无关位填充为与该最接近的一个确定位相同的数据,将填充后的数据更新至当前数据流,然后转步骤cd1;如否,将当前无关位填充为与当前数据流中前一位相同的数据,将填充后的数据更新至当前数据流,然后转步骤cd1;
步骤cd4、判定当前数据与前一位是否相同,如是,则当前数据流不能构成游程,转步骤cd1;如否,则当前数据流构成一个游程,记录该游程的类型、长度。
CN201710267075.XA 2017-04-21 2017-04-21 基于连分数存储的集成电路测试数据压缩方法 Active CN107144782B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710267075.XA CN107144782B (zh) 2017-04-21 2017-04-21 基于连分数存储的集成电路测试数据压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710267075.XA CN107144782B (zh) 2017-04-21 2017-04-21 基于连分数存储的集成电路测试数据压缩方法

Publications (2)

Publication Number Publication Date
CN107144782A true CN107144782A (zh) 2017-09-08
CN107144782B CN107144782B (zh) 2019-05-14

Family

ID=59774055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710267075.XA Active CN107144782B (zh) 2017-04-21 2017-04-21 基于连分数存储的集成电路测试数据压缩方法

Country Status (1)

Country Link
CN (1) CN107144782B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163314A1 (en) * 2004-01-23 2005-07-28 Daniel Bleichenbacher Method and apparatus for compressing rabin signatures
CN101604974A (zh) * 2009-04-21 2009-12-16 陈向前 一种具有相同游程长度的测试数据压缩编码、解码方法及专用解码单元
CN101968528A (zh) * 2010-08-19 2011-02-09 詹文法 集成电路测试中的测试数据压缩方法
CN102043126A (zh) * 2010-11-11 2011-05-04 浙江大学 一种基于测试向量相容的三游程编码压缩方法及其解压缩方法
CN104753541A (zh) * 2015-04-27 2015-07-01 安庆师范学院 无理数存储测试向量的测试数据压缩方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163314A1 (en) * 2004-01-23 2005-07-28 Daniel Bleichenbacher Method and apparatus for compressing rabin signatures
CN101604974A (zh) * 2009-04-21 2009-12-16 陈向前 一种具有相同游程长度的测试数据压缩编码、解码方法及专用解码单元
CN101968528A (zh) * 2010-08-19 2011-02-09 詹文法 集成电路测试中的测试数据压缩方法
CN102043126A (zh) * 2010-11-11 2011-05-04 浙江大学 一种基于测试向量相容的三游程编码压缩方法及其解压缩方法
CN104753541A (zh) * 2015-04-27 2015-07-01 安庆师范学院 无理数存储测试向量的测试数据压缩方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
詹文法等: "利用整数存储无理数的测试数据编码压缩方法", 《计算机辅助设计与图形学学报》 *

Also Published As

Publication number Publication date
CN107144782B (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
Kavousianos et al. Optimal selective Huffman coding for test-data compression
Iyengar et al. Built-in self testing of sequential circuits using precomputed test sets
CN100492325C (zh) 限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置
CN104038232A (zh) 基于二次异或运算的测试数据压缩与解压缩方法
CN107144782B (zh) 基于连分数存储的集成电路测试数据压缩方法
Chandra et al. How effective are compression codes for reducing test data volume?
CN102904579B (zh) 基于逐次逼近法的编码压缩方法
Sun et al. Combining dictionary coding and LFSR reseeding for test data compression
Mehta et al. Hamming distance based 2-D reordering with power efficient don't care bit filling: optimizing the test data compression method
WO2019137231A1 (zh) 一种译码方法及装置
Balakrishnan et al. Matrix-based test vector decompression using an embedded processor
CN110798223B (zh) 一种最小游程切换点标记编码压缩方法及装置
Feng et al. A test data compression method for system-on-a-chip
CN108259042A (zh) 基于公共码表和间隔划分的测试数据压缩与解压缩方法
Yu et al. Multiscan-based test data compression using UBI dictionary and bitmask
Chen et al. A dictionary-based test data compression method using tri-state coding
Kalode et al. Test data compression based on Golomb coding and two-value Golomb coding
Lin et al. On reducing test power and test volume by selective pattern compression schemes
Sruthi et al. A modified scheme for simultaneous reduction of test data volume and testing power
CN108566207A (zh) 基于分隔符的测试数据压缩与解压缩方法
CN113659992B (zh) 数据压缩方法及装置、存储介质
Janfaza et al. A low-power enhanced bitmask-dictionary scheme for test data compression
Saravanan et al. Run-length based compression for selective unspecified test pattern
CN104579359B (zh) 一种压缩数据的解压方法
CN108306651A (zh) 基于分类码表和间隔划分的测试数据压缩与解压缩方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200619

Address after: 246000 Anhui province Anqing City Linghu Road No. 128

Patentee after: ANQING NORMAL University

Address before: 246011 Anhui city of Anqing province Jixian Yixiu District Road No. 1318

Patentee before: Wu Haifeng

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221206

Address after: 518000 909, Building 49, No. 3, Queshan Yunfeng Road, Taoyuan Community, Dalang Street, Longhua District, Shenzhen, Guangdong

Patentee after: Shenzhen Morning Intellectual Property Operations Co.,Ltd.

Address before: No. 128, Linghu Road, Anqing, Anhui, Anhui

Patentee before: ANQING NORMAL University

Effective date of registration: 20221206

Address after: 200082 2nd floor, No.25 Yixian Road, Yangpu District, Shanghai (centralized registration place)

Patentee after: SHANGHAI WOSHI ELECTRONIC Co.,Ltd.

Address before: 518000 909, Building 49, No. 3, Queshan Yunfeng Road, Taoyuan Community, Dalang Street, Longhua District, Shenzhen, Guangdong

Patentee before: Shenzhen Morning Intellectual Property Operations Co.,Ltd.