一种形式验证比较点匹配方法、系统、处理器及存储器与流程

文档序号:22578233发布日期:2020-10-20 16:51阅读:291来源:国知局
一种形式验证比较点匹配方法、系统、处理器及存储器与流程

本发明涉及时序电路的等价性验证技术领域,特别是涉及识别和匹配两个时序电路的对应比较点的一种形式验证比较点匹配方法、系统、处理器及存储器。



背景技术:

组合等价检验是证明或反驳两个电路设计的功能等价性的验证方法。这种验证方法特别适用于仅使用组合综合技术进行优化的情况。两个电路设计(一个称为参考电路,另一个称为实现电路)的对应组合块可以使用组合形式技术进行比较和验证。随着电路设计的规模越来越大和越来越复杂,利用组合等价检验的验证方法,从而提供快速的周转验证时间和完整的验证,正迅速地在传统的基于仿真的验证方法上取得进展。

对于时序电路,应用组合等价检验的一个重要步骤是识别和匹配待验证的两个电路设计中的对应比较点。电路设计中的比较点是验证期间的组合逻辑端点。比较点可以是输出端口、寄存器、锁存器或黑盒输入引脚。商业验证工具中的比较点匹配方法大致可分为两类:非功能匹配的方法和功能匹配的方法。

非功能匹配的方法使用名称或结构比较来匹配电路设计中的比较点。在大多数生产验证流程中,比较点的很大一部分通常使用非功能匹配的方法进行匹配。由于设计转换不保留信号名称或显著修改部分设计的电路结构,大量比较点通常不匹配。功能匹配的方法是唯一可行的自动方法,用于匹配剩余的比较点。

目前,大部分功能匹配的方法基于定点计算的精确方法,在每个时序电路的设计中给定n个存储元件(锁存器,寄存器等),就有n!个可能的组合来匹配它们。在最坏的情况下,所有这些精确地方法可能都必须枚举所有的组合,这就使得比较点匹配的复杂度很高,致使计算时间长,内存占用大。

还有基于功能匹配的启发式方法,通过在比较点之间建立不等价关系,然后通过使用不等价信息将最有可能等价的点分组成对,假设给定n个比较点,采用这种方法的计算复杂度是n-1,比精确计算的复杂度减小。但是,当比较点较多时,计算时间依旧会很长,同时存储不等价信息占用的内存也会很大。

因此,如何设计一种能够快速的识别和匹配待验证的两个电路设计中的对应比较点的匹配方法是业界亟待解决的技术问题。



技术实现要素:

为了解决上述现有技术中识别和匹配待验证的两个电路设计中的对应比较点的时间长的技术问题,本发明提出一种形式验证比较点匹配方法、系统、处理器及存储器。

本发明首先提出一种形式验证比较点匹配方法,包括:步骤s1:接收待验证的时序电路的参考电路模型和实现电路模型,还包括:步骤s2:控制参考电路模型和实现电路模型待匹配的比较点的测试向量随机生成,使得参考电路模型和实现电路模型的比较点的输出值可进行二叉树匹配;步骤s3:基于二叉树匹配对参考电路模型的待匹配的各比较点的输出值与实现电路模型的待匹配的各比较点的输出值进行匹配,直至参考电路模型和实现电路模型所有比较点全部一一匹配成功,则验证成功;若存在参考电路模型和实现电路模型待匹配的比较点匹配失败,则验证失败。

在一实施方式中,控制参考电路模型和实现电路模型待匹配的比较点的测试向量随机生成采用atpg方法进行控制,使参考电路模型的待匹配的比较点的输出值之和或者实现电路模型的待匹配的比较点的输出值之和等于待匹配的比较点的数量的一半或待匹配的比较点的数量加一或减一后的一半。

在一实施方式中,所述步骤s2包括:步骤s21,随机生成参考电路模型和实现电路模型待匹配的比较点的测试向量;步骤s22,将对应的测试向量分别输入至参考电路模型和实现电路模型,得到参考电路模型和实现电路模型待匹配的比较点的输出值;步骤s23,计算参考电路模型的待匹配的比较点的输出值之和以及实现电路模型的待匹配的比较点的输出值之和;步骤s24,判断参考电路模型的待匹配的比较点的输出值之和或者实现电路模型的待匹配的比较点的输出值之和是否等于待匹配的比较点的数量的一半或待匹配的比较点的数量加一或减一后的一半;若否,则返回步骤s21直至参考电路模型和实现电路模型的比较点的输出值可进行二叉树匹配。

