CN115062570B - 一种形式验证方法、装置、设备及计算机存储介质 - Google Patents

一种形式验证方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN115062570B
CN115062570B CN202210874827.XA CN202210874827A CN115062570B CN 115062570 B CN115062570 B CN 115062570B CN 202210874827 A CN202210874827 A CN 202210874827A CN 115062570 B CN115062570 B CN 115062570B
Authority
CN
China
Prior art keywords
circuit
point
verified
position point
determining
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
Application number
CN202210874827.XA
Other languages
English (en)
Other versions
CN115062570A (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210874827.XA priority Critical patent/CN115062570B/zh
Publication of CN115062570A publication Critical patent/CN115062570A/zh
Application granted granted Critical
Publication of CN115062570B publication Critical patent/CN115062570B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3323Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本申请实施例提供一种形式验证方法、装置、设备及计算机存储介质。形式验证方法包括:获取包括待验证电路和标准电路的电路对;确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对;在电路对中,确定用于对信号差值进行补偿的候选补偿点;构建候选补偿点的信号值、第一位置点的信号值以及第二位置点的信号值之间的逻辑关系式;验证逻辑关系式,并将验证通过的逻辑关系式确定为电路对的等价关系式;根据等价关系式切分电路对的状态空间,并基于标准电路,在切分后的各子状态空间中对待验证电路进行形式验证,确定待验证电路的功能是否满足预设要求。本申请实施例可以提升形式验证的效率。

Description

一种形式验证方法、装置、设备及计算机存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种形式验证方法、装置、设备及计算机存储介质。
背景技术
形式验证,是电路设计过程中的一种静态验证方法,具体指从数学上完备地证明或验证电路的实现方案是否确实实现了电路设计所描述的功能。形式验证可以包括对电路的多种不同性质的验证,例如:验证两个电路在功能上是否等价(等价性验证)、验证两个电路在功能上是否不等价(非等价性验证)以及验证电路的其他性质。
现阶段,通常是采用端到端的形式验证方式,对两个完整电路进行形式验证。但是,上述端到端的验证方式,是直接在完整的电路状态空间中进行形式验证的,当电路较为复杂时,电路的状态空间往往也非常大。因此,上述端到端的验证方式,存在验证效率低的问题。
发明内容
有鉴于此,本申请实施例提供一种形式验证方法、装置、设备及计算机存储介质,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种形式验证方法,包括:
获取包括待验证电路和标准电路的电路对;
确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对;所述第一位置点和第二位置点间的信号差值小于预设阈值;
在所述电路对中,确定用于对所述信号差值进行补偿的候选补偿点;
构建所述候选补偿点的信号值、所述第一位置点的信号值以及所述第二位置点的信号值之间的逻辑关系式;验证所述逻辑关系式,并将验证通过的逻辑关系式确定为所述电路对的等价关系式;
根据所述等价关系式切分所述电路对的状态空间,并基于所述标准电路,在切分后的各子状态空间中对所述待验证电路进行形式验证,确定所述待验证电路的功能是否满足预设要求。
根据本申请实施例的第二方面,提供了一种形式验证装置,包括:
电路对获取模块,用于获取包括待验证电路和标准电路的电路对;
近似等价点对确定模块,用于确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对;所述第一位置点和第二位置点间的信号差值小于预设阈值;
候选补偿点确定模块,用于在所述电路对中,确定用于对所述信号差值进行补偿的候选补偿点;
等价关系式确定模块,用了构建所述候选补偿点的信号值、所述第一位置点的信号值以及所述第二位置点的信号值之间的逻辑关系式;验证所述逻辑关系式,并将验证通过的逻辑关系式确定为所述电路对的等价关系式;
形式验证模块,用于根据所述等价关系式切分所述电路对的状态空间,并基于所述标准电路,在切分后的各子状态空间中对所述待验证电路进行形式验证,确定所述待验证电路的功能是否满足预设要求。
根据本申请实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的形式验证方法对应的操作。
根据本申请实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的形式验证方法。
本申请实施例提供的形式验证方法、装置、设备及计算机存储介质,在形式验证时,先确定出了两个电路之间的近似等价点对,并确定出了用于对上述近似等价点对之间的信号差值进行补偿的候选补偿点;之后,构建了近似等价点对与候选补偿点之间可能存在的多种逻辑关系式,再对逻辑关系式的正确性进行了验证,以从构建的逻辑关系式中确定出了两个电路之间的等价关系式;进而基于上述等价关系式将电路对的较大的完整状态空间切分成较小的子状态空间,以基于标准电路,在各较小的子状态空间中对待验证电路进行形式验证,以确定待验证电路的功能是否满足预设要求。本申请实施例中,是基于近似参考的思想进行形式验证的,搜索近似等价点对与候选补偿点之间的逻辑关系式,确定出两个电路之间的等价关系式(而不仅仅是等价点对),进而对电路对的状态空间进行了切分,将原本在完整状态空间内验证的复杂命题,转换为在各个子状态空间内分别验证的多个小的子命题,因此,可以有效提升形式验证的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例一的一种形式验证方法的步骤流程图;
图2为图1所示实施例对应的场景示意图;
图3为根据本申请实施例二的一种形式验证方法的步骤流程图;
图4为根据本申请实施例三的一种形式验证装置的结构框图;
图5为根据本申请实施例四的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
背景概述:
在电路设计过程中,时常会出现设计算法的迭代,相邻两代算法往往具有相同的结果,只是出于硬件设计架构的改动,需要调整电路的细节设计,在调整完成得到新一代电路之后,则需要对新一代电路进行验证。
如果采用传统的基于仿真的验证方法,需要重新分析电路设计方案,设定功能覆盖点,随机或生成特定的测试向量对新电路进行仿真测试,收集并分析功能覆盖率,并进而处理未覆盖的功能点并进行代码覆盖率/分支覆盖率等客观覆盖率指标分析,最终完成整个验证过程。上述过程较为复杂,耗时较高,并且,先前版本的设计至多只能作为参考设计,对新的验证帮助有限。
形式验证是使用数学方法来确认新设计(待验证设计)是否正确,通过参考设计(标准设计)来检查新设计的逻辑功能是否满足预设要求。具体地:通过证明新设计和参考设计的结构与功能是逻辑等价的,或者非逻辑等价的,来验证新设计的逻辑功能是否满足预设要求。
因此,针对上述情况,可以对上述先前电路(即参考电路,或标准电路)和新电路(即待验证电路)进行电路的形式验证(如等价性验证,其中包括完整等价性验证,以及在特定约束条件下的条件等价性验证等),从而快速实现验证过程。其中,电路的等价性验证,也称等价性检查,是形式验证的一个子分支,用于验证两个电路在功能上是否等价。
现阶段,常规的形式验证通常是端到端的,其具体的验证流程为:第一步,获取参考电路(标准电路)和待验证电路;第二步,在标准电路和待验证电路对应的完整状态空间中,对标准电路和待验证电路进行形式验证,例如:验证标准电路和待验证电路在逻辑功能上是否等价,或者,是否非等价,等等。具体地:借用数学方法分别对完整的标准电路和待验证电路进行算数抽象,然后通过数学公式来验证两个是否等价或非等价;第三步,基于形式验证结果,确定待验证电路设计的正确性,也即:确定待验证电路的逻辑功能是否满足预设要求,以等价性验证为例,标准电路可以为满足预设要求的电路设计。这样,当第二步验证出标准电路和待验证电路在逻辑功能上等价时,则可以确定待验证电路设计在逻辑功能上也可以满足预设要求。
上述端到端的验证方式,是直接在完整的电路状态空间中进行形式验证的,当电路较为复杂时,电路的状态空间往往也非常大。因此,上述端到端的验证方式,存在验证效率低的问题。
本申请总体概述:
本申请实施例提供的形式验证方法,主要是对上述常规形式验证方法中的第二步进行了优化改进:对完整的状态空间进行了切分,将原本在完整状态空间中验证的复杂命题,转换为在各个子状态空间内分别验证的多个小的子命题,从而提升形式验证的效率。具体地:先确定出了两个电路之间的近似等价点对,并确定出了用于对上述近似等价点对之间的信号差值进行补偿的候选补偿点;之后,构建了近似等价点对与候选补偿点之间可能存在的多种逻辑关系式,再对逻辑关系式的正确性进行了验证,以从构建的逻辑关系式中确定出了两个电路之间的等价关系式;进而基于上述等价关系式将电路对的较大的完整状态空间切分成较小的子状态空间,以在各较小的子状态空间中进行形式验证。因此,本申请实施例提供的形式验证方法,可以有效提升形式验证的效率。
本申请实施例的详细实现过程
下面结合本申请实施例附图进一步说明本申请实施例具体实现。
实施例一
参照图1,图1为根据本申请实施例一的一种形式验证方法的步骤流程图。具体地,该方法包括以下步骤:
步骤102,获取包括待验证电路和标准电路的电路对。
具体地,本申请实施例中的电路均为广义层面的电路,其可以为已经制作完整的硬件电路架构,也可以为在前端的电路设计阶段形成的程序代码或者软件函数算法,以及非电路设计应用的程序代码或软件函数算法,等等。
在电路设计过程中,时常会出现设计算法的迭代,相邻两代算法往往具有相同的结果,只是出于硬件设计架构的改动,需要调整电路的细节设计,在调整完成得到新一代电路之后,则需要对新一代电路进行验证,即确定新一代电路的正确性。
本申请实施例中,待验证电路即可为上述新一代电路,标准电路则可以为先前设计的电路。
步骤104,确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对。
其中,第一位置点和第二位置点间的信号差值小于预设阈值。
本申请实施例中,对于确定近似等价点对的具体方式不做限定。可以采用任意的方式从待验证电路中确定第一位置点,以及从标准电路中确定第二位置点,仅需保证确定出的第一位置点和第二位置点之间的信号差值小于预设阈值即可。
进一步地,本步骤中,在确定上述近似等价点对时,可以结合两个电路中各元件之间的具体连接关系,经过电路分析得到。具体地,例如,可以依赖电路分析工具,结合电路网表中各节点(位置点)之间的连接关系,选择出候选的近似等价点对,之后,再采用仿真方式,随机向两个电路输入相同的激励,若上述候选的近似等价点对之间的信号差值小于预设阈值,则可以将该候选的近似等价点对确定为近似等价点对;又如,也可以利用电路设计人员对电路的了解,直接选择候选的近似等价点对,再基于上述仿真方式,将信号差值小于预设阈值的候选的近似等价点对确定为近似等价点对。
本申请实施例中,第一位置点的数量可以为一个,也可以为多个;对应地,第二位置点的数量也可以为一个或多个。例如:近似等价点对可能是由待验证电路中的位置点A,与标准电路中的位置点B组成;也可能是由待验证电路中的位置点C和D,与标准电路中的位置点E组成,其中,位置点C和D的融合信号与位置点E处的信号的差值小于预设阈值;也可能是由待验证电路中的位置点C和D,与标准电路中的位置点E和F组成,其中,位置点C和D的融合信号,与位置点E和F的融合信号的差值小于预设阈值,等等。
步骤106,在电路对中,确定用于对信号差值进行补偿的候选补偿点。
本申请实施例中,对于确定候选补偿点的具体方式也不做限定。任意的可能对近似等价点对的信号差值起到补偿作用的位置点都可以作为候选补偿点。
步骤108,构建候选补偿点的信号值、第一位置点的信号值以及第二位置点的信号值之间的逻辑关系式;验证逻辑关系式,并将验证通过的逻辑关系式确定为电路对的等价关系式。
具体地,可以将候选补偿点的信号值、第一位置点的信号值以及第二位置点的信号值通过各种逻辑运算或者四则运算相连,从而形成多种不同的逻辑关系式,然后再对上述逻辑关系式的正确性进行验证,若验证通过,则表明该逻辑关系式为正确的逻辑关系式,此时,则可以将该逻辑关系式确定为包括待验证电路和标准电路的电路对的等价关系式。
在对构造出的逻辑关系式进行验证时,可以借助现有的形式验证工具进行,具体地:将电路对以及某个逻辑关系式输入形式验证工具,通过形式验证工具对上述电路对进行形式验证,若验证通过,则可以确定该逻辑关系式为通过验证的正确逻辑关系,此时,则可以将该逻辑关系式确定为电路对的等价关系式。例如:在对电路对进行等价性验证过程中,确定某个逻辑关系式是否为等价关系式时,则可以将电路对以及该逻辑关系式输入形式验证工具,通过形式验证工具验证电路对中的两个电路是否等价,若等价(即通过验证)则可以确定该逻辑关系式为等价关系式;又如:在对电路对进行非等价性验证(如验证电路a>电路b)过程中,确定某个逻辑关系式是否为等价关系式,则可以将电路对以及该逻辑关系式输入形式验证工具,通过形式验证工具验证对电路对进行非等价性验证,若通过验证(即验证结果为电路a>电路b)则可以确定该逻辑关系式为等价关系式。
步骤110,根据等价关系式切分电路对的状态空间,并基于标准电路,在切分后的各子状态空间中对待验证电路进行形式验证,确定待验证电路的功能是否满足预设要求。
具体地,可以先基于等价关系式将完整的状态空间切分为多个子状态空间,然后再基于标准电路,在切分后的各子状态空间中对待验证电路进行形式验证,得到验证结果;基于验证结果确定待验证电路的功能是否满足预设要求。
参见图2,图2为图1所示实施例对应的场景示意图,以下,将参考图2所示的示意图,以一个具体场景示例,对本申请实施例进行说明:
参见图2,电路对中包括电路a和电路b,其中,a为标准电路,b为待验证电路,为了确定电路b的功能是否满足预设要求,可以先对电路a和电路b进行形式验证(证明电路a和电路b在功能上等价)。具体地,可以基于近似参考的思想,执行如下操作:通过电路分析(如:人工输入或者借助电路网表进行分析),确定出电路a中的位置点(节点)La和电路b的位置点(节点)Lb为电路对中的近似等价点对,也就是说,在给定相同激励的情况下,位置点La和位置点Lb间的信号差值小于预设阈值;同时,在电路a中,还确定出进行补偿的候选补偿点Ma、Na;在电路b中,确定出进行补偿的候选补偿点Mb、Nb;可以基于确定出的各候选补偿点以及位置点La和电路b的位置点Lb的信号值,构建逻辑关系式:La=Lb+Mb、La=Lb&Nb、……、La|Ma=Lb,之后,分别对各逻辑关系式进行正确性验证,从而从构建出的多个逻辑关系式中自动搜索出通过验证的逻辑关系式,将该逻辑关系式确定为等价关系式,进而基于确定出的等价关系式,切分电路对的状态空间,并基于电路a,在切分后的各子状态空间中对电路b进行形式验证,若验证结果为电路a和电路b等价,则确定电路b的功能满足预设要求。
本申请实施例,在形式验证时,先确定出了两个电路之间的近似等价点对,并确定出了用于对上述近似等价点对之间的信号差值进行补偿的候选补偿点;之后,构建了近似等价点对与候选补偿点之间可能存在的多种逻辑关系式,再对逻辑关系式的正确性进行了验证,以从构建的逻辑关系式中确定出了两个电路之间的等价关系式;进而基于上述等价关系式将电路对的较大的完整状态空间切分成较小的子状态空间,以基于标准电路,在各较小的子状态空间中对待验证电路进行形式验证,以确定待验证电路的功能是否满足预设要求。本申请实施例中,是基于近似参考的思想进行形式验证的,搜索近似等价点对与候选补偿点之间的逻辑关系式,确定出两个电路之间的等价关系式(而不仅仅是等价点对),进而对电路对的状态空间进行了切分,将原本在完整状态空间内验证的复杂命题,转换为在各个子状态空间内分别验证的多个小的子命题,因此,可以有效提升形式验证的效率。
实施例二
参照图3,图3为根据本申请实施例二的一种形式验证方法的步骤流程图。具体地,该方法包括以下步骤:
步骤302,获取包括待验证电路和标准电路的电路对。
步骤304,确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对。
其中,第一位置点和第二位置点间的信号差值小于预设阈值。
可选地,在其中一些实施例中,可以通过如下方式确定近似等价点对:
在待验证电路的待验证电路网表中,选择入度大于预设入度阈值,且出度大于预设出度阈值的位置点,作为第一候选位置点;
确定各第一候选位置点的输入距离与输出距离之间的距离差值,并将距离差值小于预设距离阈值的第一候选位置点确定为第一待确认位置点;其中,输入距离为第一候选位置点与待验证电路网表中输入点之间的距离,输出距离为第一候选位置点与待验证电路网表中输出点之间的距离;
在标准电路的标准电路网表中,选择入度大于预设入度阈值,且出度大于预设出度阈值的位置点,作为第二候选位置点;
确定各第二候选位置点的输入距离与输出距离之间的距离差值,并将距离差值小于预设距离阈值的第二候选位置点确定为第二待确认位置点;
若第一待确认位置点与第二待确认位置点间的信号差值小于预设阈值,则确定第一待确认位置点为第一位置点,确定第二待确认位置点为第二位置点;
其中,第一位置点和第二位置点组成近似等价点对。
步骤306,在目标电路对应的电路网表中,确定包含目标位置点的子电路网表,并将子电路网表中与目标位置点之间不存在信号通路且处于同一逻辑层级的位置点确定为候选补偿点。
其中,目标位置点包括第一位置点和/或第二位置点;目标电路为目标位置点所在的电路。
例如:当目标位置点为待验证电路中的第一位置点时,则目标电路则为待验证电路;当目标位置点为标准电路中的第二位置点时,则目标电路则为标准电路。
步骤308,若候选补偿点为多个,基于各候选补偿点与目标位置点之间的距离,确定各候选补偿点的优先级;其中,距离越近,优先级越高。
以图2中的电路a和电路b组成的电路对为例,当目标位置点为位置点La时,按照步骤306可以确定出两个候选补偿点:Ma、Na,此时,可以基于Ma、Na分别与La之间的距离,确定出Ma、Na的优先级,具体地:由于Ma与La之间的距离更近,因此,Ma的优先级高于Na;同样地,当目标位置点为位置点Lb时,按照步骤306可以确定出两个候选补偿点:Mb、Nb,此时,可以基于Mb、Nb分别与Lb之间的距离,确定出Mb、Nb的优先级,具体地:由于Mb与Lb之间的距离更近,因此,Mb的优先级高于Nb
步骤310,按照优先级从高到低的顺序,依次针对每个候选补偿点,构建该候选补偿点的信号值、第一位置点的信号值以及第二位置点的信号值之间的逻辑关系式,并验证逻辑关系式。
具体地,针对某个具体的候选补偿点,可以将该候选补偿点的信号值、第一位置点的信号值以及第二位置点的信号值通过各种逻辑运算或者四则运算相连,从而形成与该候选补偿点对一个的多种不同的逻辑关系式,并分别对形成的每个逻辑关系式进行正确性验证。
步骤312,当存在验证通过的逻辑关系式时,将验证通过的逻辑关系式确定为电路对的等价关系式,并停止逻辑关系式的构建过程。
可选地,在其中一些实施例中,可以借助形式验证工具,对各逻辑关系式进行正确性验证,具体地:
可以将逻辑关系式和电路对输入形式验证工具,以通过形式验证工具对电路对进行形式验证;
若验证通过,则确定输入的逻辑关系式为电路对的等价关系式。
本申请实施例中,针对一个近似等价点对,若确定出多个候选补偿点,则根据各候选补偿点与目标位置点之间的距离,对各候选补偿点进行优先级排序,进而,在进行逻辑关系式构建以及等价关系式搜索时,按照上述优先级顺序,先基于距离较近的候选补偿点进行搜索,若搜索到等价关系式则不再对后续的距离较远的候选补偿点进行搜索。
对于候选补偿点而言,与目标位置点越近,则表明该候选补偿点与目标位置点之间的信号关联性越高,进而,采用本申请实施例中的先基于关联性高的候选补偿点进行搜索的搜索方式,在较短时间内搜索到等价关系式的可能性也就越高,即:提升了等价关系式的搜索效率,进一步提升了形式验证的整体效率。
步骤314,将电路对以及等价关系式输入形式验证工具,以使形式验证工具将等价关系式作为断言,对电路对的状态空间进行切分,并基于标准电路,在切分后的各子状态空间中对待验证电路进行形式验证,确定待验证电路的功能是否满足预设要求。
本申请实施例,在形式验证时,先确定出了两个电路之间的近似等价点对,并确定出了用于对上述近似等价点对之间的信号差值进行补偿的候选补偿点;之后,构建了近似等价点对与候选补偿点之间可能存在的多种逻辑关系式,再对逻辑关系式的正确性进行了验证,以从构建的逻辑关系式中确定出了两个电路之间的等价关系式;进而基于上述等价关系式将电路对的较大的完整状态空间切分成较小的子状态空间,以基于标准电路,在各较小的子状态空间中对待验证电路进行形式验证,以确定待验证电路的功能是否满足预设要求。本申请实施例中,是基于近似参考的思想进行形式验证的,搜索近似等价点对与候选补偿点之间的逻辑关系式,确定出两个电路之间的等价关系式(而不仅仅是等价点对),进而对电路对的状态空间进行了切分,将原本在完整状态空间内验证的复杂命题,转换为在各个子状态空间内分别验证的多个小的子命题,因此,可以有效提升形式验证的效率。
另外,针对一个近似等价点对,若确定出多个候选补偿点,则根据各候选补偿点与目标位置点之间的距离,对各候选补偿点进行优先级排序,进而,在进行逻辑关系式构建以及等价关系式搜索时,按照上述优先级顺序,先基于距离较近的候选补偿点进行搜索,若搜索到等价关系式则不再对后续的距离较远的候选补偿点进行搜索。对于候选补偿点而言,与目标位置点越近,则表明该候选补偿点与目标位置点之间的信号关联性越高,这样,先基于关联性高的候选补偿点进行搜索,在较短时间内搜索到等价关系式的可能性也就越高,即:提升了等价关系式的搜索效率,进一步提升了形式验证的效率。
实施例三
参见图4,图4为根据本申请实施例三的一种形式验证装置的结构框图。本申请实施例提供的形式验证装置包括:
电路对获取模块402,用于获取包括待验证电路和标准电路的电路对;
近似等价点对确定模块404,用于确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对;第一位置点和第二位置点间的信号差值小于预设阈值;
候选补偿点确定模块406,用于在电路对中,确定用于对信号差值进行补偿的候选补偿点;
等价关系式确定模块408,用了构建候选补偿点的信号值、第一位置点的信号值以及第二位置点的信号值之间的逻辑关系式;验证逻辑关系式,并将验证通过的逻辑关系式确定为电路对的等价关系式;
形式验证模块410,用于根据等价关系式切分电路对的状态空间,并基于标准电路,在切分后的各子状态空间中对待验证电路进行形式验证,确定待验证电路的功能是否满足预设要求。
可选地,在其中一些实施例中,候选补偿点为与目标位置点之间不存在信号传导且与目标位置点处于同一逻辑层级的位置点;目标位置点包括第一位置点和/或第二位置点。
可选地,在其中一些实施例中,候选补偿点确定模块406具体用于:
在目标电路对应的电路网表中,确定包含目标位置点的子电路网表;
将子电路网表中与目标位置点之间不存在信号通路且处于同一逻辑层级的位置点确定为候选补偿点。
可选地,在其中一些实施例中,形式验证装置还包括:
优先级确定模块,用于若候选补偿点为多个,则基于各候选补偿点与目标位置点之间的距离,确定各候选补偿点的优先级;其中,距离越近,优先级越高;
对应地,等价关系式确定模块408具体用于:
按照优先级从高到低的顺序,依次针对每个候选补偿点,构建该候选补偿点的信号值、第一位置点的信号值以及第二位置点的信号值之间的逻辑关系式,并验证逻辑关系式;
当存在验证通过的逻辑关系式时,将验证通过的逻辑关系式确定为电路对的等价关系式,并停止逻辑关系式的构建过程。
可选地,在其中一些实施例中,等价关系式确定模块408在执行验证逻辑关系式,并将验证通过的逻辑关系式确定为电路对的等价关系式的步骤时,具体用于:
将逻辑关系式和电路对输入形式验证工具,以通过形式验证工具对电路对进行形式验证;
若验证通过,则确定逻辑关系式为电路对的等价关系式。
可选地,在其中一些实施例中,形式验证模块410具体用于:
将电路对以及等价关系式输入形式验证工具,以使形式验证工具将等价关系式作为断言,对电路对的状态空间进行切分;
基于标准电路,在切分后的各子状态空间中对待验证电路进行形式验证,确定待验证电路的功能是否满足预设要求。
可选地,在其中一些实施例中,近似等价点对确定模块404具体用于:
在待验证电路的待验证电路网表中,选择入度大于预设入度阈值,且出度大于预设出度阈值的位置点,作为第一候选位置点;
确定各第一候选位置点的输入距离与输出距离之间的距离差值,并将距离差值小于预设距离阈值的第一候选位置点确定为第一待确认位置点;其中,输入距离为第一候选位置点与待验证电路网表中输入点之间的距离,输出距离为第一候选位置点与待验证电路网表中输出点之间的距离;
在标准电路的标准电路网表中,选择入度大于预设入度阈值,且出度大于预设出度阈值的位置点,作为第二候选位置点;
确定各第二候选位置点的输入距离与输出距离之间的距离差值,并将距离差值小于预设距离阈值的第二候选位置点确定为第二待确认位置点;
若第一待确认位置点与第二待确认位置点间的信号差值小于预设阈值,则确定第一待确认位置点为第一位置点,确定第二待确认位置点为第二位置点;
其中,第一位置点和第二位置点组成近似等价点对。
本申请实施例的形式验证装置用于实现前述方法实施例一或实施例二中相应的形式验证方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本申请实施例的形式验证装置中的各个模块的功能实现均可参照前述方法实施例一或实施例二中的相应部分的描述,在此亦不再赘述。
实施例四
参照图5,示出了根据本申请实施例四的一种电子设备的结构示意图,本申请具体实施例并不对电子设备的具体实现做限定。
如图5所示,该电子设备可以包括:处理器(processor) 502、通信接口(Communications Interface)504、存储器(memory) 506、以及通信总线508。
其中:
处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它电子设备或服务器进行通信。
处理器502,用于执行程序510,具体可以执行上述形式验证方法实施例中的相关步骤。
具体地,程序1110可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:获取包括待验证电路和标准电路的电路对;确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对;第一位置点和第二位置点间的信号差值小于预设阈值;在电路对中,确定用于对信号差值进行补偿的候选补偿点;构建候选补偿点的信号值、第一位置点的信号值以及第二位置点的信号值之间的逻辑关系式;验证逻辑关系式,并将验证通过的逻辑关系式确定为电路对的等价关系式;根据等价关系式切分电路对的状态空间,并基于标准电路,在切分后的各子状态空间中对待验证电路进行形式验证,确定待验证电路的功能是否满足预设要求。
程序510中各步骤的具体实现可以参见上述形式验证方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的电子设备,在形式验证时,先确定出了两个电路之间的近似等价点对,并确定出了用于对上述近似等价点对之间的信号差值进行补偿的候选补偿点;之后,构建了近似等价点对与候选补偿点之间可能存在的多种逻辑关系式,再对逻辑关系式的正确性进行了验证,以从构建的逻辑关系式中确定出了两个电路之间的等价关系式;进而基于上述等价关系式将电路对的较大的完整状态空间切分成较小的子状态空间,以基于标准电路,在各较小的子状态空间中对待验证电路进行形式验证,以确定待验证电路的功能是否满足预设要求。本申请实施例中,是基于近似参考的思想进行形式验证的,搜索近似等价点对与候选补偿点之间的逻辑关系式,确定出两个电路之间的等价关系式(而不仅仅是等价点对),进而对电路对的状态空间进行了切分,将原本在完整状态空间内验证的复杂命题,转换为在各个子状态空间内分别验证的多个小的子命题,因此,可以有效提升形式验证的效率。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一形式验证方法对应的操作。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的形式验证方法。此外,当通用计算机访问用于实现在此示出的形式验证方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的形式验证方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。

Claims (10)

1.一种形式验证方法,包括:
获取包括待验证电路和标准电路的电路对;
确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对;所述第一位置点和第二位置点间的信号差值小于预设阈值;
在所述电路对中,确定用于对所述信号差值进行补偿的候选补偿点;
构建所述候选补偿点的信号值、所述第一位置点的信号值以及所述第二位置点的信号值之间的逻辑关系式;验证所述逻辑关系式,并将验证通过的逻辑关系式确定为所述电路对的等价关系式;
根据所述等价关系式切分所述电路对的状态空间,并基于所述标准电路,在切分后的各子状态空间中对所述待验证电路进行形式验证,确定所述待验证电路的功能是否满足预设要求,包括:将所述电路对以及所述等价关系式输入形式验证工具,以使所述形式验证工具将所述等价关系式作为断言,对所述电路对的状态空间进行切分;基于所述标准电路,在切分后的各子状态空间中对所述待验证电路进行形式验证,确定所述待验证电路的功能是否满足预设要求。
2.根据权利要求1所述的方法,其中,所述候选补偿点为与目标位置点之间不存在信号传导且与所述目标位置点处于同一逻辑层级的位置点;所述目标位置点包括所述第一位置点和/或所述第二位置点。
3.根据权利要求2所述的方法,其中,所述在所述电路对中,确定用于对所述信号差值进行补偿的候选补偿点,包括:
在目标电路对应的电路网表中,确定包含所述目标位置点的子电路网表;
将所述子电路网表中与所述目标位置点之间不存在信号通路且处于同一逻辑层级的位置点确定为候选补偿点。
4.根据权利要求3所述的方法,其中,若所述候选补偿点为多个,则所述方法还包括:
基于各候选补偿点与所述目标位置点之间的距离,确定各候选补偿点的优先级;其中,距离越近,优先级越高;
所述构建所述候选补偿点的信号值、所述第一位置点的信号值以及所述第二位置点的信号值之间的逻辑关系式;验证所述逻辑关系式,并将验证通过的逻辑关系式确定为所述电路对的等价关系式包括:
按照优先级从高到低的顺序,依次针对每个候选补偿点,构建该候选补偿点的信号值、所述第一位置点的信号值以及所述第二位置点的信号值之间的逻辑关系式,并验证所述逻辑关系式;
当存在验证通过的逻辑关系式时,将验证通过的逻辑关系式确定为所述电路对的等价关系式,并停止逻辑关系式的构建过程。
5.根据权利要求1所述的方法,其中,所述验证所述逻辑关系式,并将验证通过的逻辑关系式确定为所述电路对的等价关系式,包括:
将所述逻辑关系式和所述电路对输入形式验证工具,以通过所述形式验证工具对所述电路对进行形式验证;
若验证通过,则确定所述逻辑关系式为所述电路对的等价关系式。
6.根据权利要求1所述的方法,其中,所述确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对,包括:
在所述待验证电路的待验证电路网表中,选择入度大于预设入度阈值,且出度大于预设出度阈值的位置点,作为第一候选位置点;
确定各第一候选位置点的输入距离与输出距离之间的距离差值,并将距离差值小于预设距离阈值的第一候选位置点确定为第一待确认位置点;其中,所述输入距离为所述第一候选位置点与所述待验证电路网表中输入点之间的距离,所述输出距离为所述第一候选位置点与所述待验证电路网表中输出点之间的距离;
在所述标准电路的标准电路网表中,选择入度大于预设入度阈值,且出度大于预设出度阈值的位置点,作为第二候选位置点;
确定各第二候选位置点的输入距离与输出距离之间的距离差值,并将距离差值小于预设距离阈值的第二候选位置点确定为第二待确认位置点;
若所述第一待确认位置点与所述第二待确认位置点间的信号差值小于预设阈值,则确定所述第一待确认位置点为第一位置点,确定所述第二待确认位置点为第二位置点;
其中,所述第一位置点和所述第二位置点组成近似等价点对。
7.一种形式验证装置,包括:
电路对获取模块,用于获取包括待验证电路和标准电路的电路对;
近似等价点对确定模块,用于确定由待验证电路中的第一位置点和标准电路中的第二位置点组成的近似等价点对;所述第一位置点和第二位置点间的信号差值小于预设阈值;
候选补偿点确定模块,用于在所述电路对中,确定用于对所述信号差值进行补偿的候选补偿点;
等价关系式确定模块,用了构建所述候选补偿点的信号值、所述第一位置点的信号值以及所述第二位置点的信号值之间的逻辑关系式;验证所述逻辑关系式,并将验证通过的逻辑关系式确定为所述电路对的等价关系式;
形式验证模块,用于根据所述等价关系式切分所述电路对的状态空间,并基于所述标准电路,在切分后的各子状态空间中对所述待验证电路进行形式验证,确定所述待验证电路的功能是否满足预设要求,包括:将所述电路对以及所述等价关系式输入形式验证工具,以使所述形式验证工具将所述等价关系式作为断言,对所述电路对的状态空间进行切分;基于所述标准电路,在切分后的各子状态空间中对所述待验证电路进行形式验证,确定所述待验证电路的功能是否满足预设要求。
8.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的形式验证方法对应的操作。
9.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-6中任一所述的形式验证方法。
10.一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如权利要求1-6中任一所述的形式验证方法对应的操作。
CN202210874827.XA 2022-07-25 2022-07-25 一种形式验证方法、装置、设备及计算机存储介质 Active CN115062570B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210874827.XA CN115062570B (zh) 2022-07-25 2022-07-25 一种形式验证方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210874827.XA CN115062570B (zh) 2022-07-25 2022-07-25 一种形式验证方法、装置、设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN115062570A CN115062570A (zh) 2022-09-16
CN115062570B true CN115062570B (zh) 2022-11-15

Family

ID=83205479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210874827.XA Active CN115062570B (zh) 2022-07-25 2022-07-25 一种形式验证方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN115062570B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114896921B (zh) * 2022-06-10 2023-06-27 深圳国微芯科技有限公司 一种集成电路形式验证方法、系统及存储介质
CN115796093B (zh) * 2023-01-03 2023-08-08 摩尔线程智能科技(北京)有限责任公司 电路时序优化方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1560769A (zh) * 2004-03-05 2005-01-05 中国科学院计算技术研究所 基于可满足性的组合电路等价性检验方法
CN112585588A (zh) * 2019-12-26 2021-03-30 深圳市大疆创新科技有限公司 芯片的形式验证方法、设备和存储介质
US11023357B1 (en) * 2019-09-26 2021-06-01 Cadence Design Systems, Inc. Method and system for sequential equivalence checking
CN113919260A (zh) * 2021-09-29 2022-01-11 深圳国微福芯技术有限公司 一种等价性验证引擎的切换方法及系统
CN113947050A (zh) * 2021-08-27 2022-01-18 芯华章科技股份有限公司 用于生成形式验证环境的方法、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120185B2 (en) * 2018-11-29 2021-09-14 International Business Machines Corporation Hardware incremental model checking verification
GB2583333B (en) * 2019-04-15 2022-03-16 Imagination Tech Ltd Verification of hardware design for an integrated circuit that implements a function that is polynomial in one or more input variables
CN112632882A (zh) * 2020-12-18 2021-04-09 海光信息技术股份有限公司 一种基于形式验证对仲裁器验证的装置以及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1560769A (zh) * 2004-03-05 2005-01-05 中国科学院计算技术研究所 基于可满足性的组合电路等价性检验方法
US11023357B1 (en) * 2019-09-26 2021-06-01 Cadence Design Systems, Inc. Method and system for sequential equivalence checking
CN112585588A (zh) * 2019-12-26 2021-03-30 深圳市大疆创新科技有限公司 芯片的形式验证方法、设备和存储介质
CN113947050A (zh) * 2021-08-27 2022-01-18 芯华章科技股份有限公司 用于生成形式验证环境的方法、电子设备及存储介质
CN113919260A (zh) * 2021-09-29 2022-01-11 深圳国微福芯技术有限公司 一种等价性验证引擎的切换方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Equivalence checking of nonlinear analog circuits for hierarchical AMS System Verification;Sebastian Steinhorst et al;《2012 IEEE/IFIP 20th International Conference on VLSI and System-on-Chip (VLSI-SoC)》;20151123;全文 *
用于Flash存储器的BCH编解码器设计与验证;吴斌;《中国优秀硕士学位论文全文数据库电子期刊 信息科技辑》;20111215;第2011年卷(第S2期);全文 *
针对GSTE的电路模型抽取;祝睿;《中国优秀硕士学位论文全文数据库电子期刊 信息科技辑》;20110415;第2011年卷(第4期);全文 *
静态形式验证在跨时钟域和复位验证中的应用;张启晨;《中国集成电路》;20190430;全文 *

Also Published As

Publication number Publication date
CN115062570A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
CN115062570B (zh) 一种形式验证方法、装置、设备及计算机存储介质
US9983984B2 (en) Automated modularization of graphical user interface test cases
CN107844415B (zh) 一种基于插值的模型检测路径缩减方法、计算机
US8448107B2 (en) Method for piecewise hierarchical sequential verification
JP2000148808A (ja) スケジュ―リングされた動作記述に対するストラクチュラルrtlの正当性検証方法
KR102160780B1 (ko) 버그 정정 시스템 및 버그 정정 방법
US20120136635A1 (en) Method and apparatus for optimizing constraint solving through constraint rewriting and decision reordering
US6567959B2 (en) Method and device for verification of VLSI designs
US20200394121A1 (en) Associating attribute seeds of regression test cases with breakpoint value-based fingerprints
US20210318947A1 (en) Methods and apparatuses for generating smart contract test case
JP2006012134A (ja) 不変性を検査する方法、論理装置及びシステム
US8601459B2 (en) Control structure refinement of loops using static analysis
US6618841B1 (en) Non-assignable signal support during formal verification of circuit designs
US11663113B2 (en) Real time fault localization using combinatorial test design techniques and test case priority selection
JP2000207440A (ja) 半導体集積回路の設計検証装置、方法及び記憶媒体
US8219376B2 (en) Verification using directives having local variables
US11514219B1 (en) System and method for assertion-based formal verification using cached metadata
CN117829093A (zh) 加速芯片时序收敛的方法及装置
WO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
WO2021183382A1 (en) Graph-based method for inductive bug localization
US10460060B2 (en) Checking equivalence between changes made in a circuit definition language and changes in post-synthesis nets
CN113486613B (zh) 数据链路的提取方法、装置、电子设备和存储介质
US10769333B1 (en) System, method, and computer program product for debugging one or more observable failures in a formal verification
US7475369B1 (en) Eliminate false passing of circuit verification through automatic detecting of over-constraining in formal verification
CN113297069A (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