路径延迟故障测试向量压缩方法及装置的制作方法

文档序号:5836326阅读:248来源:国知局

专利名称::路径延迟故障测试向量压缩方法及装置的制作方法
技术领域
:本发明涉及集成电路路径延迟故障测试
技术领域
,尤其涉及路径延迟故障测试向量压缩方法及装置。
背景技术
:在集成电路芯片封装以后,需要对芯片质量进行检测。由于芯片封装以后对芯片的内部电路无法直接访问,因此,一般的对芯片的测试采用的方法为在芯片的输入端置入测试向量,并在芯片输出端收集测试响应。将实际所得测试响应与无故障电路所应得的测试响应进行比较,从而判断芯片电路有无故障。测试向量是指通过芯片输入端置入内部电i各的一组逻辑值。为研究问题的需要,通常需要将实际芯片中的物理缺陷抽象为逻辑故障模型。常用的故障模型有单固定型故障和路径延迟故障。单固定型故障所描述的物理缺陷是电路中某一条信号线的输出值固定为逻辑1或0,分别记为s-a-l和s-a-0。路径延迟故障所描述的物理缺陷是电路输入端信号值的跳变沿某条路径进行传播,该路径的延迟超过了给定限制。故障激活是指通过置入测试向量使得故障所在的信号线处产生与故障值相反的逻辑值。例如,如图l所示,信号线d处有故障s-a-O,即d信号线处故障值为逻辑O,其相反的逻辑值为1,因此,需要在输入端a和b置入测试向量"11"。如果置入的测试向量使得故障所在的信号线处产生与故障值相同的逻辑值,例如图1中在输入端a和b置入测试向量"00",则无法区分d信号线处的逻辑值0是由故障s-a-0产生还是由测试向量"00"产生,从而无法抬r测到d处是否存在故障s-a-0。故障传播是指将激活后的故障效应传播到电路的输出端。例如,图l所示电路,信号线d处有故障s-a-O,如果输入端c处置入测试向量"1",则或门OR2的输出为逻辑l,无论d处的故障是否被激活,输出端e处的逻辑值均为1,从而无法一佥测到d处是否存在故障s-a-0。因此故障传播要求在输入端c置入测试向量"0",这样故障效应才能传播到输出端e。在电路结构中,门的输出信号线的值与时钟信号无关,这样的门称为组合门,組合门的类型包括非门、与门、或门、与非门、或非门、异或门、异或非门等。组合门的输出信号线是该组合门的输入信号线的组合后继。组合后继的关系可以迭代。例如,图1中,d是a的组合后继,e是d的组合后继,而e也是a的组合后继。e是a的组合后继,e也是c的组合后继,则a和c有共同组合后继e。通常,测试向量中可以含有确定位和不确定位,例如,测试向量"10xxxx"中的"1"和"0"表示确定位,"x"表示不确定位。若两个测试向量的确定位不发生沖突,则可将两个测试向量压缩为一个。例如,测试向量"10xxxx"和"lxxx0r可压缩为一个测试向量"lOxxOl,,;而测试向量"10xxxx"和"0xxx01"由于第一位发生冲突,不能进行压缩。现有技术中的路径延迟故障的测试向量压缩方法,压缩比例低,压缩时间长,因而无法满足快速准确进行芯片质量检测的需要。
发明内容本发明实施例提供路径延迟故障测试向量压缩方法及装置,用以在较短的时间内获得很高的测试向量压缩比,解决现有技术路径延迟故障的测试向量压缩过程中存在的压缩比例低、压缩时间长的问题。一种路径延迟故障测试向量的压缩方法,该方法包括A、输入测试电路中各路径的可测路径延迟故障构成的故障集以及测试电路的电路拓朴结构,对所述测试电路的每个原始输入分别计算输入相关区域;所述输入相关区域为与所述原始输入具有共同组合后继的所有原始输入;B、当所述原始输入的输入相关区域互不重叠时,将与所述原始输入相关路径的路径延迟故障对应的测试向量进行压缩,得到第一压缩测试向量集;对所述第一压缩测试向量集中各测试向量分别进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除;C、将所述故障集中剩余的路径延迟故障对应的测试向量进行压缩,得到第二压缩测试向量集;D、将所述第一压缩测试向量集和第二压缩测试向量集合并为压缩测试向量集。较佳地,所述步骤B包括Bl、对所述故障集中的所有路径延迟故障按其对应的路径的起始点是否相同分类,将具有同一起始点的所有路径对应的路径延迟故障归入对应的子集;B2、置所述测试电路原始输入的逻辑值为非确定值;B3、对于每一个所述子集,当子集非空且当前输入相关区域中所有的原始输入的逻辑值均为非确定值,则从该子集中随机选出某个路径延迟故障,将该路径延迟故障对应的测试向量存入所述第一压缩测试向量集中,并#^居所述测试向量更新原始输入的逻辑值;B4、用所述测试向量进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除。较佳地,所述步骤C包括Cl、从所述故障集中选择设定数量的路径延迟故障的对应路径;C2、将选择出的路径放入当前目标集,根据故障激活和传播条件设置当前目标集中所有路径的信号线逻辑值及旁路输入信号线逻辑值,若同一条信号线的逻辑值相同,则执行步骤C3;否则,执行步骤C4;C3、根据信号线的赋值要求逐步反向求值到所述测试电路的原始输入,若反向求值成功,则将所述反向求值结果作为测试向量保存到所述第二压缩测试向量集,并返回执行步骤C1;否则,执行步骤C4;C4、判断所述故障集是否为空,若是,将选出的路径对应路径延迟故障分别进行测试向量生成,并保存到所述第二压缩测试向量集;否则,将选出的路径对应路径延迟故障放回所述故障集,并返回执行步骤Cl。一种^各径延迟故障测试向量的压缩方法,该方法包4舌a、输入测试电路中各路径的可测路径延迟故障构成的故障集以及测试电路的电路拓朴结构,对所述测试电路的每个原始输入分别计算输出相关区域;所述输出相关区域包括能够到达对应的原始输出的所有原始输入;b、当所述原始输出的输出相关区域互不重叠时,将与所述原始输出相关路径的路径延迟故障对应的测试向量进行压缩,得到第一压缩测试向量集;对所述第一压缩测试向量集中各测试向量分别进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除;c、将所述故障集中剩余的路径延迟故障对应的测试向量进行压缩,得到第二压缩测试向量集;d、将所述第一压缩测试向量集和第二压缩测试向量集合并为压縮测试向量集。较佳地,所述步骤b包括bl、对所述故障集中的所有路径延迟故障按其对应的路径的终止点是否相同分类,将具有同一终止点的所有路径对应的路径延迟故障归入对应的子集;b2、置所述测试电路原始输入的逻辑值为非确定值;b3、对于每一个所述子集,当子集非空且当前输出相关区域中所有的原始输入的逻辑值均为非确定值,则从该子集中随机选出某个路径延迟故障,将该路径延迟故障对应的测试向量存入所述第一压缩测试向量集中,并根据所述测试向量更新原始输入的逻辑值;b4、用所述测试向量进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除。较佳地,所述步骤c包括Cl、从所述故障集中选择设定数量的路径延迟故障的对应路径;c2、将选择出的路径放入当前目标集,根据故障激活和传播条件设置当前目标集中所有路径的信号线逻辑值及旁路输入信号线逻辑值,若同一条信号线的逻辑值相同,则执行步骤c3;否则,执行步骤c4;c3、根据信号线的赋值要求逐步反向求值到所述测试电路的原始输入,若反向求值成功,则将所述反向求值结果作为测试向量保存到所述第二压缩测试向量集,并返回执行步骤cl;否则,执行步骤c4;c4、判断所述故障集是否为空,若是,将选出的路径对应路径延迟故障分别进行测试向量生成,并保存到所述第二压缩测试向量集;否则,将选出的路径对应路径延迟故障放回所述故障集,并返回执行步骤cl。一种路径延迟故障测试向量的压缩装置,该装置包括故障输入单元、第一压缩单元、第二压缩单元和测试向量存储单元,其中,所述故障输入单元,用于输入测试电路中各路径的可测路径延迟故障构成的故障集以及测试电路的电路拓朴结构,对所述测试电路的每个原始输入/原始输出分别计算输入相关区域/输出相关区域;所述第一压缩单元,用于当所述原始输入/原始输出的输入相关区域/输出相关区域互不重叠时,将与所述原始输入/原始输出相关路径的路径延迟故障对应的测试向量进行压缩,并发送给所述测试向量存储单元;根据压缩后的测试向量分别进行故障模拟,将故障模拟得到的路径延迟故障从所述故障集中删除;所述第二压缩单元,用于将所述故障集中剩余的路径延迟故障对应的测试向量进行压缩,并发送给所述测试向量存储单元;所述测试向量存储单元,用于接收并存储所迷第一压缩单元和第二压缩单元发送的测试向量。较佳地,所述第一压缩单元包括分类子单元、初始化子单元、压缩子单元和更新子单元,其中,所述分类子单元,用于对所述故障集中的所有路径延迟故障按其对应的路径起始点/终止点是否相同分类,将具有同一起始点/终止点的所有路径对应路径延迟故障归入对应的子集;所述初始化子单元,用于置所述测试电路原始输入的逻辑值为非确定值;所述压缩子单元,用于对每一个所述子集,当子集非空且当前输入相关区域/输出相关区域中所有的原始输入的逻辑值均为非确定值,则从该子集中随机选出某个路径延迟故障,记录该路径延迟故障对应的测试向量并发送给所述更新子单元;根据所述测试向量更新原始输入的逻辑值;所述更新子单元,用于根据接收的测试向量进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除。较佳地,所述第二压缩单元包括比较子单元、反向求值子单元、测试向量生成子单元和测试向量存储子单元,其中,所述比较子单元,用于从所述故障集中选择设定数量的路径延迟故障的对应路径,将选择出的路径放入当前目标集,根据故障激活和传播条件设置当前目标集中所有路径的信号线逻辑值及旁路输入信号线逻辑值,若同一条信号线的逻辑值相同,则通知所述反向求值子单元;否则,通知所述测试向量生成子单元;所述反向求值子单元,用于将信号线的赋值要求逐步反向求值到所述测试电路的原始输入,若反向求值成功,则将当前所得测试向量发送给所述测试向量存储子单元;否则,通知所述测试向量生成子单元;所述测试向量生成子单元,用于判断所述故障集是否为空,若是,将选出的路径对应路径延迟故障分别进行测试向量生成,则将当前所得测试向量发送给所述测试向量存储子单元;否则,将选出的路径对应路径延迟故障放回所述故障集;所述测试向量存储子单元,用于接收并存储所述反向求值子单元和测试向量生成子单元发送的测试向量。本发明实施例采用路径延迟故障测试向量生成等效电路,根据故障激活和传播条件,将路径延迟故障等效为无扇出电路中的单固定型故障。根据电路动态压缩,采用基于扇出数的多目标路径延迟故障测试向量生成技术,在路径延迟故障测试向量生成过程中进行测试向量集合的动态压缩,得到高压缩比的路径延迟故障压缩测试向量集。本发明实施例提供的方法,在保证测试向量的故障覆盖率为100%的基础上,可以在较短时间内获得很高的测试向量压缩比,为芯片测试提供了可靠的路径延迟故障测试方法。图1为现有技术中电路结构中的组合后继示意图;图2(a)~图2(b)为本发明实施例基于输入相关区域动态压缩示意图;图3(a)~图3(b)为本发明实施例基于输出相关区域动态压缩示意图;图4为本发明实施例提供的路径延迟故障测试向量生成等效电路示意图;图5为本发明实施例1的主要实现原理流程图;图6为本发明实施例1中根据输入相关区域进行测试向量动态压缩的主要原理流程图;图7为本发明实施例1中基于扇出电路的多目标测试向量生成的主要原理流程图;图8为本发明实施例2的主要原理流程图;图9为本发明实施例2中根据输出相关区域进行测试向量动态压缩的主要原理流程图;图10为本发明实施例3提供的路径延迟故障测试向量压缩装置结构示意图;图11为本发明实施例3中的第一压缩单元结构示意图;图12为本发明实施例3中的第二压缩单元结构示意图。具体实施方式本发明采用路径延迟故障测试向量生成等效电路,根据故障激活和传播条件,将路径延迟故障等效为无扇出电路中的单固定型故障。根据电路拓朴结构,将电路划分为输入相关区域或输出相关区域,采用基于扇出数的多目标路径延迟故障测试向量生成技术,在路径延迟故障测试向量生成过程中进行测试向量集合的动态压缩。本发明实施例中的输入相关区域,是指与对应的原始输入具有共同组合后继的所有原始输入。设路径p的起始点为原始输入a,与a具有共同组合后继的原始输入构成了路径p的输入相关区域。如图2(a)与图2(b)所示,两条路径的输入相关区域不重叠,则两条路径对应的测试向量可进行压缩。本发明实施例所指的输出相关区域,是指能够到达相应原始输出的所有原始输入。设路径p的终止点为原始输出b,能到达b的原始输入构成了路径p的输出相关区域。如图3(a)与图3(b)所示,两条路径的输出相关区域不重叠,则两条^各径对应的测试向量可进行压缩。本发明实施例所指的路径延迟故障通常发生在一个路径之上,路径是指电路中以原始输入或触发器为起始点,原始输出或触发器为终止点的一段电路,包括这段电路中的逻辑门器件以及相关A信号线等。如图4所示,图中实线框内为原电路,虚线框内为新引入的目标路径所构成的无扇出电路,由于路径a,e,与路径ae故障激活与传播的条件相同,并且无扇出电路中的路径延迟故障与输入端的单固定型故障等效,因此,路径ae的延迟故障与a,处的单固定型故障等效。下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。如图5所示,本发明实施例1的主要实现原理流程如下步骤ll,输入测试电路中各路径的可测路径延迟故障构成的故障集F以及测试电路的电路拓朴结构,对测试电路的每个原始输入PIi分别计算输入相关区域1—CONE(PIi)。这里,对电路的3各径延迟故障的测试可以通过计算机完成,因此,可以将所有可测的路径延迟故障构成的故障集F以及测试电路的电路拓朴结构输入计算机。电路拓朴结构可以是一个计算机可识别的电路结构文件。对每个原始输入PI;计算输入相关区域I一CONE(PIi)的具体计算方法为I—CONE(PIj)=驱动原始输入PIi在电路中的所有后继门的所有原始l^入;也就是说,原始输入PIi的输入相关区域I一CONE(PIj)是指与其具有共同组合后继的所有原始输入。这里需要分别为每个原始输入PIj计算对应的输入相关区域I—CONE(PIi)。故障集F中包含了所有在被测电路中可能存在并可以被测试出来的路径延迟故障。由于路径延迟故障一定存在于某个路径上,因而每个路径延迟故障对应一个相应的路径。根据故障激活与故障传播的条件和原理,可以得到集合F中每个路径延迟故障对应的原始输入PIi的逻辑值,也就是可以得到该路径延迟故障对应的测试向量。步骤12,当原始输入PIi的输入相关区域IJ30NE(PIi)互不重叠时,将与原始输入PIj相关路径的路径延迟故障对应的测试向量进行压缩;根据压缩后的测试向量分别进行故障模拟,将故障模拟过程中测试出的路径延迟故障从故障集F中删除。设路径p的起始点为原始输入a,与a具有共同组合后继的原始输入构成了路径p的输入相关区域。对某个测试向量而言,若路径p的输入相关区域在此测试向量下的值全部为非确定值,则对路径p作路径延迟故障测试向量生成后,所得到的测试向量可与此测试向量进行压缩。在根据输入相关区域对测试向量进行动态压缩后,保留压缩后的测试向量,并根据压缩后的测试向量进行故障模拟,也就是根据压缩后的测试向量确定出可以被这些测试向量测试出的路径延迟故障,并将这些路径延迟故障从故障集F中删除。步骤13,将故障集F中剩余的路径延迟故障对应的测试向量进行压缩。本实施例中,将故障集F中剩余的路径延迟故障对应的测试向量进^f亍压缩的方法可以为将故障集F中剩余的路径延迟故障对应的测试向量——进行比对,将可以压缩的测试向量进行压缩,直到剩余的测试向量均不能压缩为止;或者,根据故障激活和故障传播条件,判断故障对应的路径的信号线逻辑值和旁路输入信号线逻辑值是否相同,如果是,反向求值到对应的原始输入PIj,从而得到相应的路径延迟故障共同的测试向量,达到压缩测试向量的目的。特別的,由于多个测试向量可以测到同一个故障,设测试向量集T(t,,t2,...,tn)可以测到故障f,设测试向量集T,(t、,t,2,t,m)可以测到故障f。釆用单目标路径故障路径延迟故障测试向量生成所得到的向量t,,t,,可能无法压缩;而多目标路径故障的路径延迟故障测试向量生成则可以尝试T与T,中向量的所有组合情况,从而更好地进行测试向量集合的压缩。步骤14,将上述步骤12中得到测试向量和步骤13中得到的测试向量合并,得到压缩测试向量集。较佳地,如图6所示,上述实施例中的步骤12,具体包括步骤121,对路径延迟故障集合F中的所有路径延迟故障对应的路径,按照起始点是否相同分类,将具有同一起始点原始输入PIj的所有路径延迟故障对应的路径归入对应的子集合SUB(PIi);步骤122,置电路原始输入的逻辑值为非确定值;步骤123,对于i从1到n_PI(原始输入的个数),若该子集合SUB(PIi)非空且输入相关区域I—CONE(PIi)中所有原始输入PIi的逻辑值均为非确定值,则从该子集合SUB(PIi)中随机选出某个路径延迟故障,进行路径延迟故障测试向量生成,并据此更新电路原始输入PIi的逻辑值;步骤124,用所得测试向量进行故障模拟,将故障模拟得到的路径延迟故障从故障集F中删除,更新路径延迟故障集合F。较佳地,如图7所示,上述实施例中的步骤13,具体包括步骤131,从路径延迟故障集合F中选择一定数量的路径延迟故障对应路径;这里,选取路径延迟故障的数量可以预先设定,可以选取集合F中所有的路径延迟故障对应路径,也可以选取集合F中的部分路径延迟故障对应路径。步骤132,将选择出的路径放入当前目标集合C,根据故障激活和传播条件设置当前目标集合C中所有路径的信号线逻辑值及旁路输入信号线逻辑值,若同一个信号线的逻辑值相同,则执行步骤133;否则,执行步骤134;步骤133,将信号线的赋值要求反向求值(根据门的输出值求其输入值)到电路的原始输入PI;,若反向求值成功,则保存当前所得测试向量,并返回执行步骤131;否则,执行步骤134;步骤134,判断故障集F是否为空,若是,将选出的路径对应路径延迟故障分别进行测试向量生成,将所得测试向量与步骤133中所得测试向量合并存储;否则,将选出的路径放回路径延迟故障集合F,并返回执行步骤131。如此循环,直到路径延迟故障集合F中所有故障对应路径均已经无法进行测试向量压缩,此时,存储的测试向量即为路径延迟故障的压缩后的测试向量。本实施例所提供的方法,通过计算每个原始输入PIj的输入相关区域I_CONE(PI0,并根据输入相关区域I一CONE(PIi)将电路中可测试的路径延迟故障对应的测试向量进行动态压缩,而后,采用基于扇出数的多目标路径延迟故障测试向量生成技术完成对剩余的路径延迟故障对应的测试向量生成与压缩。相应的,本发明实施例2提供一种路径延迟故障测试向量压缩方法,如图8所示,具体如下步骤21,输入测试电路中各路径的可测路径延迟故障构成的故障集F以及测试电路的电路拓朴结构,对测试电路的每个原始输出POi分别计算输出相关区域O一CONE(POO。这里,对电路的路径延迟故障的测试可以通过计算机完成,因此,可以将所有可测的路径延迟故障构成的故障集F以及测试电路的电路拓朴结构输入计算机。电路拓朴结构可以是一个计算机可识别的电路结构文件。对每个原始输出POi计算输出相关区域0_CONE(POi)的具体计算方法为O—CONE(POi)=原始输出POi在电路中所有前继门可达所有原始输出;也就是说,原始输出POi的输出相关区域O一CONE(POj)是指与其具有共同组合后继的所有原始输入。这里需要分别为每个原始输出PO,计算对应的输出相关区域0_CONE(POi)。故障集F中包含了所有在被测电路中可能存在并可以被测试出来的路径延迟故障。由于路径延迟故障一定存在于某个路径上,因而每个路径延迟故障对应一个相应的路径。根据故障激活与故障传播的条件和原理,可以得到集合F中每个路径延迟故障对应的原始输入PIi的逻辑值,也就是可以得到该路径延迟故障对应的测试向量。步骤22,当原始输出POi的输出相关区域Oj:ONE(POi)互不重叠时,将与该原始输出POi相关路径的路径延迟故障对应的测试向量进行压缩;根据压缩后的测试向量进行故障模拟,将故障模拟过程中测试的路径延迟故障从故障集F中删除。设路径p的终止点为原始输出b,能到达b的原始输入构成了路径p的输出相关区域。对某个测试向量而言,若路径p的输出相关区域在此测试向量下的值全部为非确定值,则对路径p作路径延迟故障测试向量生成后,所得到的测试向量可与此测试向量进行压缩。在根据输出相关区域对测试向量进行动态压缩后,保留压缩后的测试向量,并根据压缩后的测试向量进行故障模拟,也就是根据压缩后的测试向量确定出可以被这些测试向量测试出的路径延迟故障,并将这些路径延迟故障从故障集F中删除。步骤23,将故障集F中剩余的路径延迟故障对应的测试向量进行压缩。本实施例中,将故障集F中剩余的路径延迟故障对应的测试向量进行压缩的方法可以为将故障集F中剩余的路径延迟故障对应的测试向量——进行比对,将可以压缩的测试向量进行压缩,直到剩余的测试向量均不能压缩为止;或者,根据故障激活和故障传播条件,判断故障对应的路径的信号线逻辑值和旁路输入信号线逻辑值是否相同,如果是,反向求值到对应的原始输入PI"从而得到相应的路径延迟故障共同的测试向量,达到压缩测试向量的目的。特别的,由于多个测试向量可以测到同一个故障,-没测试向量集T(tbt2,U可以测到故障f,设测试向量集T,(t,i,t,2,t,m)可以测到故障f。采用单目标路径故障路径延迟故障测试向量生成所得到的向量ti,t、可能无法压缩;而多目标路径故障的路径延迟故障测试向量生成则可以尝试T与T,中向量的所有组合情况,从而更好地进行测试向量集合的压缩。步骤24,将上述步骤22中得到测试向量和步骤23中得到的测试向量合并,得到压缩测试向量集。较佳地,如图9所示,上述实施例2中的步骤22,具体包括步骤221,对路径延迟故障集合F中的所有路径延迟故障对应的路径,按照终止点是否相同分类,将具有同一终止点原始输出POi的所有路径延迟故障对应的路径归入对应的子集合SUB(PO0;步骤222,置电路原始输入的逻辑值为非确定值;步骤223,对于i从1到n_PO(原始输入的个数),若该子集合SUB(POi)非空且输出相关区域O—CONE(POi)中所有原始输出POj的逻辑值均为非确定值,则从该子集合SUB(POi)中随机选出某个路径延迟故障,进行路径延迟故障测试向量生成,并据此更新电路原始输入PI;的逻辑值;步骤224,用所得测试向量进行故障模拟,将故障模拟得到的路径延迟故障从故障集F中删除,更新路径延迟故障集合F。特别的,上述实施例2中步骤23的具体实现方式与本发明实施例1中步骤13的具体实施方式相同,此处不再赘述。本实施例所提供的方法,通过计算每个原始输出POi的输出相关区域O—CONE(POi),并根据输出相关区域O—CONE(POi)将电路中可测试的路径延迟故障对应的测试向量进行动态压缩,而后,采用基于扇出数的多目标^各径延迟故障测试向量生成技术完成对剩余的路径延迟故障对应的测试向量生成与压缩。相应的,本发明实施例3还提供一种路径延迟故障测试向量压缩装置,如图IO所示,该装置包括故障输入单元31、第一压缩单元32、第二压缩单元33和测试向量存储单元34,具体如下故障输入单元31,用于输入测试电路中各路径的可测路径延迟故障构成的故障集以及测试电路的电路拓朴结构,对测试电路的每个原始输入/原始输出分别计算输入相关区域/输出相关区域;特别的,这里只需要分别为测试电路的每个原始输入计算对应的输入相关区域,或分别为测试电路的每个原始输出计算对应的输出相关区域,不需要同时计算输入相关区域和输出相关区域。第一压缩单元32,用于当所述原始输入/原始输出的输入相关区域/输出相关区域互不重叠时,将与所述原始输入/原始输出相关路径的路径延迟故障对应的测试向量进行压缩,并发送给测试向量存储单元34;根据压缩后的测试向量分别进行故障模拟,将故障模拟得到的路径延迟故障从故障集中删除;第二压缩单元33,用于将故障集中剩余的路径延迟故障对应的测试向量进行压缩,并发送给测试向量存储单元34;测试向量存储单元34,用于接收并所述第一压缩单元32和第二压缩单元33发送的测试向量。这里得到的测试向量即为压缩后的测试向量,可以在保证故障覆盖率为100%的基础上,可以在较短时间内获得很高的测试向量压缩比。较佳地,如图ll所示,上述实施例3中的第一压缩单元32具体包括分类子单元321、初始化子单元322、压缩子单元323和更新子单元324,具体如下分类子单元321,用于对故障集中的所有路径延迟故障对应的路径按照起始点/终止点是否相同分类,将具有同一起始点/终止点的所有路径延迟故障对应^各径归入对应的子集;特别的,这里可以分别对故障集中的所有路径延迟故障对应的路径按照起始点是否相同分类,或者对故障集中的所有路径延迟故障对应的路径按照终止点是否相同分类。初始化子单元322,用于置电路原始输入的逻辑^i为非确定值;压缩子单元323,用于对每一个具有同一起始点/终止点的路径延迟故障对应的路径,如果对应的子集非空且输入相关区域/输出相关区域中所有的原始输入的逻辑值均为非确定值,则从该子集中随机选出某个路径延迟故障,记录该路径延迟故障对应的测试向量并发送给更新子单元324,根据测试向量更新原始输入的逻辑值;更新子单元324,用于根据接收的测试向量进行故障模拟,将故障模拟得到的路径延迟故障从故障集中删除。较佳地,如图12所示,上述实施例3中的第二压缩单元33具体包括比较子单元331、反向求值子单元332、测试向量生成子单元333和测试向量存储子单元334,具体如下比较子单元331,用于从故障集中选择设定数量的路径延迟故障对应路径,将选择出的路径放入当前目标集,根据故障激活和传播条件设置当前目标集中所有路径的信号线逻辑值及旁路输入信号线逻辑值,若同一个信号线的逻辑值相同,则通知反向求值子单元332;否则,通知测试向量生成子单元333;反向求值子单元332,用于将信号线的赋值要求逐步反向求值到电路的原始输入,若反向求值成功,则将当前所得测试向量发送给测试向量存储子单元334;否则,通知测试向量生成子单元333;测试向量生成子单元333,用于判断故障集是否为空,若是,将选出的路径对应路径延迟故障分别进行测试向量生成,则将当前所得测试向量发送给测试向量存储子单元334;否则,将选出的路径对应路径延迟故障放回故障集;测试向量存储子单元334,用于接收并存储反向求值子单元332和测试向量生成子单元333发送的测试向量。本发明实施例提供的装置,在保证测试向量的故障覆盖率为100%的基础上,可以在较短时间内获得很高的测试向量压缩比,为芯片测试提供了可靠的路径延迟故障测试方法。表1是将本发明应用到标准的ISCAS89电路进行测试向量压缩的实验结果表,实验平台为SUNBLADE2000工作站。表1中,circuit为电路名称,#path为路径延迟故障数,FC表示故障覆盖率,弁vec表示测试向量数,ratio表示测试向量压缩比,ratio是故障数与向量数的比值,Time表示路径延迟故障测试向量生成所用时间。表l<table>tableseeoriginaldocumentpage22</column></row><table><table>tableseeoriginaldocumentpage23</column></row><table>为了进一步说明本发明可以达到的有益效果,如表2所示,为本发明所提供的测试向量压缩方法与两种现有技术的测试向量压缩方法压缩测试效果的对比结果,其中,circuit为电路名称,path为路径延迟故障数,vec表示测试向量数,comp为压缩比,ENRICH与NEAT为现有4支术中的两种测试向量压缩方法。表2<table>tableseeoriginaldocumentpage23</column></row><table>如表3所示,为本发明提供的测试向量压缩方法与现有技术中另外一种测试向量压缩方法对比结果,其中,circuit为电路名称,path为路径延迟故障数,selected表示可以测试到的路径延迟故障,FC表示故障覆盖率,vec表示测试向量数,comp为压缩比,kaji.为现有技术中的测试向量压缩方法。表3<table>tableseeoriginaldocumentpage24</column></row><table>由上述的表格中可以看出,采用本发明中的方法,可以在较短时间内获得很高的测试向量压缩比,并保证测试向量的故障覆盖率为100%。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1、一种路径延迟故障测试向量的压缩方法,其特征在于,该方法包括A、输入测试电路中各路径的可测路径延迟故障构成的故障集以及测试电路的电路拓扑结构,对所述测试电路的每个原始输入分别计算输入相关区域;所述输入相关区域为与所述原始输入具有共同组合后继的所有原始输入;B、当所述原始输入的输入相关区域互不重叠时,将与所述原始输入相关路径的路径延迟故障对应的测试向量进行压缩,得到第一压缩测试向量集;对所述第一压缩测试向量集中各测试向量分别进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除;C、将所述故障集中剩余的路径延迟故障对应的测试向量进行压缩,得到第二压缩测试向量集;D、将所述第一压缩测试向量集和第二压缩测试向量集合并为压缩测试向量集。2、如权利要求l所述的方法,其特征在于,所述步骤B包括Bl、对所述故障集中的所有路径延迟故障按其对应的路径的起始点是否相同分类,将具有同一起始点的所有路径对应的路径延迟故障归入对应的子集;B2、置所述测试电路原始输入的逻辑值为非确定值;B3、对于每一个所述子集,当子集非空且当前输入相关区域中所有的原始输入的逻辑值均为非确定值,则从该子集中随机选出某个路径延迟故障,将该路径延迟故障对应的测试向量存入所述第一压缩测试向量集中,并根据所述测试向量更新原始输入的逻辑值;B4、用所述测试向量进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除。3、如权利要求2所述的方法,其特征在于,所述步骤C包括-.Cl、从所述故障集中选择设定数量的路径延迟故障的对应路径;C2、将选择出的路径放入当前目标集,根据故障激活和传播条件设置当前目标集中所有路径的信号线逻辑值及旁路输入信号线逻辑值,若同一条信号线的逻辑值相同,则执行步骤C3;否则,执行步骤C4;C3、根据信号线的赋值要求逐步反向求值到所述测试电路的原始输入,若反向求值成功,则将所述反向求值结果作为测试向量保存到所述第二压缩测试向量集,并返回执行步骤C1;否则,执行步骤C4;C4、判断所述故障集是否为空,若是,将选出的路径对应路径延迟故障分别进行测试向量生成,并保存到所述第二压缩测试向量集;否则,将选出的路径对应路径延迟故障放回所述故障集,并返回执行步骤Cl。4、一种路径延迟故障测试向量的压缩方法,其特征在于,该方法包括a、输入测试电路中各路径的可测路径延迟故障构成的故障集以及测试电路的电路拓朴结构,对所述测试电路的每个原始输入分别计算输出相关区域;所述输出相关区域包括能够到达对应的原始输出的所有原始输入;b、当所述原始输出的输出相关区域互不重叠时,将与所述原始输出相关路径的路径延迟故障对应的测试向量进行压缩,得到第一压缩测试向量集;对所述第一压缩测试向量集中各测试向量分别进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除;c、将所述故障集中剩余的路径延迟故障对应的测试向量进行压缩,得到第二压缩测试向量集;d、将所述第一压缩测试向量集和第二压缩测试向量集合并为压缩测试向量集。5、如权利要求4所述的方法,其特征在于,所述步骤b包括bl、对所述故障集中的所有路径延迟故障:接其对应的路径的终止点是否相同分类,将具有同一终止点的所有路径对应的路径延迟故障归入对应的子集;b2、置所述测试电路原始输入的逻辑值为非确定值;b3、对于每一个所述子集,当子集非空且当前输出相关区域中所有的原始输入的逻辑值均为非确定值,则从该子集中随机选出某个路径延迟故障,将该路径延迟故障对应的测试向量存入所述第一压缩测试向量集中,并#4居所述测试向量更新原始输入的逻辑值;b4、用所述测试向量进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除。6、如权利要求5所述的方法,其特征在于,所述步骤c包括c1、从所述故障集中选择设定数量的路径延迟故障的对应路径;c2、将选择出的路径放入当前目标集,根据故障激活和传播条件设置当前目标集中所有路径的信号线逻辑值及旁路输入信号线逻辑值,若同一条信号线的逻辑值相同,则执行步骤c3;否则,执行步骤c4;c3、根据信号线的赋值要求逐步反向求值到所述测试电路的原始输入,若反向求值成功,则将所述反向求值结果作为测试向量保存到所述第二压缩测试向量集,并返回执行步骤cl;否则,执行步骤c4;c4、判断所述故障集是否为空,若是,将选出的路径对应路径延迟故障分别进行测试向量生成,并保存到所述第二压缩测试向量集;否则,将选出的路径对应路径延迟故障放回所述故障集,并返回执行步骤cl。7、一种路径延迟故障测试向量的压缩装置,其特征在于,该装置包括故障输入单元、第一压缩单元、第二压缩单元和测试向量存储单元,其中,所述故障输入单元,用于输入测试电路中各路径的可测路径延迟故障构成的故障集以及测试电路的电路拓朴结构,对所述测试电路的每个原始输入/原始输出分别计算输入相关区域/输出相关区域;所述第一压缩单元,用于当所述原始输入/原始输出的输入相关区域/输出相关区域互不重叠时,将与所述原始输入源始输出相关路径的路径延迟故障对应的测试向量进行压缩,并发送给所述测试向量存储单元;根据压缩后的测试向量分别进行故障模拟,将故障模拟得到的路径延迟故障从所述故障集中删除;所述第二压缩单元,用于将所述故障集中剩余的路径延迟故障对应的测试向量进行压缩,并发送给所述测试向量存储单元;所述测试向量存储单元,用于接收并存储所述第一压缩单元和第二压缩单元发送的测试向量。8、如权利要求7所述的装置,其特征在于,所述第一压缩单元包括分类子单元、初始化子单元、压缩子单元和更新子单元,其中,所述分类子单元,用于对所述故障集中的所有路径延迟故障按其对应的路径起始点/终止点是否相同分类,将具有同一起始点/终止点的所有路径对应路径延迟故障归入对应的子集;所述初始化子单元,用于置所述测试电路原始输入的逻辑值为非确定值;所述压缩子单元,用于对每一个所述子集,当子集非空且当前输入相关区域/输出相关区域中所有的原始输入的逻辑值均为非确定值,则从该子集中随机选出某个路径延迟故障,记录该路径延迟故障对应的测试向量并发送给所述更新子单元;根据所述测试向量更新原始输入的逻辑值;所述更新子单元,用于根据接收的测试向量进行故障模拟,将故障模拟过程中测试出的路径延迟故障从所述故障集中删除。9、如权利要求8所述的装置,其特征在于,所述第二压缩单元包括比较子单元、反向求值子单元、测试向量生成子单元和测试向量存储子单元,其中,所述比较子单元,用于从所述故障集中选择设定数量的路径延迟故障的对应路径,将选择出的路径放入当前目标集,根据故障激活和传播条件设置当前目标集中所有路径的信号线逻辑值及旁路输入信号线逻辑值,若同一条信号线的逻辑值相同,则通知所述反向求值子单元;否则,通知所述测试向量生成子单元;所述反向求值子单元,用于将信号线的赋值要求逐步反向求值到所述测试电路的原始输入,若反向求值成功,则将当前所得测试向量发送给所述测试向量存储子单元;否则,通知所述测试向量生成子单元;所述测试向量生成子单元,用于判断所述故障集是否为空,若是,将选出的路径对应路径延迟故障分别进行测试向量生成,则将当前所得测试向量发送给所述测试向量存储子单元;否则,将选出的路径对应路径延迟故障放回所述故障集;所述测试向量存储子单元,用于接收并存储所述反向求值子单元和测试向量生成子单元发送的测试向量。全文摘要本发明实施例公开了一种路径延迟故障测试向量压缩方法及装置,采用路径延迟故障测试向量生成等效电路,根据故障激活和传播条件,将路径延迟故障等效为无扇出电路中的单固定型故障。根据电路拓扑结构,将电路划分为输入相关区域和输出相关区域并分别进行测试向量的动态压缩,采用基于扇出数的多目标路径延迟故障测试向量生成技术,在路径延迟故障测试向量生成过程中进行测试向量集合的动态压缩,得到高压缩比的路径延迟故障压缩测试向量集。本发明实施例提供的方法,在保证故障覆盖率为100%的基础上,可以在较短时间内获得很高的测试向量压缩比,为芯片测试提供了可靠的路径延迟故障测试方法。文档编号G01R31/3183GK101221216SQ20081005667公开日2008年7月16日申请日期2008年1月23日优先权日2008年1月23日发明者东向,李开伟申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1