一种对组合逻辑电路等价验证的分级方法与流程

文档序号:21849803发布日期:2020-08-14 17:25阅读:800来源:国知局
一种对组合逻辑电路等价验证的分级方法与流程

本发明涉及芯片设计领域,特别是涉及一种对组合逻辑电路等价验证的分级方法。



背景技术:

等价验证是芯片设计中验证设计在优化前后功能一致性的一种常用的方法。等价验证中优化前后两个设计首先进行触发器配对,然后对配对的触发器的跳转(输入)逻辑进行对比。由于跳转逻辑是组合逻辑,所有这种对比称作组合逻辑等价验证。

对组合逻辑等价验证通常会使用bdd和sat的算法直接求解,但是在组合逻辑电路规模比较大的情况下,直接求解可能不收敛,随着电路复杂程度的提高,内存需求急剧上升,最终可能导致验证失败。

现有技术中,逻辑锥分割和匹配是建模层面的优化,即把一个整体的芯片等级性验证分割为多个匹配的逻辑锥之间验证。逻辑锥的出发点是电路中的存储器和电路输出信号。逻辑锥配对是等价验证建模的通用方法,可以降低等价验证的复杂度,但是对于每个逻辑锥的实际验证过程中,现有技术中并未使用比逻辑锥更细的等价点来进行简化逻辑电路,存在不能更大限度的降低验证复杂度的问题。



技术实现要素:

本发明主要解决的技术问题是提供一种等价验证的方法,能够解决现有技术中不能更大限度的降低整个组合逻辑电路设计验证的复杂度的问题。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种对组合逻辑电路等价验证的分级方法,包括以下步骤:

s1、对优化前后的芯片设计进行触发器配对;

s2、对配对后的触发器的跳转逻辑电路进行分级,所述分级包括:所述跳转逻辑电路的输入信号级数为0;所述跳转逻辑电路中任意一个逻辑门电路的内部信号级数为当前输入信号级数的最大值加1;

s3、对分级后的所述逻辑门电路的内部信号逐级匹配,得到匹配信号;

s4、对所述匹配信号进行逐级的等价验证,若当级匹配信号被证明等价,则仅保留一个代表信号进行下级验证。

逻辑分级的依据是逻辑依赖性,即逻辑器件输入的级别高于输出。芯片设计中组合逻辑一般没有回路,有的话进行回路切割处理。这样分级就会完整。在网表中对配对触发器跳转逻辑中的信号分级后,进一步对信号进行仿真配对,随后从级别最高的配对信号开始进行等价验证。

优选地,所述分级还包括:任意一个逻辑门电路的输出信号级数为当前输入信号级数的最大值加1。

优选地,一种对组合逻辑电路等价验证的分级方法,所述s1前还包括读入芯片设计代码,并解析为网表的步骤。

优选地,一种对组合逻辑电路等价验证的分级方法,对分级后的所述逻辑门电路的内部信号的匹配采用仿真配对的方式。

优选地,一种对组合逻辑电路等价验证的分级方法,对所述匹配信号进行逐级的等价验证还包括:若当级匹配信号被证明不等价,则验证结束。

优选地,一种对组合逻辑电路等价验证的分级方法,所述逐级的等价验证按照信号级数由小到大的顺序进行。

优选地,一种对组合逻辑电路等价验证的分级方法,所述等价验证采用bdd或sat算法。

优选地,一种对组合逻辑电路等价验证的分级方法,所述跳转逻辑电路只有一个输出信号,所述等价验证还包括:对所述输出信号进行验证。

优选地,一种对组合逻辑电路等价验证的分级方法,对所述输出信号进行验证包括:若所述输出信号的值为0,则整个电路等价。

一种对组合逻辑电路等价验证的分级方法,若所述输出信号的值为1,则整个电路不等价。

本发明的有益效果是:采用逐级分级的方法对组合逻辑电路进行分级,并将分级后的跳转逻辑进行逐级等价验证,分级简化组合逻辑电路,大大降低了组合逻辑电路设计验证的复杂度。

附图说明

图1是两个门级电路的逻辑分级示意图;

图2是第2级门电路验证等价后简化电路的示意图;

图3是第2级门电路验证等价后简化电路的示意图。

具体实施方式

为了使本发明的技术方案和目的更加清楚,以下实施例结合附图对本发明作进一步地阐述。

实施例1

等价验证中优化前后两个设计首先进行触发器配对,然后对配对的触发器的跳转(输入)逻辑进行对比。组合逻辑等价验证是证明一个带输出的组合逻辑电路输出是否可以为0。组合电路因为没有回路因此可以看作是一个有向无回路图。一个组合逻辑电路具有一个输出信号,一个或多个输入信号,以及内部信号和驱动这些信号的门电路,比如与门,非门和或门,组合逻辑电路的分级是一个递归算法。

一种对组合逻辑电路等价验证的分级方法,包括以下步骤:

s1、对优化前后的芯片设计进行触发器配对;

