CN103093006B - 集成电路最长可测路径选择测试方法及系统 - Google Patents
集成电路最长可测路径选择测试方法及系统 Download PDFInfo
- Publication number
- CN103093006B CN103093006B CN201110333352.5A CN201110333352A CN103093006B CN 103093006 B CN103093006 B CN 103093006B CN 201110333352 A CN201110333352 A CN 201110333352A CN 103093006 B CN103093006 B CN 103093006B
- Authority
- CN
- China
- Prior art keywords
- section
- path
- qianmen
- delay
- module
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种集成电路最长可测路径选择测试方法及系统,涉及数字集成电路测试技术领域,本发明通过对集成电路进行预处理,获得了所述集成电路中的所有b-f段,避免了回溯,降低了在路径选择时,减少了对部分路径的测试次数,大大提高了集成电路最大路径选择的效率,实现了提高延迟故障测试的效率。
Description
技术领域
本发明涉及数字集成电路测试技术领域,特别涉及一种集成电路最长可测路径选择测试方法及系统。
背景技术
在数字电路测试领域,针对延迟测试提出的方法有很多,其中两种主要的故障模型是跳变故障模型和路径延迟故障模型。跳变故障模型所需要的传出路径并不要求是通过目标门的最长路径,但是如果跳变故障非常小,则由于传出路径太短,则该小延迟故障(SDD)有可能逃脱测试,因此很有必要提出一些最长可测路径选择方法。
Sharma and Patel提出了一种基于图论和ATPG-driven的方法,通过选择一小部分最长路径来覆盖所有的门,该方法分从门往前到PI和从门往后到PO分别找最长路径,但该方法只适合选择通过每个门的一条最长路径,不能扩展到选择通过每个门的多条最长路径。该算法具有较高的复杂度,路径选择的时间较长。Tayade and Abraham通过建立一个SAT-based constraint-satisfaction问题来估算在串扰存在情况下的最大路径延迟,从而提取逻辑和时间的约束。这些方法都在寻找可测路径时采用了未加修改的ATPG(Automatic Test PatternGenaration,自动测试向量生成)策略,由于大量的回溯,从而造成时间开销很大。
Walker等人选择通过每个门的k条最长路径,该方法标志每个门的扇入扇出区,从能够达到门的PI开始往后一次扩展一个门,直到扩展到PO。每次扩展一个门,就需要判断这条路径是否可测,对可测性的判断需要花费太多的时间。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提高集成电路最大路径选择的效率,以提高延迟故障测试的效率。
(二)技术方案
为解决上述技术问题,本发明提供了一种集成电路最长可测路径选择测试方法,包括以下步骤:
S1:对集成电路进行预处理,以获得所述集成电路中的所有b-f段,所述b-f段是指一对具有前后继关系、并存在敏化值冲突的段;
S2:将所述集成电路中的当前门v的扇入区域和扇出区域所包括的门依次放入集合IN和集合OUT中;
S3:从当前门v开始,记录与其对应的集合IN中的每个门到当前门v的期望最大延迟、以及与其对应的集合OUT中的每个门到输出的期望最大延迟,所述期望最大延迟为两个门之间,不考虑经过所述两个门的路径是否可测的最大延迟;
S4:判断与当前门v对应的集合IN中的每一个输入,若与当前门v之间未构成b-f段,则将该输入所处的段放入集合Fout中,所述集合Fout为包含了所有能够经过门v的部分路径,并按照所述部分路径的最大期望延迟排序的集合;
S5:若所述集合Fout为空集,则结束后续步骤,否则执行步骤S6;
S6:从集合Fout中选择具有最大期望延迟的部分路径P,检查其后继的所有段的期望延迟,并选择期望延迟最大的后继段S,若后继段S与部分路径P不构成b-f段,则将后继段S加入部分路径P中,以实现对部分路径P的更新,再重复执行步骤S6,直到所述部分路径P到达输出后,将该部分路径P作为路径,再执行步骤S7,若后继段S与部分路径P构成b-f段,则执行步骤S6继续选择其他的期望延迟最大的后继段,若不存在能够选择的后继段,则执行步骤S8;
S7:若该路径已经在所选择地可测路径集合中,则直接保留该路径,否则采用自动测试向量生成工具对该路径进行可测性测试,若不可测,则返回至步骤S6,若可测,则将该路径作为路径选择的结果,并将该结果放入所述可测路径集合中,将当前门v更新为其他的门,返回步骤S2,直至所述集成电路中的所有门均被选择过后,再执行步骤S9;
S8:将该部分路径P末尾的段去掉,并在集合Fout中重新选择期望延迟最大的部分路径,返回步骤S6;
S9:对所述可测路径集合中的每一条路径进行敏化,以生成相应的测试向量,并通过生成的测试向量进行延迟故障测试。
优选地,步骤S1具体包括以下步骤:
S11:将集成电路划分为若干无扇出的段;
S12:从以输入为起点的段开始以段为单位扫描所述集成电路,并记录每一个段的后继段;
S13:通过对每一个段和与其对应的后继段进行敏化,检查每一个段和与其对应的后继段之间的敏化值是否存在冲突,若存在冲突,则将该段和其后继段作为一对b-f段,以记录所有的b-f段。
优选地,步骤S2具体包括以下步骤:
S21:判断当前门v是否为输入,若是,则执行步骤S22,若否,则执行步骤S23;
S22:从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT,并将当前门v放入集合IN;
S23:从当前门v向后遍历,获得其扇入区域,并将扇入区域所包含的输入放入集合IN,从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT。
本发明还公开了一种集成电路最长可测路径选择测试系统,包括:
预处理模块,用于对集成电路进行预处理,以获得所述集成电路中的所有b-f段,所述b-f段是指一对具有前后继关系、并存在敏化值冲突的段;
放入模块,用于将所述集成电路中的当前门v的扇入区域和扇出区域所包括的门依次放入集合IN和集合OUT中;
记录模块,用于从当前门v开始,记录与其对应的集合IN中的每个门到当前门v的期望最大延迟、以及与其对应的集合OUT中的每个门到输出的期望最大延迟,所述期望最大延迟为两个门之间,不考虑经过所述两个门的路径是否可测的最大延迟;
路径判断模块,用于判断与当前门v对应的集合IN中的每一个输入,若与当前门v之间未构成b-f段,则将该输入所处的段放入集合Fout中,所述集合Fout为包含了所有能够经过门v的部分路径,并按照所述部分路径的最大期望延迟排序的集合;
集合判断模块,用于若所述集合Fout为空集,则结束后续步骤,否则执行路径更新模块;
路径更新模块,用于从集合Fout中选择具有最大期望延迟的部分路径P,检查其后继的所有段的期望延迟,并选择期望延迟最大的后继段S,若后继段S与部分路径P不构成b-f段,则将后继段S加入部分路径P中,以实现对部分路径P的更新,再重复执行路径更新模块,直到所述部分路径P到达输出后,将该部分路径P作为路径,再执行可测性判断模块,若后继段S与部分路径P构成b-f段,则执行路径更新模块继续选择其他的期望延迟最大的后继段,若不存在能够选择的后继段,则执行重新选择模块;
可测性判断模块,用于若该路径已经在所选择地可测路径集合中,则直接保留该路径,否则采用自动测试向量生成工具对该路径进行可测性测试,若不可测,则返回至路径更新模块,若可测,则将该路径作为路径选择的结果,并将该结果放入所述可测路径集合中,将当前门v更新为其他的门,返回放入模块,直至所述集成电路中的所有门均被选择过后,再执行测试模块;
重新选择模块,用于将该部分路径P末尾的段去掉,并在集合Fout中重新选择期望延迟最大的部分路径,返回路径更新模块;
测试模块,用于对所述可测路径集合中的每一条路径进行敏化,以生成相应的测试向量,并通过生成的测试向量进行延迟故障测试。
优选地,预处理模块具体包括:
划分模块,用于将集成电路划分为若干无扇出的段;
扫描模块,用于从以输入为起点的段开始以段为单位扫描所述集成电路,并记录每一个段的后继段;
敏化检查模块,用于通过对每一个段和与其对应的后继段进行敏化,检查每一个段和与其对应的后继段之间的敏化值是否存在冲突,若存在冲突,则将该段和其后继段作为一对b-f段,以记录所有的b-f段。
优选地,放入模块具体包括:
判断子模块,用于判断当前门v是否为输入,若是,则执行门输入模块,若否,则执行内部门模块;
门输入模块,用于从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT,并将当前门v放入集合IN;
内部门模块,用于从当前门v向后遍历,获得其扇入区域,并将扇入区域所包含的输入放入集合IN,从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT。
(三)有益效果
本发明通过对集成电路进行预处理,获得了所述集成电路中的所有b-f段,避免了回溯,降低了在路径选择时,减少了对部分路径的测试次数,大大提高了集成电路最大路径选择的效率,实现了提高延迟故障测试的效率。
附图说明
图1是按照本发明一种实施方式的集成电路最长可测路径选择测试方法的流程图;
图2是表示门的后继段的示意图;
图3是用于计算门到输出的最长距离的示例图;
图4是用于计算部分路径最大延迟的示例图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是按照本发明一种实施方式的集成电路最长可测路径选择测试方法的流程图,包括以下步骤:
S1:对集成电路进行预处理,以获得所述集成电路中的所有b-f段,所述b-f段是指一对具有前后继关系、并存在敏化值冲突的段;
其中,步骤S1具体包括以下步骤:
S11:将集成电路划分为若干无扇出的段;
S12:从以输入为起点的段开始以段为单位扫描所述集成电路,并记录每一个段的后继段;某一段的直接后继段就是与该段直接连着的段。某一段的后继段是指从该段出发,经过某些段之后,能到达的段的集合,也包括直接后继段。参照图2,a的直接后继段有c和b,a的后继段有c、b、g和i,d的直接后继段有e和f,d的后继段有e、f、g、h和i。
S13:通过对每一个段和与其对应的后继段进行敏化,检查每一个段和与其对应的后继段之间的敏化值是否存在冲突,若存在冲突,则将该段和其后继段作为一对b-f段,以记录所有的b-f段。在找b-f段时,电路中的某一个段不需要和其它所有段进行比较,只要和它的后继段比较即可,因为对于不是后继段的段,它们之间不能构成路径,即便敏化时存在有冲突,也不影响对不可测路径的辨别。对于任何一段,只要遍历电路,都可以找到该段的所有后继段,这些后继段形成一个区域锥,图2表示了区域锥a(即图2中的“cone a”)和区域锥d(即图2中的“cone d”),它们分别是a段和d段的后继段的集合。
以段a为例阐述找bf算法的实施过程。首先标注找到了段a的后继区域锥cone a,从段a开始往后搜索,有二个分支,b和c。先比较a和b的敏化条件,如果没有冲突,就再继续比较a和b的后继段(g和i段);如果有冲突,则a和b构成bf段,不需要再比较a和b的后继段g和i。这样,能缩减搜索的分支,提高搜索的速度。
S2:将所述集成电路中的当前门v的扇入区域和扇出区域所包括的门依次放入集合IN和集合OUT中;
S3:从当前门v开始,记录与其对应的集合IN中的每个门到当前门v的期望最大延迟、以及与其对应的集合OUT中的每个门到输出的期望最大延迟,所述期望最大延迟为两个门之间,不考虑经过所述两个门的路径是否可测的最大延迟;其中,计算每个门到输出的期望最大延迟,参照图3,在这里我们采取从后往前层序遍历的方法,每一层所有门到输出PO的最长距离以直接后继门到输出PO的最长距离为基础,用公式表示为其中,IG表示门G到输出PO的最长距离,delay(G,Si)表示门G到后继门Si的延迟,从后往前,先计算S8,S9,S10,S11,S12和S13这6个门到输出PO最长延迟,然后往上一层,计算S3,S4,S5,S6和S7这5个门到输出PO的最长延迟,再计算上一层S1和S2到输出PO的最长延迟,一直往上计算到输入PI,其中,S1到输出PO的最长延迟是S3到输出PO的最长延迟加上S1S3之间延迟与S4到输出PO的最长延迟加上S1S4之间延迟的最大值。
S4:判断与当前门v对应的集合IN中的每一个输入,若与当前门v之间未构成b-f段,则将该输入所处的段放入集合Fout中,所述集合Fout为包含了所有能够经过门v的部分路径,并按照所述部分路径的最大期望延迟排序的集合;
S5:若所述集合Fout为空集,则结束后续步骤,否则执行步骤S6;
S6:从集合Fout中选择具有最大期望延迟的部分路径P,检查其后继的所有段的期望延迟,并选择期望延迟最大的后继段S,若后继段S与部分路径P不构成b-f段,则将后继段S加入部分路径P中,以实现对部分路径P的更新,再重复执行步骤S6,直到所述部分路径P到达输出后,将该部分路径P作为路径,再执行步骤S7,若后继段S与部分路径P构成b-f段,则执行步骤S6继续选择其他的期望延迟最大的后继段,若不存在能够选择的后继段,则执行步骤S8;对于每条部分路径,它的最大期望延迟分以下两种情况计算:(1)当部分路径还没有通过门v时,部分路径的最大期望延迟是部分路径的延迟、部分路径的终点到门v的最大延迟和门v到PO的最大延迟这三个延迟之和;(2)当部分路径已经通过门v时,部分路径的最大期望延迟为部分路径的延迟和部分路径的终点到PO的最长延迟之和。参照图4,选则通过门g的k条最长路径,假如部分路径为g0g1,由于g0g1还没有过门g,因此g0g1的最大延迟期望是g0g1的延迟、g1到门g的最大延迟、g到PO的最大延迟之和,即delay(g0g1)+delay(g1g)+delay(gg2)+delay(g2g4)=1+6+2+10=19,其中delay(gigj)表示门gi到gj的延迟。注意到g0到g9的延迟为27(delay(g0g1)+delay(g1g7)+delay(g7g8)+delay(g8g9)),但再计算部分路径g0g1的最大期望延迟时,却没有选择g1到g9这条路径,因为它并不通过门g,虽然g1到g9是最大延迟的路径,但本发明的算法在预处理计算的时候就可以把这个分支排除在搜索范围之外。也正因为如此,本发明在定义部分路径的最大期望延迟时,分是否通过门g两种情况。
部分路径的最大期望延迟是在不断变化的。对于图4的部分路径g0g1g,最大期望延迟是delay(g0g1)+delay(g1g)+delay(gg2)+delay(g2g4)=19,但是当部分路径沿着最大期望延迟扩展为g0g1gg2时,gg2和g0g1g中的某段构成bf段,即g0g1gg2是不能被敏化的,该部分路径扩展后的完全路径是不可测的。因此,g0g1g的最大期望延迟也要相应的变为delay(g0g1)+delay(g1g)+delay(gg3)+delay(g3g6)=15,即沿着g3g6分支扩展为完全路径。
更进一步地来说,最大期望延迟是指导部分路径向哪个分支扩展的。这个指导作用非常关键,但有时可能会引导部分路径扩展为不可测路径,这是因为bf对只能排除90%的不可测路径,不能排除所有不可测路径。在这种情况下,要及时更新最大期望延迟,使得部分路径沿着可测路径的那些分支继续向PO方向扩展。
S7:若该路径已经在所选择地可测路径集合中,则直接保留该路径,否则采用自动测试向量生成(ATPG)工具对该路径进行可测性测试,若不可测,则返回至步骤S6,若可测,则将该路径作为路径选择的结果,并将该结果放入所述可测路径集合中,将当前门v更新为其他的门,返回步骤S2,直至所述集成电路中的所有门均被选择过后,再执行步骤S9;
S8:将该部分路径P末尾的段去掉,并在集合Fout中重新选择期望延迟最大的部分路径,返回步骤S6;以下参照图3,来说明步骤S8,例如,在执行步骤S6时,若原部分路径为S0S1,设此时其期望延迟最大的后继段为S3,则将S3加入到原部分路径中,此时部分路径为S0S1S3,若此时部分路径的后继段S8和S9均与S3构成b-f段,则此时需要将该部分路径的后继段S3去掉,并重新在集合Fout中重新选择期望延迟最大的部分路径,若原部分路径S0S1在排除掉后继段S3后,期望延迟最大的部分路径变为了S0S2,此时,将S0S2作为部分路径,再进行后续步骤,但原部分路径S0S1在排除掉后继段S3后,仍具有最大的部分路径,则还是从部分路径S0S1开始,选择其后继段S4进行后续判断;
S9:对所述可测路径集合中的每一条路径进行敏化,以生成相应的测试向量,并通过生成的测试向量进行延迟故障测试(延迟故障测试包括:路径延迟故障测试和小延迟故障测试等)。
优选地,步骤S2具体包括以下步骤:
S21:判断当前门v是否为输入,若是,则执行步骤S22,若否,则执行步骤S23;
S22:从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT,并将当前门v放入集合IN;
S23:从当前门v向后遍历,获得其扇入区域,并将扇入区域所包含的输入放入集合IN,从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT。
以下通过Dell Precision 690工作站对本发明的路径选择效率进行试验验证,表1中给出了将本发明应用到ISCAS89和IWLS2005电路的实验结果。选出通过每个门的最长K条路径,K分别取值1,5和10,对于vga_lcd和ethernet这两个电路,K取值1和2,对于K为5,10的情况,不再予以计算。对于某一个门,如果选出通过该门的最长路径都不可测,最多选择1000次,超过1000次还不可测,则放弃选择通过这个门的最长可测路径。第一栏是电路名称,第二栏和第三栏是k=1选的路径条数和时间,第四栏和第五栏是k=5选的路径条数和时间,第六栏和第七栏是k=10选的路径条数和时间,可以看出,随着k的增加,路径数也不断地增加,但增加的倍数可能小于k的倍数。
表1
本发明还公开了一种集成电路最长可测路径选择测试系统,包括:
预处理模块,用于对集成电路进行预处理,以获得所述集成电路中的所有b-f段,所述b-f段是指一对具有前后继关系、并存在敏化值冲突的段;
放入模块,用于将所述集成电路中的当前门v的扇入区域和扇出区域所包括的门依次放入集合IN和集合OUT中;
记录模块,用于从当前门v开始,记录与其对应的集合IN中的每个门到当前门v的期望最大延迟、以及与其对应的集合OUT中的每个门到输出的期望最大延迟,所述期望最大延迟为两个门之间,不考虑经过所述两个门的路径是否可测的最大延迟;
路径判断模块,用于判断与当前门v对应的集合IN中的每一个输入,若与当前门v之间未构成b-f段,则将该输入所处的段放入集合Fout中,所述集合Fout为包含了所有能够经过门v的部分路径,并按照所述部分路径的最大期望延迟排序的集合;
集合判断模块,用于若所述集合Fout为空集,则结束后续步骤,否则执行路径更新模块;
路径更新模块,用于从集合Fout中选择具有最大期望延迟的部分路径P,检查其后继的所有段的期望延迟,并选择期望延迟最大的后继段S,若后继段S与部分路径P不构成b-f段,则将后继段S加入部分路径P中,以实现对部分路径P的更新,再重复执行路径更新模块,直到所述部分路径P到达输出后,将该部分路径P作为路径,再执行可测性判断模块,若后继段S与部分路径P构成b-f段,则执行路径更新模块继续选择其他的期望延迟最大的后继段,若不存在能够选择的后继段,则执行重新选择模块;
可测性判断模块,用于若该路径已经在所选择地可测路径集合中,则直接保留该路径,否则采用自动测试向量生成(ATPG)工具对该路径进行可测性测试,若不可测,则返回至路径更新模块,若可测,则将该路径作为路径选择的结果,并将该结果放入所述可测路径集合中,将当前门v更新为其他的门,返回放入模块,直至所述集成电路中的所有门均被选择过后,再执行测试模块;
重新选择模块,用于将该部分路径P末尾的段去掉,并在集合Fout中重新选择期望延迟最大的部分路径,返回路径更新模块;
测试模块,用于对所述可测路径集合中的每一条路径进行敏化,以生成相应的测试向量,并通过生成的测试向量进行延迟故障测试。
优选地,预处理模块具体包括:
划分模块,用于将集成电路划分为若干无扇出的段;
扫描模块,用于从以输入为起点的段开始以段为单位扫描所述集成电路,并记录每一个段的后继段;
敏化检查模块,用于通过对每一个段和与其对应的后继段进行敏化,检查每一个段和与其对应的后继段之间的敏化值是否存在冲突,若存在冲突,则将该段和其后继段作为一对b-f段,以记录所有的b-f段。
优选地,放入模块具体包括:
判断子模块,用于判断当前门v是否为输入,若是,则执行门输入模块,若否,则执行内部门模块;
门输入模块,用于从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT,并将当前门v放入集合IN;
内部门模块,用于从当前门v向后遍历,获得其扇入区域,并将扇入区域所包含的输入放入集合IN,从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (4)
1.一种集成电路最长可测路径选择测试方法,其特征在于,包括以下步骤:
S1:对集成电路进行预处理,以获得所述集成电路中的所有b-f段,所述b-f段是指一对具有前后继关系、并存在敏化值冲突的段;
S2:将所述集成电路中的当前门v的扇入区域和扇出区域所包括的门依次放入集合IN和集合OUT中;
S3:从当前门v开始,记录与其对应的集合IN中的每个门到当前门v的期望最大延迟、以及与其对应的集合OUT中的每个门到输出的期望最大延迟,所述期望最大延迟为两个门之间,不考虑经过所述两个门的路径是否可测的最大延迟;
S4:判断与当前门v对应的集合IN中的每一个输入,若与当前门v之间未构成b-f段,则将该输入所处的段放入集合Fout中,所述集合Fout为包含了所有能够经过门v的部分路径,并按照所述部分路径的最大期望延迟排序的集合;
S5:若所述集合Fout为空集,则结束后续步骤,否则执行步骤S6;
S6:从集合Fout中选择具有最大期望延迟的部分路径P,检查其后继的所有段的期望延迟,并选择期望延迟最大的后继段S,若后继段S与部分路径P不构成b-f段,则将后继段S加入部分路径P中,以实现对部分路径P的更新,再重复执行步骤S6,直到所述部分路径P到达输出后,将该部分路径P作为路径,再执行步骤S7,若后继段S与部分路径P构成b-f段,则执行步骤S6继续选择其他的期望延迟最大的后继段,若不存在能够选择的后继段,则执行步骤S8;
S7:若该路径已经在所选择地可测路径集合中,则直接保留该路径,否则采用自动测试向量生成工具对该路径进行可测性测试,若不可测,则返回至步骤S6,若可测,则将该路径作为路径选择的结果,并将该结果放入所述可测路径集合中,将当前门v更新为其他的门,返回步骤S2,直至所述集成电路中的所有门均被选择过后,再执行步骤S9;
S8:将该部分路径P末尾的段去掉,并在集合Fout中重新选择期望延迟最大的部分路径,返回步骤S6;
S9:对所述可测路径集合中的每一条路径进行敏化,以生成相应的测试向量,并通过生成的测试向量进行延迟故障测试;
所述步骤S2具体包括以下步骤:
S21:判断当前门v是否为输入,若是,则执行步骤S22,若否,则执行步骤S23;
S22:从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT,并将当前门v放入集合IN;
S23:从当前门v向后遍历,获得其扇入区域,并将扇入区域所包含的输入放入集合IN,从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT。
2.如权利要求1所述的方法,其特征在于,步骤S1具体包括以下步骤:
S11:将集成电路划分为若干无扇出的段;
S12:从以输入为起点的段开始以段为单位扫描所述集成电路,并记录每一个段的后继段;
S13:通过对每一个段和与其对应的后继段进行敏化,检查每一个段和与其对应的后继段之间的敏化值是否存在冲突,若存在冲突,则将该段和其后继段作为一对b-f段,以记录所有的b-f段。
3.一种集成电路最长可测路径选择测试系统,其特征在于,包括:
预处理模块,用于对集成电路进行预处理,以获得所述集成电路中的所有b-f段,所述b-f段是指一对具有前后继关系、并存在敏化值冲突的段;
放入模块,用于将所述集成电路中的当前门v的扇入区域和扇出区域所包括的门依次放入集合IN和集合OUT中;
记录模块,用于从当前门v开始,记录与其对应的集合IN中的每个门到当前门v的期望最大延迟、以及与其对应的集合OUT中的每个门到输出的期望最大延迟,所述期望最大延迟为两个门之间,不考虑经过所述两个门的路径是否可测的最大延迟;
路径判断模块,用于判断与当前门v对应的集合IN中的每一个输入,若与当前门v之间未构成b-f段,则将该输入所处的段放入集合Fout中,所述集合Fout为包含了所有能够经过门v的部分路径,并按照所述部分路径的最大期望延迟排序的集合;
集合判断模块,用于若所述集合Fout为空集,则结束后续步骤,否则执行路径更新模块;
路径更新模块,用于从集合Fout中选择具有最大期望延迟的部分路径P,检查其后继的所有段的期望延迟,并选择期望延迟最大的后继段S,若后继段S与部分路径P不构成b-f段,则将后继段S加入部分路径P中,以实现对部分路径P的更新,再重复执行路径更新模块,直到所述部分路径P到达输出后,将该部分路径P作为路径,再执行可测性判断模块,若后继段S与部分路径P构成b-f段,则执行路径更新模块继续选择其他的期望延迟最大的后继段,若不存在能够选择的后继段,则执行重新选择模块;
可测性判断模块,用于若该路径已经在所选择地可测路径集合中,则直接保留该路径,否则采用自动测试向量生成工具对该路径进行可测性测试,若不可测,则返回至路径更新模块,若可测,则将该路径作为路径选择的结果,并将该结果放入所述可测路径集合中,将当前门v更新为其他的门,返回放入模块,直至所述集成电路中的所有门均被选择过后,再执行测试模块;
重新选择模块,用于将该部分路径P末尾的段去掉,并在集合Fout中重新选择期望延迟最大的部分路径,返回路径更新模块;
测试模块,用于对所述可测路径集合中的每一条路径进行敏化,以生成相应的测试向量,并通过生成的测试向量进行延迟故障测试;
所述放入模块具体包括:
判断子模块,用于判断当前门v是否为输入,若是,则执行门输入模块,若否,则执行内部门模块;
门输入模块,用于从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT,并将当前门v放入集合IN;
内部门模块,用于从当前门v向后遍历,获得其扇入区域,并将扇入区域所包含的输入放入集合IN,从当前门v向前遍历,获得其扇出区域,并将扇出区域所到达的输出放入集合OUT。
4.如权利要求3所述的系统,其特征在于,预处理模块具体包括:
划分模块,用于将集成电路划分为若干无扇出的段;
扫描模块,用于从以输入为起点的段开始以段为单位扫描所述集成电路,并记录每一个段的后继段;
敏化检查模块,用于通过对每一个段和与其对应的后继段进行敏化,检查每一个段和与其对应的后继段之间的敏化值是否存在冲突,若存在冲突,则将该段和其后继段作为一对b-f段,以记录所有的b-f段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110333352.5A CN103093006B (zh) | 2011-10-28 | 2011-10-28 | 集成电路最长可测路径选择测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110333352.5A CN103093006B (zh) | 2011-10-28 | 2011-10-28 | 集成电路最长可测路径选择测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103093006A CN103093006A (zh) | 2013-05-08 |
CN103093006B true CN103093006B (zh) | 2015-05-20 |
Family
ID=48205571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110333352.5A Active CN103093006B (zh) | 2011-10-28 | 2011-10-28 | 集成电路最长可测路径选择测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103093006B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646129B (zh) * | 2013-11-22 | 2017-04-12 | 中国科学院计算技术研究所 | 一种适用于fpga的可靠性评估方法和装置 |
CN108763660B (zh) * | 2018-05-08 | 2022-05-03 | 中国人民解放军国防科技大学 | 组合电路瞬态脉冲重汇聚现象可满足性分析方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221216A (zh) * | 2008-01-23 | 2008-07-16 | 清华大学 | 路径延迟故障测试向量压缩方法及装置 |
CN101261308A (zh) * | 2008-02-01 | 2008-09-10 | 清华大学 | 一种路径延迟故障模拟方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6789223B2 (en) * | 2001-12-12 | 2004-09-07 | R. Scott Fetherston | Method for optimizing test development for digital circuits |
JP2007017430A (ja) * | 2005-06-06 | 2007-01-25 | Matsushita Electric Ind Co Ltd | テストパターン生成方法 |
US8255854B2 (en) * | 2006-09-22 | 2012-08-28 | Actel Corporation | Architecture and method for compensating for disparate signal rise and fall times by using polarity selection to improve timing and power in an integrated circuit |
US7870519B2 (en) * | 2007-11-19 | 2011-01-11 | International Business Machines Corporation | Method for determining features associated with fails of integrated circuits |
-
2011
- 2011-10-28 CN CN201110333352.5A patent/CN103093006B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221216A (zh) * | 2008-01-23 | 2008-07-16 | 清华大学 | 路径延迟故障测试向量压缩方法及装置 |
CN101261308A (zh) * | 2008-02-01 | 2008-09-10 | 清华大学 | 一种路径延迟故障模拟方法及装置 |
Non-Patent Citations (4)
Title |
---|
Constraining Transition Propagation for Low-Power Scan Testing Using a Two-Stage Scan Architecture;Dong Xiang等;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEM》;20070531;第54卷(第5期);全文 * |
Fast and effective fault simulation for path delay faults based on selected testable paths;Dong Xiang等;《international Test Conference》;20071026;全文 * |
数字电路的故障测试模式生成方法研究;刘歆;《中国博士学位论文全文数据库》;20061130;第2006年卷(第11期);全文 * |
面向数字系统的确定性自测试与延迟故障测试;赵阳;《中国优秀硕士学位论文全文数据库》;20080815;第2008年卷(第8期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103093006A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324774B (zh) | 一种基于时钟规划偏差算法的处理器性能优化方法 | |
US9552454B2 (en) | Concurrent timing-driven topology construction and buffering for VLSI routing | |
CN103116540B (zh) | 基于全局超级块支配图的动态符号执行方法 | |
US20220398373A1 (en) | Multi-stage fpga routing method for optimizing time division multiplexing | |
CN105205205B (zh) | 基于网表位置信息最优划分的fpga粗粒度并行布线方法 | |
US6405345B1 (en) | Updating placement during technology mapping | |
US8042083B2 (en) | Methods and systems for FPGA rewiring | |
CN103093006B (zh) | 集成电路最长可测路径选择测试方法及系统 | |
CN108875106B (zh) | 一种电路设计的移植方法和系统 | |
CN101504680B (zh) | 时钟偏差局域性优化分析方法 | |
US6378116B1 (en) | Using budgeted required time during technology mapping | |
Wong et al. | Negotiation-based track assignment considering local nets | |
US10331840B2 (en) | Resource aware method for optimizing wires for slew, slack, or noise | |
US7146590B1 (en) | Congestion estimation for programmable logic devices | |
JP4696988B2 (ja) | レイアウト設計装置、方法、及び、プログラム | |
Gonçalves et al. | A survey of path search algorithms for VLSI detailed routing | |
CN102809711A (zh) | 一种测试fpga单长线及连接开关的扩展布线方法 | |
CN110032815A (zh) | 基于文化基因的八角形斯坦纳树构建方法 | |
CN110083942B (zh) | 基于物理信息的信号电迁移批量修复方法、系统及介质 | |
CN112084742B (zh) | 集成电路设计方法与其非瞬时计算机可读介质 | |
CN108763660B (zh) | 组合电路瞬态脉冲重汇聚现象可满足性分析方法及系统 | |
US7076758B1 (en) | Using router feedback for placement improvements for logic design | |
US7010765B2 (en) | Method for identifying removable inverters in an IC design | |
Li et al. | A fast and energy efficient branch and bound algorithm for NoC task mapping | |
US9665681B2 (en) | Methods and apparatus for repeater count reduction via concurrent gate sizing and repeater insertion |
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 |