在一实施方式中,所述参考电路模型或实现电路模型第一次待匹配的比较点的数量为所述参考电路模型或实现电路模型的总数的一半或者为总数加一或减一后的一半;所述参考电路模型或实现电路模型第n次待匹配的比较点的数量为上一次待匹配的比较点的数量的一半或者为上一次待匹配的比较点的数量加一或减一后的一半;直至当前次待匹配的比较点的数量小于2,所述n>1。

在一实施方式中,所述参考电路模型或实现电路模型待匹配的比较点的测试向量包括由外界输入的基本输入向量、和/或由各比较点的上一级比较点产生的伪主输入向量,所述参考电路模型及实现电路模型的基本输入向量相同,所述参考电路模型及实现电路模型的伪主输入向量相同或不相同。

本发明其次提出一种时序电路形式验证的比较点匹配系统,其采用上述形式验证比较点匹配方法对时序电路进行验证。

在一实施方式中,包括:输入模块,用于接收所述参考电路模型和实现电路模型的输入模块;测试向量搜索模块,控制参考电路模型和实现电路模型待匹配的比较点的测试向量随机生成,使得参考电路模型和实现电路模型的比较点的输出值可进行二叉树匹配;匹配模块,基于二叉树匹配对参考电路模型的待匹配的各比较点的输出值与实现电路模型的待匹配的各比较点的输出值进行匹配,直至参考电路模型和实现电路模型所有比较点全部一一匹配成功。

本发明还提出一种处理器,用于运行计算机程序,所述处理器运行所述计算机程序时执行上述形式验证比较点匹配方法。

本发明还提出一种存储器,用于存储计算机程序,所述计算机程序时执行上述的形式验证比较点匹配方法。

与现有技术比较,本发明具有如下优点。

本发明基于二叉树匹配方法对实现电路模型cimp的比较点与参考电路模型cref的比较点进行匹配,每一次输入测试向量进行匹配后,还剩下的待匹配的比较点的数量减少一半左右,经过有限次匹配之后即可实现所有比较点的匹配。设需要匹配的比较点的数量为n,则约经过次后即可实现所有比较点的匹配,即比较点匹配的复杂度约为,相比于传统匹配方法中最小的复杂度为n-1,本发明显著的降低了时序电路组合等价检验过程中对应比较点的匹配复杂度,降低了对应比较点匹配的计算匹配时间,降低了内存的消耗。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以如这些附图获得其他的附图。

图1为本发明实施例中形式验证比较点匹配方法的流程示意图;

图2为本发明实施例中形式验证比较点匹配方法的具体流程示意图;

图3为传统技术中基于功能的启发式比较点匹配方法的电路模型示意图;

图4为本发明实施例中形式验证比较点匹配方法的参考电路模型示意图;

图5为本发明实施例中形式验证比较点匹配方法的实现电路模型示意图;

图6为图3的传统技术中基于功能的启发式比较点匹配方法的实施例的第一组测试向量及其匹配结果的示意表;

图7为图3的传统技术中基于功能的启发式比较点匹配方法的实施例的第二组测试向量及其匹配结果的示意表;

图8为图3的传统技术中基于功能的启发式比较点匹配方法的实施例的第三组测试向量及其匹配结果的示意表;

图9为本发明实施例中形式验证比较点匹配方法的实施例的第一组测试向量及其匹配结果的示意表;

图10为本发明实施例中形式验证比较点匹配方法的实施例的第一组测试向量及其匹配结果的示意表。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

由此,本说明书中所指出的一个特征将用于说明本发明的一个实施方式的其中一个特征,而不是暗示本发明的每个实施方式必须具有所说明的特征。此外,应当注意的是本说明书描述了许多特征。尽管某些特征可以组合在一起以示出可能的系统设计,但是这些特征也可用于其他的未明确说明的组合。由此,除非另有说明,所说明的组合并非旨在限制。

