一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端技术

技术编号:29154538 阅读:18 留言:0更新日期:2021-07-06 22:52
本发明专利技术涉及一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端,方法包括如下步骤:将断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性。本发明专利技术基于最广泛的空泛性定义,增加了测试的完整性;同时由于所使用的综合过程和最小化的可确定性,两个结果只需要进行结构对比,效率很高。

【技术实现步骤摘要】
一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端
本专利技术涉及一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端。
技术介绍
形式验证是一种基于逻辑建模和数学推理证明的芯片功能验证技术,是对传统仿真验证的补充并在很多场景正在取代仿真。由于形式验证技术的独特性,其在芯片设计验证流程中的应用存在不少障碍,第一个就是如何生成正确和准确的断言。断言分为约束和属性两种。前者定义了被测设计的输入环境,后者是形式验证的对象-即这些属性在设计的所有在输入约束允许的运行状态和运行路径下是否都成立。由于断言语言的复杂性和高表述力,以及断言和所测设计间的相互作用,断言经常会隐藏一些开发者自己没有意识到的语义,其中最常见的一类就是空泛性。带有空泛性的断言往往表面断言本身不够准确,或者断言和设计之间的交互作用出现了问题。现在商业的形式验证工具只针对一种空泛性进行测试,就是因果空泛性。在A-》B形式的断言中,如果A不成立,那么整个断言的成立与B是否成立并没有关系。从断言本身看A的不成立不是预期的,而针对B是否成立的测试因为A的不成立并没有实施。现有工具针对因果形式的断言会做两项验证,一是A的可达性,即A是可以成立的。二是整个断言是否成立。A不可达的情况下断言的成立被称为空泛的成立。这种方法有两个问题。第一它只针对因果空泛,缺乏完整性。第二每个断言它会做两次验证,降低了效率。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端。本专利技术的目的是通过以下技术方案来实现的:本专利技术的第一方面,提供一种迭代式的形式验证断言空泛性强度的测试方法,包括如下步骤:将断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性。进一步地,所述方法还包括:将逻辑电路加入断言形成新断言;将新断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性。进一步地,所述将逻辑电路加入断言形成新断言包括:逐步增加逻辑电路,以形成新断言。进一步地,所述逐步增加逻辑电路的前提是在不具有空泛性的情况下。进一步地,所述逐步增加逻辑电路为增加逻辑电路的深度和/或设计模块的深度。进一步地,所述逐步增加逻辑电路,根据用户设定的计算资源,包括设定最大计算时间和最大可用内存,决定增加逻辑的数量和最终的测试的程度。进一步地,所述方法还包括:纠正断言,对使得断言具有空泛性的子表达式置0或1。进一步地,在所述纠正断言之前还包括:接收多余子表达式不是错误的确认信息。本专利技术的第二方面,提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的一种迭代式的形式验证断言空泛性强度的测试方法的步骤。本专利技术的第三方面,提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的一种迭代式的形式验证断言空泛性强度的测试方法的步骤。区别于现有技术的情况,本专利技术的有益效果是:(1)本专利技术基于最广泛的空泛性定义,增加了测试的完整性;同时由于所使用的综合过程和最小化的可确定性,两个结果只需要进行结构对比,效率很高。(3)本专利技术的优选实施例中,加入了额外的逻辑电路进行空泛性测试,有可能发现空泛存在于表达式。这个结果表明外部加入的逻辑出现了错误导致断言空泛。(4)使用渐进的方式进行复杂度可控的测试,做了迭代式的空泛测试,从最强的空泛性即断言本身开始,逐步加入设计的逻辑电路,一是尽可能少的运用计算资源,二是尽早发现空泛中表达式,以利于对加入的逻辑电路进行分析纠错。附图说明图1是本专利技术测试和纠正方法流程图。具体实施方式下面结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。首先,需要说明的是,下述实例性实施例中将采纳最普适的空泛性定义,即对于断言中每一个子表达式,如果它的成立与不成立对整个断言的成立与否没有影响,那么这个子表达式就是多余的,而这个断言则是空泛的。参见图1,图1为一种迭代式的形式验证断言空泛性强度的测试方法的流程图,包括如下步骤:将断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性。具体地,在断言综合过程中,对于每一个子表达式均会生成两个综合结果,一个假设此表达式为0,另一个假设为1,并对结果做自动机最小化处理。理论上,两个逻辑等价的自动机只有在最小化后才保证自动机图形等价。因为我们只能依赖图形等价来判断功能等价,所以最小化是必须的。对于断言本身(最强空泛性)的测试,唯一要做的就是对比两个结果是否相同。由于本实例性实施例中所使用综合过程和最小化方法的可确定性(优化结果的可确定性即唯一性,是自动机优化的基本理论),两个结果只需要进行结构对比,所以效率很高。另外,空泛性有强弱之分。比如有的空泛性是断言自有的,和被验证的设计无关,这种无条件的空泛性强度最大;而有的空泛性是由设计中的逻辑电路关系引起的,比如
技术介绍
中A的不成立,不是断言自身的问题。空泛性涉及的逻辑电路越多,和设计的关联就越大,强度就越低。针对这样一个观察,在本实例性实施例中提议做迭代式的空泛测试,从最强的空泛性即断言本身开始,逐步加入设计的逻辑电路。其中强度表明了空泛性从自发到由逻辑电路引起的程度变化,为空泛的原因提供的量化指标。具体地,在一示例性实施例中,所述方法还包括:将逻辑电路加入断言形成新断言;将新断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性。并且,所述将逻辑电路加入断言形成新断言包括:在不具有空泛性的情况下,逐步增加逻辑电路,以形成新断言。即在每一次迭代中,逐步增加逻辑电路。本文档来自技高网
...

【技术保护点】
1.一种迭代式的形式验证断言空泛性强度的测试方法,其特征在于:包括如下步骤:/n将断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性;/n在不具有空泛性的情况下,逐步增加逻辑电路,以形成新断言;/n将新断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性;/n其中强度表明了空泛性从自发到由逻辑电路引起的程度变化,为空泛的原因提供的量化指标。/n

【技术特征摘要】
1.一种迭代式的形式验证断言空泛性强度的测试方法,其特征在于:包括如下步骤:
将断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性;
在不具有空泛性的情况下,逐步增加逻辑电路,以形成新断言;
将新断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性;
其中强度表明了空泛性从自发到由逻辑电路引起的程度变化,为空泛的原因提供的量化指标。


2.根据权利要求1所述的一种迭代式的形式验证断言空泛性强度的测试方法,其特征在于:所述逐步增加逻辑电路为增加逻辑电路的深度和/或设计模块的深度。


3.根据权利要求1所述的一种迭代式的形式验证断言空泛性强度的测试方法,其特征在于:所述逐步增加逻辑电路,根据用户设定的计算资源,包括设定最大计算时间和最大可用内...

【专利技术属性】
技术研发人员:袁军
申请(专利权)人:成都奥卡思微电科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1