CN103499787A - 一种测试数据压缩方法、数据解压缩装置及解压缩方法 - Google Patents
一种测试数据压缩方法、数据解压缩装置及解压缩方法 Download PDFInfo
- Publication number
- CN103499787A CN103499787A CN201310438999.3A CN201310438999A CN103499787A CN 103499787 A CN103499787 A CN 103499787A CN 201310438999 A CN201310438999 A CN 201310438999A CN 103499787 A CN103499787 A CN 103499787A
- Authority
- CN
- China
- Prior art keywords
- test data
- test
- cluster
- compression
- vector
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 336
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000013144 data compression Methods 0.000 title abstract description 4
- 239000013598 vector Substances 0.000 claims abstract description 110
- 238000007906 compression Methods 0.000 claims abstract description 106
- 230000006835 compression Effects 0.000 claims abstract description 106
- 238000006073 displacement reaction Methods 0.000 claims description 62
- 230000006837 decompression Effects 0.000 claims description 34
- 238000010899 nucleation Methods 0.000 claims description 25
- 230000000052 comparative effect Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 11
- 239000003638 chemical reducing agent Substances 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 241001269238 Data Species 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000001125 extrusion Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013101 initial test Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种确定性自测试的测试数据压缩方法、数据解压缩装置和数据解压缩方法。所述压缩方法包括:聚类压缩,以及聚类压缩与输入精简压缩和移位压缩的结合。所述数据解压缩装置包括:比特计数器、向量计数器、移位计数器、聚类移位寄存器、地址计数器、比较器、异或门、输入压缩寄存器、反相器。本发明提出的上述方案由于采用了聚类移位输入精简压缩方法,对难测故障的测试数据先进行输入压缩,再将输入压缩后的测试数据进行聚类压缩,最后对聚类压缩后的测试数据进行移位压缩,使得最终需要存储在内建自测试电路ROM中的存储单元减少,节省了内建自测试电路的硬件开销。
Description
技术领域
本发明涉及集成电路领域,尤其涉及集成电路内建自测试中测试数据压缩方法、数据解压缩装置及解压缩方法。
背景技术
随着EDA(Electronic Design Automation,电子设计自动化)工具的发展和半导体制造工艺的不断进步,现代集成电路的规模越来越大,工作频率越来越高,对集成电路的测试也提出了更高的要求。一方面,集成电路工作频率的增长速度比自动测试设备(ATE)的工作频率增长速度要快,使得ATE以芯片工作频率进行测试变得越来越困难,对延时故障等故障进行测试变得愈加困难。另一方面,对集成电路进行测试所需要的测试数据量增多,对ATE的性能要求变高,测试成本大幅度上升。嵌入到电路的测试数据能减轻集成电路测试时对ATE性能的要求。国际半导体技术蓝图(ITRS)中指出,超过三分之一的被调查者认为测试能提高产品质量和降低产品成本。内建自测试技术(Build-In Self-Test,内建自测试)通过在电路内部集成少量的逻辑电路实现对集成电路的测试,能降低测试成本和以电路频率进行测试,因此广泛使用在现代集成电路测试中。
传统的EDA工具的BIST测试的测试码生成代价较高,无法满足电路测试的需求。目前,业界采用基于扫描的自测试技术对芯片中的集成电路进行测试。基于扫描的自测试技术是一种针对时序电路进行测试的技术,它综合了传统的内建自测试技术和扫描设计技术。传统的内建自测试技术是将测试码产生器和测试响应压缩逻辑嵌入到电路系统内部,然后由测试码产生器产生测试代码再通过测试响应压缩逻辑对芯片中的电路系统进行测试的技术。扫描设计将电路中的时序单元转化成为可控制和可观测的单元,并将这些时序单元连接成一个或多个移位寄存器,构造成一条或多条扫描链。在采用完全扫描方法后,时序电路的测试码生成就转化为组合电路的测试生成问题。
在确定性BIST设计时,通常先采用线性反馈移位寄存器(LFSR)产生伪随机测试数据,侦测大多数的易测故障。然后对剩下的少量难测故障,用自动测试数据生成器(ATPG)产生确定性测试数据,并压缩存储在BIST电路的ROM中。测试过程与设计过程互逆。首先,进行确定性测试数据测试。从BIST内部的只读存储器中,将预先存储的难测数据压缩集,载入到聚类移位寄存器中。聚类解压缩和移位解压缩交织进行,预定的测试数据进入输入压缩寄存器后,即自动输入扩展成压缩前的难测数据。然后,用LFSR伪随机产生测试数据对电路剩下的故障进行测试。
图1示出了现有利用LFSR生成伪随机测试数据的测试装置结构图。如图1所示,该装置中包括:
线性反馈移位寄存器、相移器、多个扫描链、响应压缩器、多输入特征分析器。
其中,扫描链是将被测电路的时序单元进行转换生成的,用以在获得确定性自测试的测试数据过程中替代被测电路的时序电路部分。
获得确定性自测试的测试数据,即确定性自测试的线性反馈移位寄存器种子的方法包括如下步骤:
伪随机自测试步骤:伪随机产生的线性反馈移位寄存器种子被载入到线性反馈移位寄存器中,线性反馈移位寄存器输出伪随机信号,该伪随机信号通过相移器做相移变换后输入到扫描链。经过扫描链以及相关的被测电路的组合逻辑部分的电路响应后,得到的响应信号输入到响应压缩器,响应压缩器将预先存储的期望响应与实际得到的响应输入到多输入特征分析器,分析、比对实际响应与期望响应。如果实际响应与期望响应不同,则判断出故障,并记录该随机难测故障。上述步骤重复设定次数。例如,若一个扫描周期完成一次伪随机自测试,则重复100,000个扫描周期,完成100,000次伪随机自测试。
在经过伪随机数据测试后,需要尽可能的覆盖到电路的故障。对于被测电路而言,如果伪随机数据测试阶段覆盖的故障率越高,剩下的电路故障就越少。而剩下的电路故障的测试是在确定性自测试阶段进行的,所以确定性自测试阶段测试的电路故障越少,需要保存的确定性自测试的测试数据就越少。
生成种子的步骤:将伪随机测试数据没有测到的难测故障输入到ATPG,由ATPG工具生成难测向量。通过输入压缩,聚类压缩,移位压缩,将难测向量压缩成种子储存到BIST电路的ROM中。
确定性自测试步骤:测试时,通过从ROM中取出种子,并载入到解压电路中,通过解压电路解压出原始难测向量,对被测电路进行测试。解压出的原始难测向量通过测试模式选择器、扫描链、响应压缩器以及多输入特征分析器,得到测试响应数据,并与预期的测试响应数据进行比较,判断难测故障是否被测出。
现有LFSR重播种技术中由于伪随机数据测试过程覆盖的难测故障概率不高,所以需要存储的确定性测试数据数量较多,从而将确定性测试数据编码得到的测试数据(线性反馈移位寄存器种子)也就多,导致测试数据存储空间较大。
图2示出了现有的通过测试数据输入精简压缩技术解压出确定性自测试的难测故障的测试数据的电路结构示意图。如图2所示,该电路中包括:
电路连线及反相器:反相器用来产生相反的输入信号,以使同一根信号线能产生更多的输入至扫描链。
输入精简压缩,对相容的输入合并成一个测试数据输入,从而减少测试数据的水平方向宽度以压缩测试集。输入精简的压缩率非常高。
压缩后的测试数据通过连线以及反相器,并行扩展成原始难测故障的测试数据。
现有测试数据输入精简压缩技术压缩率高,但解压电路连线复杂,过多的连线增加了集成电路的布线难度以及线间距带来的硬件开销。
图3示出了现有测试数据移位压缩技术解压出确定性自测试的测试数据的电路结构示意图。如图3所示,该电路中包括:
移位寄存器和移位计数器。
其中,移位计数器用来控制移位寄存器载入新种子或对所载入的种子循环移位。
对移位压缩后的测试数据进行解压的方法:
将待解压的测试数据进行循环移位,n比特的测试数据每经过一个时钟周期,寄存器中产生一个新的测试数据序列,该序列可以看作是将前一个序列循环移位产生的。循环移位n次后,即产生n个新的测试数据。
现有测试数据移位解压缩技术只需增加一个计数器和移位寄存器,即可产生测试数据。缺点是解压操作中存在很多冗余移位,这些移位操作占用测试时间,增加测试功耗。
发明内容
本发明提供了一种确定性自测试测试数据压缩方法及解压缩装置,用以实现减少存储确定性自测试测试数据的ROM空间,减少硬件开销。
本发明公开了一种确定性自测试的测试数据压缩方法,其包括:
步骤1:利用伪随机产生的数据对集成电路进行测试,确定难测故障并记录;
步骤2:获得所记录的难测故障的测试数据,并进行输入压缩,生成输入压缩后的测试数据集合;
步骤3:将上述输入压缩后的测试数据集合进行聚类压缩,对测试数据集合中的测试数据进行类的划分,使得每个类内的测试数据两两之间最多只相差一个比特;
步骤4:对上述聚类压缩后的测试数据集合进行移位压缩,最终生成压缩后的测试数据集合。
本发明还公开了一种确定性自测试测试数据解压缩装置,其包括:
比特计数器,其用来对向量的相应比特进行计数,其在计满时触发所述向量计数器的计数值加1;
向量计数器,其用来对从种子向量解压出的相应向量进行计数,其在计满时,触发所述移位计数器的计数值加1;
移位计数器,其用来对种子向量进行了移位的相应时钟周期进行计数,其在未计满时,聚类移位寄存器中的测试数据循环移位;在其计满时,触发所述地址计数器的计数值加1,同时使能所述聚类移位寄存器载入该地址计数器所指向的ROM地址中的新种子向量;
地址计数器,其用于指向ROM的当前地址;
比较器,其用于比较比特计数器和向量计数器的计数值,以判断当前解压的是否是第i个向量的第i个比特,其比较结果输出至异或门,其中第i个向量表示将种子向量移位后得到的第i个向量,i的取值为1至种子向量的比特位数;
聚类移位寄存器,其用于存储聚类解压时的测试数据和移位解压时的移位数据;其在移位计数器未计满时进行循环移位,在移位计数器计满时,从ROM载入地址计数器所指向的下一地址中的新种子向量;
异或门,其用于对比较器输出的比较结果和聚类移位寄存器输出的数据进行异或操作,以翻转第i个向量的第i比特,并将数据串行输出至输入压缩寄存器中;
输入压缩寄存器,其用来存储聚类移位解压缩后的测试数据,并通过电路连线并行扩展后输出至反相器;
反相器,其用于对并行扩展后的测试数据进行反相,最终得到聚类移位输入解压缩后的测试数据。
本发明还公开了一种确定性自测试的测试数据解压方法,其包括如下步骤:
步骤1:将聚类移位寄存器中的种子向量进行聚类解压缩,得到n个测试数据并输出至输入压缩寄存器,n为种子向量的比特数;
步骤2:将种子向量进行移位解压缩,即将聚类移位寄存器中的种子向量进行循环移位,并转步骤1进行聚类解压缩,直到种子向量移位到最后一位;移位后的种子向量仍存储在聚类移位寄存器中。
步骤3:将输入压缩寄存器中的测试数据,经过电路连线的并行扩展和反相器的反相,得到输入解压缩后的难测故障的测试向量并输出。
本发明实施例由于采用了聚类移位输入压缩对测试数据进行输入压缩、聚类压缩和移位压缩三重压缩,极大地减少了测试数据的比特数,这样需要存储的确定性测试数据的测试数据量则相对减少,从而减少了测试数据的存储空间。
附图说明
图1为现有技术中利用LFSR生成伪随机测试数据的测试装置结构图;
图2为现有技术中集成电路确定性自测试的测试数据输入精简解压缩电路图;
图3为现有技术中集成电路确定性自测试的测试数据移位解压缩电路图;
图4为本发明实施例中确定性自测试中测试数据压缩技术流程图;
图5为本发明实施例中测试数据聚类压缩主要原理流程图;
图6为本发明实施例中集成电路确定性自测试的测试电路结构框图;
图7为本发明实施例的集成电路确定性自测试的测试数据解压缩电路结构图;
图8为本发明实施例中测试模式选择单元结构图;
图9为本发明实施例中确定性自测试中测试数据解压缩方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明自,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明提出了一种确定性自测试的测试数据压缩方法及其解压电路,其采用混合模式内建自测试技术,易测故障的测试数据采用线性反馈移位寄存器伪随机产生,难测故障的测试数据采用输入压缩、聚类压缩和移位压缩三者相结合进行数据压缩存储,从而减少了确定性测试向量的测试数据存储量。
本发明提供了一种确定性自测试的测试数据压缩方法。图4示出了该测试数据压缩方法的流程图。如图4所示,该方法具体包括如下步骤:
步骤S401:伪随机产生的线性反馈移位寄存器种子被载入到线性反馈移位寄存器中,通过相移器输入到扫描链。经过扫描链以及相关的被测电路的组合逻辑部分的电路响应后,得到的响应信号输入到响应压缩器,响应压缩器将预先存储的期望响应与实际得到的响应输入到多输入特征分析器,分析、比对实际响应与期望响应。如果实际响应与期望响应不同,则判断出故障,并记录该故障。上述步骤重复设定次数。一个扫描周期完成一次伪随机自测试,例如,重复500,000个扫描周期,则完成500,000次伪随机自测试。对伪随机自测试后的电路剩余故障,通过自动测试向量生成器(ATPG),进行难测故障确定性测试向量的生成。
步骤S402:对步骤S401中记录的难测故障的测试数据进行输入精简压缩,生成压缩后的测试数据集合。
例如:测试数据集合 将相同或完全相反的列合并为一列,得到输入压缩后的测试集合 其中,完全相反的两列数据 合并为
步骤S403:将上述输入压缩后的测试数据进行聚类压缩,对测试数据进行类的划分,使得每个类内的测试数据两两之间最多只相差一个比特。从每个类中取出一个聚类基准向量,组成聚类压缩后的测试数据集合。其中,类基准向量与该类中的所有测试向量分别最多只有一比特相异。
例如:测试数据集合 经过聚类压缩后,得到的测试数据集合 其中,T中的测试数据 压缩为Ta中的[1111],也即[1111]为类 的基准向量;T中的测试数据 压缩为Ta中的[0000],T中的测试数据[0101]压缩为Ta中的[0101]。Ta中的测试数据经过每时钟周期翻转一比特,其他比特保持不变,即得到一个新的测试数据。将Ta中的所有比特依次翻转,第i次只翻转第i比特,则得到的新的测试数据集合中,必定包含类内的全部测试数据。
步骤S404:对上述聚类压缩后的测试数据集合进行移位压缩,生成移位压缩后的测试数据集合。
例如:测试数据集合 经过移位压缩后,得到测试数据集合 其中,T中的测试数据 压缩为Tz中的[1011];T中的测试数据 压缩为Tz中的[1000]。Tz中的测试数据经过循环左移或者循环右移,能得到T中的测试数据。
对移位压缩还可采用容错移位算法,移位后的新的测试数据与原测试数据有一比特不同时,仍视为可压缩的测试数据,此类移位解压的测试数据,经过聚类解压缩后,能得到移位压缩前的测试数据。
例如:测试数据集合 经过容错移位压缩后,得到测试数据集合Tz=[1010]。Tz中的测试数据经过循环左移或者循环右移,得到测试数据T0={1001,1100,0110,0011}。T0再经过聚类解压缩,得到测试数据T1={1001,1000,1011,1101,0001;
1100,1101,1110,1000,0100;
0110,0111,0100,0010,1110;
0011,0010,0001,0111,1011}.其中T是T1的子集。
步骤S405:将上述经过输入压缩、聚类压缩和移位压缩的难测故障测试数据存入到内建自测试电路的ROM中。
步骤S406:结束。
图5示出了上述步骤S403中对测试数据进行聚类压缩的方法流程图。如图5所示,具体包括如下步骤:
步骤S501:对测试数据集合采用贪心算法进行类的划分,使得划分后的类的数目最少;并通过动态规划或贪婪算法进行类的基准向量的选取,使得该基准向量与该类中的所有测试向量分别最多只有一比特相异
例如:对于测试数据集合:T={g1,g2,g3,g4,g5,g6,g7,g8,g9}={100x00,111010,100x10,110010,110000,00x110,10x110,001110,000110,010010},可以通过贪心选择的搜索方式,将其划分成3类:G1(5)={g3,g6,g7,g8,g9},G2(4)={g2,g4,g5,g10},G3(1)={g1}。其中,G1(5)表示第1类中含有5个测试向量。
步骤S502:判断上述测试数据集合划分的类是否都已被压缩,且将压缩后的基准向量存入压缩后的测试集。
例如:压缩后的测试集为{000110,110010};则,上述所划分的第3类G3(1)没有进行压缩。如果测试集变为{000110,110010,100x00},则表示所有测试数据已被压缩且产生了新的测试数据集合。
步骤S503:如果存在未被压缩的测试类,寻找该类的基准向量。
例如:如步骤S502的第1个例子所述,存在类G3未被压缩,于是寻找类G3的基准向量并存入压缩后的测试数据集中。
步骤S504:将上述类的基准向量存入压缩后的测试数据集合中。
步骤S505:结束。
上述步骤S501中测试数据经过聚类压缩后,最终的聚类压缩后测试数据集合为:{000110,110010,100x00}。
本发明实施例由于采用了输入压缩、聚类压缩和移位压缩,需要存储的确定性测试向量的测试数据相对减少,从而减少了测试数据的存储空间。
本领域普通技术人员可以理解实现上述实施例中的三种压缩方法是可以通过不同的次序进行结合的。根据电路的具体情况,选择这三种压缩方法中的二种或三种进行组合压缩,能节省硬件开销。
图6示出了本发明优选实施例中提供的确定性自测试的测试电路结构框图。如图6所示,该电路包括:聚类移位输入压缩解压电路601,线性反馈移位寄存器602、相移器603、测试模式选择单元604、扫描链605、响应压缩器606和多输入特征分析器607。
聚类移位输入压缩解压电路601,输出解压后的难测向量的测试数据至所述测试模式选择单元604。该电路601对经过聚类移位输入压缩后的测试数据进行解压,得到压缩前的难测故障测试数据。
线性反馈移位寄存器(LFSR)602,其用于输出伪随机测试数据至所述相移器603,用来测试易测故障。
移相器603,其用来降低由LFSR输出给多条扫描链中的测试序列间的相关性。其通常是将LFSR的几个输出进行异或后再输出。
测试模式选择单元604,其输入端与相移器603输出端相连,其输出端与扫描链605相连,其用于选择输出到扫描链中的测试序列是来自LFSR还是来自解压电路601。测试电路时,先用解压电路602产生难测向量,再用LFSR产生易测向量。
扫描链605,包括至少一个扫描触发器组,其中每个触发器具有扫描输入端和扫描输出端,且每个触发器的扫描输出端与下一个触发器的扫描输入端相连,以组成扫描触发器组;最后一个触发器的扫描输出端与所述响应压缩器606的输入端相连。
响应压缩器606,其用于存储被测电路的测试响应信号,即测试结果,并输出测试响应至所述多输入特征分析器607。
多输入特征分析器607,其用于分析、比对所述测试响应信号与期望响应。如果所述测试响应信号与期望响应不同,则判断出故障,并记录该随机难测故障。
图7示出了本发明中聚类移位输入压缩解压电路的结构示意图。如图7所示,聚类移位输入压缩解压电路601包括:
比特计数器701,其用来对向量的相应比特进行计数,其计满信号fu1l连接至向量计数器的使能信号,在比特计数器701计满时,所述计满信号触发所述向量计数器702的计数值加1;
向量计数器702,其用来对于将种子解压出的相应向量进行计数,其计满信号full连接至移位计数器703的置位使能信号en,在向量计数器702计满时,所述计满信号full触发所述移位计数器703的计数值加1;所述种子指的是用来产生测试数据的预先置入寄存器组中的数据;种子是指在PC上通过VC++等编写算法进行数据压缩得到的。通过对种子数据进行解压得到多个测试数据。
移位计数器703,其用来对种子进行了移位的相应时钟周期进行计数,其计满信号full连接至聚类移位寄存器706的置位使能信号en和地址计数器704的置位使能信号en;在其计数未满时,计满信号full为低电平,使得所述聚类移位寄存器706的置位使能信号en无效,聚类移位寄存器706中的测试数据循环移位;在其计满时,此时表示每个种子聚类解压和移位解压均已完毕,计满信号full为高电平,其触发所述地址计数器704的计数值加1,同时使能所述聚类移位寄存器706载入该地址计数器704所指向的ROM地址中的新种子。
地址计数器704,其用于指向ROM的当前地址,在移位计数器703计满时,触发其使能信号使得地址计数器加1,指向ROM的下一地址;地址计数器的最大计数值为难测向量的个数;
比较器705,其用于比较比特计数器和向量计数器的计数值,以判断当前解压的是否是第i个向量的第i个比特,其比较结果输出至异或门707;
聚类移位寄存器706,其用于存储聚类解压时的测试数据和移位解压时的移位数据;其在移位计数器未计满时进行循环移位,在移位计数器计满时,从ROM载入地址计数器所指向的下一地址中的新种子;
异或门707,其用于对比较器705输出的比较结果和聚类移位寄存器输出的数据进行异或操作,以翻转第i个向量的第i比特,并将数据串行输出至输入压缩寄存器708中;
输入压缩寄存器708,用来存储聚类移位解压缩后的测试数据,其在每一个时钟周期,从异或门707接收一比特的数据,经过n个时钟周期,即得到了一个n比特的测试数据。所述输入压缩寄存器708将经过聚类移位压缩后的测试数据通过并行连线扩展后输出至反相器,所述并行连线用于将所述经过聚类移位压缩后的测试数据进行并行扩展,以进行输入解压缩。
反相器709,其用于对连接反相器的输入信号进行取反,即其用于对输入解压缩后的测试数据进行反相后输出。
其中,聚类移位寄存器706,由带使能和置位的触发器组构成。
所述计数器具有计数、使能、复位以及判断最高位是否输出为1的功能。
所述聚类移位输入压缩解压电路601能够实现输入压缩数据的解压缩、移位压缩数据的解压缩和聚类压缩数据的解压缩,利用所述聚类移位输入压缩解压电路601进行种子数据的解压过程如下:
聚类移位寄存器706中预置压缩数据,即种子数据,该种子数据是预先在外部进行过压缩的数据。比特计数器701和向量计数器702控制聚类移位寄存器706中的种子数据的第i位翻转后输出,若种子数据为n位,则输出n个解压后的解压数据,每个解压数据为种子数据中一位被翻转后的数据。若种子数据为n比特,则比特计数器701计数值最大为n,向量计数器702计数最大值为n+1,移位计数器703计数值最大为n-1。比特计数器701计满时,向量计数器702的计数值增1。向量计数器702计满时,移位计数器703进行计数。当移位计数器703的full为低电平,即未计满时,聚类移位寄存器的置位使能信号en无效,聚类移位寄存器中的种子数据循环移位。移位计数器计满,也即full为高电平时,每个得到的解压数据聚类解压和移位解压均已完毕,此时,使能地址计数器取ROM的下一个地址值,同时使能聚类移位寄存器载入ROM中的新的种子数据。地址计数器的最大计数值为难测向量的个数。聚类解压缩和移位解压缩共用一个聚类移位寄存器组。
经过聚类移位解压缩后得到的测试数据,之前经过n个时钟周期已被串行装载到输入压缩寄存器中。再经过输入压缩寄存器708、反相器709及电路连线的并行扩展,将待输入解压的难测故障的测试数据输出到扫描链中。
聚类解压是将输入的n比特压缩数据翻转其中一位得到一个解压数据,总共输出n个翻转了其中一位的解压数据,具体通过如下电路实现:
每来一个时钟信号,所述比特计数器加1,且所述聚类移位寄存器移一位,且所述异或门对所述比较器的比较结果和聚类移位寄存器中的最低位进行异或输出,当比特计数器和向量计数器计数相等时,即当前输出为第i个解压数据的第i位时,比较器输出的结果为1,此时聚类移位寄存器中的最低位为解压数据的第i个数据,异或门相当于将当前解压数据的第i个比特进行了翻转并输出至输入压缩寄存器进行存储。例如当比特计数器的计数值i=1,且向量计数器的计数值i=1时,比较器输出为],聚类移位寄存器中的Q3经异或门翻转输出,也即若此时Q3=1时,则实际输出端Q3=0。向量计数器i=n时,表示已经输出了n个新的解压数据,这些解压数据与聚类移位寄存器中最初载入的种子数据都只相差一比特。
例二:假如聚类压缩中的一个压缩向量为11001,则经过聚类解压后,得到向量:11000,11011,11101,10001,01001。n比特向量经过聚类解压后得到n个新的解压数据。每个解压数据与原始压缩数据相差一比特。
对于本领域的技术人员可以根据本发明实施例公开的技术方案,采用其它的电路来生成与原压缩数据相比,每次翻转一比特的解压数据。本发明实施例公开了一种较为简单的硬件电路来产生按位翻转的新测试数据,对于本领域的技术人员还可以采用较为简单的硬件电路来产生其它形式与原始测试数据以不同特征相关联的新的测试数据。
图8示出了本发明中测试模式选择单元具体结构示意图。如图8所示,其由二选一多路选择器组成,多路选择器的2个输入端与聚类移位输入解压电路601和线性反馈移位寄存器602相连,分别从其中接收解压后的n个解压数据和从线性反馈移位寄存器LFSR输出的伪随机测试数据,测试模式选择信号控制二路选择器的输出。优选地,当测试易测故障时,控制信号p=1时,二路选择器选择输出从线性反馈移位寄存器602输出的伪随机测试数据;当测试难测故障时,p=0时,二路选择器选择输出从聚类移位输入解压电路601中输出的解压数据。
图9示出了本发明提供的一种确定性自测试的测试数据解压方法。如图9所示,该方法包括如下步骤:
步骤S901:从ROM中取出经过输入、聚类和移位压缩后的测试数据。
步骤S902:判断预先存储在ROM中的测试数据是否都已解压完毕。
步骤S903:将电路设置为扫描模式,聚类移位寄存器、输入压缩寄存器及扫描链各运行一个时钟周期。
步骤S904:将聚类移位寄存器中的种子数据进行聚类解压缩,得到n个测试数据并输出至输入压缩寄存器,n为种子数据的长度;
步骤S905:将种子数据进行移位解压缩,即将聚类移位寄存器中的种子数据进行循环移位,并转步骤S904进行聚类解压缩,直到种子数据移位到最后一位;经移位解压电路进行解压,移位解压后的种子数据仍存储在聚类移位寄存器中。移位解压电路如图3所示,其将待压缩的测试数据进行循环移位,n比特的测试数据每经过一个时钟周期,寄存器中产生一个新的测试数据序列,该序列可以看作是将前一个序列循环移位产生的。循环移位n次后,即产生n个新的移位解压数据。将这n个移位解压数据与测试集里的其它测试数据进行比较,如果有相同的,则从原始测试数据中摘除相同的测试数据。在剩下的原始测试数据中再次选取一个测试数据进行循环移位,如上所述摘除测试数据。如此反复。最后原始测试集中剩下的测试数据即为移位压缩后得到的种子测试数据。
步骤S906:将输入压缩寄存器中的移位聚类解压后的测试数据,经过电路连线的并行扩展和反相器的反相,得到输入解压缩后的难测故障的测试向量并输出至扫描链。输入解压电路如图2所示,输入压缩寄存器中的x比特数据经过电路连线的并行扩展,在扫描链中即可得到y(y>x)比特的测试数据,也即将压缩数据进行了解压。
步骤S907:判断解压后的难测故障的测试向量是否完全载入到扫描链中。
步骤S908:如果解压后的难测故障的测试向量已完全载入到扫描链中,则将电路切换到测试模式进行测试,输出测试响应到响应压缩器。若测试向量没有完全载入到扫描链中,电路仍置为扫描模式。
其中,在扫描模式下,测试数据经由扫描链装载到被测电路的组合逻辑部分,在测试模式下,获得测试响应;测试响应压缩输出到多输入特征分析器中。
聚类解压和移位解压交织进行,即对测试数据中的某个种子向量,聚类解压出n个聚类解压向量。再将这个种子向量左移或右移一位产生一个新的解压向量,也即移位解压出一个新的移位解压向量。对这个新的移位解压向量再聚类解压出n个聚类解压向量。如此循环,直到对初始测试数据中的种子向量移位解压出来n个新的移位解压向量和n*n个聚类解压向量。输入解压缩和聚类移位解压缩同时进行。输入解压缩是指将输入压缩寄存器中xbit的数据扩展成ybit数据输出到扫描链中,在示意图图7中,x=4,y=8。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种确定性自测试的测试数据压缩方法,其包括:
步骤1:利用伪随机产生的数据对集成电路进行测试,确定难测故障并记录;
步骤2:获得所记录的难测故障的测试数据,并进行输入压缩,生成输入压缩后的测试数据集合;
步骤3:将上述输入压缩后的测试数据集合进行聚类压缩,对测试数据集合中的测试数据进行类的划分,使得每个类内的测试数据两两之间最多只相差一个比特;
步骤4:对上述聚类压缩后的测试数据集合进行移位压缩,最终生成压缩后的测试数据集合。
2.如权利要求1所述的确定性自测试的测试数据压缩方法,其特征在于,所述移位压缩是指移位压缩后的测试数据集合中的测试数据经过循环左移或者循环右移能够得到压缩前的测试数据集合中的测试数据;所述输入压缩是指将测试数据集合中相同或相反的数据进行合并。
3.如权利要求1所述的确定性自测试的测试数据压缩方法,其特征在于,对测试数据进行聚类压缩具体包括:
步骤31:对测试数据集合采用贪心算法进行类的划分,使得划分后的类的数目最少;并通过动态规划或贪婪算法进行类的基准向量的选取,使得该基准向量与该类中的所有测试向量分别最多只有一比特相异;
步骤32:判断上述测试数据集合划分的类是否都已被压缩,且将压缩后的基准向量存入压缩后的测试数据集合;
步骤33:如果存在未被压缩的测试类,寻找该类的基准向量;
步骤34:将上述类的基准向量存入压缩后的测试数据集合中。
4.一种确定性自测试测试数据解压缩装置,其包括:
比特计数器,其用来对向量的相应比特进行计数,其在计满时触发所述向量计数器的计数值加1;
向量计数器,其用来对从种子向量解压出的相应向量进行计数,其在计满时,触发所述移位计数器的计数值加1;
移位计数器,其用来对种子向量进行了移位的相应时钟周期进行计数,其在未计满时,聚类移位寄存器中的测试数据循环移位;在其计满时,触发所述地址计数器的计数值加1,同时使能所述聚类移位寄存器载入该地址计数器所指向的ROM地址中的新种子向量;
地址计数器,其用于指向ROM的当前地址;
比较器,其用于比较比特计数器和向量计数器的计数值,以判断当前解压的是否是第i个向量的第i个比特,其比较结果输出至异或门,其中第i个向量表示将种子向量移位后得到的第i个向量,i的取值为1至种子向量的比特位数;
聚类移位寄存器,其用于存储聚类解压时的测试数据和移位解压时的移位数据;其在移位计数器未计满时进行循环移位,在移位计数器计满时,从ROM载入地址计数器所指向的下一地址中的新种子向量;
异或门,其用于对比较器输出的比较结果和聚类移位寄存器输出的数据进行异或操作,以翻转第i个向量的第i比特,并将数据串行输出至输入压缩寄存器中;
输入压缩寄存器,其用来存储聚类移位解压缩后的测试数据,并通过电路连线并行扩展后输出至反相器;
反相器,其用于对并行扩展后的测试数据进行反相,最终得到聚类移位输入解压缩后的测试数据。
5.如权利要求4所述的确定性自测试测试数据解压缩装置,其特征在于,所述聚类移位寄存器中预置种子向量,所述比特计数器和向量计数器控制聚类移位寄存器中的种子向量的第i位翻转后输出,所输出的n个向量数据为聚类移位解压缩后的测试数据。
6.如权利要求4所述的确定性自测试测试数据解压缩装置,其特征在于,所述聚类解压是指将输入的n比特种子向量数据翻转其中一位得到n个解压数据。
7.如权利要求4所述的确定性自测试测试数据解压缩装置,其特征在于,所述聚类移位寄存器由带使能和置位的触发器组构成;所述计数器具有计数、使能、复位以及判断最高位是否输出为1的功能。
8.一种确定性自测试的测试数据解压方法,其包括如下步骤:
步骤1:将聚类移位寄存器中的种子向量进行聚类解压缩,得到n个测试数据并输出至输入压缩寄存器,n为种子向量的比特数;
步骤2:将种子向量进行移位解压缩,即将聚类移位寄存器中的种子向量进行循环移位,并转步骤1进行聚类解压缩,直到种子向量移位到最后一位;移位后的种子向量仍存储在聚类移位寄存器中。
步骤3:将输入压缩寄存器中的测试数据,经过电路连线的并行扩展和反相器的反相,得到输入解压缩后的难测故障的测试向量并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310438999.3A CN103499787B (zh) | 2013-09-24 | 2013-09-24 | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310438999.3A CN103499787B (zh) | 2013-09-24 | 2013-09-24 | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103499787A true CN103499787A (zh) | 2014-01-08 |
CN103499787B CN103499787B (zh) | 2016-01-27 |
Family
ID=49865010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310438999.3A Active CN103499787B (zh) | 2013-09-24 | 2013-09-24 | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103499787B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104122497A (zh) * | 2014-08-11 | 2014-10-29 | 中国科学院自动化研究所 | 集成电路内建自测试所需测试向量的生成电路及方法 |
CN104515950A (zh) * | 2015-01-12 | 2015-04-15 | 华南师范大学 | 一种集成电路的内建自测试方法及应用 |
CN105067993A (zh) * | 2015-07-02 | 2015-11-18 | 大唐微电子技术有限公司 | 一种用于片上系统soc芯片的可拆分测试方法 |
CN106124962A (zh) * | 2016-06-15 | 2016-11-16 | 安庆师范学院 | 一种一次翻转选择网络及其翻转序列解压结构与解压方法 |
CN106953643A (zh) * | 2017-04-11 | 2017-07-14 | 安庆师范大学 | 二分区间法的集成电路数据解压电路及方法 |
CN108845248A (zh) * | 2018-05-02 | 2018-11-20 | 清华大学 | 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr |
CN110704408A (zh) * | 2019-09-10 | 2020-01-17 | 南京天数智芯科技有限公司 | 一种基于聚类的时序数据压缩方法及系统 |
CN112579332A (zh) * | 2019-09-27 | 2021-03-30 | 意法半导体有限公司 | 错误检测和校正 |
CN112649723A (zh) * | 2019-10-11 | 2021-04-13 | 清华大学 | 转换延迟故障测试压缩环境下测试精简方法和装置 |
WO2023185294A1 (zh) * | 2022-03-28 | 2023-10-05 | 腾讯科技(深圳)有限公司 | 向量数据的压缩方法、向量数据的解压方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN85108326A (zh) * | 1984-11-20 | 1986-12-03 | 得克萨斯仪器公司 | 有自测试能力的超大规模集成电路 |
US5416783A (en) * | 1993-08-09 | 1995-05-16 | Motorola, Inc. | Method and apparatus for generating pseudorandom numbers or for performing data compression in a data processor |
CN1862274A (zh) * | 2006-05-27 | 2006-11-15 | 合肥工业大学 | 一种多扫描链的大规模集成电路测试数据压缩方法 |
US20070226570A1 (en) * | 2006-03-20 | 2007-09-27 | Wei Zou | Speeding up defect diagnosis techniques |
CN101226228B (zh) * | 2008-02-01 | 2010-06-02 | 清华大学 | 一种确定性自测试测试数据压缩装置及方法 |
US20100306609A1 (en) * | 2006-07-21 | 2010-12-02 | Janusz Rajski | Low Power Decompression Of Test Cubes |
-
2013
- 2013-09-24 CN CN201310438999.3A patent/CN103499787B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN85108326A (zh) * | 1984-11-20 | 1986-12-03 | 得克萨斯仪器公司 | 有自测试能力的超大规模集成电路 |
US5416783A (en) * | 1993-08-09 | 1995-05-16 | Motorola, Inc. | Method and apparatus for generating pseudorandom numbers or for performing data compression in a data processor |
US20070226570A1 (en) * | 2006-03-20 | 2007-09-27 | Wei Zou | Speeding up defect diagnosis techniques |
CN1862274A (zh) * | 2006-05-27 | 2006-11-15 | 合肥工业大学 | 一种多扫描链的大规模集成电路测试数据压缩方法 |
US20100306609A1 (en) * | 2006-07-21 | 2010-12-02 | Janusz Rajski | Low Power Decompression Of Test Cubes |
CN101226228B (zh) * | 2008-02-01 | 2010-06-02 | 清华大学 | 一种确定性自测试测试数据压缩装置及方法 |
Non-Patent Citations (2)
Title |
---|
HUA-GUO LIANG ET AL: "A MIXED MODE BIST SCHEME BASED ON RESEEDING OF FOLDING COUNTERS", 《ITC INTERNATIONAL TEST CONFERENCE》 * |
李立健 等: "减少多种子内建自测试方法硬件开销的有效途径", 《计算机辅助设计与图形学学报》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104122497B (zh) * | 2014-08-11 | 2016-09-21 | 中国科学院自动化研究所 | 集成电路内建自测试所需测试向量的生成电路及方法 |
CN104122497A (zh) * | 2014-08-11 | 2014-10-29 | 中国科学院自动化研究所 | 集成电路内建自测试所需测试向量的生成电路及方法 |
CN104515950A (zh) * | 2015-01-12 | 2015-04-15 | 华南师范大学 | 一种集成电路的内建自测试方法及应用 |
CN105067993A (zh) * | 2015-07-02 | 2015-11-18 | 大唐微电子技术有限公司 | 一种用于片上系统soc芯片的可拆分测试方法 |
CN105067993B (zh) * | 2015-07-02 | 2017-12-26 | 大唐微电子技术有限公司 | 一种用于片上系统soc芯片的可拆分测试方法 |
CN106124962A (zh) * | 2016-06-15 | 2016-11-16 | 安庆师范学院 | 一种一次翻转选择网络及其翻转序列解压结构与解压方法 |
CN106124962B (zh) * | 2016-06-15 | 2017-08-25 | 安庆师范学院 | 一种一次翻转选择网络及其翻转序列解压结构与解压方法 |
CN106953643B (zh) * | 2017-04-11 | 2020-06-26 | 安庆师范大学 | 二分区间法的集成电路数据解压电路及方法 |
CN106953643A (zh) * | 2017-04-11 | 2017-07-14 | 安庆师范大学 | 二分区间法的集成电路数据解压电路及方法 |
CN108845248A (zh) * | 2018-05-02 | 2018-11-20 | 清华大学 | 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr |
CN108845248B (zh) * | 2018-05-02 | 2020-10-23 | 清华大学 | 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr |
US11156662B2 (en) | 2018-05-02 | 2021-10-26 | Tsinghua University | Software defined LFSR for LOC delay testing low-power test compression |
CN110704408A (zh) * | 2019-09-10 | 2020-01-17 | 南京天数智芯科技有限公司 | 一种基于聚类的时序数据压缩方法及系统 |
CN112579332A (zh) * | 2019-09-27 | 2021-03-30 | 意法半导体有限公司 | 错误检测和校正 |
CN112649723A (zh) * | 2019-10-11 | 2021-04-13 | 清华大学 | 转换延迟故障测试压缩环境下测试精简方法和装置 |
CN112649723B (zh) * | 2019-10-11 | 2021-11-12 | 清华大学 | 转换延迟故障测试压缩环境下测试精简方法和装置 |
WO2023185294A1 (zh) * | 2022-03-28 | 2023-10-05 | 腾讯科技(深圳)有限公司 | 向量数据的压缩方法、向量数据的解压方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103499787B (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103499787B (zh) | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 | |
EP1236111B1 (en) | Test pattern compression for an integrated circuit test environment | |
US7484151B2 (en) | Method and apparatus for testing logic circuit designs | |
US7155648B2 (en) | Linear feedback shift register reseeding | |
EP1595211B1 (en) | Compressing test responses using a compactor | |
KR100859394B1 (ko) | 반도체 집적 회로의 테스트 방법 및 테스트 패턴 발생 회로 | |
TWI471746B (zh) | 增強型多模式壓縮器的合成設備和方法 | |
Wohl et al. | Fully X-tolerant, very high scan compression | |
CN101158706A (zh) | 一种大规模集成电路测试数据与测试功耗协同优化的方法 | |
US9075110B2 (en) | Fault detection system, acquisition apparatus, fault detection method, program, and non-transitory computer-readable medium | |
WO2007013306A1 (ja) | 半導体論理回路装置のテストベクトル生成方法及びテストベクトル生成プログラム | |
US7949921B2 (en) | Method and apparatus for synthesis of augmented multimode compactors | |
Mukherjee et al. | High volume diagnosis in memory BIST based on compressed failure data | |
US20030074615A1 (en) | Weighted random pattern test using pre-stored weights | |
US11397841B2 (en) | Semiconductor integrated circuit, circuit designing apparatus, and circuit designing method | |
Koshy et al. | Diagnostic data detection of faults in RAM using different march algorithms with BIST scheme | |
KR940011036B1 (ko) | 시프트 레지스터 | |
US8356222B2 (en) | Fault diagnosis for non-volatile memories | |
CN103675650A (zh) | 一种嵌入式边界扫描数据压缩、合成方法及装置 | |
US6647522B1 (en) | Semiconductor devices having multiple memories | |
US10067187B2 (en) | Handling of undesirable distribution of unknown values in testing of circuit using automated test equipment | |
CN101165502A (zh) | 测试仪同测方法 | |
US11280831B2 (en) | Semiconductor integrated circuit with self testing and method of testing | |
Tenentes et al. | Low power test-compression for high test-quality and low test-data volume | |
CN105738800A (zh) | 基于单双跳变的低功耗确定性bist及种子压缩方法 |
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 |