下面结合附图以及实施例对本发明的原理及结构进行详细说明。

请参阅图1,本发明提供一种形式验证比较点匹配方法,包括:步骤s1:接收待验证的时序电路的参考电路模型和实现电路模型;步骤s2:控制参考电路模型和实现电路模型待匹配的比较点的测试向量随机生成,使得参考电路模型和实现电路模型的比较点的输出值可进行二叉树匹配;步骤s3:基于二叉树匹配对参考电路模型的待匹配的各比较点的输出值与实现电路模型的待匹配的各比较点的输出值进行匹配,直至参考电路模型和实现电路模型所有比较点全部一一匹配成功,则验证成功;若存在参考电路模型和实现电路模型待匹配的比较点匹配失败,则验证失败。本发明用于两个时序电路的功能等价性验证过程,具体用于对两个时序电路对应比较点的识别和匹配。本发明基于二叉树原理对实现电路模型cimp的比较点与参考电路模型cref的比较点进行匹配,每一次输入测试向量进行匹配后,还剩下的待匹配的比较点的数量减少一半左右,经过有限次匹配之后即可实现所有比较点的匹配。设需要匹配的比较点的数量为n,则经过约次后即可实现所有比较点的匹配,即比较点匹配的复杂度约为。相比于传统技术中没有逻辑约束的启发式匹配方法的比较点匹配的复杂度为n-1,本发明显著的降低了时序电路组合等价检验过程中对应比较点的匹配复杂度,降低了比较点匹配的计算匹配时间,降低了内存的消耗。下面对上述形式验证比较点匹配方法进行详细说明。

请参阅图2、4-5,在步骤s1中:接收参考电路模型cref和实现电路模型cimp。

具体的,参考电路模型cref包括基本输入向量pi1-pip和对应参考电路模型cref的伪主输入向量rpi1-rpis。参考电路模型cref内的每个待匹配的比较点根据基本输入向量pi1-pip和/或伪主输入向量rpi1-rpis得到参考电路模型cref的每个待匹配的比较点的输出值rpo1-rpon。

实现电路模型cimp包括基本输入向量pi1-pip和对应实现电路模型cimp的伪主输入向量ipi1-ipis。实现电路模型cimp每个待匹配的比较点根据基本输入向量pi1-pip和/或伪主输入向量ipi1-ipis得到实现电路模型cimp的每个待匹配比较点的输出值ipo1-ipon。

上述pi1-pip中的p为输入参考电路模型cref和实现电路模型cimp的的基本输入向量的个数。rpi1-rpis和ipi1-ipis中的s为输入参考电路模型cref和实现电路模型cimp的的伪主输入向量的个数。rpo1-rpon或ipo1-ipon中的n表示待匹配的比较点的数量。p、s、n为正整数。

在步骤s2中:控制参考电路模型和实现电路模型待匹配的比较点的测试向量随机生成,使得参考电路模型和实现电路模型的比较点的输出值可进行二叉树匹配;

具体的,测试向量是用于对实现电路模型cimp的比较点与参考电路模型cref的比较点进行匹配而分别输入实现电路模型cimp和参考电路模型cref的向量。测试向量由atpg法或随机产生法生成,每一次生成的测试向量不同。测试向量包括由外界输入参考电路模型cref和实现电路模型cimp的基本输入向量pi1-pip、和/或由各比较点的上一级比较点产生的伪主输入向量(即是上一级比较点的输出值),所述参考电路模型及实现电路模型的基本输入向量相同,所述参考电路模型及实现电路模型的伪主输入向量相同或不相同。其中,用于输入参考电路模型cref的为伪主输入向量rpi1-rpin、用于输入实现电路模型cimp的为伪主输入向量ipi1-ipin。需要说明的是,参考电路模型cref根据基本输入向量pi1-pip和伪主输入向量rpi1-rpin得到每个待匹配的比较点的输出值rpo1-rpon。实现电路模型cimp根据基本输入向量pi1-pip和伪主输入向量ipi1-ipin得到每个待匹配比较点的输出值ipo1-ipon。此步骤通过控制测试向量,使得参考电路模型cref中待匹配的比较点的输出值rpo1-rpon与实现电路模型cimp中待匹配比较点的输出值ipo1-ipon可以以二叉树的形式进行匹配。

