CN117422031B - Atpg系统测试向量生成和精简的方法和装置 - Google Patents
Atpg系统测试向量生成和精简的方法和装置 Download PDFInfo
- Publication number
- CN117422031B CN117422031B CN202311741584.3A CN202311741584A CN117422031B CN 117422031 B CN117422031 B CN 117422031B CN 202311741584 A CN202311741584 A CN 202311741584A CN 117422031 B CN117422031 B CN 117422031B
- Authority
- CN
- China
- Prior art keywords
- fault
- test
- conflict
- cube
- test cube
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 482
- 239000013598 vector Substances 0.000 title claims abstract description 191
- 238000000034 method Methods 0.000 title claims abstract description 109
- 230000008569 process Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 description 23
- 238000005056 compaction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2834—Automated test systems [ATE]; using microprocessors or computers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2836—Fault-finding or characterising
- G01R31/2839—Fault-finding or characterising using signal generators, power supplies or circuit analysers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/333—Design for testability [DFT], e.g. scan chain or built-in self-test [BIST]
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请公开了一种ATPG系统测试向量生成和精简的方法和装置。该方法包括:从第一故障集合中取出一个未生成有测试向量的作为主要故障,第一故障集合保存所有待测故障;为主要故障生成原始测试立方和第一冲突子句库,第一冲突子句库保存有与主要故障相关的冲突子句;在根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为第一次要故障生成测试向量,第一测试立方为原始测试立方或在原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,第一次要故障为从第一故障集合中取出的另一个未生成有测试向量的待测故障。本申请解决了相关技术中的测试向量较大的技术问题。
Description
技术领域
本申请涉及芯片测试领域,具体而言,涉及一种ATPG系统测试向量生成和精简的方法和装置。
背景技术
本部分旨在为权利要求书或说明书中陈述的内容提供背景或上下文,此处描述的内容不因为包括在本部分中就承认是现有技术。
在芯片规模日益增长的情况下,电子设计自动化(Electronic DesignAutomation, EDA)工具在芯片设计领域中变得更加不可或缺。实际的芯片生产过程中,缺陷是不可避免的,为了尽可能提早检测出芯片制造中形成的缺陷,可测试性设计(DesingFor Testability, DFT)方法成为了芯片设计中的一个重要流程。其中,自动测试向量生成(Automatic Test Pattern Generation, ATPG,是在半导体电器测试中使用的测试图形向量由程序自动生成的过程)方法在设计阶段为待测芯片生成测试向量,芯片在制造完成后会被装载到自动测试仪(Automaci Test Equipment, ATE)上,先前生成的向量将被应用在机器上检测芯片中存在的缺陷,具体可将测试向量按顺序地加载到器件的输入脚上,输出的信号被收集并与预算好的测试向量相比较从而判断测试的结果。测试应用时间(TestApplication Time, TAT)和测试体积(Test Volume, TV)是评估ATPG生成的测试向量质量的重要指标。为了生成高质量的测试向量,减少测试成本,如何在测试向量生成过程中进行精简成为了亟待解决的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种ATPG系统测试向量生成和精简的方法和装置,以至少解决相关技术中的测试向量较大的技术问题。
根据本申请实施例的一个方面,提供了一种ATPG系统测试向量生成和精简的方法,包括:从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,其中,第一故障集合用于保存所有待测故障;为主要故障生成原始测试立方和对应的第一冲突子句库,其中,原始测试立方为包括确定位和非确定位的测试向量,第一冲突子句库用于保存与主要故障相关的冲突子句;在根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为第一次要故障生成测试向量,其中,第一测试立方为原始测试立方或在原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,第一次要故障为从第一故障集合中取出的另一个未生成有测试向量的待测故障。
可选地,在根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为第一次要故障生成测试向量,包括:在第一测试立方是原始测试立方,或,第一测试立方不是原始测试立方且第一测试立方中存在非确定位的情况下,从第一故障集合中取出另一个未生成有测试向量的待测故障作为第一次要故障,并保存在第二故障集合中,其中,第二故障集合用于保存第一测试立方所使用到的待测故障;根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间是否存在冲突;在确定第一次要故障与主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为第一次要故障生成测试向量。
可选地,在根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间是否存在冲突之后,方法还包括:在确定第一次要故障与主要故障之间存在冲突的情况下,将第一次要故障从第二故障集合中移除,保存至第一故障集合中,并将记录的第一次要故障的失败次数的值加一;重新为主要故障生成新的原始测试立方和对应的第二冲突子句库,其中,新生成的原始测试立方为包括确定位和非确定位的测试向量,第二冲突子句库用于保存与主要故障相关的冲突子句;在第二测试立方是新的原始测试立方,或,第二测试立方不是新的原始测试立方且第二测试立方中存在非确定位的情况下,按照失败次数从低到高的顺序,从第一故障集合中取出一个未生成有测试向量的待测故障作为第二次要故障,并保存在第二故障集合中;根据第二冲突子句库确定第二次要故障与主要故障之间是否存在冲突;在确定第二次要故障与主要故障之间不存在冲突的情况下,利用第二测试立方中的非确定位为第二次要故障生成测试向量。
可选地,重新为主要故障生成新的原始测试立方和对应的第二冲突子句库,包括:确定第一冲突子句中用于表示主要故障与第一次要故障存在冲突的目标冲突子句,其中,目标冲突子句用于表示主要故障的搜索树中第一节点的赋值与第一次要故障的搜索树中第二节点的赋值存在冲突;对第一节点的赋值进行调整,并根据调整赋值后主要故障的搜索树生成新的原始测试立方和第二冲突子句库。
可选地,根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间是否存在冲突,包括:获取第一次要故障的必要赋值,其中,必要赋值是次要故障的测试过程中必须使用到的赋值;在第一次要故障的任一必要赋值与第一冲突子句库中的一个冲突子句匹配的情况下,确定第一次要故障与主要故障之间存在冲突;在第一次要故障的任一必要赋值与冲突子句库中的所有冲突子句均不匹配的情况下,确定第一次要故障与主要故障之间不存在冲突。
可选地,获取次要故障的必要赋值,包括:获取第一次要故障的所有测试项;获取每个测试项在电路上产生的蕴涵集合;将所有测试项在电路上分别产生的蕴涵集合的蕴涵交集,作为必要赋值。
可选地,利用第一测试立方中的非确定位为第一次要故障生成测试向量,包括:在第一故障集合中所有未生成有测试向量的待测故障均被选择过之后,若第一测试立方中还存在非确定位,则对第一测试立方中的非确定位进行随机填充,得到最终使用的测试立方。
根据本申请实施例的另一方面,还提供了一种ATPG系统测试向量生成和精简的装置,包括:选择单元,用于从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,其中,第一故障集合用于保存所有待测故障;第一生成单元,用于为主要故障生成原始测试立方和对应的第一冲突子句库,其中,原始测试立方为包括确定位和非确定位的测试向量,第一冲突子句库用于保存与主要故障相关的冲突子句;第二生成单元,用于在根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为第一次要故障生成测试向量,其中,第一测试立方为原始测试立方或在原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,第一次要故障为从第一故障集合中取出的另一个未生成有测试向量的待测故障。
根据本申请实施例的另一方面,还提供了一种计算机可读的存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法中任一实施例的步骤。
在本申请实施例中,从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,第一故障集合用于保存所有待测故障;为主要故障生成原始测试立方和对应的第一冲突子句库,原始测试立方为包括确定位和非确定位的测试向量,第一冲突子句库用于保存与主要故障相关的冲突子句;在根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为第一次要故障生成测试向量,第一测试立方为原始测试立方或在原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,第一次要故障为从第一故障集合中取出的另一个未生成有测试向量的待测故障。本方案为了提高ATPG系统中增量式测试向量生成方法的性能,实现了面向单个测试立方的冲突分析方法以及增量式测试生成约束的动态调整,加速了测试立方的生成过程,并允许了更大的搜索空间,总体在更短的时间内生成了更少的测试向量,进而解决了相关技术中的测试向量较大的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的ATPG系统测试向量生成和精简的方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的ATPG系统测试向量生成和精简的方法的流程图;
图3是根据本申请实施例的一种可选的ATPG系统总体结构的示意图;
图4是根据本申请实施例的一种可选的增量式测试向量生成搜索森林的示意图;
图5是根据本申请实施例的一种可选的冲突子句库的示意图;
图6是根据本申请实施例的一种可选的测试立方约束的动态调整的示意图;
图7是根据本申请实施例的一种可选的ATPG系统测试向量生成和精简的装置的示意图;以及,
图8是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种ATPG系统测试向量生成和精简的方法的方法实施例。
可选地,在本实施例中,上述ATPG系统测试向量生成和精简的方法可以应用于如图1所示的由终端101和\或服务器103所构成的硬件环境中。如图1所示,服务器103可通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如上述的向量精简服务等),可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。
本申请实施例的ATPG系统测试向量生成和精简的方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的ATPG系统测试向量生成和精简的方法也可以是由安装在其上的客户端来执行。
图2是根据本申请实施例的一种可选的ATPG系统测试向量生成和精简的方法的流程图,其示意出了每个完整测试立方的生成过程(若一个测试立方兼容不了多个故障检测,则需要生成多个测试立方,此时就相当于会重复多次执行以下步骤),如图2所示,该方法可以包括以下步骤:
步骤S202,从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,第一故障集合用于保存所有待测故障,待测故障的数量初始时为m个,最终生成的测试立方数为n (n<m)个。
选择主要故障时,可以采用随机的方式选择;若第一轮选择的主要故障的测试立方不能兼容其他所有故障,在第二轮(后续轮次以此类推)选择主要故障时,可以选择其中失败次数最少的作为主要故障(当然此处也可随机选择)。
步骤S204,为主要故障生成原始测试立方和对应的第一冲突子句库,原始测试立方为包括确定位和非确定位的测试向量,第一冲突子句库用于保存与主要故障相关的冲突子句,此处测试立方即Test cube的直译,本领域中均使用Test cube来表示ATPG算法生成的包含0、1和Don’t Care位(即非确定位X)的向量。
为对测试向量进行精简,可采用结构化的ATPG方法,为单个故障将生成一个测试立方,测试立方是包含确定位(即只能是确定的取值,如0或1)和非确定位(或称X位,即取值待定或者任意的值均可)的测试向量,为了进行测试精简,可将多个不同故障的测试立方填充到一个精简的测试立方中,为了达成此目的,可以通过测试合并方法和增量式测试向量生成这两类方法实现。
在测试合并方法中,可通过搜寻局部测试向量的兼容性来精简测试向量,具体来说,每生成一个测试立方,该测试立方立刻通过某种结构暂存起来,其关于兼容性的信息也被计算并存储在特定的结构中,在m个测试立方产生后,进行测试合并,具体可利用先前维护的兼容性信息,将生成的m个测试立方兼容合并为n(n<m)个测试立方,从而完成测试精简,利用该测试合并算法能够快速地精简测试向量。
在上述的测试合并方法中,能够在很短的时间内完成测试立方的精简,但是该方法往往只能在测试生成的早期阶段发挥效用,在测试生成的早期存在大量易测故障,这些故障生成的测试立方往往包含大量的X,从而可以通过测试合并算法找到大量的兼容测试立方,这些测试立方可以极大地精简为少量的低X率的测试立方。但是随着测试向量的生成进行,大部分易测故障都将被检测到,这是因为易测故障很容易被随机填充完X位的测试向量偶然检测到。在测试向量生成的中后段,剩余的故障往往对应于更大的相关区域,生成的测试立方出现至少一位冲突的概率逐渐增大,兼容的测试立方数量迅速减少,从而大大削减了测试合并方法的有效性。
基于此,本申请采用增量式测试向量生成方法(增量式测试向量生成方法指的是对目标故障在一个测试立方的基础上进行测试生成,对于给定的测试立方,电路内部会有部分引线值被确定,因此会限制ATPG算法的搜索空间,强制算法找到一个满足已有约束的解,如果遍历了全部的搜索空间也找不到解,那么说明该故障在当前约束下无解,该方法迭代地在先前的约束上以检测当前待测故障为目标来搜索新的比特,如果搜索成功则更新约束),可先选择一个主要故障,为其生成测试立方(可以认为是含有多个空白X位向量的向量集合,例如,以测试立方中的特定面上的点为各个空白X位向量初始位),随后通过某种方法挑选次要故障,在进行次要故障的测试向量生成时,在以已有的测试立方为输入约束的条件下进行,如果次要故障的测试向量生成是成功的,那么持续该过程,直到所有的待测故障都尝试过作为次要故障或者测试立方已经没有空白的X位向量存在。增量式测试向量生成能够产生非常紧凑的测试向量集。
在增量式测试向量生成方法中,可使用给定约束的测试生成方法来限制次要故障的搜索空间,以此强制搜索一个满足测试条件的测试立方,从而得到一个可以检测所有被选择故障的测试立方。相比于测试合并方法的生成后精简策略,增量式向量生成方法大大缓解了故障之间的不兼容导致的冲突,通过在搜索过程中调整发生不兼容的赋值来避免最终产生的测试立方的冲突。
考虑到增量式测试生成方法能够产生非常紧凑的测试向量集,但是它也会带来巨大的时间开销,如果当前的测试立方还有空白的X位向量,且并非所有待测故障都已经尝试被选择为了次要故障,那么该方法将持续直到所有的待测故障都被选择为了次要故障,最终,该方法需要执行O(p * f)次测试生成,p是最终生成的测试向量数,f是待测故障总数。
为了降低测试向量生成的复杂度,可以设置一个最大尝试限制t,如果次要故障的选择次数超过了t次,那么该测试立方的增量式生成终止。这种策略能够极大地缓解该方法的时间开销,但是由于尝试的次要故障数量十分有限,因此测试精简的可能也就没有得到充分的探索,从而严重限制了该方法的测试向量精简能力,即使不设定最大尝试限制,该方法也会因为没有将不同故障的搜索空间当作一个整体来处理而损失测试精简的搜索空间。
发明人在研究过程中认识到,为了提高生成效率,可利用冲突分析来加速增量式测试向量的生成,利用ATPG的冲突分析,在测试生成的过程中收集冲突的信息,通过冲突分析技术,比如唯一独立节点(UIP)分析,将其转换为冲突子句(例如,为了某故障成功生成测试,需要调整输入来满足几个内部赋值L1 = 0,L2 = 1,L3 = 0。如果这三个赋值必定不能同时满足,那么它们就构成了一个冲突空间,用冲突子句来表示即为{L1 = 0, L2 = 1, L3= 0})存储在冲突子句库中,这些冲突子句可以在搜索测试时被检索,用以提前确定是否进入了无解空间(无解空间和上面所说的冲突空间相同,即对于调整问题L1 = 0, L2 = 1,L3 = 0来说,即使搜索还能继续,但是一定无法找到满足条件的激励),从而减少无意义的搜索。
使用冲突分析鉴别输入约束无关的冗余故障,可防止其被选择为后续故障的次要故障,在增量式测试向量生成过程中,可以把整个测试立方的搜索过程看作多个独立的搜索树的构建过程。假定一个电路有引线a、b、c、d、e、f、g,其中a、b为电路输入,电路中存在两个待测故障f\SA0和g\SA1,首先将f\SA0作为主要故障,为其搜索测试,搜索树通过ATPG的决策来构建,决策的顺序为{f=1@1,d=1@2,a=1@3},相应的搜索树节点从上到下依次为f=1,d=1,a=1,每个节点代表了引线当前的决策,f=1为决策树的第一个决策,为了满足赋值f=1将产生第二个决策d=1,为了满足d=1将产生第三个决策a=1,此时故障f\SA0的搜索树构建完成。故障g\SA1的决策为{g=0@1,e=1@2,b=0@3},同时一颗以g=0为根的搜索树也构建完成。搜索出的测试立方为ab=10,搜索森林包含两颗搜索树f\SA0和g\SA1,每个故障对应于一棵搜索树,如果g=0的决策与f=1的决策发生了冲突,那么将冲突分析技术应用在不同故障的搜索树之间,假设g=0必须满足d=0,那么冲突分析可以在故障f\SA0的搜索树节点d=1和g\SA1的搜索树节点d=0之间建立一条冲突边,利用该冲突信息,g\SA1可能在f\SA0的d=1节点回溯后成功搜索。并且,在当前测试立方生成过程中产生的冲突子句能够更好地限制次要故障的搜索空间,这些子句需要单独的收集和管理。
在本申请的技术方案中,为了进一步提高向量的生成效率,可面向单个测试立方进行冲突分析,通过为每个测试立方维护一个冲突分析子句库,使得这些冲突子句可以在该测试立方的生成过程中被高效使用,相比于全局的冲突分析子句库有更高的命中率,加速了增量式测试向量的生成效率。
步骤S206,在根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为第一次要故障生成测试向量,第一测试立方为原始测试立方或在原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,第一次要故障为从第一故障集合中取出的另一个未生成有测试向量的待测故障。
1)从第一故障集合中取出另一个未生成有测试向量的待测故障作为第一次要故障,并保存在第二故障集合中,第二故障集合用于保存第一测试立方所使用到的待测故障。
此处分为两种情况下,其一是,第一次选取次要故障,此时可以直接将原始测试立方作为第一测试立方,由于原始测试立方是存在非确定位的,故而此时可以直接选取上述第一次要故障,以便于后续将第一次要故障的测试向量合并到第一测试立方中;其二是,第i(i的取值为大于1的整数)次选取次要故障,此时第一测试立方不是原始测试立方,而是第(i-1)次合并得到的,此时若第一测试立方中存在非确定位,则说明该测试立方是可以用来合并其他向量的,故可以从第一故障集合中取出另一个未生成有测试向量的待测故障作为第一次要故障。
2)根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间是否存在冲突。
可先获取第一次要故障的必要赋值,必要赋值是次要故障的测试过程中必须使用到的赋值,具体可以先获取第一次要故障的所有测试项,将所有测试项在电路上产生的蕴涵集合的蕴涵交集,作为必要赋值;在第一次要故障的任一必要赋值与第一冲突子句库中的一个冲突子句匹配的情况下,确定第一次要故障与主要故障之间存在冲突;在第一次要故障的任一必要赋值与冲突子句库中的所有冲突子句均不匹配的情况下,确定第一次要故障与主要故障之间不存在冲突。
将所有测试项在电路上产生的蕴涵集合的蕴涵交集,作为必要赋值,这里的内容描述的是一种理论上的故障必要赋值计算方法,如先为故障f计算它的全部测试项t1、t2、……tn,将这些测试项分别输入到电路,其电路内部的值即为它们的蕴涵,这些蕴涵的交集为故障的必要赋值,也就是无论应用哪一个测试项到存在故障f的电路上,其内部赋值都不会与必要赋值冲突。这里仅描述了理论上的故障必要赋值计算方法,在实际应用中,是依靠故障分析器来计算故障f的一部分必要赋值,而非全部,故障分析器会使用一些开销较低的方法来计算必要赋值,最简单的例子,若故障f为SA0故障,那么最小的必要赋值为{f=1}。此处的赋值和上述搜索树节点的赋值意义不同,此处指的是必要赋值,是故障的客观属性。搜索树的赋值指的是为电路内部节点赋值,是一种过程而非属性。
3)在确定第一次要故障与主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为第一次要故障生成测试向量。
4)在确定第一次要故障与主要故障之间存在冲突的情况下,将第一次要故障从第二故障集合中移除,保存至第一故障集合中,并将记录的第一次要故障的失败次数的值加一。
5)重新为主要故障生成新的原始测试立方和对应的第二冲突子句库,新生成的原始测试立方为包括确定位和非确定位的测试向量,第二冲突子句库用于保存与主要故障相关的冲突子句。
具体可先确定第一冲突子句中用于表示主要故障与第一次要故障存在冲突的目标冲突子句,目标冲突子句用于表示主要故障的搜索树中第一节点的赋值与第一次要故障的搜索树中第二节点的赋值存在冲突;对第一节点的赋值进行调整,并根据调整赋值后主要故障的搜索树生成新的原始测试立方和第二冲突子句库。
之后,按照上述相同的方式进行处理,即在第二测试立方是新的原始测试立方,或,第二测试立方不是新的原始测试立方且第二测试立方中存在非确定位的情况下,按照失败次数从低到高的顺序,从第一故障集合中取出一个未生成有测试向量的待测故障作为第二次要故障,并保存在第二故障集合中;根据第二冲突子句库确定第二次要故障与主要故障之间是否存在冲突;在确定第二次要故障与主要故障之间不存在冲突的情况下,利用第二测试立方中的非确定位为第二次要故障生成测试向量。
6)在第一故障集合中所有未生成有测试向量的待测故障均被选择过之后,若第一测试立方中还存在非确定位,则对第一测试立方中的非确定位进行随机填充,得到最终使用的测试立方。
在生成向量时,若依照选取故障的顺序填充测试立方,一旦选择的故障成功填充,则对于该条向量而言,其故障的顺序就被确定。然而,如果次要故障在约束条件下被证明为冗余故障,且通过冲突分析方法识别出冗余的原因为先前某个故障产生的约束,只要将该约束取消,该次要故障就有可能成功填充,以故障为F1、 F2为例,ATPG已经对故障F1生成了一个测试立方0011XXX,F2在该测试立方的基础上继续搜索,然而,ATPG证明F2在该约束下是无解的,这个时候如果算法转而去寻找F1的另一个解(假设F1存在多个的解),假设为0101XXX,则F2有可能在该约束下变为有解,若没有考虑这一点,则F2在F1的约束下无解,将不会再继续尝试F2。基于此,本申请的技术方案可对约束进行动态调整,避免损失搜索空间,通过采用增量式测试生成约束的动态调整方法,使得测试向量的精简有更大的搜索空间,减少了生成测试向量的总数,降低了芯片的测试成本。
通过上述方案,从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,第一故障集合用于保存所有待测故障;为主要故障生成原始测试立方和对应的第一冲突子句库,原始测试立方为包括确定位和非确定位的测试向量,第一冲突子句库用于保存与主要故障相关的冲突子句;在根据主要故障的第一冲突子句库确定第一次要故障与主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为第一次要故障生成测试向量,第一测试立方为原始测试立方或在原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,第一次要故障为从第一故障集合中取出的另一个未生成有测试向量的待测故障。本方案为了提高ATPG系统中增量式测试向量生成方法的性能,实现了面向单个测试立方的冲突分析方法以及增量式测试生成约束的动态调整,加速了测试立方的生成过程,并允许了更大的搜索空间,总体在更短的时间内生成了更少的测试向量,可以解决了相关技术中的测试向量较大的技术问题。
本申请的技术方案优化了ATPG系统测试向量的生成过程,在测试向量生成的两个指标测试向量总数和测试生成时间上进行了优化。提供了面向单个测试立方的冲突分析方法,通过为每个测试立方维护一个冲突分析子句库,相比于全局的冲突分析子句库有更高的命中率,加速了增量式测试向量的生成。增量式测试生成约束的动态调整方法,使得测试向量的精简有更大的搜索空间,减少了生成测试向量的总数。
本申请的ATPG系统测试向量生成和精简的整体结构如图3所示,ATPG系统由网表解析器、故障列表分析器、故障必要赋值分析器、基于冲突分析的单故障测试生成、故障仿真、全局冲突子句管理器和单测试立方冲突子句管理器组成。
ATPG系统从外部读入Verilog格式的网表,网表解析器对Verilog格式的网表进行解析并将解析结果存储在内部结构中,故障列表分析器对读入的网表分析结果产生精简的故障列表,ATPG系统将从故障列表中随机选择一个故障作为主要故障Pf,基于冲突分析的单故障测试生成为主要故障Pf生成测试立方,如果当前的测试立方还存在X,那么就从故障列表中选择次要故障Sfi,通过故障的必要赋值分析器对次要故障Sfi进行分析,得到确保其能够生成测试的少量必要赋值。
必要赋值指的是一个故障所需要满足成功生成测试的必要条件,对于存在测试的故障f,它是一个蕴涵的集合I={i1=0,i2=1,...,in=0}。假设故障f存在合法的测试t1,t2,...,tm,那么这些测试在电路上的分别产生的蕴涵的交集就是故障f的全部必要赋值。这些赋值通过与当前测试立方的约束进行冲突检查,来判定故障Sfi是否有可能在当前的约束条件下产生故障,如果发生了赋值冲突,那么次要故障Sfi将被丢弃,转而选择另一个故障作为次要故障。测试立方的生成持续直到所有的待测故障都被尝试选择为次要故障或者测试立方不存在X。
在单个测试立方生成后,如果还存在X,那就随机填充这些X位,产生一个完整的测试向量,测试向量会被保存起来,当64个测试向量生成后,故障仿真器会仿真这些测试向量,如果故障列表中的待测故障能够被这些测试向量检测到,那么就将这些待测故障的状态置为已检测。当故障列表中已经不存在可尝试的故障,系统将报告所有产生的测试向量的数量和测试生成的时间。
接下来结合实例介绍本发明面向单个测试立方的冲突分析方法的过程。
增量式测试向量生成的搜索树构建过程可以用一个如图4的搜索树来表示,它基于D方法的传播和调整决策。传播决策是在当前决策点选择一条可以传播故障效应D或者D-bar的路径。如图4中左边f1\SA0的搜索树,TG根结点的最右孩子节点是一个传播决策节点,它表示故障效应经e处的扇出有三条可选择分支路径来传播,/3表示决策节点有三条可以尝试的路径,且当前还未在该节点做决策。调整决策是针对某个电路赋值,其输入还未满足赋值的条件,因此需要递归地产生赋值来满足该条件,直到抵达电路输入。如图4左边的J a=0节点,它表示需要调整a=0这个赋值,1/3表示正在尝试第一个可选决策,总共有3种输入组合的决策可以尝试。图4中最左边的树对应于单个故障的搜索树,也就是增量式测试向量生成中的主要故障,次要故障的搜索树则是以TG f2\SA1、TG fn\SA0等节点为根的树。图4中的虚线变表示冲突边,该边是使用冲突分析方法分析冲突的电路赋值得到的,也就是J k=0节点的决策产生的赋值和J a=0决策产生的赋值发生了冲突,通过在冲突点沿着蕴涵网络回推可得J k=0决策的冲突原因是J a=0。单故障测试生成过程中学习到的冲突子句将被保存在全局的冲突子句库中,而本发明的将维护一个如图5所示的面向单个测试立方的冲突子句库。全局的冲突子句库往往有非常多的冲突子句,因此仅仅使用全局冲突子句库来识别无解空间会带来非常大的运行开销,且局部性不好。由于增量式测试生成的回溯远远大于单个故障的测试生成,且不同故障集合发生冲突的条件有很大的差别,因此单独为单个测试立方维护冲突子句库可以减少识别无解空间的运行开销,提高冲突子句库查询时的命中率,提高系统的整体效率。
接下来结合实例介绍增量式测试生成约束的动态调整方法。
图6中展示了先前的增量式测试生成约束产生过程和本发明的约束产生过程。先前方法按照成功生成的故障序列产生[Pf, Sf1,Sf2,..Sfn],每个成功测试fault增量式地在测试立方上填充约束,最终的测试立方可以保证检测到上述故障。
本申请的约束动态调整方案中,通过冲突分析找出当前故障不能成功测试的原因,如通过冲突分析得出Sf2是由于Pf的决策而不能成功生成测试,那么当前的由故障[Pf,Sf1]产生的测试立方将被保存,搜索森林将回溯到Pf搜索树中的冲突节点,选择另一个可能的决策继续搜索,同时Sf1和Sf2仍将被视为未尝试的故障,系统会维护一个故障移除表,记录每个故障被动态调整所移除的次数,次要故障的选择总是优先选择被移除次数最少的故障。
综上,本申请提出了一种面向单个测试立方的冲突分析方法,通过为每个测试立方维护一个冲突分析子句库,实现了更高的冲突子句查询命中率,加速了增量式测试向量的生成。另外,增量式测试生成约束的动态调整方法,也允许测试向量的精简在更大的搜索空间上进行,减少了生成测试向量的总数。利用以上的发明,ATPG系统的测试时间和生成的测试向量得以减少,节省了测试的成本。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述ATPG系统测试向量生成和精简的方法的ATPG系统测试向量生成和精简的装置。图7是根据本申请实施例的一种可选的ATPG系统测试向量生成和精简的装置的示意图,如图7所示,该装置可以包括:
选择单元61,用于从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,其中,所述第一故障集合用于保存所有待测故障;
第一生成单元63,用于为所述主要故障生成原始测试立方和对应的第一冲突子句库,其中,所述原始测试立方为包括确定位和非确定位的测试向量,所述第一冲突子句库用于保存与所述主要故障相关的冲突子句;
第二生成单元65,用于在根据所述主要故障的第一冲突子句库确定第一次要故障与所述主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为所述第一次要故障生成测试向量,其中,所述第一测试立方为所述原始测试立方或在所述原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,所述第一次要故障为从所述第一故障集合中取出的另一个未生成有测试向量的待测故障。
通过上述模块,从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,所述第一故障集合用于保存所有待测故障;为所述主要故障生成原始测试立方和对应的第一冲突子句库,所述原始测试立方为包括确定位和非确定位的测试向量,所述第一冲突子句库用于保存与所述主要故障相关的冲突子句;在根据所述主要故障的第一冲突子句库确定第一次要故障与所述主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为所述第一次要故障生成测试向量,所述第一测试立方为所述原始测试立方或在所述原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,所述第一次要故障为从所述第一故障集合中取出的另一个未生成有测试向量的待测故障。本方案为了提高ATPG系统中增量式测试向量生成方法的性能,实现了面向单个测试立方的冲突分析方法以及增量式测试生成约束的动态调整,加速了测试立方的生成过程,并允许了更大的搜索空间,总体在更短的时间内生成了更少的测试向量,可以解决了相关技术中的测试向量较大的技术问题。
可选地,第二生成单元还用于:在所述第一测试立方是所述原始测试立方,或,所述第一测试立方不是所述原始测试立方且所述第一测试立方中存在非确定位的情况下,从所述第一故障集合中取出另一个未生成有测试向量的待测故障作为所述第一次要故障,并保存在第二故障集合中,其中,所述第二故障集合用于保存所述第一测试立方所使用到的待测故障;根据所述主要故障的第一冲突子句库确定所述第一次要故障与所述主要故障之间是否存在冲突;在确定所述第一次要故障与所述主要故障之间不存在冲突的情况下,利用所述第一测试立方中的非确定位为所述第一次要故障生成测试向量。
可选地,第二生成单元还用于:在根据所述主要故障的第一冲突子句库确定所述第一次要故障与所述主要故障之间是否存在冲突之后,在确定所述第一次要故障与所述主要故障之间存在冲突的情况下,将所述第一次要故障从所述第二故障集合中移除,保存至所述第一故障集合中,并将记录的所述第一次要故障的失败次数的值加一;重新为所述主要故障生成新的原始测试立方和对应的第二冲突子句库,其中,新生成的原始测试立方为包括确定位和非确定位的测试向量,所述第二冲突子句库用于保存与所述主要故障相关的冲突子句;在第二测试立方是新的原始测试立方,或,所述第二测试立方不是新的原始测试立方且所述第二测试立方中存在非确定位的情况下,按照失败次数从低到高的顺序,从所述第一故障集合中取出一个未生成有测试向量的待测故障作为第二次要故障,并保存在所述第二故障集合中;根据所述第二冲突子句库确定所述第二次要故障与所述主要故障之间是否存在冲突;在确定所述第二次要故障与所述主要故障之间不存在冲突的情况下,利用所述第二测试立方中的非确定位为所述第二次要故障生成测试向量。
可选地,第二生成单元还用于:确定所述第一冲突子句中用于表示所述主要故障与所述第一次要故障存在冲突的目标冲突子句,其中,所述目标冲突子句用于表示所述主要故障的搜索树中第一节点的赋值与所述第一次要故障的搜索树中第二节点的赋值存在冲突;对所述第一节点的赋值进行调整,并根据调整赋值后所述主要故障的搜索树生成新的原始测试立方和所述第二冲突子句库。
可选地,第二生成单元还用于:获取所述第一次要故障的必要赋值,其中,所述必要赋值是所述次要故障的测试过程中必须使用到的赋值;在所述第一次要故障的任一必要赋值与所述第一冲突子句库中的一个冲突子句匹配的情况下,确定所述第一次要故障与所述主要故障之间存在冲突;在所述第一次要故障的任一必要赋值与所述冲突子句库中的所有冲突子句均不匹配的情况下,确定所述第一次要故障与所述主要故障之间不存在冲突。
可选地,第二生成单元还用于:获取所述第一次要故障的所有测试项;获取每个所述测试项在电路上产生的蕴涵集合;将所述所有测试项在电路上分别产生的蕴涵集合的蕴涵交集,作为所述必要赋值。
可选地,第二生成单元还用于:在所述第一故障集合中所有未生成有测试向量的待测故障均被选择过之后,若所述第一测试立方中还存在非确定位,则对所述第一测试立方中的非确定位进行随机填充,得到最终使用的测试立方。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述ATPG系统测试向量生成和精简的方法的服务器或终端。
图8是根据本申请实施例的一种终端的结构框图,如图8所示,该终端可以包括:一个或多个(图中仅示出一个)处理器701、存储器703、以及传输装置705,如图8所示,该终端还可以包括输入输出设备707。
其中,存储器703可用于存储软件程序以及模块,如本申请实施例中的ATPG系统测试向量生成和精简的方法和装置对应的程序指令/模块,处理器701通过运行存储在存储器703内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的ATPG系统测试向量生成和精简的方法。存储器703可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器703可进一步包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置705用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置705包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置705为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器703用于存储应用程序。
处理器701可以通过传输装置705调用存储器703存储的应用程序,以执行下述步骤:
从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,其中,所述第一故障集合用于保存所有待测故障;为所述主要故障生成原始测试立方和对应的第一冲突子句库,其中,所述原始测试立方为包括确定位和非确定位的测试向量,所述第一冲突子句库用于保存与所述主要故障相关的冲突子句;在根据所述主要故障的第一冲突子句库确定第一次要故障与所述主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为所述第一次要故障生成测试向量,其中,所述第一测试立方为所述原始测试立方或在所述原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,所述第一次要故障为从所述第一故障集合中取出的另一个未生成有测试向量的待测故障。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图8所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,终端还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行ATPG系统测试向量生成和精简的方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,其中,所述第一故障集合用于保存所有待测故障;为所述主要故障生成原始测试立方和对应的第一冲突子句库,其中,所述原始测试立方为包括确定位和非确定位的测试向量,所述第一冲突子句库用于保存与所述主要故障相关的冲突子句;在根据所述主要故障的第一冲突子句库确定第一次要故障与所述主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为所述第一次要故障生成测试向量,其中,所述第一测试立方为所述原始测试立方或在所述原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,所述第一次要故障为从所述第一故障集合中取出的另一个未生成有测试向量的待测故障。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种ATPG系统测试向量生成和精简的方法,其特征在于,包括:
从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,其中,所述第一故障集合用于保存所有待测故障;
为所述主要故障生成原始测试立方和对应的第一冲突子句库,其中,所述原始测试立方为包括确定位和非确定位的测试向量,所述第一冲突子句库用于保存与所述主要故障相关的冲突子句;
在根据所述主要故障的第一冲突子句库确定第一次要故障与所述主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为所述第一次要故障生成测试向量,其中,所述第一测试立方为所述原始测试立方或在所述原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,所述第一次要故障为从所述第一故障集合中取出的另一个未生成有测试向量的待测故障。
2.根据权利要求1所述的方法,其特征在于,在根据所述主要故障的第一冲突子句库确定第一次要故障与所述主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为所述第一次要故障生成测试向量,包括:
在所述第一测试立方是所述原始测试立方,或,所述第一测试立方不是所述原始测试立方且所述第一测试立方中存在非确定位的情况下,从所述第一故障集合中取出另一个未生成有测试向量的待测故障作为所述第一次要故障,并保存在第二故障集合中,其中,所述第二故障集合用于保存所述第一测试立方所使用到的待测故障;
根据所述主要故障的第一冲突子句库确定所述第一次要故障与所述主要故障之间是否存在冲突;
在确定所述第一次要故障与所述主要故障之间不存在冲突的情况下,利用所述第一测试立方中的非确定位为所述第一次要故障生成测试向量。
3.根据权利要求2所述的方法,其特征在于,在根据所述主要故障的第一冲突子句库确定所述第一次要故障与所述主要故障之间是否存在冲突之后,所述方法还包括:
在确定所述第一次要故障与所述主要故障之间存在冲突的情况下,将所述第一次要故障从所述第二故障集合中移除,保存至所述第一故障集合中,并将记录的所述第一次要故障的失败次数的值加一;
重新为所述主要故障生成新的原始测试立方和对应的第二冲突子句库,其中,新生成的原始测试立方为包括确定位和非确定位的测试向量,所述第二冲突子句库用于保存与所述主要故障相关的冲突子句;
在第二测试立方是新的原始测试立方,或,所述第二测试立方不是新的原始测试立方且所述第二测试立方中存在非确定位的情况下,按照失败次数从低到高的顺序,从所述第一故障集合中取出一个未生成有测试向量的待测故障作为第二次要故障,并保存在所述第二故障集合中;
根据所述第二冲突子句库确定所述第二次要故障与所述主要故障之间是否存在冲突;
在确定所述第二次要故障与所述主要故障之间不存在冲突的情况下,利用所述第二测试立方中的非确定位为所述第二次要故障生成测试向量。
4.根据权利要求3所述的方法,其特征在于,重新为所述主要故障生成新的原始测试立方和对应的第二冲突子句库,包括:
确定所述第一冲突子句中用于表示所述主要故障与所述第一次要故障存在冲突的目标冲突子句,其中,所述目标冲突子句用于表示所述主要故障的搜索树中第一节点的赋值与所述第一次要故障的搜索树中第二节点的赋值存在冲突;
对所述第一节点的赋值进行调整,并根据调整赋值后的所述主要故障的搜索树生成新的原始测试立方和所述第二冲突子句库。
5.根据权利要求2所述的方法,其特征在于,根据所述主要故障的第一冲突子句库确定所述第一次要故障与所述主要故障之间是否存在冲突,包括:
获取所述第一次要故障的必要赋值,其中,所述必要赋值是所述第一次要故障的测试过程中必须使用到的赋值;
在所述第一次要故障的任一必要赋值与所述第一冲突子句库中的任意一个冲突子句匹配的情况下,确定所述第一次要故障与所述主要故障之间存在冲突;
在所述第一次要故障的任一必要赋值与所述冲突子句库中的所有冲突子句均不匹配的情况下,确定所述第一次要故障与所述主要故障之间不存在冲突。
6.根据权利要求5所述的方法,其特征在于,获取所述次要故障的必要赋值,包括:
获取所述第一次要故障的所有测试项;
获取每个所述测试项在电路上产生的蕴涵集合;
将所述所有测试项在电路上分别产生的蕴涵集合的蕴涵交集,作为所述必要赋值。
7.根据权利要求1所述的方法,其特征在于,利用第一测试立方中的非确定位为所述第一次要故障生成测试向量,包括:
在所述第一故障集合中所有未生成有测试向量的待测故障均被选择过之后,若所述第一测试立方中还存在非确定位,则对所述第一测试立方中的非确定位进行随机填充,得到最终使用的测试立方。
8.一种ATPG系统测试向量生成和精简的装置,其特征在于,包括:
选择单元,用于从第一故障集合中取出一个未生成有测试向量的待测故障作为主要故障,其中,所述第一故障集合用于保存所有待测故障;
第一生成单元,用于为所述主要故障生成原始测试立方和对应的第一冲突子句库,其中,所述原始测试立方为包括确定位和非确定位的测试向量,所述第一冲突子句库用于保存与所述主要故障相关的冲突子句;
第二生成单元,用于在根据所述主要故障的第一冲突子句库确定第一次要故障与所述主要故障之间不存在冲突的情况下,利用第一测试立方中的非确定位为所述第一次要故障生成测试向量,其中,所述第一测试立方为所述原始测试立方或在所述原始测试立方中利用非确定位为其他次要故障生成测试向量后得到的,所述第一次要故障为从所述第一故障集合中取出的另一个未生成有测试向量的待测故障。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311741584.3A CN117422031B (zh) | 2023-12-18 | 2023-12-18 | Atpg系统测试向量生成和精简的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311741584.3A CN117422031B (zh) | 2023-12-18 | 2023-12-18 | Atpg系统测试向量生成和精简的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117422031A CN117422031A (zh) | 2024-01-19 |
CN117422031B true CN117422031B (zh) | 2024-02-27 |
Family
ID=89530594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311741584.3A Active CN117422031B (zh) | 2023-12-18 | 2023-12-18 | Atpg系统测试向量生成和精简的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117422031B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117849596B (zh) * | 2024-03-08 | 2024-07-09 | 中科鉴芯(北京)科技有限责任公司 | 面向向量精简的分布式自动测试向量生成方法和系统 |
CN118566698A (zh) * | 2024-07-31 | 2024-08-30 | 中科鉴芯(北京)科技有限责任公司 | 排除冗余故障的测试生成方法、装置、设备和存储介质 |
CN118566700A (zh) * | 2024-07-31 | 2024-08-30 | 中科鉴芯(北京)科技有限责任公司 | Atpg动态测试精简方法、装置、设备及计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707224A (zh) * | 2012-06-04 | 2012-10-03 | 清华大学 | 集成电路转换延迟测试向量精简方法 |
CN116106726A (zh) * | 2023-04-12 | 2023-05-12 | 南京邮电大学 | 一种基于优化预处理技术的高效率集成电路测试生成方法 |
CN116125252A (zh) * | 2023-02-17 | 2023-05-16 | 安庆师范大学 | 基于联合分类的集成电路有效测试模式重选方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5066684B2 (ja) * | 2006-03-28 | 2012-11-07 | 国立大学法人九州工業大学 | 生成装置、生成方法、生成方法をコンピュータに実行させることが可能なプログラム、及び、このプログラムを記録した記録媒体 |
-
2023
- 2023-12-18 CN CN202311741584.3A patent/CN117422031B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102707224A (zh) * | 2012-06-04 | 2012-10-03 | 清华大学 | 集成电路转换延迟测试向量精简方法 |
CN116125252A (zh) * | 2023-02-17 | 2023-05-16 | 安庆师范大学 | 基于联合分类的集成电路有效测试模式重选方法及装置 |
CN116106726A (zh) * | 2023-04-12 | 2023-05-12 | 南京邮电大学 | 一种基于优化预处理技术的高效率集成电路测试生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117422031A (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117422031B (zh) | Atpg系统测试向量生成和精简的方法和装置 | |
JP3441645B2 (ja) | フィルタリング型アプローチを使用する組合せ回路の検証方法 | |
CN111782266B (zh) | 软件性能基准确定方法及装置 | |
CN110297760A (zh) | 测试数据的构造方法、装置、设备及计算机可读存储介质 | |
CN113128143B (zh) | Ai处理器的仿真方法、装置、计算机设备及存储介质 | |
CN111581092A (zh) | 仿真测试数据的生成方法、计算机设备及存储介质 | |
CN112416800B (zh) | 智能合约的测试方法、装置、设备及存储介质 | |
CN117872102B (zh) | 测试向量精简方法、装置、设备及计算机可读介质 | |
CN118131006A (zh) | Atpg测试向量的精简方法和装置、存储介质、电子装置 | |
US8266573B2 (en) | Method and system for test point insertion | |
CN113596153B (zh) | 一种数据均衡方法及系统 | |
CN112949711B (zh) | 面向软件定义卫星的神经网络模型可复用训练方法、装置 | |
CN114238135A (zh) | 测试用例确定方法、装置及电子设备 | |
CN107066391A (zh) | 测试用例的处理方法以及系统 | |
CN117033181A (zh) | 一种测试用例生成的方法、装置及设备 | |
CN114529108B (zh) | 基于树模型的预测方法、装置、设备、介质及程序产品 | |
CN106227661A (zh) | 数据处理方法及装置 | |
CN116126692A (zh) | 一种基于python的算法工具自动化测试系统及方法 | |
CN115292178A (zh) | 测试数据搜索方法、装置、存储介质以及终端 | |
CN110955760A (zh) | 判决结果的评价方法和相关装置 | |
Parikh et al. | Mining-guided state justification with partitioned navigation tracks | |
CN115481407A (zh) | 基于大数据服务页面的漏洞挖掘方法及ai漏洞挖掘系统 | |
Tibebu et al. | Augmenting all solution SAT solving for circuits with structural information | |
CN113206712A (zh) | 一种软件无线电符合性测试方法及系统 | |
CN112649723B (zh) | 转换延迟故障测试压缩环境下测试精简方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |