跳变时延故障向量生成方法和装置制造方法
【专利摘要】本发明提供一种跳变时延故障向量生成方法和装置,其中,该方法包括:确定第一使能触发器,所述第一使能触发器用于控制时间例外路径的源端触发器;从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器扫描移位结束时的电平值为无效状态。因此在将该跳变时延故障向量用于测试过程中时,不会触发时间例外路径,避免了现有技术中测量结果时而成功时而失败的现象,从而提高了测试准确性和跳变时延故障向量的稳定性,而且不需要如现有技术般在生成跳变时延故障向量的过程中对时间例外路径进行分析,降低了生成跳变时延故障向量的ATPG工具的复杂度。
【专利说明】跳变时延故障向量生成方法和装置
【技术领域】
[0001]本发明涉及测试【技术领域】,尤其涉及一种跳变时延故障向量生成方法和装置。
【背景技术】
[0002]芯片在制造过程中受制造工艺、制造材料等因素的影响,不可避免地会带来一些缺陷,因此,需要对芯片进行测试以排除具有缺陷的芯片。目前可以采用跳变时延故障模型对芯片进行测试,即使用自动测试图形向量生成(Automatic Test Pattern Generation,简称:ATPG)工具根据跳变时延故障模型产生测试向量,再使用该测试向量对芯片的各路径进行测试,即该测试向量使得路径的源端在一个时钟沿启动一次跳变,并且在下一个时钟沿捕获到这次跳变对路径的终端的影响时,则测试芯片正常,否则测试芯片故障。由于测试向量针对的是一个时钟周期,而时间例外路径(例如虚拟路径、多周期路径)是在单周期内无法完成的路径,因此,需要区别哪些路径为时间例外路径。
[0003]现有技术中,在测试向量产生之前,对各时间例外路径进行静态分析,然后ATPG工具在产生测试向量时对各时间例外路径进行动态分析,即模拟检测时间例外路径的源端触发器的值,如果源端触发器的值有跳变,将跳变后的值保存,同时源端触发器的值注入为“X”值,该X为既为非O也为非I的值,这个“X”值会沿着时间例外路径的逻辑锥向前传递。如果终端触发器没有检测到“X”值,则将源端触发器的值恢复为上述保存的跳变后的值,然后根据源端触发器的值为跳变后的值计算出终端触发器的值,并将终端触发器的值保存在测试向量中。如果终端触发器检测到“X”值,则认为该时间例外路径被触发,并将终端触发器的值为“X”值保存在测试向量中。从而测试向量在对各路径进行测试时,根据时间例外路径对应的终端触发器的值为“X”值,确定出该时间例外路径的测试结果成功。
[0004]然而,现有技术中,如果存在多条时间例外路径共用同一个终端触发器,虽然在生成测试向量的过程中在该终端触发器未检测到“X”值,即表示该测试向量不会引起该终端触发器发生跳变,但是在实际测试过程中,由于每条时间例外路径的时延不同,存在该终端触发器发生跳变的可能,会造成测试结果时而成功时而失败的现象,从而降低了测试向量的稳定性。
【发明内容】
[0005]本发明提供一种跳变时延故障向量生成方法和装置,用于提高跳变时延故障向量的稳定性。
[0006]第一方面,本发明提供一种跳变时延故障向量生成方法,包括:
[0007]确定第一使能触发器,所述第一使能触发器用于控制时间例外路径的源端触发器;
[0008]从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时的电平值为无效状态。
[0009]第二方面,本发明提供一种跳变时延故障向量生成装置,包括:[0010]确定单元,用于确定第一使能触发器,所述第一使能触发器用于控制时间例外路径的源端触发器;
[0011]生成单元,用于从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述确定单元确定的所述第一使能触发器在扫描移位结束时的电平值为无效状态。
[0012]本发明提供的跳变时延故障向量生成方法和装置,通过确定控制时间例外路径的源端触发器的第一使能触发器,然后生成跳变时延故障向量,该跳变时延故障向量使得第一使能触发器在扫描移位结束时的电平值为无效状态。因此在将该跳变时延故障向量用于测试过程中时,不会触发时间例外路径,避免了现有技术中测量结果时而成功时而失败的现象,从而提高了测试准确性和跳变时延故障向量的稳定性,而且不需要在生成跳变时延故障向量的过程中对时间例外路径进行分析,从而降低了生成跳变时延故障向量的ATPG工具的复杂度。
【专利附图】
【附图说明】
[0013]图1为本发明跳变时延故障向量生成方法实施例一的流程图;
[0014]图2为本发明实施例提供的第一种时间例外路径的示意图;
[0015]图3为本发明实施例提供的图2中各触发器的电平值变化关系的第一种示意图;
[0016]图4为本发明实施例提供的图2中各触发器的电平值变化关系的第二种示意图;
[0017]图5为本发明跳变时延故障向量生成方法实施例二的流程图;
[0018]图6为本发明实施例提供的第二种时间例外路径的示意图;
[0019]图7为本发明实施例提供的图6中各触发器的电平值变化关系的第一种示意图;
[0020]图8为本发明实施例提供的第三种时间例外路径的示意图;
[0021]图9为本发明跳变时延故障向量生成方法实施例三的流程图;
[0022]图10为本发明跳变时延故障向量生成方法实施例四的流程图;
[0023]图11为本发明跳变时延故障向量生成装置实施例一的结构示意图;
[0024]图12为本发明跳变时延故障向量生成装置实施例二的结构示意图。
【具体实施方式】
[0025]图1为本发明跳变时延故障向量生成方法实施例一的流程图,如图1所示,本实施例的执行主体为跳变时延故障向量生成装置,例如=ATPG工具,本实施例的方法可以包括:
[0026]S101、确定第一使能触发器,所述第一使能触发器用于控制时间例外路径的源端触发器。
[0027]S102、从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时的电平值为无效状态。
[0028]本实施例中,大量时间例外路径的源端触发器在配置完成后,这些源端触发器的值会一直保持不变,而这类源端触发器通常由使能触发器控制,当使能触发器输出的使能信号有效时,该源端触发器的值才会更新,即发生跳变,而当使能触发器的使能信号无效时,该源端触发器的值保持不变,即不发生跳变。因此要使得源端触发器不发生跳变,需要先确定控制该源端触发器的使能触发器。[0029]测试向量是随机产生的,根据需要满足的条件,将不符合的测试向量删除,最终形成一组用于测试跳变时延故障的向量,即跳变时延故障向量,其中,一个跳变时延故障向量包括扫描移位使能信号、激励和响应,其中,激励中的数值使得第一使能触发器在扫描移位结束时的电平值为无效状态,扫描移位使能信号的电平值包括使能有效状态变和使能无效状态,其中使能有效状态的时长与扫描链的长度(即,扫描链中包含的触发器的个数)有关,当扫描使能信号的电平值处于使能有效状态时会使得使能触发器发生移位,例如使得使能触发器的电平值变为有效状态或者无效状态,当扫描移位使能信号的电平值跳变为无效状态时会使得使能触发器的电平值保持移位结束后的电平值。
[0030]在扫描移位使能信号的电平值处于无效状态的时间内,存在两个时钟,一个时钟为启动(launch)时钟,另一个时钟信号为捕捉(capture)时钟,本实施例的跳变时延故障向量使得第一使能触发器在扫描移位结束后的电平值为无效状态,第一使能触发器从扫描移位结束到到达launch时钟之间的这段时间内,第一使能触发器的电平值仍然是无效状态,所以源端触发器在launch时钟上升沿不会发生跳变,从而使得跳变时延故障向量不会触发该时间例外路径。例如:在时间到达launch时钟上升沿时,不触发第一使能触发器的电平值发生跳变,即第一使能触发器在launch时钟内可以保持无效状态不变,此时,源端触发器获取的第一使能触发器的电平值为时间到达launch时钟上升沿时的电平值,即无效状态,因此,源端触发器根据第一使能触发器的电平值为无效状态保持电平值不变,即不跳变。
[0031]或者,在时间到达launch时钟上升沿时,可以触发第一使能触发器的电平值由无效状态变为有效状态,虽然在launch时钟上升沿这一当前时刻触发第一使能触发器的电平值发生了变化,但第一使能触发器的电平值由无效状态变为有效状态需要一定的时延,因此这一当前时刻第一使能触发器的电平值仍然为无效状态,在这一当前时刻源端触发器获取的第一使能触发器的电平值为时间到达launch时钟上升沿这一当前时刻的电平值,即无效状态,因此,源端触发器根据使能触发器的电平值为无效状态保持电平值不变,表示第一使能触发器未触发源端触发器发生跳变,因此源端触发器在launch时钟上升沿不跳变。
[0032]本发明实施例提供的跳变时延故障向量生成方法,通过确定控制时间例外路径的源端触发器的第一使能触发器,然后生成跳变时延故障向量,该跳变时延故障向量使得第一使能触发器在扫描移位结束时的电平值为无效状态,因此在将该跳变时延故障向量用于测试过程中时,不会触发时间例外路径,避免了现有技术中测量结果时而成功时而失败的现象,从而提高了测试准确性和跳变时延故障向量的稳定性,而且不需要如现有技术般在生成跳变时延故障向量的过程中对时间例外路径进行分析,从而降低了生成跳变时延故障向量的ATPG工具的复杂度。
[0033]需要说明的是,电平值为“O”可以表示为无效状态,电平值为“I”也可以表示为无效状态,下面本发明实施例以电平值为“O”来表示无效状态,但是本发明实施例并不以此为限。
[0034]在本发明实施例的一种可行的实现方式中,图2为本发明实施例提供的第一种时间例外路径的示意图,如图2所示,时间例外路径为从源端触发器到终端触发器的路径,并且源端触发器是由使能触发器所控制,当使能触发器发出的使能信号为无效状态,例如为“O”时,源端触发器的电平值保持不变,即源端触发器不会发生跳变;当使能触发器发出的使能信号为有效状态,例如为“ I”时,源端触发器的电平值会发生跳变,并且源端触发器在launch时钟上升沿发生跳变,在capture时钟上升沿终端触发器也发生跳变。图3为本发明实施例提供的图2中各触发器的电平值变化关系的第一种示意图,图3示出的为一个测试向量(即跳变时延故障向量)的测试过程中源端触发器和使能触发器的电平值变化的关系,图3中示出的时钟信号为一个跳变时延故障向量对应的测试过程内第一使能触发器、源端触发器、终端触发器的时钟信号。一个跳变时延故障向量中可以包括扫描移位使能信号,扫描移位使能信号的电平值在测试过程中的变化如图3所示,扫描移位使能信号的电平值为I时,可以使得使能触发器的电平值发生扫描移位,图3所示的时钟信号在扫描移位使能信号的电平值为I的时间内存在三个脉冲(低速脉冲),这表示跳变时延故障向量使得第一使能触发器可以发生三次扫描移位,第一次扫描移位后的电平值为O或I,第二次扫描移位后的扫描电平值为O或1,本实施例不做限制;但是需要注意的是第一使能触发器在第三次扫描移位后的电平值为O。由于第一使能触发器的电平值是时钟信号的第三个时钟上升沿时触发发生跳变,即跳变为O,因此第一使能触发器的电平值在扫描移位结束时(即扫描移位使能信号的电平值变为O时)的电平值为O。
[0035]在第一使能触发器的电平值移位结束后,在扫描移位使能信号的电平值为O的时间内包括两个时钟,第一个时钟为launch时钟,第二个时钟为capture时钟,在到达launch时钟之前,第一使能触发器的电平值为O。在到达launch时钟上升沿时,第一使能触发器的电平值可以有如下两种变化行为。
[0036]第一种变化行为:如图3所示,在launch时钟上升沿,触发第一使能触发器电平值发生变化;需要说明的是,在launch时钟上升沿还触发源端触发器获取第一使能触发器当前的电平值,在本实施例中,第一使能触发器的电平值由O变为I需要一定的时延,即在launch时钟上升沿第一使能触发器的电平值仍然为0,在滞后于launch时钟上升沿且超前于capture时钟上升沿之间的时间段内,第一使能触发器的电平值会更新为I。故源端触发器在launch时钟上升沿获取的第一使能触发器的电平值为0,源端触发器在launch时钟上升沿保持不变,不会发生跳变,继而终端触发器在launch时钟上升沿也保持不变,不会发生跳变。在capture时钟上升沿,触发源端触发器捕获第一使能触发器当前的电平值1,源端触发器的电平值会由O变为1,值得说明的是,源端触发器的电平值的更新也需要一定时延,即在capture时钟上升沿源端触发器的电平值仍然为0,在滞后于capture时钟上升沿的一段时间内源端触发器的电平值会更新为1,故源端触发器在capture时钟上升沿保持不变,不会发生跳变,继而终端触发器在capture时钟上升沿也保持不变,不会发生跳变。所以在这一测试过程中,跳变时延故障向量不会触发时间例如路径。
[0037]第二种变化行为:如图4所示,在launch时钟上升沿,保持第一使能触发器的电平值O不变;需要说明的是,在launch时钟上升沿还触发源端触发器获取第一使能触发器当前的电平值,故源端触发器在launch时钟上升沿获取的第一使能触发器的电平值为0,源端触发器在launch时钟上升沿也保持不变,不会发生跳变,继而终端触发器在launch时钟上升沿也保持不变,不会发生跳变。在capture时钟上升沿,仍然保持第一使能触发器的电平值不变,需要说明的是,在capture时钟上升沿还触发源端触发器获取第一使能触发器当前的电平值,故源端触发器在capture时钟上升沿获取的第一使能触发器的电平值为0,源端触发器在capture时钟上升沿也保持不变,不会发生跳变,继而终端触发器在capture时钟上升沿也保持不变,不会发生跳变。所以在这一测试过程中,跳变时延故障向量不会触发时钟例外路径。
[0038]因此,在图2所示的应用场景中,跳变时延故障向量使得第一使能触发器的电平值在扫描移位结束时为无效状态,那么在launch时钟沿,源端触发器不会发生跳变,即不会触发时钟例外路径,从而不需要在生成跳变时延故障向量的过程中对时间例外路径进行分析,因此在将该跳变时延故障向量用于测试过程中时,不会触发时间例外路径,避免了现有技术中测量结果时而成功时而失败的现象,从而提高了测试准确性和跳变时延故障向量的稳定性,而且不需要如现有技术般在生成跳变时延故障向量的过程中对时间例外路径进行分析,从而降低了生成跳变时延故障向量的ATPG工具的复杂度。
[0039]图5为本发明跳变时延故障向量生成方法实施例二的流程图,如图5所示,本实施例的执行主体为跳变时延故障向量生成装置,例如=ATPG工具,本实施例的方法可以包括:
[0040]S201、确定第一使能触发器,所述第一使能触发器用于控制时间例外路径的源端触发器。
[0041]S202、从随机产生的测试向量中筛选出所述跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时以及启动时钟下降沿时的电平值为无效状态。
[0042]本实施例中,当源端触发器为时钟下降沿触发(即源端触发器的跳变发生在时钟下降沿)或者终端触发器为时钟下降沿触发(即终端触发器的跳变发生在时钟下降沿),为了避免源端触发器在launch时钟下降沿发生跳变或者终端触发器在capture时钟下降沿发生跳变,还需要保证生成的跳变时延故障向量使得控制源端触发器的第一使能触发器在launch时钟下升沿时的电平值为无效状态。
[0043]若源端触发器为跳变发生在时钟下降沿时的触发器,本实施例中,第一使能触发器在扫描移位结束时和launch时钟下降沿时的电平值为无效状态,表不在launch时钟上升沿不触发第一使能触发器发生跳变,保持第一使能触发器的电平值为无效状态不变。在时间到达launch时钟下降沿时,源端触发器获取第一使能触发器的电平值,即获取第一使能触发器在launch时钟下降沿时的电平值,源端触发器获取到的第一使能触发器的电平值为无效状态,因此,源端触发器根据第一使能触发器的电平值为无效状态,不发生跳变,从而无论终端触发器的跳变发生时钟下降沿还是上升沿,该终端触发器在capture时钟沿不发生跳变,也就不会触发时间例外路径。
[0044]若源端触发器为跳变发生在时钟上升沿时的触发器,终端触发器为跳变发生在时钟下降沿的触发器,本实施例中,第一使能触发器在扫描移位结束时和launch时钟下降沿时的电平值为无效状态,表示在launch时钟上升沿不触发第一使能触发器发生跳变,保持第一使能触发器的电平值为无效状态不变。在时间到达launch时钟上升沿时,源端触发器获取第一使能触发器的电平值,即获取第一使能触发器在launch时钟上升沿时的电平值,因此,在launch时钟上升沿时源端触发器根据第一使能触发器的电平值为无效状态,不发生跳变,继而终端触发器在launch时钟下降沿也保持不变,不发生跳变。由于第一使能触发器的电平值在launch时钟内的电平值为无效状态,因此第一使能触发器的电平值在capture时钟上升沿时的电平值为无效状态,在时间到达capture时钟上升沿时,源端触发器获取第一使能触发器的电平值,即获取第一使能触发器在capture时钟上升沿时的电平值(为无效状态),源端触发器在capture上升沿保持不变,不会发生跳变,继而终端触发器在capture时钟下降沿也保持不变,不会发生跳变,也就不会触发时间例外路径。
[0045]本发明实施例提供的跳变时延故障向量生成方法,通过确定控制时间例外路径的源端触发器的第一使能触发器,然后从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时以及启动时钟下降沿时的电平值为无效状态。因此在将该跳变时延故障向量用于测试过程中时,不会触发时间例外路径,避免了现有技术中测量结果时而成功时而失败的现象,从而提高了测试准确性和跳变时延故障向量的稳定性,而且不需要如现有技术般在生成跳变时延故障向量的过程中对时间例外路径进行分析,从而降低了生成跳变时延故障向量的ATPG工具的复杂度。
[0046]在本发明实施例的一种可行的实现方式中,图6为本发明实施例提供的第二种时间例外路径的示意图,如图6所示,时间例外路径为从源端触发器到终端触发器的路径,并且源端触发器是由第一使能触发器所控制,并且源端触发器为时钟下降沿跳变的触发器。图7为本发明实施例提供的图6中各触发器的电平值变化关系的第一种示意图,如何使得第一使能触发器的电平值扫描移位结束后的电平值为无效状态,可以参见图3中相关的记载,此处不再赘述。
[0047]如图7所不,第一使能触发器扫描移位结束后,在launch时钟内,第一使能触发器的电平值可以有两种变化方式,但本实施例中使得第一使能触发器的电平值在launch时钟下降沿的电平值为无效状态,即第一使能触发器在launch时钟内保持电平值为“O”不变;在launch时钟下降沿时,源端触发器获取到的第一使能触发器的电平值为0,因此源端触发器在launch下降沿不发生跳变,保持电平值不变,例如保持电平值为O。由于源端触发器在launch时钟下降沿不跳变,从而终端触发器在capture时钟上升沿也不跳变,电平值保持不变,进而实现了跳变时延故障向量在测试过程中不会触发该时间例外路径。
[0048]在本发明实施例的另一种可行的实现方式中,图8为本发明实施例提供的第三种时间例外路径的示意图,如图8所示,时间例外路径为从源端触发器到终端触发器的路径,并且源端触发器是由第一使能触发器所控制,并且终端触发器为时钟下降沿跳变的触发器,源端触发器为时钟上升沿跳变的触发器。图8中各触发器的电平值变化关系可以参见图7所示,如何使得第一使能触发器的电平值扫描移位结束后的电平值为无效状态,可以参见图3中相关的记载,此处不再赘述。
[0049]如图7所不,第一使能触发器的电平值扫描移位结束后,在launch时钟内,第一使能触发器的电平值可以有两种变化方式,但本实施例中使得第一使能触发器的电平值在launch时钟下降沿的电平值为无效状态,即保持第一使能触发器在launch时钟内的电平值为“O”不变。在launch时钟上升沿时,源端触发器获取第一使能触发器当前的电平值(为0),源端触发器在launch时钟上升沿保持不变,不发生跳变;继而终端触发器在launch下降沿也保持不变,不发生跳变。由于第一使能触发器在launch时钟内保持电平值为“0”,因此第一使能触发器在capture时钟上升沿时的电平值也为“O”。源端触发器在capture时钟上升沿时获取的第一使能触发器当前的电平值为0,源端触发器在capture时钟上升沿保持不变,不发生跳变,继而终端触发器在capture下降沿也保持不变,不发生跳变,进而实现了跳变时延故障向量在测试过程中不会触发该时间例外路径。[0050]图9为本发明跳变时延故障向量生成方法实施例三的流程图,如图9所示,本实施例的执行主体为跳变时延故障向量生成装置,例如=ATPG工具,本实施例的方法可以包括:
[0051]S301、获取用户输入的指示信息,所述指示信息用于指示控制时间例外路径的源端触发器的第一使能触发器。
[0052]S302、根据所述指示信息,确定所述第一使能触发器。
[0053]S303、从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时的电平值为无效状态。
[0054]本实施例中,若设计的RTL代码是可见的,则用户可以对每一条时间例外路径结合RTL代码分析该时间例外路径的源端触发器是否存在控制该源端触发器的第一使能触发器,若存在,则用户可以将用于指示控制该源端触发器的第一使能触发器的指示信息输入至跳变时延故障向量生成装置中(例如ATPG工具)。假设用户分析得到有三条时间例外路径的源端触发器是由第一使能触发器控制的,则用户输入给跳变时延故障向量生成装置的指示信息可以指示分别控制这三条时间例外路径的源端触发器的第一使能触发器,跳变时延故障向量生成装置在接收到指示信息之后,可以确定指示信息中所指示的各使能触发器可以控制时间例外路径的源端触发器,然后根据指示信息所指示的各第一使能触发器在扫描移位结束时的电平值处于无效状态,筛选出跳变时延故障向量。
[0055]假设用户分析得到还有两条时间例外路径的源端触发器并不由第一使能触发器所控制,则这两条时间例外路径的处理过程与现有技术一样,即将这两条时间例外路径读入ATPG工具中,确定时间例外路径的源端触发器和终端触发器,将时间例外路径的逻辑门进行静态折分,对拆分的每一份找到其影响的逻辑锥,然后在生成跳变时延故障向量时,首先检查源端触发器的值,如果源端触发器有跳变,其逻辑值被保存,同时在源端触发器注入“X”值。这个“X”值会沿着时间例外路径上的逻辑锥向前传递。如果终端触发器没有检测到‘X’值,则保存的源端逻辑值得到恢复,并根据恢复的值计算出终端触发器值,将计算得出的值作为无故障时终端触发器的测试结束保存在跳变时延故障向量中。如果在终端触发器观测到“X”值,则认为这一时间例外路径被触发,终端触发器的“X”值作为无故障时终端触发器的测试结束保存在跳变时延故障向量中。
[0056]在一种可行的实现方式中,若指示信息用于指示控制时间例外路径的源端触发器的第一使能触发器;或者,指示信息用于指示控制时间例外路径的源端触发器的第一使能触发器,并且该指示信息还用于指示:时间例路径的源端触发器和终端触发器均为时钟上升沿跳变的触发器,则跳变时延故障向量生成装置从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时的电平值为无效状态。
[0057]在另一种可行的实现方式中,若指示信息用于指示控制时间例外路径的源端触发器的第一使能触发器,并且该指示信息还用于指示控制时间例外路径的源端触发器和/或终端触发器为时钟下降沿跳变的触发器,则从随机产生的测试向量中筛选出所述跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时以及启动时钟下降沿时的电平值为无效状态。
[0058]图10为本发明跳变时延故障向量生成方法实施例四的流程图,如图10所示,本实施例的执行主体为跳变时延故障向量生成装置,例如=ATPG工具,本实施例的方法可以包括:
[0059]S401、获取时间例外路径。
[0060]S402、确定控制所述时间例外路径的源端触发器的控制触发器。
[0061]S403、确定所述控制触发器为第一使能触发器。
[0062]本实施例中,用户可以将包含时间例外路径的时序约束文件读入至跳变时延故障向量生成装置中,然后跳变时延故障向量生成装置可以从该时序约束文件中提取出所包含的时间例外路径,将时间例外路径的源端映射到相应的触发器上,可以则该触发器为时间例外路径的源端触发器;将时间例外路径的终端映射到相应的触发器上,可以则该触发器为时间例外路径的终端触发器。然后对源端触发器向后追踪可以确定控制该源端触发器的控制触发器,但是控制该源端触发器的控制触发器不一定是第一使能触发器,因此,在确定控制该源端触发器的控制触发器后,还要确定该控制触发器是否为源端触发器的第一使能触发器。
[0063]具体地,可以将该源端触发器的控制触发器的电平值设置为“0”,若确定源端触发器的电平值未发生跳变,则可以确定该控制触发器为控制该源端触发器的第一使能触发器,并且该第一使能触发器的电平值为“O”时,电平值处于无效状态。也可以将源端触发器的控制触发器的电平值设置为“ 1”,若确定源端触发器的电平值未发生跳变,则可以确定该控制触发器为控制该源端触发器的第一使能触发器,并且该第一使能触发器的电平值为“I”时,电平值处于无效状态。
[0064]如果将该源端触发器的控制触发器的电平值设置为“O”或“1”,源端触发器均发生了跳变,则可以确定该控制触发器不是控制该源端触发器的第一使能触发器。则对于该源端触发器对应的时间例外路径,跳变时延故障向量生成装置在生成跳变时延故障向量时按现有技术的方式对该时间例外路径进行分析处理。
[0065]S404、删除所述时间例外路径。
[0066]本实施例中,若确定出控制时间例外路径的源端触发器的控制触发器为该源端触发器的第一使能触发器,则可以将该时间例外路径从跳变时延故障向量生成装置中删除,从而跳变时延故障向量生成装置在生成跳变时延故障向量时不会对该时间例外路径进行如现有技术中所述动态分析。
[0067]S405、从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时的电平值为无效状态。
[0068]在确定出控制源端触发器的控制触发器为第一使能触发器时,可以从随机产生的测试向量中筛选出跳变时延故障向量。
[0069]在一种可行的实现方式中,若该时间例外路径的源端触发器和终端触发器均为时钟上升沿跳变的触发器,则筛选出的跳变时延故障向量使得所述第一使能触发器在扫描移位结束时的电平值为无效状态。
[0070]在另一种可行的实现方式中,若时间例外路径的源端触发器和/或终端触发器为时钟下降沿跳变的触发器,则筛选出的跳变时延故障向量使得所述第一使能触发器在扫描移位结束时以及启动时钟下降沿时的电平值为无效状态。
[0071]下面以一个具体的实施例对本发明实施例进行详细描述,跳变时延故障向量生成装置可以为ATPG工具。[0072]步骤1:将包含时间例外路径的时序约束文件读入ATPG工具中。
[0073]步骤2:将时间例外路径从约束中提取出来。
[0074]步骤3:将时间例外路径的源端映射到相应的触发器上,确定各时间例外路径的源端触发器。还可以将时间例外路径的终端映射到相应的触发器上,确定各时间例外路径的终端触发器。
[0075]步骤4:对所有时间例外路径的源端触发器向后追踪,找到控制各源端触发器的控制触发器,进而可以确定各个控制触发器所控制的源端触发器。然后对这些控制触发器,依据其控制的源端触发器数目进行排序。控制源端触发器数目最多的触发器排在最前面。设定一个门限值,当控制触发器控制的源端触发器数目高于这一门限值时,把这些控制触发器挑选出来,放在一个集合A中。此处可以认为控制触发器控制的源端触发器数目小于这一门限值时,该控制触发器不是第一使能触发器。
[0076]步骤5:对步骤4挑出的A集合中的控制触发器依次进行分析。
[0077]先挑选一个控制触发器A[i],将其的电平值设置为‘0’,判断该控制触发器所控制的时间例外路径的源端触发器的电平值是否可以保持原来的值。如果源端触发器的电平值可以保持原来的值,即不发生跳变,则控制触发器A[i]是源端触发器的使能触发器,且使能值为“ 1”,控制触发器的电平值为“O”时表示处于无效状态。
[0078]如果源端触发器的电平值不能保持原来的值,即发生了跳变,然后将控制触发器A[i]的电平值设置为“1”,判断源端触发器的电平值。若源端触发器的电平值可以保持原来的值,即不发生跳变,则控制触发器A[i]是源端触发器的第一使能触发器,且使能值为“0”,控制触发器的电平值为“ I ”时表示处于无效状态;同时将该第一使能触发器控制的所有源端触发器记录在一个以A[i]为索引的二维数组B[A[i]]中。若源端触发器的电平值还不能保持原来的值,即发生了跳变,则控制触发器A[i]不是第一使能触发器;将控制触发器A[i]从集合A中移掉,然后分析其他的控制触发器。
[0079]在确定控制触发器为第一使能触发器后,再进行步骤6。
[0080]步骤6:对二维数组B,分析由控制触发器A[i]控制的源端触发器B[A[i]] [j]以及源端触发器B[A[i]] [j]为起点的时间例外路径的终点触发器。
[0081]若控制触发器控制的所有源端触发器为时钟上升沿触发的,即源端触发器的电平值发生跳变的时间在在时钟上升沿,并且所有的终点触发器都是时钟上升沿触发的,则控制控制触发器A[i]的电平值在扫描移位结束时的电平值为无效状态。如果有一个终点触发器都是时钟下降沿触发的,则控制控制触发器A[i]在扫描移位结束时的电平值和launch时钟下降沿时的电平值都为无效状态。若控制触发器控制的所有源端触发器中有一个源端触发器为时钟下降沿触发的,则控制控制触发器A[i]在扫描移位结束时的电平值和launch时钟下降沿的电平值都为无效状态。这样以源端触发器B[A[i]][j]为起点的时间例外路径都不会被触发,然后可以将这些时间例外路径从约束中去掉,在跳变时延故障向量生成过程中不需要进行现有技术中所述的动态分析,从而减少了 ATPG工具的复杂度。
[0082]虽然在步骤6中去掉了一部分时间例外路径,但在约束中还可能存一部分时间例外路径,对于这些剩余的时间例外路径,在生成跳变时延故障向量的过程中仍按照现有技术的方式进行处理,如对这些剩余的时间例外路径的逻辑门进行静态拆分,对拆成的每一份,找到其影响的逻辑锥,然后再进行动态分析。[0083]图11为本发明跳变时延故障向量生成装置实施例一的结构示意图,如图11所示,本实施例的装置可以包括:确定单元11和生成单元12,其中,确定单元11,用于确定第一使能触发器,所述第一使能触发器用于控制时间例外路径的源端触发器;生成单元12,用于从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得确定单元11确定的所述第一使能触发器在扫描移位结束时的电平值为无效状态。
[0084]可选地,生成单元12具体用于从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时以及启动时钟下降沿时的电平值为无效状态。
[0085]本实施例的装置,可以用于执行本发明上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0086]图12为本发明跳变时延故障向量生成装置实施例二的结构示意图,如图12所示,本实施例的装置在图11所示装置结构的基础上,进一步地,还可以包括:获取单元13。
[0087]在第一种可行的实现方式中,获取单元13用于在确定单元11确定所述第一使能触发器之前,获取用户输入的指示信息,所述指示信息用于指示控制所述时间例外路径的源端触发器的所述第一使能触发器;确定单元11具体用于根据获取单元13获取的所述指示信息,确定所述第一使能触发器。
[0088]在第二种可行的实现方式中,获取单元13用于在确定单元11确定所述第一使能触发器之前,获取所述时间例外路径;以及确定控制所述时间例外路径的源端触发器的控制触发器;确定单元11具体用于:将所述控制触发器的电平值设置为“0”,若确定所述控制触发器所控制的源端触发器的电平值不发生跳变,则确定所述控制触发器为所述第一使能触发器;或者,将所述控制触发器的电平值设置为“ 1”,若确定所述控制触发器所控制的源端触发器的电平值不发生跳变,则确定所述控制触发器为所述第一使能触发器。
[0089]可选地,本实施例的装置还可以包括:删除单元14,该删除单元14用于在确定单元11确定所述控制触发器为所述第一使能触发器之后,删除所述时间例外路径。
[0090]本实施例的装置,可以用于执行本发明上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
[0091]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0092]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种跳变时延故障向量生成方法,其特征在于,包括: 确定第一使能触发器,所述第一使能触发器用于控制时间例外路径的源端触发器; 从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时的电平值为无效状态。
2.根据权利要求1所述的方法,其特征在于,所述从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时的电平值为无效状态,包括: 从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时以及启动时钟下降沿时的电平值为无效状态。
3.根据权利要求1或2所述的方法,其特征在于,所述确定第一使能触发器之前,还包括: 获取用户输入的指示信息,所述指示信息用于指示控制所述时间例外路径的源端触发器的所述第一使能触发器; 所述确定第一使能触发器,包括: 根据所述指示信息,确定所述第一使能触发器。
4.根据权利要求1或2所述的方法,其特征在于,所述确定第一使能触发器之前,还包括: 获取所述时间例外路径; 确定控制所述时间例外路径的源端触发器的控制触发器; 所述确定第一使能触发器,包括: 将所述控制触发器的电平值设置为“O”,若确定所述控制触发器所控制的源端触发器的电平值不发生跳变,则确定所述控制触发器为所述第一使能触发器;或者, 将所述控制触发器的电平值设置为“ 1”,若确定所述控制触发器所控制的源端触发器的电平值不发生跳变,则确定所述控制触发器为所述第一使能触发器。
5.根据权利要求4所述的方法,其特征在于,所述确定所述控制触发器为所述第一使能触发器之后,还包括: 删除所述时间例外路径。
6.一种跳变时延故障向量生成装置,其特征在于,包括: 确定单元,用于确定第一使能触发器,所述第一使能触发器用于控制时间例外路径的源端触发器; 生成单元,用于从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述确定单元确定的所述第一使能触发器在扫描移位结束时的电平值为无效状态。
7.根据权利要求6所述的装置,其特征在于,所述生成单元具体用于从随机产生的测试向量中筛选出跳变时延故障向量,所述跳变时延故障向量使得所述第一使能触发器在扫描移位结束时以及启动时钟下降沿时的电平值为无效状态。
8.根据权利要求6或7所述的装置,其特征在于,还包括: 获取单元,用于在所述确定单元确定所述第一使能触发器之前,获取用户输入的指示信息,所述指示信息用于指示控制所述时间例外路径的源端触发器的所述第一使能触发器; 所述确定单元具体用于根据所述获取单元获取的所述指示信息,确定所述第一使能触发器。
9.根据权利要求6或7所述的装置,其特征在于,还包括: 获取单元,用于在所述确定单元确定所述第一使能触发器之前,获取所述时间例外路径;以及确定控制所述时间例外路径的源端触发器的控制触发器; 所述确定单元具体用于:将所述控制触发器的电平值设置为“O”,若确定所述控制触发器所控制的源端触发器的电平值不发生跳变,则确定所述控制触发器为所述第一使能触发器;或者,将所述控制触发器的电平值设置为“ 1”,若确定所述控制触发器所控制的源端触发器的电平值不发生跳变,则确定所述控制触发器为所述第一使能触发器。
10.根据权利要求9所述的装置,其特征在于,还包括: 删除单元,用于在所述确定单元确定所述控制触发器为所述第一使能触发器之后,删除所述时间例外路径。
【文档编号】G01R31/26GK103913691SQ201410158471
【公开日】2014年7月9日 申请日期:2014年4月18日 优先权日:2014年4月18日
【发明者】王琳, 齐子初, 胡伟武 申请人:龙芯中科技术有限公司