步骤s2,具体包括下列步骤:

步骤s21,随机生成参考电路模型和实现电路模型待匹配的比较点的测试向量;

步骤s22,将对应的测试向量分别输入至参考电路模型和实现电路模型,得到参考电路模型和实现电路模型待匹配的比较点的输出值;

步骤s23,计算参考电路模型的待匹配的比较点的输出值之和以及实现电路模型的待匹配的比较点的输出值之和;

需要对步骤s23说明的是:参考电路模型cref和实现电路模型cimp的比较点的输出值为逻辑值1或0。因此比较点的输出值之和为0-n。此步骤中的计算表达为数学公式为:

参考电路模型cref的待匹配的比较点的输出值之和为:

实现电路模型cimp的待匹配的比较点的输出值之和为:

步骤s24,判断参考电路模型的待匹配的比较点的输出值之和或者实现电路模型的待匹配的比较点的输出值之和是否等于待匹配的比较点的数量的一半或待匹配的比较点的数量加一或减一后的一半;

若否,则返回步骤s21直至参考电路模型和实现电路模型的比较点的输出值可进行二叉树匹配。若是,则进入步骤s3。

此步骤中的计算表达为数学公式为:

当待匹配的比较点的数量为偶数时,判断参考电路模型cref的待匹配的比较点的输出值之和以及实现电路模型cimp的待匹配的比较点的输出值之和是否等于待匹配的比较点的数量的一半,公式为:

当待匹配的比较点的数量为奇数时,判断参考电路模型cref的待匹配的比较点的输出值之和以及实现电路模型cimp的待匹配的比较点的输出值之和是否等于待匹配的比较点的数量加一或减一后的一半,公式为:

需要对步骤s24进行说明的是,若参考电路模型cref的待匹配的比较点的输出值之和以及实现电路模型cimp的待匹配的比较点的输出值之和不等于待匹配的比较点的数量的一半或不等于待匹配的比较点的数量加一或减一后的一半,说明该测试向量的效果没有达到刚好使得待匹配的比较点中的一半或待匹配的比较点加一或减一后的一半得到匹配,不满足基于二叉树原理的匹配形式,因此返回步骤s21。然后步骤s21随机生成另一组测试向量输入参考电路模型cref和实现电路模型cimp,重复步骤s21-步骤s24,直至步骤s24中的判断结果为是,即参考电路模型cref的待匹配的比较点的输出值之和以及实现电路模型cimp的待匹配的比较点的输出值之和等于待匹配的比较点的数量的一半或不等于待匹配的比较点的数量加一或减一后的一半,即满足基于二叉树原理的匹配形式。则说明此次的测试向量输入参考电路模型和实现电路模型后,使得待匹配的比较点中的一半得到匹配或待匹配的比较点的数量加减一后的一半得到匹配。然后便可进入步骤s3。

在步骤s3中:基于二叉树匹配对参考电路模型的待匹配的各比较点的输出值与实现电路模型的待匹配的各比较点的输出值进行匹配,直至参考电路模型和实现电路模型所有比较点全部一一匹配成功,则验证成功;若存在参考电路模型和实现电路模型待匹配的比较点匹配失败,则验证失败。

需要说明的是,参考电路模型或实现电路模型第一次待匹配的比较点的数量为参考电路模型或实现电路模型中待匹配的比较点的总数的一半或者为总数加一或减一后的一半。然后需要检测参考电路模型cref和实现电路模型cimp中还剩下的当前次的待匹配的比较点的数量,判断当前次待匹配的比较点的数量是否小于2。若当前次待匹配的比较点的数量大于等于2时,则说明参考电路模型和实现电路模型中各还至少有2个比较点没有进行匹配,即实现电路模型cimp中的比较点没有完全一一对应地与参考电路模型cref中的比较点完成匹配,需要进一步的匹配实现电路模型cimp和参考电路模型cref中剩下的待匹配比较点。因此需要再次返回步骤s2,生成新的一组测试向量输入进参考电路模型和实现电路模型,并将待匹配的比较点的数量的值(步骤s2里数学公式中的n)赋值为更新后的剩下的当前次的待匹配的比较点的数量的值,并对当前次的待匹配比较点进行进一步匹配。如此循环步骤s2-s3。

