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

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

Info

Publication number
CN113075537A
CN113075537A CN202110361921.0A CN202110361921A CN113075537A CN 113075537 A CN113075537 A CN 113075537A CN 202110361921 A CN202110361921 A CN 202110361921A CN 113075537 A CN113075537 A CN 113075537A
Authority
CN
China
Prior art keywords
assertion
emptiness
verifying
strength
test method
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.)
Granted
Application number
CN202110361921.0A
Other languages
English (en)
Other versions
CN113075537B (zh
Inventor
袁军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Arcas Microelectronics Technology Co ltd
Original Assignee
Chengdu Arcas Microelectronics Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Arcas Microelectronics Technology Co ltd filed Critical Chengdu Arcas Microelectronics Technology Co ltd
Priority to CN202110361921.0A priority Critical patent/CN113075537B/zh
Publication of CN113075537A publication Critical patent/CN113075537A/zh
Application granted granted Critical
Publication of CN113075537B publication Critical patent/CN113075537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31704Design for test; Design verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

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

Description

一种迭代式的形式验证断言空泛性强度的测试方法、存储介 质和终端
技术领域
本发明涉及一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端。
背景技术
形式验证是一种基于逻辑建模和数学推理证明的芯片功能验证技术,是对传统仿真验证的补充并在很多场景正在取代仿真。由于形式验证技术的独特性,其在芯片设计验证流程中的应用存在不少障碍,第一个就是如何生成正确和准确的断言。断言分为约束和属性两种。前者定义了被测设计的输入环境,后者是形式验证的对象-即这些属性在设计的所有在输入约束允许的运行状态和运行路径下是否都成立。
由于断言语言的复杂性和高表述力,以及断言和所测设计间的相互作用,断言经常会隐藏一些开发者自己没有意识到的语义,其中最常见的一类就是空泛性。带有空泛性的断言往往表面断言本身不够准确,或者断言和设计之间的交互作用出现了问题。现在商业的形式验证工具只针对一种空泛性进行测试,就是因果空泛性。在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后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性。
并且,所述将逻辑电路加入断言形成新断言包括:
在不具有空泛性的情况下,逐步增加逻辑电路,以形成新断言。
即在每一次迭代中,逐步增加逻辑电路。
其中,在又一个示例性实施例中,所述逐步增加逻辑电路为增加逻辑电路的深度和/或设计模块的深度。
在又一个示例性实施例中,所述逐步增加逻辑电路的前提是在不具有空泛性的情况。
在又一个示例性实施例中,所述逐步增加逻辑电路,根据用户设定的计算资源,包括设定最大计算时间和最大可用内存,决定增加逻辑的数量和最终的测试的程度。
同时,在又一示例性实施例中,所述方法还包括:
纠正断言,对使得断言具有空泛性的子表达式置0或1。
即最后发现多余子表达式,经用户确认不是错误后(优选方案),我们可以对断言进行优化,即删除多余子表达式,代入0或者1,使断言最小化。
尤其是在空泛性是引入的设计逻辑电路造成的情况下,用户需要确认是修改电路还是断言。在后一种情况下,即做自动断言修复。
通过对最新的OVL标准断言库的测试,我们发现了3处断言自带的空泛性,和6处在加入了断言所在OVL模块(不包含任何设计逻辑)后的空泛性。对于~40个OVL库断言所作的这两种强度的测试只用了几秒的CPU时间。
本发明的第二方面,提供一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的一种迭代式的形式验证断言空泛性强度的测试方法的步骤。
本发明的第三方面,提供一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的一种迭代式的形式验证断言空泛性强度的测试方法的步骤。
基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得装置执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种迭代式的形式验证断言空泛性强度的测试方法,其特征在于:包括如下步骤:
将断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性;
在不具有空泛性的情况下,逐步增加逻辑电路,以形成新断言;
将新断言的每一子表达式分别置为0和1后进行综合并做自动机最小化处理,得到的两个结果若相同则认为断言具有空泛性;
其中强度表明了空泛性从自发到由逻辑电路引起的程度变化,为空泛的原因提供的量化指标。
2.根据权利要求1所述的一种迭代式的形式验证断言空泛性强度的测试方法,其特征在于:所述逐步增加逻辑电路为增加逻辑电路的深度和/或设计模块的深度。
3.根据权利要求1所述的一种迭代式的形式验证断言空泛性强度的测试方法,其特征在于:所述逐步增加逻辑电路,根据用户设定的计算资源,包括设定最大计算时间和最大可用内存,决定增加逻辑的数量和最终的测试的程度。
4.根据权利要求1所述的一种迭代式的形式验证断言空泛性强度的测试方法,其特征在于:所述方法还包括:
纠正断言,对使得断言具有空泛性的子表达式置0或1。
5.根据权利要求4所述的一种迭代式的形式验证断言空泛性强度的测试方法,其特征在于:在所述纠正断言之前还包括:
接收多余子表达式不是错误的确认信息。
6.一种存储介质,其上存储有计算机指令,其特征在于:所述计算机指令运行时执行权利要求1~5中任意一项所述的一种迭代式的形式验证断言空泛性强度的测试方法的步骤。
7.一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1~5任意一项所述的一种迭代式的形式验证断言空泛性强度的测试方法的步骤。
CN202110361921.0A 2019-07-01 2019-07-01 一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端 Active CN113075537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110361921.0A CN113075537B (zh) 2019-07-01 2019-07-01 一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110361921.0A CN113075537B (zh) 2019-07-01 2019-07-01 一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端
CN201910585118.8A CN110308387B (zh) 2019-07-01 2019-07-01 一种形式验证断言空泛性的测试和自动纠正方法、存储介质和终端

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910585118.8A Division CN110308387B (zh) 2019-07-01 2019-07-01 一种形式验证断言空泛性的测试和自动纠正方法、存储介质和终端

Publications (2)

Publication Number Publication Date
CN113075537A true CN113075537A (zh) 2021-07-06
CN113075537B CN113075537B (zh) 2022-10-11

Family

ID=68078591

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202110360925.7A Active CN113049948B (zh) 2019-07-01 2019-07-01 基于外部引入逻辑电路的形式验证断言空泛性的纠正方法、存储介质和终端
CN201910585118.8A Active CN110308387B (zh) 2019-07-01 2019-07-01 一种形式验证断言空泛性的测试和自动纠正方法、存储介质和终端
CN202110361921.0A Active CN113075537B (zh) 2019-07-01 2019-07-01 一种迭代式的形式验证断言空泛性强度的测试方法、存储介质和终端

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202110360925.7A Active CN113049948B (zh) 2019-07-01 2019-07-01 基于外部引入逻辑电路的形式验证断言空泛性的纠正方法、存储介质和终端
CN201910585118.8A Active CN110308387B (zh) 2019-07-01 2019-07-01 一种形式验证断言空泛性的测试和自动纠正方法、存储介质和终端

Country Status (1)

Country Link
CN (3) CN113049948B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097484A1 (en) * 2003-10-30 2005-05-05 Atrenta Inc. Method for clock synchronization validation in integrated circuit design
JP2007011467A (ja) * 2005-06-28 2007-01-18 Matsushita Electric Ind Co Ltd アサーション記述自動生成方法および装置
CN101131714A (zh) * 2006-10-09 2008-02-27 威盛电子股份有限公司 断言测试程序及方法
CN101404045A (zh) * 2007-07-02 2009-04-08 韵律设计系统公司 为组合验证生成自动化假设的方法、系统和计算机程序产品
CN103036730A (zh) * 2011-09-29 2013-04-10 西门子公司 一种对协议实现进行安全测试的方法及装置
CN103488571A (zh) * 2013-10-12 2014-01-01 浙江大学城市学院 一种混合验证JavaScript程序正确性的方法
CN105760612A (zh) * 2016-02-26 2016-07-13 中国科学院计算技术研究所 用于硅后芯片验证的断言检测装置、方法、系统、芯片
CN106569866A (zh) * 2015-10-08 2017-04-19 镇江鼎拓科技信息有限公司 一种基于c#语言的形式验证方法
CN106610879A (zh) * 2016-12-23 2017-05-03 盛科网络(苏州)有限公司 提高芯片cpu噪声测试效率的方法
CN107122296A (zh) * 2017-04-18 2017-09-01 上海雷腾软件股份有限公司 用于测试接口的数据断言的方法及设备
CN109508540A (zh) * 2018-09-12 2019-03-22 成都奥卡思微电科技有限公司 一种芯片安全监视方法和安全监视芯片
CN109541431A (zh) * 2017-09-22 2019-03-29 意法半导体国际有限公司 用于生产测试和调试的集成电路的电压水平监测

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4556976A (en) * 1982-08-14 1985-12-03 International Computers Limited Checking sequential logic circuits
US7979844B2 (en) * 2008-10-14 2011-07-12 Edss, Inc. TICC-paradigm to build formally verified parallel software for multi-core chips
US8689192B2 (en) * 2009-01-12 2014-04-01 Synopsys, Inc. Natural language assertion processor
CN102169458A (zh) * 2011-04-18 2011-08-31 华东师范大学 汽车电控部件的软件正确性验证系统及其验证方法
CN104408264B (zh) * 2014-12-12 2018-01-09 浪潮电子信息产业股份有限公司 一种基于断言的嵌入式存储控制器验证系统及方法
CN105760292B (zh) * 2014-12-18 2019-01-08 阿里巴巴集团控股有限公司 一种用于单元测试的断言验证方法和装置
GB2561299B (en) * 2015-05-01 2019-04-03 Imagination Tech Ltd Control path verification of hardware design for pipelined process
GB2554941B (en) * 2016-10-14 2020-03-18 Imagination Tech Ltd Detecting out-of-bounds violations in a hardware design using formal verification
CN108614770B (zh) * 2018-04-09 2021-08-27 中国工商银行股份有限公司 自动化测试断言方法、装置、存储介质及设备
CN109522225B (zh) * 2018-11-09 2022-06-07 网宿科技股份有限公司 一种自动化测试断言方法及装置、测试平台及存储介质
CN109711159B (zh) * 2018-11-26 2020-11-10 北京计算机技术及应用研究所 一种基于信息流的ip核rtl级代码安全漏洞检测方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050097484A1 (en) * 2003-10-30 2005-05-05 Atrenta Inc. Method for clock synchronization validation in integrated circuit design
JP2007011467A (ja) * 2005-06-28 2007-01-18 Matsushita Electric Ind Co Ltd アサーション記述自動生成方法および装置
CN101131714A (zh) * 2006-10-09 2008-02-27 威盛电子股份有限公司 断言测试程序及方法
CN101404045A (zh) * 2007-07-02 2009-04-08 韵律设计系统公司 为组合验证生成自动化假设的方法、系统和计算机程序产品
CN103036730A (zh) * 2011-09-29 2013-04-10 西门子公司 一种对协议实现进行安全测试的方法及装置
CN103488571A (zh) * 2013-10-12 2014-01-01 浙江大学城市学院 一种混合验证JavaScript程序正确性的方法
CN106569866A (zh) * 2015-10-08 2017-04-19 镇江鼎拓科技信息有限公司 一种基于c#语言的形式验证方法
CN105760612A (zh) * 2016-02-26 2016-07-13 中国科学院计算技术研究所 用于硅后芯片验证的断言检测装置、方法、系统、芯片
CN106610879A (zh) * 2016-12-23 2017-05-03 盛科网络(苏州)有限公司 提高芯片cpu噪声测试效率的方法
CN107122296A (zh) * 2017-04-18 2017-09-01 上海雷腾软件股份有限公司 用于测试接口的数据断言的方法及设备
CN109541431A (zh) * 2017-09-22 2019-03-29 意法半导体国际有限公司 用于生产测试和调试的集成电路的电压水平监测
CN109508540A (zh) * 2018-09-12 2019-03-22 成都奥卡思微电科技有限公司 一种芯片安全监视方法和安全监视芯片

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PING YEUNG 等: "Practical Assertion-based Formal Verification for SoC Designs", 《2005 INTERNATIONAL SYMPOSIUM ON SYSTEM-ON-CHIP》 *
张瑞: "基于断言的形式化验证与UVM的综合应用", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Also Published As

Publication number Publication date
CN113049948A (zh) 2021-06-29
CN113075537B (zh) 2022-10-11
CN110308387B (zh) 2021-03-23
CN110308387A (zh) 2019-10-08
CN113049948B (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
US9767005B2 (en) Metaphor based language fuzzing of computer code
CN111104335B (zh) 一种基于多层次分析的c语言缺陷检测方法及装置
US10176085B2 (en) Method and system for generating functional test cases for software systems
US8239404B2 (en) Identifying entries and exits of strongly connected components
US20090106737A1 (en) Using Cross-entropy to Test Executable Logic Code
CN109542783B (zh) 一种基于变量分割的扩展有限状态机测试数据生成方法
US20110145799A1 (en) Path-sensitive dataflow analysis including path refinement
JP6528465B2 (ja) ソフトウェアテストのためのシンボリック実行における状態パラメータ化
US8601459B2 (en) Control structure refinement of loops using static analysis
US7729999B2 (en) Program verification and discovery using probabilistic inference
CN112783508B (zh) 文件的编译方法、装置、设备以及存储介质
CN110308387B (zh) 一种形式验证断言空泛性的测试和自动纠正方法、存储介质和终端
US20180217922A1 (en) Application testing
WO2023207973A1 (zh) 编译器测试方法、用例生成方法、装置及指令存储结构
US8015523B2 (en) Method and system for sequential netlist reduction through trace-containment
US11741001B2 (en) Workload generation for optimal stress testing of big data management systems
Oh et al. A Model Independent S/W Framework for Search‐Based Software Testing
CN114995869A (zh) 一种配置文件解析方法、装置、设备及介质
US7536427B2 (en) Comparing process sizes
CN117668368B (zh) 基于大数据的电子商务数据推送方法及系统
Kanstrén et al. Trace reduction and pattern analysis to assist debugging in model-based testing
US20240163297A1 (en) Artificial intelligence-based cyber training method and apparatus
CN117809849B (zh) 一种认知功能障碍老人行走姿态的分析方法及系统
Abstreiter et al. Improving robustness for models of code via sparse graph neural networks
US11710038B2 (en) Systems and methods for active learning from sparse training data

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