s2、对配对后的触发器的跳转逻辑电路进行分级,所述分级包括:所述跳转逻辑电路的输入信号级数为0;所述跳转逻辑电路中任意一个逻辑门电路的内部信号级数为当前输入信号级数的最大值加1;

s3、对分级后的所述逻辑门电路的内部信号逐级匹配,得到匹配信号;

s4、对所述匹配信号进行逐级的等价验证,若当级匹配信号被证明等价,则仅保留一个代表信号进行下级验证。

对跳转逻辑电路进行分级的依据是逻辑依赖性,即逻辑器件输入的级别高于输出。芯片设计中组合逻辑一般没有回路,有的话进行回路切割处理。这样分级就会完整。在网表中对配对触发器跳转逻辑中的信号分级后,进一步对信号进行仿真配对,随后从级别最高的配对信号开始进行逐级等价验证。

所述分级还包括:任意一个逻辑门电路的输出信号级数为当前输入信号级数的最大值加1。

进一步地,一种对组合逻辑电路等价验证的分级方法,所述s1前还包括读入芯片设计代码,并解析为网表的步骤。进一步地,采用仿真配对的方式对所述跳转逻辑内部信号进行配对。

逻辑分级的具体做法是网表aig化,当然其他按输入输出关系分级的方法也可以使用。给定一个组合逻辑网表,aig化从网表的输出开始,有输出向输入进行递归建模,而模型的器件之用到与门和非门,递归的完成顺序即上述逻辑级别。

进一步地,一种对组合逻辑电路等价验证的分级方法,对所述匹配信号进行逐级的等价验证还包括:若当级匹配信号被证明不等价,则验证结束。

进一步地,一种对组合逻辑电路等价验证的分级方法,所述逐级的等价验证按照信号级数由小到大的顺序进行。

进一步地,一种对组合逻辑电路等价验证的分级方法,所述等价验证采用bdd或sat算法。

进一步地,一种对组合逻辑电路等价验证的分级方法,所述跳转逻辑电路只有一个输出信号,所述等价验证还包括:对所述输出信号进行验证。

进一步地,一种对组合逻辑电路等价验证的分级方法,对所述输出信号进行验证包括:若所述输出信号的值为0,则整个电路等价,若最终输出信号值为1,则整个电路不等价。

实施例2

在一示例性实施例中,采用上述一种对组合逻辑电路等价验证的分级方法对一个示例性电路进行分级验证。

逻辑分级的具体做法是网表aig化,当然其他按输入输出关系分级的方法也可以使用。aig即与非图。给定一个组合逻辑网表,aig化从网表的输出开始,有输出向输入进行递归建模,而模型的器件之用到与门和非门。递归的完成顺序即上述逻辑级别。

组合逻辑等价验证是证明一个带输出的组合逻辑电路输出是否可以为0。组合电路因为没有回路因此可以看作是一个有向无回路图。一个组合逻辑电路具有一个输出信号,一个或多个输入信号,以及内部信号和驱动这些信号的门电路,比如与门,非门和或门,组合逻辑电路的分级是一个递归算法。

如图1所示,对两个简单的门级电路做等价验证,根据电路图,先把整个电路按照上述的步骤进行逻辑分级:1.输入信号为a,b,c,d四个信号,其级别为0;

2.从信号流入的方向进一步可以看到或非门e和与门f,或非门e的输入为a和b,因此非门e的输出端级别为1。同理,与门f的输出级别也为1;

3.依次看到或非门g和与门h,或非门g的输入端是或非门e的输出和输入信号c,两个输入中信号级别数最大的是或非门e,为1,因此可以确定或非门g的输出端级别为2。同理,可以确定与门h的级别数也为2;

4.从g2和h2输出端继续分析,可以看到与门i和与门j的输入信号。对于与门i,它的输入信号为g2和d0,根据上述递归算法的步骤2可以确定与门i的输出端级数为3。同样的分析得到与门j的输出端级数也为3。

5.当对i3和j3进行等价检验时,可以看作是等价器的两个输入信号,等价器输出k的级数就可以确定为4;

进一步地,逻辑分级只是第一步,接着对全部逻辑信号进行仿真匹配,并采用bdd和sat的方式,按照由高到低的级数进行顺序验证,步骤如下:从级数为0的输入信号开始,进行分步验证,第1级的或非门e和与门f所有信号若被证明等价,我们只保留第1级的一个代表信号继续下一级的验证。

进一步地,当第2级的或非门g和与门h在基于bdd或sat算法等价验证中被证明等价后,g=h,那么我们可以只保留信号g参与等价验证,其简化后的电路如图2所示。

进一步地,根据简化后的电路图进一步做等价验证,当证明第3级的i和j等价后,同样可以继续简化电路,得到如图3所示的简化电路。

进一步地,如图3所示,因为i=j,所以第4级的等价验证就缩小为比原设计小很多的简单等价验证,此时只要证明最终输出信号k是否为0就可以得到整个设计的等价验证结果,即如果最终输出信号k=0,则组合逻辑电路等价,若最终输出信号k=1,则验证组合逻辑电路不等价。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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