参考电路模型或实现电路模型第n次待匹配的比较点的数量为上一次(第n-1次)待匹配的比较点的数量的一半或者为上一次待匹配的比较点的数量加一或减一后的一半。直至大约次后,使得当前次待匹配的比较点的数量小于2,则说明实现电路模型cimp中的每一个比较点已经完全一一对应地与参考电路模型cref中的每一个比较点匹配,则不需要进行进一步的匹配,整个匹配过程结束,验证成功。n>1。

本发明基于二叉树原理对实现电路模型cimp与参考电路模型cref中的比较点进行匹配,仅仅需要次即能完成所有比较点的一一匹配,即将比较点匹配的复杂度降为。相比于传统技术中没有逻辑约束的启发式匹配方法的比较点匹配的复杂度为n-1,显著的降低了比较点匹配复杂度,降低了时序电路组合等价检验过程中比较点匹配的计算匹配时间,降低了内存的消耗。

为便于理解本发明的原理和方法以及便于理解本发明相比于传统技术的优点,下面以一对具有确定数值的实施例对本发明的原理、方法及优点进行说明。

在该实施例中,参考电路模型cref具有2个基本输入向量pi1、pi2,以及4个比较点m1、m2、m3、m4。实现电路模型cimp具有2个基本输入向量pi1、pi2,以及4个比较点n1、n2、n3、n4。

请参阅图3、6-8,采用传统技术的基于功能的启发式比较点匹配方法如下:

1)请参阅图6,通过第一组测试向量,得到[m1,n1],[m2,m3,m4,n2,n3,n4]。其中,[m1,n1]是匹配的比较点。

2)请参阅图7,通过第二组测试向量,得到[m1,n1],[m2,n3],[m3,m4,n2,n4]。其中,[m2,n3]是匹配的比较点。

3)请参阅图8,通过第三组测试向量,得到[m1,n1],[m2,n3],[m3,n2],[m4,n4]。其中,[m3,n2],[m4,n4]是匹配的比较点。

可以看出,采用传统技术中基于功能的启发式匹配方法,在没有逻辑约束的情况下,需要3次(n-1次)才能完成所有比较点的匹配,即比较点匹配的复杂度为3(n-1)。

请参阅图9-10,采用本发明的形式验证比较点匹配方法如下:

1)请参阅图9,通过第一组测试向量(pi1,pi2,rpi1,rpi2,rpi3,rpi4,ipi1,ipi2,ipi3,ipi4),可以将比较点分为2组:[m1,m2,n1,n3]、[m3,m4,n2,n4]。

2)请参阅图10,通过第二组测试向量(pi1,pi2,rpi1,rpi2,rpi3,rpi4,ipi1,ipi2,ipi3,ipi4),可以将比较点分为4组,[m1,n1],[m2,n3],[m3,n2],[m4,n4]。

可以看出,采用本发明的形式验证比较点匹配方法,在基于二叉树原理的逻辑约束情况下,需要2次(次)即能完成所有比较点的匹配,即比较点匹配的复杂度为2()。

需要说明书的是在其他实施例中,伪主输入向量的个数可以等于比较点的数量,也可以不等于比较点的数量。

本发明其次提出一种时序电路形式验证的比较点匹配系统,其采用上述形式验证比较点匹配方法对时序电路进行验证。该系统包括:输入模块,用于接收所述参考电路模型和实现电路模型的输入模块;测试向量搜索模块,控制参考电路模型和实现电路模型待匹配的比较点的测试向量随机生成,使得参考电路模型和实现电路模型的比较点的输出值可进行二叉树匹配;匹配模块,基于二叉树匹配对参考电路模型的待匹配的各比较点的输出值与实现电路模型的待匹配的各比较点的输出值进行匹配,直至参考电路模型和实现电路模型所有比较点全部一一匹配成功。

本发明还提出一种处理器,用于运行计算机程序,所述处理器运行所述计算机程序时执行上述形式验证比较点匹配方法。

本发明还提出一种存储器,用于存储计算机程序,所述计算机程序时执行上述的形式验证比较点匹配方法。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1