CN117852476A - 基于不完备算法进行仿真的方法和装置 - Google Patents
基于不完备算法进行仿真的方法和装置 Download PDFInfo
- Publication number
- CN117852476A CN117852476A CN202410263528.1A CN202410263528A CN117852476A CN 117852476 A CN117852476 A CN 117852476A CN 202410263528 A CN202410263528 A CN 202410263528A CN 117852476 A CN117852476 A CN 117852476A
- Authority
- CN
- China
- Prior art keywords
- fault
- failure rate
- additional
- list
- exists
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 239000013598 vector Substances 0.000 claims abstract description 227
- 238000012360 testing method Methods 0.000 claims abstract description 89
- 238000004088 simulation Methods 0.000 claims abstract description 52
- 230000000694 effects Effects 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 description 6
- 239000000243 solution Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请涉及一种基于不完备算法进行仿真的方法和装置,方法包括:判断故障列表中是否存在故障;若故障列表中存在故障,则随机选取一个故障作为基准故障,并通过完备的自动测试向量生成算法生成基准故障的基准向量;若故障列表中仍存在故障且故障失败率未达到失败率阈值,则随机选择一个故障作为附加故障;以基准向量为约束,采用不完备的自动测试向量生成算法生成附加故障的附加向量,直至故障列表中不存在故障或故障失败率达到失败率阈值,其中,不完备的自动测试向量生成算法用于忽略故障传播路径上部分逻辑门的传播决策;若确定附加向量的数量达到预设数量阈值,则进行故障仿真。本申请在保证算法正确的基础上减少了仿真时长。
Description
技术领域
本申请涉及仿真技术领域,尤其涉及一种基于不完备算法进行仿真的方法和装置。
背景技术
在集成电路设计领域,电子设计自动化(Electronic Design Automation,EDA)工具是辅助设计人员完成电路设计工作的大型工业软件。数字集成电路在制造中不可避免的会引入一些缺陷,为了有效测试芯片,需要使用EDA工具对电路进行可测性设计(DesignFor Testability,DFT)和自动测试向量生成(Automatic Test Pattern Generation,ATPG)。
目前比较有代表性的确定性自动测试向量生成算法有D算法、PODEM算法、FAN算法、SOCRATES算法等。目前的自动测试向量生成方法存在时间过长导致无法在合理时间范围内生成向量的问题,其中一个原因是因为自动测试向量生成需要基于电路和故障位置,进行传播决策和调整决策,当决策发生冲突时,会进行回溯,当决策数量过多,或决策容易发生冲突时,就会导致算法时间过长。
总的来说,一个完备的自动测试向量生成方法会尝试所有的决策空间来生成向量,这导致传统方法生成向量的时间较长,从而仿真时间较长。
发明内容
本申请提供了一种基于不完备算法进行仿真的方法和装置,以解决仿真时间较长的问题。
第一方面,本申请提供了一种基于不完备算法进行仿真的方法,所述方法包括:判断故障列表中是否存在故障;若所述故障列表中存在故障,则随机选取一个故障作为基准故障,并通过完备的自动测试向量生成算法生成所述基准故障的基准向量;若所述故障列表中仍存在故障且故障失败率未达到失败率阈值,则随机选择一个故障作为附加故障,其中,所述故障失败率是指根据附加故障生成附加向量的失败率;以所述基准向量为约束,采用不完备的自动测试向量生成算法生成所述附加故障的附加向量,并判断所述故障列表中是否存在故障且故障失败率是否达到失败率阈值,直至所述故障列表中不存在故障或故障失败率达到失败率阈值,其中,所述不完备的自动测试向量生成算法用于忽略故障传播路径上部分逻辑门的传播决策;若确定附加向量的数量达到预设数量阈值,则进行故障仿真。
可选地,确定附加向量的数量达到所述预设数量阈值包括:若确定故障失败率达到失败率阈值,则判断附加向量的数量是否达到所述预设数量阈值;若附加向量的数量未达到所述预设数量阈值,则重新判断故障列表中是否存在故障;若所述故障列表中存在故障,则得到新生成的附加向量;重复若故障失败率达到失败率阈值则新生成附加向量的步骤,直至附加向量的数量达到所述预设数量阈值。
可选地,以所述基准向量为约束,采用不完备的自动测试向量生成算法生成所述附加故障的附加向量,并判断所述故障列表中是否存在故障且故障失败率是否达到失败率阈值,直至所述故障列表中不存在故障或故障失败率达到失败率阈值包括:以所述基准向量为约束,采用不完备的自动测试向量生成算法生成所述附加故障的附加向量,并计算附加故障生成附加向量的故障失败率;判断所述故障列表中是否仍存在故障且故障失败率未达到失败率阈值;若仍存在故障且故障失败率未达到失败率阈值,则再次随机选取一个故障作为附加故障并生成附加向量和计算故障失败率,直至所述故障列表中不存在附加故障或故障失败率达到失败率阈值。
可选地,所述方法还包括:在故障效应传播过程中,针对XOR逻辑门或XNOR逻辑门,采用不完备的自动测试向量生成算法确定逻辑门的输出值并省略为逻辑门的旁路赋值的步骤,其中,所述旁路为除故障必经的输入支路之外的输入支路。
可选地,所述方法还包括:在故障效应传播过程中,针对MUX逻辑门,采用不完备的自动测试向量生成算法确定逻辑门的输出值和两个输入值中的任一个输入值。
可选地,确定故障列表中不存在故障之后,所述方法还包括:若确定附加向量的数量未达到所述预设数量阈值,则重新判断故障列表中是否存在故障;若所述故障列表中不存在故障,则对所述附加向量进行仿真。
可选地,进行故障仿真之后,所述方法还包括:重新判断所述故障列表中是否存在故障,其中,所述故障仿真会剔除至少部分故障;若所述故障列表中不存在故障,则结束流程;若所述故障列表中存在剩余的故障,则针对所述剩余的故障得到向量并进行仿真。
第二方面,本申请提供了一种基于不完备算法进行仿真的装置,所述装置包括:判断模块,用于判断故障列表中是否存在故障;第一选取模块,用于若所述故障列表中存在故障,则随机选取一个故障作为基准故障,并通过完备的自动测试向量生成算法生成所述基准故障的基准向量;第二选取模块,用于若所述故障列表中仍存在故障且故障失败率未达到失败率阈值,则随机选择一个故障作为附加故障,其中,所述故障失败率是指根据附加故障生成附加向量的失败率;生成模块,用于以所述基准向量为约束,采用不完备的自动测试向量生成算法生成所述附加故障的附加向量,并判断所述故障列表中是否存在故障且故障失败率是否达到失败率阈值,直至所述故障列表中不存在故障或故障失败率达到失败率阈值,其中,所述不完备的自动测试向量生成算法用于忽略故障传播路径上部分逻辑门的传播决策;仿真模块,用于若确定附加向量的数量达到预设数量阈值,则进行故障仿真。
第三方面,本申请提供了一种电子设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器。
第四方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本申请上述任一项所述的基于不完备算法进行仿真的方法和装置方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请中,在故障效应传播过程中,不完备的自动测试向量生成算法忽略故障对除传播路径之外的逻辑门的影响,减少了向量生成过程中的决策点数量,降低自动测试向量方法运行的时长,即减少仿真时长,但不完备的自动测试向量生成算法可能会将本可以检测的故障分类为冗余,冗余是指自动测试生成算法认为无法检测到的故障,那么使用完备的自动测试向量生成算法可以避免将故障错误分类为冗余,保证了整体算法的正确性。本申请采用不完备的算法生成附加故障的向量,降低自动测试向量方法运行的时长,采用完备的算法生成基准故障的向量,避免将故障错误分类为冗余,本申请在保证算法正确的基础上减少了仿真时长。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请实施例提供的一种基于不完备算法进行仿真的方法流程图;
图2为本申请实施例提供的采用完备的自动测试向量生成算法进行传播决策的示意图;
图3为本申请实施例提供的采用不完备的自动测试向量生成算法进行传播决策的示意图;
图4为本申请实施例提供的一种基于不完备算法进行仿真的流程图;
图5为本申请实施例提供的一种基于不完备算法进行仿真的装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
本申请提供了一种基于不完备算法进行仿真的方法,应用于处理器,如图1所示,方法包括:
步骤101:判断故障列表中是否存在故障。
处理器读入网表和DRC(design rule check,设计规则检查)文件,并读入故障列表或生成故障列表,其中,网表中包含了逻辑门之间的连接关系,DRC文件为网表的配置文件,故障列表中包含了一些故障。
步骤102:若故障列表中存在故障,则随机选取一个故障作为基准故障,并通过完备的自动测试向量生成算法生成基准故障的基准向量。
如果一开始判定故障列表中不包含故障,则持续或定时获取故障列表;如果故障列表中存在故障,则处理器随机选取一个故障作为基准故障,并通过完备的自动测试向量生成算法生成基准故障的基准向量。
完备的自动测试向量生成算法中,故障的注入会使一部分电路(位于故障位置扇出的逻辑门)的逻辑值受到影响,为了得到故障位置影响的区域,会首先从故障所在位置向后进行搜索,以确定故障的覆盖区域。这些区域里的逻辑门,在无故障电路和有故障电路的值可能是不一样的。为了确保故障效应的传播,需要无故障电路和有故障电路同时进行蕴含和决策。
传播决策主要会进行两方面的决策:其一是选择故障传播的路径,其二是对传播路径上逻辑门的输入进行决策以成功传播故障效应,对于AND(与门)、NAND(与非门)、OR(或门)、NOR(或非门)逻辑门来说,只需将旁路设置为非控制值(非控制值,指仅凭该输入逻辑值不能确定输出逻辑值),就能确保将故障效应传播出去,但是对于XOR(异或门)、XNOR(异或非门)和MUX(选择器)则需要对输入进行枚举决策,才能将故障效应传播出去。
步骤103:若故障列表中仍存在故障且故障失败率未达到失败率阈值,则随机选择一个故障作为附加故障。
其中,故障失败率是指根据附加故障生成附加向量的失败率。
生成基准向量后,处理器判断故障列表中是否仍存在故障且故障失败率未达到失败率阈值。
若故障列表中仍存在故障且故障失败率未达到失败率阈值,则处理器随机选取一个故障作为附加故障,并执行步骤104。其中,针对该附加故障生成的向量为附加向量,故障失败率=附加故障生成附加向量的失败数量/附加故障生成附加向量的总数量。如果是第一次生成基准向量,此时附加故障的故障失败率为零。
若此时故障列表中不再有故障,那么故障失败率也是零,那么判断基准向量的数量是否达到预设数量阈值,若已达到阈值,表明基准故障是唯一的一个故障,则进行仿真;若未达到阈值,则返回到步骤101判断故障列表中是否存在故障,若不存在故障,表明唯一的基准故障已被检测到,那么针对该基准故障生成的基准向量进行仿真,若存在故障,表明上一次检查故障有误,需要重新选取基准故障再次执行后续流程。
步骤104:以基准向量为约束,采用不完备的自动测试向量生成算法生成附加故障的附加向量,并判断故障列表中是否仍存在故障且故障失败率是否达到失败率阈值,直至故障列表中不存在故障或故障失败率达到失败率阈值,其中,不完备的自动测试向量生成算法用于忽略故障传播路径上部分逻辑门的传播决策。
得到附加故障后,采用不完备的自动测试向量生成算法生成附加故障的附加向量,在生成附加向量的过程中,采用基准向量约束附加向量的生成。生成附加向量后,再次判断故障列表中是否仍存在故障且故障失败率是否达到失败率阈值。如果存在故障且故障失败率未达到失败率阈值,则重新随机选取一个故障作为附加故障,然后生成附加向量和计算失败率阈值,然后执行判断故障列表中是否仍存在故障且故障失败率是否达到失败率阈值的步骤,循环上述过程,直至检测到故障列表中不存在故障或故障失败率达到失败率阈值。
其中,不完备的自动测试向量生成算法用于忽略故障传播路径上部分逻辑门的传播决策,减少搜索空间和蕴含时间,从而降低自动测试向量方法所运行的时间。
步骤105:若确定附加向量的数量达到预设数量阈值,则进行故障仿真。
处理器判断附加向量的数量是否达到预设数量阈值,如果未达到,则返回步骤101重新判断故障列表中是否存在故障,如果不存在故障,那么表明全部故障已检测到,那么对该附加向量进行仿真;如果依然存在故障,则执行后续步骤,执行该后续步骤的内容在下文中提到,这里不做赘述。
如果附加向量的数量已达到预设数量阈值,则通过故障仿真剔除故障。进一步的,仿真剔除故障并不一定能将故障完全剔除掉,也许还会有剩余故障,因此还需返回步骤101重新判断故障列表中是否存在故障,如果依然存在故障,则继续执行后续步骤;如果不存在故障,则流程结束。
本申请中,在故障效应传播过程中,不完备的自动测试向量生成算法忽略故障对除传播路径之外的逻辑门的影响,减少了向量生成过程中的决策点数量,降低自动测试向量方法运行的时长,即减少仿真时长,但不完备的自动测试向量生成算法可能会将本可以检测的故障分类为冗余,冗余是指自动测试生成算法认为无法检测到的故障,那么使用完备的自动测试向量生成算法可以避免将故障错误分类为冗余,保证了整体算法的正确性。本申请采用不完备的算法生成附加故障的向量,降低自动测试向量方法运行的时长,采用完备的算法生成基准故障的向量,避免将故障错误分类为冗余,本申请在保证算法正确的基础上减少了仿真时长。
本申请结合完备的自动测试向量生成算法和不完备的自动测试向量生成算法生成向量,表1为改进前后的效果对比示意表,从表中可以看出,结合后的算法相对于之前的完备的自动测试向量生成算法,算法运行时长减少,故障覆盖率和测试向量数都有所提升。
表1
本申请实施例中,如果附加向量的数量为多个,确定附加向量的数量达到预设数量阈值包括:若处理器确定故障失败率达到失败率阈值,则判断附加向量的数量是否达到预设数量阈值;若附加向量的数量未达到预设数量阈值,则需要返回步骤101重新判断故障列表中是否存在故障。若故障列表中存在故障,则执行步骤102至步骤104得到新生成的附加向量,然后再次判断附加向量的数量是否达到预设数量阈值。处理器重复该若附加向量的数量未达到预设数量阈值则执行步骤101至步骤104的步骤,直至附加向量的数量达到预设数量阈值。
其中,针对不完备的自动测试向量生成算法,其具体包括如下三种内容。
第一种内容:在故障效应传播过程中,AND逻辑门(与门)、OR逻辑门(或门)、NAND逻辑门(与非门)和NOR逻辑门(或非门),不完备的自动测试向量生成算法与完备的自动测试向量生成算法相同,均给这些逻辑门的旁路赋值为非控制值。
第二种内容:在故障效应传播过程中,针对XOR逻辑门(异或门)或XNOR逻辑门(异或非门),采用不完备的自动测试向量生成算法确定逻辑门的输出值并省略为逻辑门的旁路赋值的步骤,其中,旁路为除故障必经的输入支路之外的输入支路。
传播决策的主要流程包括:对于未被初始化的传播决策点,首先向后搜索D-frontier,针对每一个位于D-frontier的逻辑门,生成符合传播条件的输入矩阵(D-cube)作为该传播决策的其中一个决策。对于异或门、异或非门,传统的方法在生成D-cube时,会试图将每一个逻辑值为X的输入赋值,而不完备的自动测试向量生成方法,则不对任何一个输入进行赋值。
第三种内容:在故障效应传播过程中,针对MUX逻辑门(多路复用器),采用不完备的自动测试向量生成算法确定逻辑门的输出值和两个输入值中的任一个输入值。
传统的方法会试图将MUX逻辑门的两个输入赋值,而不完备的自动测试向量生成方法,只需要对一个输入进行赋值,减少向量生成过程中的决策点数量,达到减少算法运行时长的目的,提高仿真效率。
以下以经典的D算法为例说明改如何进行决策。D算法中使用D-frontier和J-frontier来描述算法当前的状态,D-frontier是包含了电路中所有输出为x,输入中存在故障响应为D或D的逻辑门的集合,J-frontier是包含了电路中所有输出为确定值,但是输入的值还未调整的逻辑门。D算法的流程中两个主要的部分为:故障传播和逻辑值调整。1.故障传播例程目的是将故障效应传播到输出上,运行过程从D-frontier中挑选一个逻辑门,将该逻辑门的未赋值的输入引线赋为非控制值或进行决策,并将其加入到J-frontier中,当故障效应传播到电路的输出引脚,故障传播例程停止。2.逻辑值调整例程是通过确定电路输入引脚的逻辑值,使得故障传播所需的逻辑赋值得以实现,它是通过从J-frontier中取出一个逻辑门,根据输出的值将其逻辑门的输入赋值,再更新J-frontier的集合。在调整阶段的每次赋值,都要尽可能的进行蕴含,并进行一致性检查,如果发生冲突,则需要进行回溯,且在调整阶段,要保证输出上的故障效应依然存在,否则将回退到传播阶段,重新进行故障效应传播。当电路的输出上存在故障效应,且J-frontier为空集,算法结束。上述D算法流程中,包含两种类型的决策:传播决策和调整决策,本申请实施例主要针对传播决策。
本申请针对XOR逻辑门的故障传播进行如下示例。图2为采用完备的自动测试向量生成算法进行传播决策的过程。可以看出,在逻辑门G发生SA0故障,故障的控制值为1/0,在传播故障效应时,对于完备的自动测试向量生成算法,由于A为或门,会将旁路H设为非控制值0/0,故障1/0传播到逻辑门D时,由于无法完全确定旁路B、C的逻辑值,因此,需要在逻辑门D处进行传播决策,通过决策的方式来保证故障效应传播,这就延长了故障决策时长。
图3为采用不完备的自动测试向量生成算法进行传播决策的过程。可以看出,由于D为异或门,默认逻辑门B、逻辑门C不会对故障效应传播产生影响,因此,无需确定旁路B、C的逻辑值,故障1/0会继续传播到逻辑门D,由于F为与门,F门的故障输入为1/0或0/1,将逻辑门E赋值为逻辑值1,故障传播到E。
本申请中采用不完备的自动测试向量生成算法为宽松的故障效应传播算法,减少了向量生成过程中的决策点数量,达到减少算法运行时长的目的,提高仿真效率。
图4为本申请提供的基于不完备算法进行仿真的方法流程图,如图4所示,包括如下步骤。
步骤4001:读入网表。
步骤4002:读入故障列表或生成故障列表。
步骤4003:判断故障列表中是否存在故障,若存在,则执行步骤4004,若不存在,则继续读入故障列表。
步骤4004:随机选择一个故障作为基准故障。
步骤4005:针对基准故障进行完备的自动测试向量生成算法。
步骤4006:判断是否生成基准故障的基准向量,若生成基准向量,则执行步骤4007,若未生成基准向量,则返回步骤4003。
步骤4007:判断故障列表中是否仍存在故障且故障失败率未达到失败率阈值。若是,则执行步骤4008,若否,则执行步骤4010。
步骤4008:随机选择一个故障作为附加故障。
步骤4009:以基准向量作为约束,针对附加故障进行不完备的自动测试向量生成算法,生成附加向量。
步骤4010:判断向量数量是否达到预设数量阈值,该向量为基准向量或根据基准向量得到的附加向量。若达到预设数量阈值,则执行步骤4011。若未达到预设数量阈值,则返回步骤4003。
步骤4011:进行故障仿真,并返回步骤4003。
步骤4012:对于未达到预设数量阈值的向量,以及故障列表中不再存在故障时,进行剩余向量仿真。
本申请提出一种不完备的自动测试向量生成算法,可以对决策空间进行剪枝,减小决策空间,降低测试生成时长。并且不完备的自动测试向量生成算法可以与完备的自动测试向量生成算法结合,剔除冗余故障,与传统的方法相比,本申请可以以较短的测试时间和较低的测试成本,达到较高的测试覆盖率。
基于同样的技术构思,本申请提供了一种基于不完备算法进行仿真的装置,如图5所示,装置包括:
判断模块501,用于判断故障列表中是否存在故障;
第一选取模块502,用于若故障列表中存在故障,则随机选取一个故障作为基准故障,并通过完备的自动测试向量生成算法生成基准故障的基准向量;
第二选取模块503,用于若故障列表中仍存在故障且故障失败率未达到失败率阈值,则随机选择一个故障作为附加故障,其中,故障失败率是指根据附加故障生成附加向量的失败率;
生成模块504,用于以基准向量为约束,采用不完备的自动测试向量生成算法生成附加故障的附加向量,直至故障列表中不存在故障或故障失败率达到失败率阈值,其中,不完备的自动测试向量生成算法用于忽略故障传播路径上部分逻辑门的传播决策;
仿真模块505,用于若确定附加向量的数量达到预设数量阈值,则进行故障仿真。
可选地,仿真模块505用于:
若确定故障失败率达到失败率阈值,则判断附加向量的数量是否达到预设数量阈值;
若附加向量的数量未达到预设数量阈值,则重新判断故障列表中是否存在故障;
若故障列表中存在故障,则得到新生成的附加向量;
重复若故障失败率达到失败率阈值则新生成附加向量的步骤,直至附加向量的数量达到预设数量阈值。
可选地,生成模块504用于:
以基准向量为约束,采用不完备的自动测试向量生成算法生成附加故障的附加向量,并计算附加故障生成附加向量的故障失败率;
判断故障列表中是否仍存在故障且故障失败率未达到失败率阈值;
若仍存在故障且故障失败率未达到失败率阈值,则再次随机选取一个故障作为附加故障并生成附加向量和计算故障失败率,直至故障列表中不存在附加故障或故障失败率达到失败率阈值。
可选地,该装置还用于:
在故障效应传播过程中,针对XOR逻辑门或XNOR逻辑门,采用不完备的自动测试向量生成算法确定逻辑门的输出值并省略为逻辑门的旁路赋值的步骤,其中,旁路为除故障必经的输入支路之外的输入支路。
可选地,该装置还用于:
在故障效应传播过程中,针对MUX逻辑门,采用不完备的自动测试向量生成算法确定逻辑门的输出值和两个输入值中的任一个输入值。
可选地,该装置还用于:
若确定附加向量的数量未达到预设数量阈值,则重新判断故障列表中是否存在故障;
若故障列表中不存在故障,则对附加向量进行仿真。
可选地,该装置还用于:
重新判断故障列表中是否存在故障,其中,故障仿真会剔除至少部分故障;
若故障列表中不存在故障,则结束流程;
若故障列表中存在剩余的故障,则针对剩余的故障得到向量并进行仿真。
如图6所示,本申请实施例提供提供了一种电子设备,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。
存储器603,用于存放计算机程序。
在本申请一个实施例中,处理器601,用于执行存储器603上所存放的程序时,实现前述任意一个方法实施例提供的基于不完备算法进行仿真的方法和装置方法,包括:
判断故障列表中是否存在故障;
若故障列表中存在故障,则随机选取一个故障作为基准故障,并通过完备的自动测试向量生成算法生成基准故障的基准向量;
若故障列表中仍存在故障且故障失败率未达到失败率阈值,则随机选择一个故障作为附加故障,其中,故障失败率是指根据附加故障生成附加向量的失败率;
以基准向量为约束,采用不完备的自动测试向量生成算法生成附加故障的附加向量,直至故障列表中不存在故障或故障失败率达到失败率阈值,其中,不完备的自动测试向量生成算法用于忽略故障传播路径上部分逻辑门的传播决策;
若确定附加向量的数量达到预设数量阈值,则进行故障仿真。
可选地,确定附加向量的数量达到预设数量阈值包括:
若确定故障失败率达到失败率阈值,则判断附加向量的数量是否达到预设数量阈值;
若附加向量的数量未达到预设数量阈值,则重新判断故障列表中是否存在故障;
若故障列表中存在故障,则得到新生成的附加向量;
重复若故障失败率达到失败率阈值则新生成附加向量的步骤,直至附加向量的数量达到预设数量阈值。
可选地,以基准向量为约束,采用不完备的自动测试向量生成算法生成附加故障的附加向量,直至故障列表中不存在故障或故障失败率达到失败率阈值包括:
以基准向量为约束,采用不完备的自动测试向量生成算法生成附加故障的附加向量,并计算附加故障生成附加向量的故障失败率;
判断故障列表中是否仍存在故障且故障失败率未达到失败率阈值;
若仍存在故障且故障失败率未达到失败率阈值,则再次随机选取一个故障作为附加故障并生成附加向量和计算故障失败率,直至故障列表中不存在附加故障或故障失败率达到失败率阈值。
可选地,方法还包括:
在故障效应传播过程中,针对XOR逻辑门或XNOR逻辑门,采用不完备的自动测试向量生成算法确定逻辑门的输出值并省略为逻辑门的旁路赋值的步骤,其中,旁路为除故障必经的输入支路之外的输入支路。
可选地,方法还包括:
在故障效应传播过程中,针对MUX逻辑门,采用不完备的自动测试向量生成算法确定逻辑门的输出值和两个输入值中的任一个输入值。
可选地,确定故障列表中不存在故障之后,方法还包括:
若确定附加向量的数量未达到预设数量阈值,则重新判断故障列表中是否存在故障;
若故障列表中不存在故障,则对附加向量进行仿真。
可选地,进行故障仿真之后,方法还包括:
重新判断故障列表中是否存在故障,其中,故障仿真会剔除至少部分故障;
若故障列表中不存在故障,则结束流程;
若故障列表中存在剩余的故障,则针对剩余的故障得到向量并进行仿真。
请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如前述任意一个方法实施例提供的基于不完备算法进行仿真的方法和装置方法的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于不完备算法进行仿真的方法,其特征在于,所述方法包括:
判断故障列表中是否存在故障;
若所述故障列表中存在故障,则随机选取一个故障作为基准故障,并通过完备的自动测试向量生成算法生成所述基准故障的基准向量;
若所述故障列表中仍存在故障且故障失败率未达到失败率阈值,则随机选择一个故障作为附加故障,其中,所述故障失败率是指根据附加故障生成附加向量的失败率;
以所述基准向量为约束,采用不完备的自动测试向量生成算法生成所述附加故障的附加向量,并判断所述故障列表中是否存在故障且故障失败率是否达到失败率阈值,直至所述故障列表中不存在故障或故障失败率达到所述失败率阈值,其中,所述不完备的自动测试向量生成算法用于忽略故障传播路径上部分逻辑门的传播决策;
若确定附加向量的数量达到预设数量阈值,则进行故障仿真。
2.根据权利要求1所述的方法,其特征在于,确定附加向量的数量达到所述预设数量阈值包括:
若确定故障失败率达到所述失败率阈值,则判断附加向量的数量是否达到所述预设数量阈值;
若附加向量的数量未达到所述预设数量阈值,则重新判断故障列表中是否存在故障;
若所述故障列表中存在故障,则得到新生成的附加向量;
重复若故障失败率达到失败率阈值则新生成附加向量的步骤,直至附加向量的数量达到所述预设数量阈值。
3.根据权利要求1所述的方法,其特征在于,以所述基准向量为约束,采用不完备的自动测试向量生成算法生成所述附加故障的附加向量,并判断所述故障列表中是否存在故障且故障失败率是否达到失败率阈值,直至所述故障列表中不存在故障或故障失败率达到失败率阈值包括:
以所述基准向量为约束,采用不完备的自动测试向量生成算法生成所述附加故障的附加向量,并计算附加故障生成附加向量的故障失败率;
判断所述故障列表中是否仍存在故障且故障失败率未达到失败率阈值;
若仍存在故障且故障失败率未达到失败率阈值,则再次随机选取一个故障作为附加故障并生成附加向量和计算故障失败率,直至所述故障列表中不存在附加故障或故障失败率达到失败率阈值。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在故障效应传播过程中,针对XOR逻辑门或XNOR逻辑门,采用不完备的自动测试向量生成算法确定逻辑门的输出值并省略为逻辑门的旁路赋值的步骤,其中,所述旁路为除故障必经的输入支路之外的输入支路。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在故障效应传播过程中,针对MUX逻辑门,采用不完备的自动测试向量生成算法确定逻辑门的输出值和两个输入值中的任一个输入值。
6.根据权利要求1所述的方法,其特征在于,确定故障列表中不存在故障之后,所述方法还包括:
若确定附加向量的数量未达到所述预设数量阈值,则重新判断故障列表中是否存在故障;
若所述故障列表中不存在故障,则对所述附加向量进行仿真。
7.根据权利要求1所述的方法,其特征在于,进行故障仿真之后,所述方法还包括:
重新判断所述故障列表中是否存在故障,其中,所述故障仿真会剔除至少部分故障;
若所述故障列表中不存在故障,则结束流程;
若所述故障列表中存在剩余的故障,则针对所述剩余的故障得到向量并进行仿真。
8.一种基于不完备算法进行仿真的装置,其特征在于,所述装置包括:
判断模块,用于判断故障列表中是否存在故障;
第一选取模块,用于若所述故障列表中存在故障,则随机选取一个故障作为基准故障,并通过完备的自动测试向量生成算法生成所述基准故障的基准向量;
第二选取模块,用于若所述故障列表中仍存在故障且故障失败率未达到失败率阈值,则随机选择一个故障作为附加故障,其中,所述故障失败率是指根据附加故障生成附加向量的失败率;
生成模块,用于以所述基准向量为约束,采用不完备的自动测试向量生成算法生成所述附加故障的附加向量,并判断所述故障列表中是否存在故障且故障失败率是否达到失败率阈值,直至所述故障列表中不存在故障或故障失败率达到失败率阈值,其中,所述不完备的自动测试向量生成算法用于忽略故障传播路径上部分逻辑门的传播决策;
仿真模块,用于若确定附加向量的数量达到预设数量阈值,则进行故障仿真。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410263528.1A CN117852476A (zh) | 2024-03-08 | 2024-03-08 | 基于不完备算法进行仿真的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410263528.1A CN117852476A (zh) | 2024-03-08 | 2024-03-08 | 基于不完备算法进行仿真的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117852476A true CN117852476A (zh) | 2024-04-09 |
Family
ID=90529090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410263528.1A Pending CN117852476A (zh) | 2024-03-08 | 2024-03-08 | 基于不完备算法进行仿真的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117852476A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000205140A (ja) * | 1999-01-06 | 2000-07-25 | Ishikawajima Harima Heavy Ind Co Ltd | 圧縮機の予防保全方法及び装置 |
CN1838161A (zh) * | 2005-03-23 | 2006-09-27 | 大亚湾核电运营管理有限责任公司 | 利用计算机进行核电站的设备风险评估方法及装置 |
JP2007188230A (ja) * | 2006-01-12 | 2007-07-26 | Toshiba Corp | 故障リスト及びテストパターン作成装置、故障リスト及びテストパターン作成方法、故障リスト作成及び故障検出率算出装置、及び故障リスト作成及び故障検出率算出方法 |
WO2007109322A2 (en) * | 2006-03-20 | 2007-09-27 | Mentor Graphics Corporation | Speeding up defect diagnosis techniques |
US20080040637A1 (en) * | 2006-08-14 | 2008-02-14 | Yu Huang | Diagnosing mixed scan chain and system logic defects |
CN105628406A (zh) * | 2015-12-28 | 2016-06-01 | 中南大学 | 高速列车牵引传动控制系统故障注入方法及仿真系统 |
US20190087259A1 (en) * | 2017-09-15 | 2019-03-21 | International Business Machines Corporation | Efficiently repairing virtual machines by means of dvfs-aware proactive scheduling |
CN115561631A (zh) * | 2022-10-12 | 2023-01-03 | 国网河南省电力公司电力科学研究院 | 一种永磁同步电机匝间短路故障检测、诊断与分离方法 |
CN116679606A (zh) * | 2023-08-02 | 2023-09-01 | 兰州交通大学 | 基于Delta-Debugging的列车运行控制系统故障定位方法 |
-
2024
- 2024-03-08 CN CN202410263528.1A patent/CN117852476A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000205140A (ja) * | 1999-01-06 | 2000-07-25 | Ishikawajima Harima Heavy Ind Co Ltd | 圧縮機の予防保全方法及び装置 |
CN1838161A (zh) * | 2005-03-23 | 2006-09-27 | 大亚湾核电运营管理有限责任公司 | 利用计算机进行核电站的设备风险评估方法及装置 |
JP2007188230A (ja) * | 2006-01-12 | 2007-07-26 | Toshiba Corp | 故障リスト及びテストパターン作成装置、故障リスト及びテストパターン作成方法、故障リスト作成及び故障検出率算出装置、及び故障リスト作成及び故障検出率算出方法 |
WO2007109322A2 (en) * | 2006-03-20 | 2007-09-27 | Mentor Graphics Corporation | Speeding up defect diagnosis techniques |
US20080040637A1 (en) * | 2006-08-14 | 2008-02-14 | Yu Huang | Diagnosing mixed scan chain and system logic defects |
CN105628406A (zh) * | 2015-12-28 | 2016-06-01 | 中南大学 | 高速列车牵引传动控制系统故障注入方法及仿真系统 |
US20190087259A1 (en) * | 2017-09-15 | 2019-03-21 | International Business Machines Corporation | Efficiently repairing virtual machines by means of dvfs-aware proactive scheduling |
CN115561631A (zh) * | 2022-10-12 | 2023-01-03 | 国网河南省电力公司电力科学研究院 | 一种永磁同步电机匝间短路故障检测、诊断与分离方法 |
CN116679606A (zh) * | 2023-08-02 | 2023-09-01 | 兰州交通大学 | 基于Delta-Debugging的列车运行控制系统故障定位方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Stephan et al. | Combinational test generation using satisfiability | |
Chang et al. | Fixing design errors with counterexamples and resynthesis | |
CA1273706A (en) | Method and apparatus for isolating faults in a digital logic circuit | |
US5640403A (en) | Fault diagnosis method for a sequential circuit | |
Tafertshofer et al. | A SAT-based implication engine for efficient ATPG, equivalence checking, and optimization of netlists | |
Cha et al. | 9-V algorithm for test pattern generation of combinational digital circuits | |
Chang et al. | Circuit optimization by rewiring | |
CN114065677B (zh) | 用于集成电路硬件设计的故障注入测试的方法和系统 | |
Chang et al. | Postlayout logic restructuring using alternative wires | |
WO2020113526A1 (zh) | 一种芯片验证方法和装置 | |
CN114398848A (zh) | 一种测试向量生成方法、装置及存储介质 | |
Cheng et al. | Generation of high quality non-robust tests for path delay faults | |
EP1327890B1 (en) | Method of optimizing a plurality of tests used in digital integrated circuits | |
Pomeranz et al. | On error correction in macro-based circuits | |
US10990728B1 (en) | Functional built-in self-test architecture in an emulation system | |
Somenzi et al. | Fault detection in programmable logic arrays | |
CN117852476A (zh) | 基于不完备算法进行仿真的方法和装置 | |
US7024327B1 (en) | Techniques for automatically generating tests for programmable circuits | |
US7299430B1 (en) | Reducing design execution run time bit stream size for device testing | |
Srinivasan et al. | Algebraic ATPG of combinational circuits using binary decision diagrams | |
CN115176233A (zh) | 以确定性顺序执行测试 | |
US20030188273A1 (en) | Simulation-based technique for contention avoidance in automatic test pattern generation | |
Sharma et al. | Enhanced delay defect coverage with path-segments | |
Savanur et al. | A Fault Model to Detect Design Errors in Combinational Circuits | |
Pomeranz et al. | On diagnosis and diagnostic test generation for pattern-dependent transition faults |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |