CN101226228B - 一种确定性自测试测试数据压缩装置及方法 - Google Patents
一种确定性自测试测试数据压缩装置及方法 Download PDFInfo
- Publication number
- CN101226228B CN101226228B CN2008100574316A CN200810057431A CN101226228B CN 101226228 B CN101226228 B CN 101226228B CN 2008100574316 A CN2008100574316 A CN 2008100574316A CN 200810057431 A CN200810057431 A CN 200810057431A CN 101226228 B CN101226228 B CN 101226228B
- Authority
- CN
- China
- Prior art keywords
- test
- signal
- sweep trigger
- input
- output terminal
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 249
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000007906 compression Methods 0.000 title description 9
- 230000006835 compression Effects 0.000 title description 9
- 239000013598 vector Substances 0.000 claims abstract description 110
- 230000004044 response Effects 0.000 claims abstract description 57
- 238000013144 data compression Methods 0.000 claims abstract description 9
- 239000003638 chemical reducing agent Substances 0.000 claims description 15
- 238000011156 evaluation Methods 0.000 claims description 10
- 238000006073 displacement reaction Methods 0.000 claims description 8
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 8
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 238000012669 compression test Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 14
- 230000010363 phase shift Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007257 malfunction Effects 0.000 description 3
- 235000012364 Peperomia pellucida Nutrition 0.000 description 2
- 240000007711 Peperomia pellucida Species 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及集成电路领域,尤其涉及压缩测试集成电路的测试数据的技术。一种确定性自测试测试数据压缩装置,包括:相移器、响应压缩器,还包括:具有第一、第二异或网络的线性反馈移位寄存器,所述移位寄存器与所述相移器相连;扫描森林与加权随机信号产生逻辑单元,所述扫描森林与所述相移器相连,所述扫描森林的选通信号端与所述加权随机信号产生逻辑单元相连,其输出端与所述响应压缩器相连。本发明还提供了一种确定性自测试测试数据压缩方法。由于采用了加权随机信号产生逻辑单元来控制扫描森林的输入信号的特定信号值出现的概率,使得在伪随机自测试过程中故障覆盖率更高,从而减少了由确定性测试向量生成的测试数据的存储空间。
Description
技术领域
本发明涉及集成电路领域,尤其涉及压缩测试集成电路的测试数据的技术。
背景技术
由于具有大规模逻辑器件的芯片,使得设计出来的集成电路可以被集成、固化到这些芯片中,从而高密度、更小体积的实现设计出来的集成电路。固化了集成电路的芯片在批量生产之前必须测试电路特性,比如测试芯片的电路逻辑、时序是否正确,用以检测芯片是否可以达到设计要求的集成电路功能。
自测试技术能够方便的对集成电路芯片进行测试,自测试技术是指集成电路设计人员在集成电路芯片中加入一些额外的测试电路,利用测试电路对设计的集成电路进行自测试。
传统的EDA(Electronic Design Automation,电子设计自动化)工具的BIST(Built-in Self-test,内建自测试)测试的测试码生成代价较高,无法满足电路测试的需求。目前,业界采用基于扫描的自测试技术对芯片中的集成电路进行测试。基于扫描的自测试技术是一种针对时序电路进行测试的技术,它综合了传统的内建自测试技术和扫描设计技术。传统的内建自测试技术是将测试码产生器和测试响应压缩逻辑嵌入到电路系统内部,然后由测试码产生器产生测试代码再通过测试响应压缩逻辑对芯片中的电路系统进行测试的技术。扫描设计将电路中的时序单元转化成为可控制和可观测的单元,并将这些时序单元连接成一个或多个移位寄存器,构造成一条或多条扫描链。在采用完全扫描方法后,时序电路的测试码生成就转化为组合电路的测试生成问题。
确定性扫描BIST通常利用确定性测试向量来对被测电路进行测试。所有的确定性向量都可以被编码为线性反馈移位寄存器种子,线性反馈移位寄存器的位数被设置为确定性测试向量集合中的最大确定位Smax+20。如果采用多个本原多项式,线性反馈移位寄存器的位数可以被降至Smax+4。线性反馈移位寄存器种子作为确定性自测试的测试数据被存储到芯片或者测试仪器中。
现有技术的是通过如图1所示的结构装置生成确定性自测试的测试数据的。装置中包括:
线性反馈移位寄存器、相移器、多个扫描链、响应压缩器、多输入特征分析器。
其中,扫描链是将被测电路的时序单元进行转换生成的,用以在获得确定性自测试的测试数据过程中替代被测电路的时序电路部分。
获得确定性自测试的测试数据,即确定性自测试的线性反馈移位寄存器种子的方法包括如下步骤:
伪随机自测试步骤:伪随机产生的线性反馈移位寄存器种子被载入到线性反馈移位寄存器中,线性反馈移位寄存器输出伪随机信号,该伪随机信号通过相移器做相移变换后输入到扫描链。经过扫描链以及相关的被测电路的组合逻辑部分的电路响应后,得到的响应信号输入到响应压缩器,响应压缩器将预先存储的期望响应与实际得到的响应输入到多输入特征分析器,分析、比对实际响应与期望响应。如果实际响应与期望响应不同,则判断出故障,并记录该随机难测故障。上述步骤重复设定次数。例如,一个扫描周期完成一次伪随机自测试,则重复500,000个扫描周期,完成500,000次伪随机自测试。
在经过伪随机向量测试后,需要尽可能的覆盖到电路的故障。对于被测电路而言,如果伪随机向量测试阶段覆盖的故障率越高,剩下的电路故障就越少。而剩下的电路故障的测试是在确定性自测试阶段进行的,所以确定性自测试阶段测试的电路故障越少,需要保存的确定性自测试的测试数据就越少。
确定性自测试步骤:将被测电路原始输入输入到线性反馈移位寄存器中,通过相移器、扫描链、响应压缩器以及多输入特征分析器,得到自测试向量,并根据伪随机自测试后的电路剩余故障,通过测试码产生工具生成确定性测试向量,得到确定性测试向量集合。
生成种子的步骤:将确定性自测试向量集合通过方程运算后得到线性反馈移位寄存器种子。将种子作为测试数据存储到芯片中或者测试仪器中。
现有技术中由于伪随机向量测试过程覆盖的难测故障概率不高,所以需要存储的确定性测试向量数量较多,从而将确定性测试向量编码得到的测试数据(线性反馈移位寄存器种子)也就多,导致测试数据存储空间较大。
发明内容
本发明实施例提供了一种确定性自测试测试数据压缩方法,用以减少存储确定性自测试测试数据的空间。
一种确定性自测试测试数据压缩装置,包括:相移器、响应压缩器、多输入特征分析器,还包括:
线性反馈移位寄存器,其输出端与所述相移器输入端相连;
扫描森林,包括至少一个扫描触发器组,所述扫描触发器组是由被测电路的组合逻辑部分有共同后继单元的扫描触发器单元组成;所述扫描触发器单元包括一个多路选择器和一个扫描触发器,该多路选择器的输出端与该扫描触发器的输入端相连;
加权随机信号产生逻辑单元,包括多个不同权值选通信号生成子单元;
所述扫描森林的输入端与所述相移器输出端相连,所述扫描触发器组的选通信号端与对应权值选通信号生成子单元的输出端相连,所述扫描森林的输出端与所述响应压缩器的输入端相连;所述响应压缩器的输出端与所述多输入特征分析器的输入端相连。
所述线性反馈移位寄存器包括多个串接的触发器,还包括:
第一异或网络,其包括一组串接的异或门,所述第一异或网络的异或门的个数与所述触发器的个数相同,并每个异或门的一个输入端与一个触发器的输出端相连;
第二异或网络,其包括一组串接的异或门,所述第二异或网络的异或门的个数为设定值m;每个异或门分别对应与前m个触发器,其输入端与对应的触发器的输出端相连;其中m小于所述触发器的个数;
第一多路选择器,其输入端分别与所述第一异或网络和第二异或网络的输出端相连,其选择端与控制切换信号相连;
第二多路选择器,其一个输入端与所述第一多路选择器的输出相连,其另一个输入端与扫描输入信号相连,其选择端与加载信号相连。
所述多个不同权值选通信号生成子单元包括:权值为0.5的选通信号生成子单元,或者权值为0.75的选通信号生成子单元,或者权值为0.875的选通信号生成子单元,或者权值为0.625的选通信号生成子单元。
由所述扫描触发器组构成的扫描森林结构为:
假设所述相移器具有n个输出端,所述扫描森林包括g个扫描触发器组;若g≤n,则n个输出端中的g个输出端分别连接一个扫描触发器组的全部扫描触发器,构成扫描森林;
若g>n,n个输出端分别连接n个扫描触发器组的全部扫描触发器,构成扫描森林的第一层;所述n个扫描触发器组是从g个扫描触发器组中任选的;n个扫描触发器组中剩下的扫描触发器组依次串接到所述扫描森林第一层的各扫描触发器组,构成扫描森林的第二层;再剩下的扫描触发器组又依次串接到上一层的扫描触发器组,构成扫描森林的下一层,直到n个扫描触发器组都与相移器的输出端或者其它扫描触发器组串接;所述扫描触发器组与其它扫描触发器组串接指的是扫描触发器组中所有的扫描触发器输入端分别与其它扫描触发器组中的各扫描触发器的输出端相连。
一种通过上述装置进行测试数据压缩的方法,包括如下具体步骤:
确定所述扫描森林中的每个扫描段的权值;所述扫描段由一个连接相移器输出端的扫描触发器单元及逐级串接其后的各扫描触发器单元组成;
根据各扫描段的权值将各扫描段的选通信号连接到相应权值选通信号生成子单元的输出端,得到自测试电路结构;
通过所述自测试电路结构进行伪随机自测试,获得随机难测故障集合;
根据随机难测故障集合,通过所述自测试电路结构进行确定性自测试,确定确定性测试向量,并生成确定性测试向量集合;
对确定性测试向量集合进行压缩,生成压缩后的确定性测试向量的测试数据。
较佳的,所述确定所述扫描森林中的每个扫描触发器组的权值的方法,包括:
对于扫描森林中的每一个扫描段,依次接入各不同权值的选通信号,得到不同权值的可测度评价函数值;
对于每一个扫描段,选择可测度评价函数值中的最小值所对应的权值作为该扫描段的权值。
较佳的,对确定性测试向量集合进行压缩的方法,包括:
将线性反馈移位寄存器的反馈网络设置为第二异或网络,将所述确定性测试向量集合按照确定位的数目降序排序;
按照所述排序依次从所述确定性测试向量集合中取出确定性测试向量,并确定其种子,将所述种子进行存储,并将该确定性测试向量从确定性测试向量集合中删除;
将取出的确定性测试向量移位进入扫描树,并获得扫描树中各扫描触发器在该确定性测试向量下的响应,将响应压缩至多输入特征分析器。
较佳的,所述将取出的确定性测试向量移位进入扫描树的方法,包括:
将确定出的种子载入线性反馈移位寄存器,将电路切换到移位模式,并将线性反馈移位寄存器运行chain_length周期,此时确定性测试向量被移位进入扫描树;其中,chain_length等于确定性测试阶段的单一扫描树长度。
较佳的,所述获得扫描树中各扫描触发器在该确定性测试向量下的响应的方法,包括:
将电路切换到响应模式,运行一个周期,则扫描树中的各个扫描触发器所存储的数值为各扫描触发器在该确定性测试向量下的响应。
较佳的,所述将响应压缩至多输入特征分析器的方法,包括:
将电路切换到移位模式,将扫描树和线性反馈移位寄存器移位level个周期,则所述响应被压缩至多输入特征分析器;其中,level等于伪随机向量测试阶段的扫描树的最大深度。
本发明实施例由于采用了加权随机信号产生逻辑单元来控制扫描森林的输入信号的特定信号值出现的概率,使得在伪随机自测试过程中覆盖的故障概率更高,这样需要存储的确定性测试向量的测试数据则相对减少,从而减少了测试数据的存储空间。
本发明实施例由于采用扫描森林的结构,在确定性自测试的过程中减少了确定性测试向量的确定位,使得确定性测试向量压缩后得到的种子(即测试数据)占用的存储空间进一步减小。
附图说明
图1为现有技术的确定性自测试测试数据压缩装置结构图;
图2为本发明实施例的确定性自测试测试数据压缩装置结构框图;
图3a为本发明实施例的线性反馈移位寄存器的结构示意图;
图3b为本发明实施例的第一异或网络以及第二异或网络的结构示意图;
图4a为本发明实施例的加权随机信号产生逻辑单元的结构示意图;
图4b为本发明实施例的扫描森林的结构示意图;
图5为本发明实施例的确定性自测试测试数据压缩方法流程图;
图6为本发明实施例的确定扫描森林中的每个扫描段的权值的方法流程图;
图7为本发明实施例的对确定性测试向量集合进行压缩的方法流程图。
具体实施方式
本发明实施例采用一种构造的扫描森林,使得在确定性自测试的过程中减少了确定性测试向量的确定位,并且对输入扫描森林信号的特定信号值的概率进行加权控制,从而增加伪随机自测试过程中的故障覆盖率,从而减少了确定性测试向量的测试数据存储量。
本发明实施例提供了一种确定性自测试测试数据压缩装置,如图2所示,包括:线性反馈移位寄存器201、相移器202、加权随机信号产生逻辑单元207、扫描森林203、响应压缩器205、多输入特征分析器206。
线性反馈移位寄存器201,其输出端与所述相移器202输入端相连;
扫描森林203,包括至少一个扫描触发器组,所述扫描触发器组是由被测电路的组合逻辑部分有共同后继单元的扫描触发器单元组成;
加权随机信号产生逻辑单元207,包括多个不同权值选通信号生成子单元;
所述扫描森林203的输入端与所述相移器202输出端相连,所述扫描触发器组的选通信号端与对应权值选通信号生成子单元的输出端相连,所述扫描森林203的输出端与所述响应压缩器205的输入端相连;所述响应压缩器的输出端与所述多输入特征分析器206的输入端相连。
其中,线性反馈移位寄存器201的一种具体结构如图3a所示,包括:第一异或网络和第二异或网络、多个DQ触发器以及多路选择器M。第一异或网络和第二异或网络分别用于伪随机自测试阶段和确定性测试阶段。
多个DQ触发器串接组成移位寄存器。
第一异或网络由一组异或门逐级串接组成,其中异或门的个数与移位寄存器中的DQ触发器的个数相等,每个异或门的一个输入端与对应的DQ触发器的Q输出端相连。
第二异或网络是由一组异或门逐级串接组成,其中异或门的个数为设定值m。m小于移位寄存器中的DQ触发器的个数,本领域技术人员可以根据实际经验决定m的取值,一般设置m为24。第二异或网络的异或门分别与前m个DQ触发器相对应,并每个异或门的一个输入端与对应的DQ触发器的Q输出端相连。
第一异或网络和第二异或网络的输出分别与多路选择器M1的两个输入端相连。多路选择器M1的选择输入端与控制切换信号p相连。控制切换信号p用于在不同测试阶段切换不同的异或网络。例如,当p=0时,用于伪随机自测试阶段;p=1时,用于确定性自测试阶段。
多路选择器M1的输出与多路选择器M2的一个输入相连;多路选择器M2的另一个输入为扫描输入;多路选择器M2的选择输入端与加载信号load相连。
第一异或网络以及第二异或网络的一种具体结构如图3b所示。
相移器202与加权随机信号产生逻辑单元207相连,加权随机信号产生逻辑单元207用于对输入扫描森林203的选通信号进行加权控制。
加权随机信号产生逻辑单元207的一种具体结构如图4a所示,包括由各种与门、或门组成的各种权值选通信号生成子单元。例如,包括权值为0.5的选通信号生成子单元、权值为0.75的选通信号生成子单元、权值为0.875的选通信号生成子单元、权值为0.625的选通信号生成子单元。
其中,权值为0.5的选通信号生成子单元包括:多路选择器M7,其一个输入端与相移器的一个输出端相连,另一个输入端与外部测试信号test2相连,其选择端与控制切换信号p相连,外部测试信号test2为确定性自测试选通信号。
权值为0.625的选通信号生成子单元包括:一个二输入与门和一个二输入或门以及多路选择器M6,相移器的两个输出端分别与该与门的输入端相连,与门的输出端与或门的一个输入端相连,或门的另一个输入端与相移器的一个输出端相连,或门的输出端与M6的一个输入端相连,M6的另一个输入端与外部测试信号test2相连,其选择端与控制切换信号p相连。
权值为0.75的选通信号生成子单元包括:二输入或门以及多路选择器M4,该或门的两个输入端分别与相移器的输出端相连,其输出端与M4的一个输入端相连,M4的另一个输入端与外部测试信号test2相连,其选择端与控制切换信号p相连。
权值为0.875的选通信号生成子单元包括:一个三输入或门以及多路选择器M5,该或门的三个输入端分别与相移器的输出端相连,其输出端与M5的一个输入端相连,M5的另一个输入端与外部测试信号test2相连,其选择端与控制切换信号p相连。
多路选择器M3的输入端分别与外部测试信号test1、test2相连,其选择端与控制切换信号p相连。外部测试信号test1为伪随机自测试选通信号。
在扫描电路中,对应着同一个权值的扫描段可共用相同的扫描选通信号,由此带来的额外硬件开销是非常小的。对于本领域技术人员可以根据本发明实施例公开的技术方案,采用其它电路来生成不同权值信号。信号的权值指的是该信号某个值的出现概率。例如对于二进制信号,一般随机信号其出现0或者1的值的概率都是0.5。如果在测试过程中,需要1信号的概率更大一些以便于测出故障,那么就可以选用概率值更大的权值信号,如0.75或者0.875等权值信号。本发明实施例公开了一种较为简单的硬件电路来实现不同权值的信号,对于本领域技术人员还可以采用其它的技术手段,如软件计算控制各种信号值出现的概率,从而也可以达到控制输入扫描段的特定信号值出现的概率。
相移器202的输出端与扫描森林203的输入端相连,扫描森林203的输出端与压缩响应器205的输入端相连。扫描森林203包括多个扫描触发器单元。一个扫描触发器单元包括一个扫描触发器以及一个多路选择器。多路选择器的输出与扫描触发器的输入相连。将多个扫描触发器单元进行分组:在被测电路的组合逻辑部分没有共同后继单元的扫描触发器单元被分为同一组。假设扫描森林有n个输入端,即相移器202有n个输出端;构造出的扫描触发器组有g个。若g≤n,则从n个扫描输入端中任选出g个,每一个扫描输入端连接一个扫描触发器组的全部扫描触发器,扫描森林的构造即完成。若g>n,则任选n个组分别连接到每一个扫描输入端上,每个扫描输入端只连接一个扫描触发器组的全部扫描触发器。这样构造出扫描森林的第一层。再从剩下的(g-n)个扫描触发器组中选择出n个扫描触发器组,将每个组中的每个扫描触发器一对一的同第一层的某个组中的扫描触发器的输出端连接,从而构造出扫描森林的下一层即扫描森林第二层。如果还有剩下的扫描触发器组,再从剩下的扫描触发器组中选出n个扫描触发器组,将每个组中的每个扫描触发器一对一的同第一层的某个组中的扫描触发器的输出端连接,从而构造出下一层的扫描森林,如此反复,直到所有的扫描触发器组都连接到相移器的某个输出端或者其它扫描触发器组的输出端。这样,就构造了完整的扫描森林。
如图4b所示,某个扫描输入端SIi连接某个扫描触发器组的全部扫描触发器单元F1,1,F1,2,......,F1,f,接着把下一个扫描触发器组中的全部扫描触发器单元F2,1,F2,2,......,F2,f依次逐个连接到上一组的扫描触发器单元F1,1,F1,2,......,F1,f的输出端。重复上述过程,直到所有的扫描触发器组中的扫描触发器单元都连接到其他的扫描触发器组中的扫描触发器单元的输出端。在图4b中,扫描森林由n条扫描树TC1,...,TCi,...,TCn组成。扫描树由串接在同一个扫描输入端、输出端之间的所有扫描触发器单元组成。每个扫描树又包含多个扫描段。一个扫描段是由一个连接扫描输入端(即相移器输出端)的扫描触发器单元及其后面逐级串接的各扫描触发器单元组成。例如,扫描树TC1包含扫描段TC1,1,TC1,2,...,TC1,f。而扫描段TC1,1包含F1,1,F2,1,F3,1……
加权随机信号产生逻辑单元207输出的不同权值信号与各扫描触发器组的选通信号相连,从而控制输入各扫描段的特定信号值出现的概率。
测试响应压缩部分是一个异或门网络,两个扫描段a1,a2,...,an与b1,b2,...,bn如果满足(a1,b1),(a2,b2),...,(an,bn)这些扫描触发器对中的任何一对在被测电路的组合逻辑部分没有同一个前继单元,则两个扫描段a1,a2,...,an与b1,b2,...,bn可以被连接至同一个异或门。
本发明实施例提供了一种确定性自测试测试数据压缩方法,如图5所示,具体包括如下步骤:
步骤S501:确定扫描森林中的每个扫描段的权值。
步骤S502:根据各扫描段的权值将信号产生逻辑单元输出的对应权值选通信号连接到对应扫描段,得到最终的自测试电路结构。
步骤S503:采用伪随机向量进行伪随机自测试,得到随机难测故障集合。
从上述的自测试电路的线性反馈移位寄存器输入伪随机向量进行设定周期的伪随机自测试,得到随机难测故障集合。
伪随机产生的线性反馈移位寄存器种子被载入到线性反馈移位寄存器中,通过相移器输入到扫描森林。经过扫描森林以及相关的被测电路的组合逻辑部分的电路响应后,得到的响应信号输入到响应压缩器,响应压缩器将预先存储的期望响应与实际得到的响应输入到多输入特征分析器,分析、比对实际响应与期望响应。如果实际响应与期望响应不同,则判断出故障,并记录该随机难测故障。上述步骤重复设定次数。一个扫描周期完成一次伪随机自测试,例如,重复500,000个扫描周期,则完成500,000次伪随机自测试。根据伪随机自测试后的电路剩余故障,进行确定性测试向量的生成。
步骤S504:通过上述的自测试电路进行确定性自测试,根据随机难测故障集合生成确定性测试向量集合。
通过上述的自测试电路进行确定性自测试,确定确定性测试向量,生成确定性测试向量集合。
步骤S505:对确定性测试向量集合进行压缩,生成压缩后的种子集合。
上述步骤S501确定扫描森林中的每个扫描段的权值的方法,具体包括如下步骤:
步骤S601:对于扫描森林中的每一个扫描段,依次接入所有不同权值的选通信号,得到不同权值的可测度评价函数值。
例如,有k个扫描段SC1、SC2......SCk;权值w1=0.5,w2=0.625,w3=0.75,w4=0.875构成权集W;对应着同一个权值的扫描段可共用相同的扫描选通信号;建立电路可测度评价函数如公式1:
上述可测度评价函数中,F是随机难测故障集,l/i代表随机难测故障集F中信号线l处的单固定性i型故障i∈{0,1},C‘1(l)、C‘0(l)、O’(l)分别表示信号线l处的1可控度、0可控度和可观测度。i-可控度C’i(l),i∈{0,1}代表一个随机选择的测试向量将信号线l置为值i的概率,可观测度O’(l)代表一个随机选择的测试向量将信号线l的值传播到被测电路输出的概率;
把所有扫描段的测试模式预设置为每个扫描周期测试一次的模式,并计算此状态下的电路可测度评价函数G(w1 0),下标1表示要处理的扫描段是第1条,即SC1,上标0表示此时SC1还处于未加权的状态,在扫描森林中其它扫描段保持在每扫描周期测试一次的模式下,选定第1个扫描段SC1,把权集W中的每个权值w1=0.5,w2=0.625,w3=0.75,w4=0.875依次在第一条扫描段上尝试,计算出与权值w1,w2,w3,w4分别对应的电路可测度评价函数值G(w1 1),G(w1 2),G(w1 3),G(w1 4)。
步骤S602:对于每一个扫描段,选择可测度评价函数值中的最小值对应权值的选通信号作为该扫描段的选通信号。
从上述的G(w1 0),G(w1 1),G(w1 2),G(w1 3),G(w1 4)中选出最小值,如公式2所示:
如果v=0时,保留SC1为每个扫描周期测试一次的自测试模式;当v≠0时,给SC1选择对应的扫描选通信号,例如v=2,则给SC1选择权值w2=0.625对应的选通信号。
上述步骤S504根据随机难测故障集合生成确定性测试向量集合的方法,具体包括:
采用自动测试向量生成工具针对被测电路进行确定性测试向量生成,在测试向量生成过程中,采用以下测度,并选用测度值最小的输入集合作为确定性测试向量:
设某信号线l,该信号线取值i,i∈{0,1},设RCi(l)为使信号线l取值i所需要置为确定值{0,1}的输入PI或伪输入PPI的最小集合,可控度Ci(l)为使信号线l取值i所需要置为确定值{0,1}的输入PI或伪输入PPI的最小集合中的元素的个数,可控度具体公式如下:
对于电路的原始输入端PI,有公式3:
RC1(PI)=RC0(PI)={PI},C1(PI)=C0(PI)=1; (3)
对于缓冲门,其中A为其输入信号线,B为其输出信号线,则有公式4:
RC1(B)=RC1(A),C1(B)=|RC1(B)|;
RC0(B)=RC0(A),C0(B)=|RC0(B)|; (4)
对于非门,其中A为其输入信号线,B为其输出信号线,则有公式5:
RC1(B)=RC0(A),C1(B)=|RC1(B)|;
RC0(B)=RC1(A),C0(B)=|RC0(B)|; (5)
对于两输入与门,其中A,B为其输入信号线,l为其输出信号线,则有公式6:
RC1(l)=RC1(A)∪RC1(B),C1(l)=|RC1(l)|;
对于两输入或门,其中A,B为其输入信号线,l为其输出信号线,则有公式7:
RC0(l)=RC0(A)∪RC0(B),C0(l)=RC0(l);
对于扇出s,设B1,B2,...,Bk为其扇出分支,设i∈{0,1},j∈{1,2,...,k},则有公式8:
Ci(Bj)=Ci(s); (8)
设RO(l)为使信号线l处的故障效应传播到某个输出PO或伪输出PPO所需要置为确定值{0,1}的输入PI或伪输入PPI的最小集合,可观测度O(l)为使信号线l处的故障效应传播到某个输出PO或伪输出PPO所需要置为确定值{0,1}的输入PI或伪输入PPI的最小集合中的元素的个数,可观测度具体公式如下:
对于电路的原始输入端PO,有公式9:
RO(PO)=φ,O(PO)=0; (9)
对于缓冲门,非门,其中A为其输入信号线,B为其输出信号线,则有公式10:
RO(A)=RO(B),O(A)=|RO(A)|; (10)
对于两输入与门,其中A,B为其输入信号线,l为其输出信号线,则有公式11:
RO(A)=RO(l)∪RC1(B),O(A)=|RO(A)|; (11)
对于两输入或门,其中A,B为其输入信号线,l为其输出信号线,则有公式12:
RO(A)=RO(l)∪RC0(B),O(A)=|RO(A)|; (12)
对于扇出s,设B1,B2,...,Bk为其扇出分支,则有公式13:
O(s)=min(O(B1),O(B2),...,O(Bk)); (13)
上述步骤S505对确定性测试向量集合进行压缩,生成压缩后的种子集合的方法为:假设确定性测试向量集合中的n个确定性测试向量依次为P1,P2,...,Pn,Smax i为确定性测试向量Pi的确定位的数目,Si为确定性测试向量Pi被压缩后对应的种子,确定性测试阶段的单一扫描树长度为chain_length,伪随机向量测试阶段的扫描树的最大深度为level,当前时钟周期为cycle,时钟周期最大值cycle_max为。cycle_max一般由二进制计数器的计数位数决定,比如二进制计数器的计数位数为15位,则cycle_max不能超过215-1。对于本领域技术人员可以根据实际情况确定cycle_max的值。
具体的压缩方法流程图,如图7所示,包括如下步骤:
步骤S701:将线性反馈移位寄存器的反馈网络设置为第二异或网络,将确定性测试向量集合按照确定位的数目降序排序。
步骤S702:判断当前确定性测试向量集合是否为空;如果是,结束压缩,执行步骤S710;如果否,执行步骤S703。
步骤S703:从当前确定性测试向量集合中取出排在第一个的确定性测试向量P,计算其种子S并存储,将该确定性测试向量P从当前确定性测试向量集合中删除。
步骤S704:将P被移位进入扫描树。
具体的,将计算出的种子S载入线性反馈移位寄存器,设定cycle=0,将电路切换到移位模式(test2=1),并将线性反馈移位寄存器运行chain_length周期,则cycle=chain_length,此时P被移位进入扫描树。
步骤S705:获得扫描树中各扫描触发器在测试向量P下的响应。
具体的,将电路切换到响应模式(test2=0),运行一个周期并将cycle在原有数值上加1,此时扫描树中的各个扫描触发器所存储的数值为电路在测试向量P下的响应。
步骤S706:判断cycle是否等于cycle_max;如果等于,返回到步骤S702;如果不等于,执行步骤S707。
步骤S707:判断当前扫描树中的各个扫描触发器所存储的数值是否与确定性测试向量集合中剩余的某个确定性测试向量匹配;如果匹配,则执行步骤S708;否则执行步骤S709。
具体的,当该确定性测试向量的所有确定位的数值均与当前扫描树中的对应扫描触发器所存储的数值相等时,即认为匹配。
步骤S708:继续将响应压缩至多输入特征分析器:该确定性测试向量从当前确定性测试向量集合中删除,将当前的cycle存储,设定test2=0将电路切换到响应模式,运行一个周期并将cycle在原有数值上加1,此时扫描树中的各个扫描触发器所存储的数值为电路在该确定性测试向量下的响应,设定test2=1将电路切换到移位模式,将扫描树和线性反馈移位寄存器移位level个周期并将cycle在原有数值上加level,此时响应被压缩至多输入特征分析器,执行步骤S706。
步骤S709:设定test2=1将电路切换到移位模式,将扫描树和线性反馈移位寄存器移位1个周期并将cycle在原有数值上加1,执行步骤S706。
步骤S710:结束。
本发明实施例由于采用了加权随机信号产生逻辑单元来控制扫描森林的输入信号的特定信号值出现的概率,使得在伪随机自测试过程中覆盖的故障概率更高,这样需要存储的确定性测试向量的测试数据则相对减少,从而减少了测试数据的存储空间。
本发明实施例由于采用扫描森林的结构,在确定性自测试的过程中减少了确定性测试向量的确定位,使得确定性测试向量压缩后得到的种子(即测试数据)占用的存储空间进一步减小。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (17)
1.一种确定性自测试测试数据压缩装置,包括:相移器、响应压缩器、多输入特征分析器,其特征在于,还包括:
线性反馈移位寄存器,其输出端与所述相移器输入端相连;
扫描森林,包括至少一个扫描触发器组,所述扫描触发器组是由被测电路的组合逻辑部分有共同后继单元的扫描触发器单元组成;所述扫描触发器单元包括一个多路选择器和一个扫描触发器,该多路选择器的输出端与该扫描触发器的输入端相连;
加权随机信号产生逻辑单元,包括多个不同权值选通信号生成子单元;
所述扫描森林的输入端与所述相移器输出端相连,所述扫描触发器组的选通信号端与对应权值选通信号生成子单元的输出端相连,所述扫描森林的输出端与所述响应压缩器的输入端相连;所述响应压缩器的输出端与所述多输入特征分析器的输入端相连。
2.如权利要求1所述的装置,所述线性反馈移位寄存器包括多个串接的触发器,其特征在于,所述线性反馈移位寄存器还包括:
第一异或网络,其包括一组串接的异或门,所述第一异或网络的异或门的个数与所述触发器的个数相同,并每个异或门的一个输入端与一个触发器的输出端相连;
第二异或网络,其包括一组串接的异或门,所述第二异或网络的异或门的个数为设定值m;每个异或门分别对应与前m个触发器,其输入端与对应的触发器的输出端相连;其中m小于所述触发器的个数;
第一多路选择器,其输入端分别与所述第一异或网络和第二异或网络的输出端相连,其选择端与控制切换信号相连;
第二多路选择器,其一个输入端与所述第一多路选择器的输出相连,其另一个输入端与扫描输入信号相连,其选择端与加载信号相连。
3.如权利要求1所述的装置,其特征在于,所述多个不同权值选通信号生成子单元包括:权值为0.5的选通信号生成子单元,或者权值为0.75的选通信号生成子单元,或者权值为0.875的选通信号生成子单元,或者权值为0.625的选通信号生成子单元。
4.如权利要求3所述的装置,其特征在于,所述权值为0.5的选通信号生成子单元包括:
第三多路选择器,其一个输入端与所述相移器的输出端相连,其另一个输入端与第一外部测试信号相连,其选择端与控制切换信号相连。
5.如权利要求3所述的装置,其特征在于,所述权值为0.625的选通信号生成子单元包括:
与门,其输入端分别与所述相移器的两个输出端相连;
第一或门,其具有两个输入端,一个输入端与所述与门的输出端相连,其另一个输入端与所述相移器的一个输出端相连;
第四多路选择器,其一个输入端与所述第一或门的输出端相连,其另一个输入端与第一外部测试信号相连,其选择端与控制切换信号相连。
6.如权利要求3所述的装置,其特征在于,所述权值为0.75的选通信号生成子单元包括:
第二或门,其具有两个输入端分别与所述相移器的两个输出端相连;
第五多路选择器,其一个输入端与所述第二或门的输出端相连,其另一个输入端与第一外部测试信号相连,其选择端与控制切换信号相连。
7.如权利要求3所述的装置,其特征在于,所述权值为0.875的选通信号生成子单元包括:
第三或门,其具有三个输入端分别与所述相移器的三个输出端相连;
第六多路选择器,其一个输入端与所述第三或门的输出端相连,其另一个输入端与第一外部测试信号相连,其选择端与控制切换信号相连。
8.如权利要求1所述的装置,其特征在于,由所述扫描触发器组构成的扫描森林结构为:
假设所述相移器具有n个输出端,所述扫描森林包括g个扫描触发器组;若g≤n,则n个输出端中的g个输出端分别连接一个扫描触发器组的全部扫描触发器,构成扫描森林;
若g>n,n个输出端分别连接n个扫描触发器组的全部扫描触发器,构成扫描森林的第一层;所述n个扫描触发器组是从g个扫描触发器组中任选的;n个扫描触发器组中剩下的扫描触发器组依次串接到所述扫描森林第一层的各扫描触发器组,构成扫描森林的第二层;再剩下的扫描触发器组又依次串接到上一层的扫描触发器组,构成扫描森林的下一层,直到n个扫描触发器组都与相移器的输出端或者其它扫描触发器组串接;所述扫描触发器组与其它扫描触发器组串接指的是扫描触发器组中所有的扫描触发器输入端分别与其它扫描触发器组中的各扫描触发器的输出端相连。
9.一种通过如权利要求1所述的装置进行测试数据压缩的方法,包括如下具体步骤:
确定所述扫描森林中的每个扫描段的权值;所述扫描段由一个连接相移器输出端的扫描触发器单元及逐级串接其后的各扫描触发器单元组成;
根据各扫描段的权值将各扫描段的选通信号连接到相应权值选通信号生成子单元的输出端,得到自测试电路结构;
通过所述自测试电路结构进行伪随机自测试,获得随机难测故障集合;
根据随机难测故障集合,通过所述自测试电路结构进行确定性自测试,确定确定性测试向量,并生成确定性测试向量集合;
对确定性测试向量集合进行压缩,生成压缩后的确定性测试向量的测试数据。
10.如权利要求9所述的方法,其特征在于,所述确定所述扫描森林中的每个扫描触发器组的权值的方法,包括:
对于扫描森林中的每一个扫描段,依次接入各不同权值的选通信号,得到不同权值的可测度评价函数值;
对于每一个扫描段,选择可测度评价函数值中的最小值所对应的权值作为该扫描段的权值。
11.如权利要求10所述的方法,其特征在于,所述不同权值的选通信号包括:权值为0.5的选通信号,或者权值为0.75的选通信号,或者权值为0.875的选通信号,或者权值为0.625的选通信号。
12.如权利要求9所述的方法,其特征在于,所述确定确定性测试向量的方法包括:根据被测电路的测度,选择最小测度值对应的输入集合作为确定性测试向量。
13.如权利要求12所述的方法,其特征在于,所述被测电路的测度计算方法为:
设被测电路的某信号线l,该信号线取值i,i∈{0,1},设RCi(l)为使信号线l取值i所需要置为确定值{0,1}的输入PI或伪输入PPI的最小集合,可控度Ci(l)为使信号线l取值i所需要置为确定值{0,1}的输入PI或伪输入PPI的最小集合中的元素的个数,可控度具体公式如下:
对于电路的原始输入端PI,有:
RC1(PI)=RC0(PI)={PI},C1(PI)=C0(PI)=1;
对于缓冲门,其中A为其输入信号线,B为其输出信号线,则有:
RC1(B)=RC1(A),C1(B)=|RC1(B)|;
RC0(B)=RC0(A),C0(B)=|RC0(B)|;
对于非门,其中A为其输入信号线,B为其输出信号线,则有:
RC1(B)=RC0(A),C1(B)=|RC1(B)|;
RC0(B)=RC1(A),C0(B)=|RC0(B)|;
对于两输入与门,其中A,B为其输入信号线,l为其输出信号线,则有:
RC1(l)=RC1(A)∪RC1(B),C1(l)=|RC1(l)|;
对于两输入或门,其中A,B为其输入信号线,l为其输出信号线,则有:
RC0(l)=RC0(A)∪RC0(B),C0(l)=RC0(l);
对于扇出s,设B1,B2,...,Bk为其扇出分支,设i∈{0,1},j∈{1,2,...,k},则有:
Ci(Bj)=Ci(s);
设RO(l)为使信号线l处的故障效应传播到某个输出PO或伪输出PPO所需要置为确定值{0,1}的输入PI或伪输入PPI的最小集合,可观测度O(l)为使信号线l处的故障效应传播到某个输出PO或伪输出PPO所需要置为确定值{0,1}的输入PI或伪输入PPI的最小集合中的元素的个数,可观测度具体公式如下:
对于电路的原始输入端PO,有:
RO(PO)=φ,O(PO)=0;
对于缓冲门,非门,其中A为其输入信号线,B为其输出信号线,则有:
RO(A)=RO(B),O(A)=|RO(A)|;
对于两输入与门,其中A,B为其输入信号线,l为其输出信号线,则有:
RO(A)=RO(l)∪RC1(B),O(A)=|RO(A)|;
对于两输入或门,其中A,B为其输入信号线,l为其输出信号线,则有:
RO(A)=RO(l)∪RC0(B),O(A)=|RO(A)|;
对于扇出s,设B1,B2,...,Bk为其扇出分支,则有:
O(s)=min(O(B1),O(B2),...,O(Bk))。
14.如权利要求9所述的方法,其特征在于,所述对确定性测试向量集合进行压缩的方法,包括:
将线性反馈移位寄存器的反馈网络设置为第二异或网络,将所述确定性测试向量集合按照确定位的数目降序排序;
按照所述排序依次从所述确定性测试向量集合中取出确定性测试向量,并确定其种子,将所述种子进行存储,并将该确定性测试向量从确定性测试向量集合中删除;
将取出的确定性测试向量移位进入扫描树,并获得扫描树中各扫描触发器在该确定性测试向量下的响应,将响应压缩至多输入特征分析器。
15.如权利要求14所述的方法,其特征在于,所述将取出的确定性测试向量移位进入扫描树的方法,包括:
将确定出的种子载入线性反馈移位寄存器,将电路切换到移位模式,并将线性反馈移位寄存器运行chain_length周期,此时确定性测试向量被移位进入扫描树;其中,chain_length等于确定性测试阶段的单一扫描树长度。
16.如权利要求14所述的方法,其特征在于,所述获得扫描树中各扫描触发器在该确定性测试向量下的响应的方法,包括:
将电路切换到响应模式,运行一个周期,则扫描树中的各个扫描触发器所存储的数值为各扫描触发器在该确定性测试向量下的响应。
17.如权利要求14所述的方法,其特征在于,所述将响应压缩至多输入特征分析器的方法,包括:
将电路切换到移位模式,将扫描树和线性反馈移位寄存器移位level个周期,则所述响应被压缩至多输入特征分析器;其中,level等于伪随机向量测试阶段的扫描树的最大深度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100574316A CN101226228B (zh) | 2008-02-01 | 2008-02-01 | 一种确定性自测试测试数据压缩装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100574316A CN101226228B (zh) | 2008-02-01 | 2008-02-01 | 一种确定性自测试测试数据压缩装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101226228A CN101226228A (zh) | 2008-07-23 |
CN101226228B true CN101226228B (zh) | 2010-06-02 |
Family
ID=39858339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100574316A Active CN101226228B (zh) | 2008-02-01 | 2008-02-01 | 一种确定性自测试测试数据压缩装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101226228B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103499787A (zh) * | 2013-09-24 | 2014-01-08 | 中国科学院自动化研究所 | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101881812A (zh) * | 2010-07-05 | 2010-11-10 | 中国人民解放军63908部队 | 一种混合模式的内建自测试系统及其方法 |
CN101937056B (zh) * | 2010-08-18 | 2012-07-18 | 西安交通大学 | 数字集成电路测试数据的压缩生成方法 |
CN102081142B (zh) * | 2010-12-02 | 2012-09-26 | 合肥工业大学 | 基于并行折叠计数器的重播种测试方案 |
CN102565682B (zh) * | 2010-12-14 | 2014-05-28 | 苏州工业园区谱芯科技有限公司 | 一种基于二分法的故障测试向量的定位方法 |
CN102707224B (zh) * | 2012-06-04 | 2014-06-11 | 清华大学 | 集成电路转换延迟测试向量精简方法 |
CN104515950B (zh) * | 2015-01-12 | 2018-05-22 | 华南师范大学 | 一种集成电路的内建自测试方法及应用 |
CN105988080A (zh) * | 2015-03-03 | 2016-10-05 | 联发科技(新加坡)私人有限公司 | 建立扫描测试架构的方法和集成电路与电子装置 |
CN106546907B (zh) * | 2016-10-27 | 2019-06-21 | 清华大学 | 一种低功耗扫描自测试电路以及自测试方法 |
CN109143039B (zh) * | 2018-10-09 | 2020-06-16 | 清华大学 | 单固定型故障低功耗测试方法 |
CN110221196B (zh) * | 2019-06-25 | 2020-06-16 | 清华大学 | 单固定型故障基于可测试性影响锥的测试精简方法及系统 |
CN117825908A (zh) * | 2022-09-28 | 2024-04-05 | 深圳市中兴微电子技术有限公司 | 故障定位电路、方法、芯片及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862274A (zh) * | 2006-05-27 | 2006-11-15 | 合肥工业大学 | 一种多扫描链的大规模集成电路测试数据压缩方法 |
-
2008
- 2008-02-01 CN CN2008100574316A patent/CN101226228B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1862274A (zh) * | 2006-05-27 | 2006-11-15 | 合肥工业大学 | 一种多扫描链的大规模集成电路测试数据压缩方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103499787A (zh) * | 2013-09-24 | 2014-01-08 | 中国科学院自动化研究所 | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 |
CN103499787B (zh) * | 2013-09-24 | 2016-01-27 | 中国科学院自动化研究所 | 一种测试数据压缩方法、数据解压缩装置及解压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101226228A (zh) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101226228B (zh) | 一种确定性自测试测试数据压缩装置及方法 | |
CN100395557C (zh) | 采用加权扫描选通信号的基于扫描的自测试结构的自测试方法 | |
EP0460352B1 (en) | System for test data storage reduction | |
US4974184A (en) | Maximum length pseudo-random test pattern generator via feedback network modification | |
Mitra et al. | XPAND: An efficient test stimulus compression technique | |
Jas et al. | Weighted pseudorandom hybrid BIST | |
CN107544017A (zh) | 基于向量压缩的低功耗加权伪随机测试方法及相关设备 | |
JP2003526778A (ja) | テスト中回路技術分野へのテストパターンの連続的な適用およびデコンプレッション | |
WO2003104828B1 (en) | VARIABLY PULSE SCAN TEST CIRCUITS AND ASSOCIATED METHOD | |
JP2003515809A (ja) | 集積回路テスト環境のためのテストパターン圧縮方法 | |
US7155648B2 (en) | Linear feedback shift register reseeding | |
Kiefer et al. | Using BIST control for pattern generation | |
US7260757B2 (en) | System and method for testing electronic devices on a microchip | |
Balcárek et al. | Test patterns compression technique based on a dedicated SAT-based ATPG | |
CN101581762B (zh) | 面向应用的fpga的延迟故障测试方法及系统 | |
Al-Yamani et al. | Optimized reseeding by seed ordering and encoding | |
Xiang et al. | A reconfigurable scan architecture with weighted scan-enable signals for deterministic BIST | |
US20070283204A1 (en) | Method and system for deterministic bist | |
Kim et al. | Test-decompression mechanism using a variable-length multiple-polynomial LFSR | |
Kalligeros et al. | Multiphase BIST: A new reseeding technique for high test-data compression | |
Novak et al. | Test-per-clock testing of the circuits with scan | |
CN105738800A (zh) | 基于单双跳变的低功耗确定性bist及种子压缩方法 | |
Jeníček et al. | Test vector overlapping based compression tool for narrow test access mechanism | |
Gao et al. | BIST using Cellular Automata as test pattern generator and response compaction | |
Das | Self-testing of cores-based embedded systems with built-in hardware |
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 |