一种数字集成电路的测试方法

文档序号:5958526阅读:441来源:国知局

专利名称::一种数字集成电路的测试方法
技术领域
:本发明涉及数字集成电路测试
技术领域
,特别涉及一种数字集成电路的测试方法。
背景技术
:在数字电路测试领域,主要存在单固定型故障,跳变故障和延迟故障等故障类型。目前集成电路芯片设计趋向高集成化和低功耗方向发展,已有的研究方向多单固定型故障和跳变故障,对延迟故障的研究不多,未来,延迟故障在集成电路芯片应用中发生概率变大,针对延迟故障的测试向量精简显得越来越重要,路径延迟故障是延迟故障领域中重要的组成部分,其关心的是在单条路径传输信号的过程中,门和门间连接线造成的延迟积累,对整条路径延迟时间的影响,随着集成电路芯片规模的增大,路径延迟故障会成指数量级增加,因此测试难度较高。Pomeranz和Reddy针对降低路径延迟故障测试时间提出了基于关键路径的选择方法,对单个门为起点选择一个或多个最多门的路径做测试向量压缩,但没有考虑到路径的可测性,对于规模较大的电路,将产生非常多的冗余测试路径。
发明内容本发明旨在至少解决上述技术问题之一。为此,本发明的一个目的在于提出一种测试时间短、测试效率高的数字集成电路的测试方法。为了实现上述目的,本发明的实施例提出了一种数字集成电路的测试方法,包括以下步骤:A、从被测电路中获取所有测试路径以组成第一测试路径集合;B、从所述第一测试路径集合中选择满足第一条件的所有测试路径并复制到第二测试路径集合中;C、从所述第二测试路径集合中选择扇出个数最多的第一测试路径,并计算影响锥和与所述第一测试路径相关联的测试向量,并从所述第一和第二测试路径集合中删除所述第一测试路径;D、如果所述第一测试路径为多个,则从所述第一测试路径中选择与所述影响锥重合度最小的路径作为标记路径,否则将所述第一测试路径作为标记路径;E、判断所述标记路径是否满足压缩条件;F、如果所述标记路径满足所述压缩条件,则生成所述第一测试路径的测试对,并根据所述测试对对对应的测试向量进行更新;G、如果所述标记路径不满足所述压缩条件,则重复执行步骤C至步骤F直至所述第二测试路径集合为空时,得到更新后的最终测试向量;以及H、根据所述最终测试向量对所述被测电路进行故障模拟以检测故障路径,并在第一测试路径集合和所述第二测试路径集合中删除相应的可被故障模拟检测到的路径。根据本发明实施例的数字集成电路的测试方法,在不损失故障覆盖率的前提下,故障模拟中没有冗余过程,不需要链表记录故障链,突破了以往路径延迟测试时大数据量对故障模拟造成的瓶颈,大大减少了程序的内存需求,通过建立STP子电路的方法,减少生成电路时间,本发明能够有效精简路径延迟测试向量的个数,降低集成电路芯片的测试时间,提闻测试效率。本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中图I是根据本发明一个实施例的数字集成电路的测试方法的流程图;图2a是根据本发明一个实施例的数字集成电路的测试方法的鲁棒性电路压缩过程中门限逻辑冲突示意图;图2b是根据本发明一个实施例的数字集成电路的测试方法的鲁棒性电路压缩过程中门限逻辑冲突示意图;以及图3是根据本发明一个实施例的数字集成电路的测试方法的故障模拟示意图。具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。以下结合附图描述根据本发明实施例的数字集成电路的测试方法。图I是根据本发明一个实施例的数字集成电路的测试方法的流程图。如图I所示,根据本发明实施例的数字集成电路的测试方法,包括如下步骤步骤SlOl,从被测电路中获取所有测试路径以组成第一测试路径集合。具体地,被测电路包括第一类型电路和第二类型电路,第一类型电路例如为非鲁棒性电路,第二类型电路例如为鲁棒性电路,具体地,从鲁棒性电路或非鲁棒性电路中的获取所有可测路径集合已组成第一测试路径集合,记为S。步骤S102,从第一测试路径集合中选择满足第一条件的所有测试路径并复制到第二测试路径集合中。在本发明的一个实施例中,第一条件为第一测试路径集合中具有扇出个数最多的或者扇出个数多的几个测试路径。具体地,依次选择具有最多扇出个数的N个路径,并把路径载入到第二测试路径集合中,第二测试路径集合记为SI,在该实例中,N可根据情况酌情设置,N越大理论上压缩率越高,N越小理论上压缩率越小,在该实例中,N个路径可能具有的扇出个数相同,N个路径也可能为从第一测试路径集合S中获取的扇出个数从多到少选取的扇出个数前几个的路径。步骤S103,从第二测试路径集合中选择扇出个数最多的第一测试路径,记为P,并计算影响锥i和与第一测试路径相关联的测试向量,记为t,并从第一测试路径集合和第二测试路径集合中删除第一测试路径P。由上可知,第一测试路径P可能为唯一一个,也可能为扇出个数相同的多个路径。在本发明的一个实施例中,影响锥i包括第一类型影响锥和第二类型影响锥,其中,第一类型影响锥与第一类型电路对应,第二类型影响锥与第二类型电路对应。进一步地,第一类型影响锥对应于非鲁棒性电路中,可表示为{A}nN(Gl),其中,Gl是路径延迟故障在第二帧的输出门,A为第一帧路径延迟故障的输入端;第二类型影响锥对应于鲁棒性电路中,可表示为IN(G)UIN(G1),其中,G是路径延迟故障在第二帧的输出门,Gl是路径延迟故障在第二帧的输出门。在该示例中,针对鲁棒性电路和非鲁棒性电路而言,路径延迟故障分为鲁棒性延时故障和非鲁棒性延迟故障,鲁棒性延迟故障指能确保输入的向量对传播被激发的转移故障,即使当电路中存在别的路径延迟故障时,仍可被检测到的路径延迟故障,在第二帧电路传输路径上,若该路径上的信号逻辑值变化为控制值到非控制值,则对第二帧电路上所有非故障线上的信号均为非控制值,若该路径上的信号逻辑值变化为非控制值到控制值,则对第二帧电路上所有非故障线上的信号均为控制值,第一帧电路传播路径中非故障线逻辑值需置成X,X指的是非确定值。非鲁棒延时故障指测试保证在没有其他延时故障存在时可以检测到一个延时故障,也即两帧电路中,其他非故障线上的信号均不是控制值。步骤S104,如果第一测试路径为多个,则从第一测试路径中选择与影响锥重合度最小的路径作为标记路径,否则将第一测试路径作为标记路径。也就是说,如果第二测试路径集合SI中有唯一的扇出个数最多的一个路径,则将该路径作为标记路径,记为P1。如果第二测试路径集合SI中存在扇出个数最多的多个路径,则从这些扇出个数最多的多个路径中选择与影响锥i最小重合的路径作为标记路径Pl。步骤S105,判断标记路径是否满足压缩条件。在本发明的一个实施例中,判断标记路径Pl是否满足压缩条件的方式为但不限于检测标记路径Pl的敏化条件是否和现有的门电路逻辑值有冲突,如果存在冲突,则表明标记路径Pi不满足压缩条件,即当前标记路径PI不能压缩。例如,计算标记路径PI的测试向量和影响锥;判断测试向量η影响锥是否为空;如果为空,则判断满足压缩条件并进行压缩,否则判断不满足压缩条件。对于鲁棒性电路而言基于影响锥算法计算测试向量t和tl的影响锥,t的影响锥表示为{A}UIN(G1),tl的影响锥表示为{A}UIN(G1),检测{Al}UIN(Gl)H{A2}UIN(G2)=空集,若条件成立两个延迟故障可以被压缩,否则不可以被压缩。对于非鲁棒性电路而言基于影响锥算法计算测试向量t和tl的影响锥,t的影响锥表示为IN(Gl)UIN(Gl),tl的影响锥表示为IN(G2)UIN(G2),检测(IN(Gl)UIN(Gl))n(IN(G2)UIN(G2))=空集,若条件成立两个延迟故障可以被压缩,否则不可以被压缩。如图2a和2b所示,是根据本发明一个实施例的数字集成电路的测试方法的鲁棒性电路压缩过程中门限逻辑冲突示意图,具体地,分两种压缩冲突情况说明,如图2a,为了使路径延迟故障P2传播至输出端,A,A',B,B'须设置逻辑值为1,0,1,0。在第一帧电路中,对A和B的敏化值与传播路径Pl和P3需要的逻辑值冲突,压缩失败。如图2b,为了传播路径延迟故障P2,C和C'须设置逻辑值0,为了传播路径延迟故障P1,A和A'必须设置逻辑值1,如果满足A和A'逻辑值需求,C和C'须设置不同值,产生冲突,压缩失败。步骤S106,如果标记路径满足压缩条件,则生成第一测试路径的测试对,并根据测试对对对应的测试向量进行更新。具体地,产生标记路径Pl的测试对,记为tl,更新测试向量t为更新前测试向量t和测试对tl的并集。步骤S107,如果标记路径不满足压缩条件,则重复执行步骤S103至步骤S106直至第二测试路径集合为空时,得到更新后的最终测试向量。换言之,重复步骤骤S103至步骤S106,直至SI中所有路径均被尝试。步骤S108,根据最终测试向量对被测电路进行故障模拟以检测故障路径,并在第一测试路径集合和第二测试路径集合中删除相应的可被故障模拟检测到的路径。也就是说,用测试向量t对时序延迟电路做故障模拟,计算出P,这里P为t可检测到的故障路径,在第一测试路径集合S和第二测试路径集合SI中,删除可以被故障模拟检测出的相应的故障路径P。具体地,测试向量t的故障模拟过程如下(I)根据第一测试路径集合建立STP电路,即基于构件STP电路算法产生STP电路,STP为Selectedtestablepath,即可测试路径集。PO指的是第一巾贞的输入端,PPOS指pseudo-primaryoutputs,primaryoutputs时序电路需要转换成两巾贞的组合电路进行测试,所以分成第一巾贞和第二中贞。(2)将测试向量输入STP电路中以进行三值逻辑模拟。测试向量t输入到STP电路中,做三值逻辑模拟。三值逻辑模拟指仅存在0,1,X值表示的电路。(3)以STP电路的PO和PPOS的每个输入端为起点进行检测。也就是说,针对STP电路的PO和PPOS的每个输入端为起点做算法检测。(4)检测第二帧电路中的PO和PPOS的其他输入端相对于检测输入端是否满足第二条件。在本发明的一个实施例中,第二条件为检测第二针电路中PO和PPOS的其他输入端相对于检测输入端而言是否为非控制值。非控制值指此端口的电路对传播其他端口的信息没有影响,即没有控制作用。(5)如果被测电路为第二类型电路,则继续判断检测路径是否存在跳变。具体地,首先检测第一帧电路的对应PO和PPOS的其他输入端相对与检测输入端而言是否为非控制值,如果是则表示满足第二条件,接着检测路径是否存在跳变。跳变例如指电位的转换,如0-1或1-0。(6)如果被测电路为第一类型则在判断满足第二条件时或者被测电路为第二类型是则在判断满足第二条件且存在跳变时,则依次对前驱门检测是否允许逻辑值从输出端传播到输入端,如果不允许,则判断其他传播途径是否能够传播,否则对下一个前驱门进行检测。这里所说的允许指的是输入端的非路径值为非控制值,若不满足第二条件,传播停止在当前路径点,尝试其他传播途径,如果满足第二条件,尝试传播至下一个门。(7)如果判断传播至PI或PPIS端,则判断出当前路径为可被故障模拟检测到的路径。具体地,若传播至PI或PPIS端,说明此条路径可以被测试向量检测到,路径删除后,应对链接PI或PPis端口的门属性做相应改变,例如,电位置成X若PI或PPIS端口作为起始的路径均被删除,则删除相关PI或PPIS端口。在本发明的进一步实施例中,建立STP电路的步骤包括(I)从可被故障模拟检测到的路径中选择一条路径加入到STP电路中,并从可被故障模拟检测到的路径中删除所选择的一条路径。即当模拟检测可检测到的故障路径P不为空集时,从P中选出一条路径,加入到STP电路中,并从P中删除所选择的一条路径。(2)判断STP子电路中是否存在未检测路径,其中,STP子电路为在STP电路中含有共同输入端的路径。(3)如果判断STP子电路存在未检测路径,则检测可被故障模拟检测到的路径中所有的扇出点是否均位于STP子电路中,如果所有的扇出点均没有位于STP子电路中,则增加相应的路径至所述STP子电路中,如果至少一个扇出点位于STP子电路中,则检测可被故障模拟检测到的路径和STP电路中相关路径是否有相同的扇出分支,如果不同,则检测下一条STP子电路路径。也就是说,检测是否所选的一条路径中所有的扇出点都包含在STP子电路中,如果没有扇出点包含在STP子电路中,增加上述路径至STP子电路中,如果至少有一个扇出点包括在STP子电路中,检测上述路径和STP电路中相关路径是否有相同的扇出分支,若扇出分支不同,则检测下一条STP子电路路径。(4)如果相同,则检测可被故障模拟检测到的路径中的所有门是否和所述STP子电路中的门相同,如果相同则把可被故障模拟检测到的路径中的门的输入点作为所述STP子电路中对应门的输入分支。即检测上述路径中的所有门是否和STP子电路中的门是原电路中同一个门,若是则把上述电路中该门的输入点作为STP子电路中对应门的输入分支。(5)如果可被故障模拟检测到的路径加入到STP子电路中,则记录第一测试路径中各门的输入点编号和扇出分支号。即如果上述路径加入到STP子电路中,记录上述路径中各门的输入点编号和扇出分支号。(6)如果可被故障模拟检测到的路径没有加入到STP子电路中,则建立新的STP子电路。也就是说,如果上述路径,例如路径P’不可以加入到STP子电路中,则建立一条新的STP子电路,命名为P’子电路。图3是根据本发明一个实施例的数字集成电路的测试方法的故障模拟示意图。如图3所示,针对鲁棒性时序电路故障模拟示意图,包括以下步骤步骤I:基于构建STP电路算法产生无扇出的STP电路,为了便于理解,示意图未列出所有STP路径。步骤2:两帧电路的测试向量为(1,0,0,I)和(1,I,I,I,),测试向量T输入到STP电路中,做三值逻辑模拟。步骤3:假设选取出口端口14,做回溯选择,针对在端口11,检测非路径传播端口12满足相对于检测输入端来说是非控制值,算法可以继续。步骤5:检测下降沿跳变的端口8的非路径传播端口2,端口2逻辑值为1,符合检测条件,继续回溯,传播到端口3,端口I的值满足传播条件。步骤6:成功传播至PI端口3,说明路径3-8-11-14可以被测试向量检测到,同样的方法,在此实例中,可以检测出路径3-7-10-13、3-9-12-14、4-9-12-14、4-7-10-13、4-8-11-14均可检测,删除以上路径,并检测PI或PPIS端口作为起始的路径是否均被删除,如是则删除相关PI或PPIS端口。在本发明的一个实施例中,还包括以下步骤在第一测试路径集合中依次选择出具有最多扇出的至少一个路径,并把至少一个路径复制到第二测试路径集合中,并从第一测试路径集合中删除至少一个路径。即在第一测试路径集合S中依次选择出具有最多扇出的Y个路径,并把Y个路径载入到第二测试路径SI中,从S中删除Y个路径。实施例实验平台为Dellprecision690工作站。以下通过DellprecPsPon690工作站对本发明的路径选择效率进行试验验证,表I中给出了将本发明应用到PSCAS89电路的实验结果。选出通过每个门的最长K条路径,K分别取值I和5,第一栏Circuit表示电路名称,第三栏COM下vec表示未压缩前测试向量数目,non-robust表示非鲁棒性电路,robust表示鲁棒性电路,两栏下面分别有名称,Paths表示路径数,vec表示压缩后测试向量数目,comp表示测试向量和故障路径比,select表示路径选择时间,CPU表示测试向量产生耗费时间,可以看出,随着k的增加,路径数也不断地增加,但增加的倍数可能小于k的倍数。权利要求1.一种数字集成电路的测试方法,其特征在于,包括以下步骤A、从被测电路中获取所有测试路径以组成第一测试路径集合;B、从所述第一测试路径集合中选择满足第一条件的所有测试路径并复制到第二测试路径集合中;C、从所述第二测试路径集合中选择扇出个数最多的第一测试路径,并计算影响锥和与所述第一测试路径相关联的测试向量,并从所述第一和第二测试路径集合中删除所述第一测试路径;D、如果所述第一测试路径为多个,则从所述第一测试路径中选择与所述影响锥重合度最小的路径作为标记路径,否则将所述第一测试路径作为标记路径;E、判断所述标记路径是否满足压缩条件;F、如果所述标记路径满足所述压缩条件,则生成所述第一测试路径的测试对,并根据所述测试对对对应的测试向量进行更新;G、如果所述标记路径不满足所述压缩条件,则重复执行步骤C至步骤F直至所述第二测试路径集合为空时,得到更新后的最终测试向量;以及H、根据所述最终测试向量对所述被测电路进行故障模拟以检测故障路径,并在第一测试路径集合和所述第二测试路径集合中删除相应的可被故障模拟检测到的路径。2.根据权利要求I所述的数字集成电路的测试方法,其特征在于,所述被测电路包括第一类型电路和第二类型电路。3.根据权利要求2所述的测试方法,其特征在于,所述影响锥包括第一类型影响锥和第二类型影响锥,其中,所述第一类型影响锥与所述第一类型电路对应,所述第二类型影响锥与所述第二类型电路对应。4.根据权利要求3所述的测试方法,其特征在于,所述第一类型影响锥为{Α}ΠΝ(G1),其中,Gl是路径延迟故障在第二帧的输出门,A为第一帧路径延迟故障的输入端;所述第二类型影响锥为IN(G)UIN(Gl),其中,G是路径延迟故障在第二帧的输出门,Gl是路径延迟故障在第二帧的输出门。5.根据权利要求I所述的测试方法,其特征在于,所述步骤H进一步包括根据所述第一测试路径集合建立STP电路;将所述测试向量输入所述STP电路中以进行三值逻辑模拟;以所述STP电路的PO和PPOS的每个输入端为起点进行检测;检测第二帧电路中的PO和PPOS的其他输入端相对于检测输入端是否满足第二条件;如果所述被测电路为第二类型电路,则继续判断检测路径是否存在跳变;如果所述被测电路为第一类型则在判断满足第二条件时或者所述被测电路为第二类型是则在判断满足所述第二条件且存在跳变时,则依次对前驱门检测是否允许逻辑值从输出端传播到输入端,如果不允许,则判断其他传播途径是否能够传播,否则对下一个前驱门进行检测;如果判断传播至PI或PPIS端,则判断出当前路径为可被故障模拟检测到的路径。6.根据权利要求5所述的测试方法,其特征在于,所述建立STP电路的步骤包括从可被故障模拟检测到的路径中选择一条路径加入到STP电路中,并从可被故障模拟检测到的路径中删除所选择的一条路径;判断STP子电路中是否存在未检测路径,其中,所述STP子电路为在STP电路中含有共同输入端的路径;如果判断所述STP子电路存在未检测路径,则检测可被故障模拟检测到的路径中所有的扇出点是否均位于所述STP子电路中,如果所有的扇出点均没有位于所述STP子电路中,则增加相应的路径至所述STP子电路中,如果至少一个扇出点位于所述STP子电路中,则检测可被故障模拟检测到的路径和所述STP电路中相关路径是否有相同的扇出分支,如果不同,则检测下一条STP子电路路径;如果相同,则检测可被故障模拟检测到的路径中的所有门是否和所述STP子电路中的门相同,如果相同则把可被故障模拟检测到的路径中的门的输入点作为所述STP子电路中对应门的输入分支;如果可被故障模拟检测到的路径加入到所述STP子电路中,则记录第一测试路径中各门的输入点编号和扇出分支号;如果可被故障模拟检测到的路径没有加入到所述STP子电路中,则建立新的STP子电路。7.根据权利要求I所述的测试方法,其特征在于,还包括计算测试向量和影响锥;判断测试向量η影响锥是否为空;如果为空,则判断满足所述压缩条件并进行压缩,否则判断不满足所述压缩条件。8.根据权利要求I所述的测试方法,其特征在于,还包括在第一测试路径集合中依次选择出具有最多扇出的至少一个路径,并把所述至少一个路径复制到所述第二测试路径集合中,并从第一测试路径集合中删除所述至少一个路径。全文摘要本发明提出一种数字集成电路的测试方法,包括A、获取所有测试路径以组成第一测试路径集合;B、从第一测试路径集合中选择满足第一条件的所有测试路径并复制到第二测试路径集合中;C、从第二测试路径集合中选择扇出个数最多的第一测试路径,并计算影响锥和与第一测试路径相关联的测试向量;D、选择标记路径;E、判断标记路径是否满足压缩条件;F、如果满足则生成测试对,并对测试向量进行更新;G、如果不满足则重复执行步骤C至F直至第二测试路径集合为空时得到更新后的最终测试向量。根据本发明的实施例具有测试时间短、测试效率高的优点。文档编号G01R31/317GK102879731SQ20121036469公开日2013年1月16日申请日期2012年9月26日优先权日2012年9月26日发明者向东,随文杰,陈振申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1