JPH03156572A - 論理回路比較検証システムおよび方法 - Google Patents

論理回路比較検証システムおよび方法

Info

Publication number
JPH03156572A
JPH03156572A JP2208075A JP20807590A JPH03156572A JP H03156572 A JPH03156572 A JP H03156572A JP 2208075 A JP2208075 A JP 2208075A JP 20807590 A JP20807590 A JP 20807590A JP H03156572 A JPH03156572 A JP H03156572A
Authority
JP
Japan
Prior art keywords
logic
bdd
boolean
node
comparing
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.)
Pending
Application number
JP2208075A
Other languages
English (en)
Inventor
Osamu Okuzawa
治 奥澤
Kazuhiko Matsumoto
和彦 松本
Yukio Ikariya
碇谷 幸夫
Hiroshi Mochizuki
寛 望月
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPH03156572A publication Critical patent/JPH03156572A/ja
Pending legal-status Critical Current

Links

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は2つの論理回路、特に階層化論理設計における
上下階層論理の比較に好適な論理回路のコンピュータに
よる比較検証システムおよび方法に関する。
〔従来の技術〕
従来、ディジタル装置の論理設計を行う場合、詳細論理
図を用いて行っていたが、近年では、より上位レベルの
機能論理図を用いて行うことが多くなってきた。機能論
理図で論理設計を行う場合には、設計者は、機能論理図
から詳細論理図に展開し、設計を階層的に進めていく。
この時、上位階層の機能論理図と、展開された下位階層
の詳細論理図の論理等価性を検証する必要がある。
従来、階層化論理設計された上位論理と下位論理の間の
等価性をコンピュータにより比較検証する方法には、次
のようなものがあった。
(i)上位論理と下位論理に同一のテストパターンを与
えて論理シュミレーションを行い、出カバターンの一致
チェックを行う方法、 (ii)上位論理と下位論理から、各々の出力変数につ
いてのブール式を作成し、それらを加法aiI!形に変
換して互いに比較する方法、またはそれらの排他的論理
和をとって比較する方法、 (nu)上位論理と下位論理から2分決定木(バイナリ
・デシジョン・ダイアグラム、以下、BDDと呼ぶ)と
呼ばれる論理表現に変換して、それらの等価性を検証す
る方法、である。
なお、上記(iii)のBDDを用いた検証法は、例え
ば、「第10回インターナショナル・シンポジウム・オ
ン・フォールトトレラント・コンピユーテイング論文集
(1980)Jl“エイカーズ・ア・プロシジャ・フオ
・ファンクショナル・デザイン・ベリフィケーション(
Akers、 A  PROCEDURE  FORF
UNCTIONAL  DESIGN  VERIFI
CATIC)N)”に論じられている。ここでは、論理
回路、真理値表、ブール式等の論理表現から直接BDD
を作成して、これに正規化・比較・抽出・単純化の処理
を何回か繰り返して、比較検証を行っている。すなわち
、第5図に示すように、上位レベルと下位レベルにおけ
る論理回路、真理値表、あるいはブール式のいずれかで
示されたもの51.52を、それぞれBDD生成部52
.53でBDDに変換した後、正規化部55で正規化し
て、両者を比較部56で比較する。そして、抽出部57
での抽出処理と、単純化部58での単純化処理を繰り返
し行った後、比較部56で比較検証を行って一致してい
るか否かを確認し、処理を終了する。
〔発明が解決しようとする課題〕
上述した従来の論理比較検証においては、次のような問
題点があった。すなわち、 (i)論理シュミレーションの結果を比較する方法では
、上下階層間の一致を保証するためのテストパターンの
作成に手間がかかっていた。
(ii)ブール式を比較する方法では、変数の数をNと
すると、処理時間や必要とするメモリ容量がともにN゛
のオーダとなるため、変数が増加すると処理不能となっ
てしまう。
(iii)BDDを用いる検証方法では、一致するまで
、正規化・比較・抽出・単純化の一連の処理のループを
繰り返す必要があるため、繰り返し回数をに、BDDの
ノード数をNとすると、処理時間はに−NQogNとな
り、膨大な時間がかかることになる。
本発明の目的は、これら従来の課題を解決し、2つの論
理回路、特に上下階層から抽出した論理を、使用記憶領
域を増加させず、かつ高速に比較検証し、一致するか否
かを判定することができる論理回路の比較検証システム
および方法を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明による論理回路の比較
検証システムは、(イ)コンピュータに入力されたブー
ル式、真理値表および論理回路のいずれかで表現された
論理1.論理2を全てブール式に変換するブール式抽出
部と、該ブール式抽出部により抽出されたブール式から
シャノンの公式により括り出す変数順を論理1と論理2
とで同一の順序として2分決定木を作成するBDD作成
部成品該BDD作成部成品り作成されたBDDを単純化
するBDD単純化部と、該単純化された2つのBDDを
1回の比較で一致しているが否かを判定するBDD比較
部とを設けたことに特徴がある。
(ロ)また、上記(イ)の論理回路比較検証システムに
おいて、比較部は2つの簡単化されたBDDを下位階層
から統合しながら比較する機能を持つことに特徴がある
。(ハ)また、上記(イ)の論理回路比較検証システム
において、論理lおよび論理2はそれぞれ階層論理設計
における上位レベルの論理と下位レベルの論理であるこ
とを特徴とする。
また、本発明による論理回路比較検証方法は、(ニ)コ
ンピュータに入力されたブール式、真理値表および論理
回路のいずれかで表現された論理1゜論理2を全てブー
ル式に変換し、次にシャノンの公式により括り出す変数
順を論理lと論理2とで同一の順序として2分決定木を
作成し、次にそれぞれの2分決定木を簡単化し、1回の
比較で一致しているか否かを判定することに特徴がある
(ホ)また、本発明による2分決定木の作成比較方法は
、論理回路、真理値表、およびブール式のいずれかで表
現された論理1と論理2の等価性を比較検証する方法に
おいて、論理1と論理2の表現を全てブール式に変換し
た後、論理1と論理2に対して同一の順序でシャノンの
公式を適用し、作成された2分決定木を下位階層から統
合しながら比較することに特徴がある。(へ)また、上
記(ニ)の論理回路比較検証方法は更に、最初に階層論
理設計における上位レベルの論理と下位レベルの論理か
らそれぞれ比較検証対象の論理を読出し、次に、読出さ
れた論理からブール式を作成し、次に、作成された各ブ
ール式に対して論理回路の比較検証を行うことを特徴と
すること、および(ト)論理回路の同一の機能を複数の
方法で設計するか、複数の設計者が設計した場合に、設
計された各論理からそれぞれブール式を作成し、次に作
成された各ブール式に対して、上記(ニ)に記載された
論理回路の比較検証方法を利用して等価性を比較するこ
とに特徴がある。
〔作用〕
本発明においては、異なる2つのレベルの論理を比較す
る場合に、それらが論理回路図、真理値表等を含むどの
ような論理表現であっても、これらの図を一旦ブール式
に変換し、2つのブール式に対して括り出す変数の順序
を同じにし、シャノンの公式を適用することによりBD
Dを作成する。
次に、このようにして作成した2つのBDDに対する等
偏性判定を行う場合、各々、単純化を行った後、2つの
BDDで共通構造の部分を下層部から統合していくこと
により、ループのない1回の処理で判定することが可能
である。
〔実施例〕
以下、本発明の好ましい実施例を、図面により詳細に説
明する。
第7図は本発明の論理回路比較検証システム(以下、関
連システムも含め単にシステムと呼ぶ)のハードウェア
構成の概略図である。
比較検証の対象となる論理1と論理2がそれぞれ階層化
論理設計における上位論理ファイル106aおよび下位
論理ファイル106bとして磁気ディスク記憶装置等に
格納されている。等価回路ライブラリ107は、論理回
路素子に対応するパラメータ形式のブール式が格納され
ている磁気ディスク記憶装置等である主記憶装置102
には、論理比較検証プログラムが格納され、また、その
プログラムが利用するブール式テーブル104、BDD
テーブル105等が設けられている。これらのテーブル
は後述のように上位用、下位用に分けられている。処理
装置101は論理比較検証プログラム103に従って論
理比較検証処理を実行する。比較検証結果は結果出力用
のプリンタ108に出力される。
論理比較検証プログラム103の構成を第8図に示す。
ブール式抽出部10は、論理回路、真理値表またはブー
ル式で表わされた上位および下位の論理ファイル106
aおよび106bからブール式を抽出する。論理回路か
ら抽出する場合は等価回路ライブラリ107を参照する
下位論理ファイルは通常は論理回路形式の論理のみ格納
されている。抽出されたブール式はブール式テーブル(
上位)104a、またはブール式テーブル(下位)l 
04 bに格納される。
BDD作成部11は、ブール式テーブル104aおよび
104bのブール式からBDDを作成しそれぞれ対応す
るBDDテーブル105aおよび105bに格納する。
これらのBDDはBDD単純化部12で単純化された後
、BDD比較部13で比較される。比較結果はプリンタ
108により、結果出力リスト109として出力される
なおコントロール部14は上記プログラムの各部の起動
、停止等の制御を行なう。
以下、ブール式抽出部1O1BDD作成部11. BD
D単純化部12、およびBDD比較部13の機能および
処理手順を詳細に説明する。
第1図は本発明の実施例を示す論理回路の比較検証方法
の処理の流れの機能ブロック図である。
第1図に示すように、上位レベルと下位レベルの論理毎
に論理回路、真理値表、またはブール式1.2をそれぞ
れブール式3.4に変換する。下位レベルの論理は通常
は論理回路形式でのみ表わされている。BDD作成部1
1においては、2つのブール式3,4に対して、シャノ
ンの公式の適用による展開を、括り出す変数を同一順序
にして行なう。
ところで、シャノンの公式とは、以下に示すように、ブ
ール式rをその中のある入力変数Aを0に固定した式f
A−0とlに固定した式fA−1によって展開する公式
である。
f=A−fA−0+A ’ f A−1このようにして
、それぞれBDD5.6を作成した後、BDD単純部1
2によりBDDを単純化し、BDD比較部13で両方の
BDDを比較する。
このように、種々の論理表現で表わされた異なる2つの
レベルの論理の等偏性を検証する場合、−旦ブール式表
現に変換した後、同じ順序で変数を括り出してシャノン
の公式を適用して作成したBDDを用いて検証すると、
対象の回路がどのような形式で与えられていても、組み
合わせ論理回路を1単位として取り出せる限り、各々の
組み合わせ論理回路に対して適用することができるので
、大規模LSIでも、小回路に分割して行われる分割階
層設計において対応できる。組合せ論理回路とは、レジ
スタやフリップフロップ等のデータ保持機能を持たない
ある論理機能を持った論理回路である。
ブール式の抽出処理を行なうブール式抽出部10の機能
を第9図および第13図により説明する。
まず、ブール式抽出部10に対する入力となる上位論理
ファイル106aと下位論理ファイル106bのデータ
形式の例を第13図に示す。
(a)は、論理設計者が設計した上位論理の例を示す。
、m、:でX1、X2.Y、X3.X4およびx5は入
力又は出力の信号名である。MlおよびM2はある論理
機能を持つ組合せ論理回路(以下モジュールと呼ぶ)の
名称である。A、B、CおよびPはモジュールの入力ま
たは出力のパラメータである。このパラメータは入出力
ビンと考えてもよい。
&は論理積(AND)、!は論理和(OR)を意味する
A&B ! P : Cは、゛出力CはAとBの論理積
とPの論理和をとったものである”ということを示す。
即ち、この式は、出力パラメータを入力パラメータで表
わしたブール式である。
この上位論理はシステムに入力されて上位論理ファイル
に格納されるが、そのファイルのデータ形式が(C)に
示されている。GMMIは本データがモジュールMlに
対するものであることを示す。IN  A=X1はパラ
メータAにXlという信号名の信号が入力されることを
表わす。0UTC=X4はパラメータCからx4という
信号名の信号が出力されることを表わす。BLは式がブ
ール式であることを表わす。
(b)は上位論理M1に対応する、論理回路で表わされ
た下位論理である。Xi、X2.YおよびX4は入力ま
たは出力の信号名である。
■、2.および3は入力または出力のパラメータである
。このパラメータは人出力ビンと考えてよい。LGlo
oおよびLG200はある論理機能を持つ基本モジュー
ルの名称である。M1、Olはその論理回路における基
本モジュールの識別名である。
この下位論理の論理ファイルのデータ形式を(d)に示
す。
BMは基本モジュールを示す。1=X1はパラメータと
信号名の対応を示す。M1、0001はシステムで自動
的に付与された信号名である。システムは、下位論理フ
ァイル自体からは、この基本モジュールがどのような論
理機能を持ち、どれが入力信号でどれが出力信号である
かはわからない。
第9図はブール式抽出部の機能を示す。
ステップ201では処理対象の論理ファイルのデータを
読出して、それが真理値表形式であるか否か調べる。真
理値表形式でなければ、ステップ202へ進み論理回路
素子形式か否か調べる。論理回路素子形式でなければ、
ブール式形式に決まる。(実際にはブール式形式か否か
調べるが図では省略している。)処理対象がブール式形
式であるとステップ205に進み、パラメータ形式で表
わされたブール式に信号名を代入して信号名で表わした
ブール式を作成する。例えば第13図の(a)汎用モジ
1−/1、Ml(7)場合は、X4=Xl&X2!Yが
作成される。
ステップ202で処理対象が論理回路素子形式であると
判定されるとステップ204へ進む。ステップ204で
は、論理回路素子の名称即ち基本モジュール名称に対応
するブール式を第8図の等価回路ライブラリ107から
読出す。等価回路ライブラリ107には、例えば第13
図(b)のLGIooに対応する格納領域には3=1&
2というパラメータ形式のブール式が格納されている。
ステップ204で、論理回路が複数個の論理回路素子で
構成されている場合は、等価回路ライブラリからそれぞ
れの論理回路素子に対応するブール式が読出され、それ
らが組合わされて1つの出力パラメータを入力パラメー
タで表わしたブール式が作成される。ステップ201で
処理対象が真理値表であると判定されるとステップ20
3に進み所定の規則に基づきパラメータ形式のブール式
が作成される。例えば下記左のような真理値表から右に
示すようなブール式が作成される。
真理値表      ブール式 変換規則については、本発明の主題に直接関係がないの
で省略する。ステップ203および204で作成された
ブール式はパラメータ形式のブール式であり、ステップ
205において、パラメータに信号名が代入されて信号
名で表わしたブール式が作成され、第8図のブール式テ
ーブル104aまたは104bに格納される。
第2図は、第1図におけるBDD作成部11の処理の説
明図であって、ブール式からBDDを生成する過程の例
を示す図である。
第2図(a)はBDDの基本要素を一般的形式で示した
ものであり、■はVariableの略であって、ノー
ド変数、Zは左下のノード番号、Uは右下のノード番号
を示している。Nはブール式である。
■=Oのときには、NはZとなり、V=1のときには、
NはUとなる。第2図(b)は、A、 B、 C。
DがそれぞれIloのときのブール式であり、(C)は
(b)の計算結果に基いて作成されたBDDである。こ
こでは括り出す変数の順序をA、B。
C,Dの順序にしている。BDDは、第2図(a)に示
した特質を有しているため、第2図(b)の式21は第
2図(d)における22の枝の部分で示されることにな
る。
この原理を基にして、第2図(b)では、g=AB+C
D十B Dのうち、A、B、C,Dの値によりブール式
gの値が種々の値になることを示している。すなわち、
A=Oのときには、g=B+CD十B D となる。ま
た、A=1のときには、g=CD+B  D となる。
また、A=O,B=0のときには、g=CD+Dとなる
。また、A=O。
B=1のときには、g=−1+CDとなる。また、A=
1、B=Oのときには、g=CD+Dとなる。
また、A=1、B=1のときには、g=CDとなる。ま
た、A=O,B=O,C=Oのときには、g=Dとなる
。また、A=O,B=O,C=1のときには、g=D+
D=1となる。また、A=0゜B=1.C=0のときに
は、g=1となる。また、A=O,B=1、C=1のと
きには、g= l +D=1となる。また、A=1.B
=O,C=Oのときには、g=Dとなる。また、A=1
、B=O。
C=1のときには、g=D+D=1となる。また、A=
1.B=1.C=Oのときには、g=oとなる。また、
A=B=C=1のときには、g=Dとなる。このように
して求めた式gのBDD全体の構造を表わしたものが(
C)である。このBDDの読み方としては、例えばA=
O,B=O,C=0のときはいずれも左側の枝が選択さ
れて、ブール式g=Dとなる。第2図(d)のBDDは
、第2図(b)の展開結果をもとに、後述のBDD単純
化処理を行なって作成されたものである。黒丸は1を示
している。上記BDD作成処理手順をフローチャートで
表わしたものが第10図である。
第1O図(a)において、 ステップ301でBDDを作成するブール式をブール式
テーブル104aまたは104bから取出して主記憶装
置102上の一時エリアに移す。
次に一時エリアのブール式に対し、括り出す変数にOお
よびlを代入して式の計算を行なう。そして計算結果を
一時エリアに格納する。計算結果の式の数は、変数にO
を代入したものと、■を代入したものができるので2倍
となる(ステップ302)。
ステップ303で、次に括り出す変数を指定する。変数
はn個あるものとする。ステップ304で変数がn番目
のものかどうか判定する。変数がn−1番目のもの以下
であればステップ302の処理が繰り返される。変数が
n番目のものになればステップ305に進み、変数と完
全なりDDのノードに格納領域が割当てられて格納され
、ステップ306で各末端の枝に対応する格納領域にス
テップ302の計算の最終結果が書込まれる。これらの
格納領域は第8図の105aおよび105bに示される
ように、上位論理用BDDテーブルおよび下位論理用B
DDテーブルである。
BDDテーブルの格納状態を第2図(C)のBDDを例
にとって第10図(b)および(e)により説明する。
第1O図(b)は第2図(C)のBDDそのものである
が、各ノードの右肩にノード番号を付加したものである
。そして便宜上ノード番号がそのノードの記憶領域の番
地を示すものとする。
第1θ図(C)は記憶領域にBDDが格納された状態を
示す。
変数A、B、C,およびDは記憶領域の番地1゜2.3
.および4に格納されている。そして根(r o o 
t)のノード番号“20”は根番号格納領域に格納され
ており、ノード格納領域が20番地からはじまっている
ことが示されている。ノード格納領域の各番地にはノー
ド変数■のアドレス、左下のノード番号Zおよび右下の
ノード番号Uが格納されている。但しZおよびUの格納
領域中の0は定数値Oを表わし、O′は定数値Oの否定
値、即ち1を表わす。また0以外に付加された′ (ダ
ッシュ)はZまたはUの値の否定値を示す。例えばノー
ド番号23 (233番地を見ると、■は3番地にある
変数Cを示し、またZは4′であり4番地の変数りの否
定値りを示し、更に、Uは0′であり定数値1であるこ
とを示している。
第3図は、第1図におけるBDD単純化部の処理の説明
図であって、(a)に単純化のルールを、また、(b)
に単純化の例を示す。
第3図(a)のルール1では、左下のZと右下のUが等
しいときには、左下のZを上部のNに結合して単純化で
きること、すなわち、ノード変数を省略することができ
る。ルール2では、左下のZと右下のUの否定値がいず
れもOであるときには、ノード変数■はブール弐Nとな
ることを示している。ルール3では、左下のZと右下の
Uの否定値がいずれも1であるときには、ノード変数V
の否定値がブール弐Nであることを示している。
第3図(b)では、破線の31の部分がC=0でもC=
1でも1となること、を示しているため、(a)のルー
ル1を適用することにより、Cを削除し、Bに直接lを
接続してこれを単純化する。単純化により、次のステッ
プの比較処理の処理時間が短縮される。このBDD単純
化部12の機能をフローチャートで表わしたものが第1
1図である。
第11図のステップ401で末端のノードで最大ノード
番号を持つものを処理対象として選ぶ。ステップ402
で第3図(a)に示される単純化ルールが適用可能か否
かを調べる。それが適用可能と判定されるとステップ4
03に進み、該当ノードを削除し、そのノードの上の枝
(Nの枝)に上記ルールに基づいて値を付加する。
ステップ402で単純化ルールが適用不可と判定される
とステップ405に進み、処理対象を残って同一の階層
の若い番号のノードに、またもし同一階層の若い番号の
ノードがなくなれば1つ上の階層の最大ノード番号のノ
ードに移し、ステップ402に戻る。ステップ404で
処理対象が根(r o o t)か否か調べ、根であれ
ば単純化処理は終了する。根でなければステップ405
に進み、同様の処理を繰返す。
二のようにして単純化した後、第1図に示すように、B
DD比較部13で比較が行われる。
第4図は、第1図におけるBDD比較部13の処理例を
示す図であって、上段はBDDの統合により比較が行わ
れていく過程を示し、下段はBDDを計算機システムで
扱う際に記憶する領域のモデルを示している。比較され
る2つのBDDは、先の説明のように単純化されてしま
っているので、第10図(b)、 (C)で示したよう
な最大構造のBDDではなく、記憶領域も最小限度に縮
小されている。
第4図の上段において、破線41で囲まれたBDDのノ
ード(節)は、ノード番号5であるため、その下段に示
すように、便宜上記憶領域の5番地(その領域を42で
示す)に対応させるものとする。
記憶領域の各番地には、V、 Z、 Uのレコードが格
納されており、■はそのノードの変数、Zは左下のノー
ド番号、Uは右下のノード番号をそれぞれ示しているこ
とは第1θ図(b)(C)の説明と同様である。
この例では、変数A、B、C,Dがそれぞれ記憶領域の
番地1,2,3.4に格納されているため、ノード5を
考えると、変数A、左下のノード番号6、右下のノード
番号7であることから、記憶領域にはV=1.Z=6.
U=7が格納されている。下段で、0は定数値Oを表わ
す。また′(ダッシュ)は、変数または定数の否定値で
あることは先に説明した通り。
比較部では、次のような手順によりBDDの統合を行い
、等偏性を検証する。ここでは、各BDDは、ノード番
号が小さい方が上位階層であるように作成されている。
(イ)先ず、2つのBDD(f、g)の中でノード番号
が最大のノードから同一構造のノードをサーチする。次
に、発見された同一構造のノードの中において、ノード
番号が最も小さい番号で、全ての同一構造のノードのノ
ード番号を置換する。例えば、43の過程では、ノード
番号が最大のノードとして、ノード16と同一構造のノ
ードをサーチし、ノード10とノード11が発見された
ため、このうち最小である10番を採用し、この10番
のノードで他の11番と16番を置換する。このため、
11番に接続されている変数Bの7番と、16番に接続
されている変数Bの13番および14番と10番との間
にそれぞれ線を引く、一方、11番と16番が格納され
ている領域、つまりノード番号7のZとノード番号13
のZとノード番号14のZを、全て10番に置き換える
(下段の中央の枠で囲まれたノード番号7,13゜14
を参照)。また、ノード番号11と16を削除する(×
印のノード番号11.16を参照)。
(ロ)このようにして、1つのBDDの全てのノードに
ついて、順次上記(イ)を適用する。例えば、ノード1
5と同一構造のノードとしてノード9を、またノード1
4と同一構造のノードとしてノード7を、またノード1
3と同一構造のノードとしてノード6を、それぞれ発見
した後、記憶領域からノード番号13.14.15を削
除する。さらに、ノード12と同一構造のノードとして
、ノード5を発見し、記憶領域からノード12も削除す
る。
(ハ)上記(ロ)の処理を続行していき、2つのBDD
の根(第4図の場合には、f、  g)のノード格納領
域が一致すれば、等価性が検証されたことになる。等価
でない、場合には、一致する前に、上記(イ)の処理が
続行不能となる。このBDD比較部の機能をフローチャ
ートで示したものが第12図である。
ステップ501で、BDDノード格納エリアのうちアド
レス最大のエリアを処理対象とする。
ステップ502で、ノード格納エリアをサーチし、処理
対象のエリアと、V、Z、Uの組合せが同じものを見つ
ける。
ステップ503で、サーチの結果同じものがあるか否か
調べる。同じものがあればステップ504に進み、V、
Z、Uが同じエリアのうちアドレスが最小のものを残し
て他のエリアを消し、残ったノード中で、消されたエリ
アのアドレスを持つものは全て前記最小のアドレスに書
き換えられる。
次のステップ505へ進む。
ステップ503でサーチの結果同じものがなければステ
ップ505に進み、処理対象を1つ前の有効なエリアに
移す。
ステップ506で、処理対象がノード格納エリアの先頭
か否かを根(r o o t)番号記憶領域の値と比較
して調べる。ノード格納エリアの先頭であれば処理は終
了する。このとき2つのBDDの根のノード番号格納領
域が一致していれば等価性が証明されたことになる。
ステップ506で、処理対象がノード格納領域の先頭で
なければステップ502に戻り同様の処理を繰り返す。
この比較方法は、第5図に示した従来のBDD比較方法
とは全く異なっている。すなわち、BDDの正規化や変
数への値の代入を必要とせず、BDDの枝のつけ換えを
行っていくことだけで、検証することができる。このよ
うな論理等価性検証は、ILsIの回路において、ある
機能を持った組み合わせ回路の単位毎に、その各出力信
号線が構成する論理について実施される。これらのブー
ル式は、そのモジュールの入力信号線を入力変数とする
ものである。
第6図は、本発明の検証方法を用いた論理検証システム
の処理フローチャートである。
例えば、上位レベルの論理61と下位レベルの論理63
が、第6図に示すような構造であったとすると、これら
上位レベルと下位レベルの2つの論理から対応するモジ
ュールを取り出し、その出力信号から回路をトレースし
てブール式62.64を作成する。次に、作成されたブ
ール式62.64について、本発明による論理回路の比
較検証方法65を適用し、検証結果66を出力する。
第6図では、上位レベルの論理61におけるMlは下位
レベル論理63の破線内のMlに対応するので、上位レ
ベルの論理61からZ=A−B+A−Bのブール式62
を作成し、下位レベルの論理63からZ=A (A十B
) 十B (A十B)のブール式式64を作成する。
このようにして、階層化論理設計における上下階層の論
理比較が可能となる。
また、他の実施例として、同一機能を、実現する論理回
路を異なる方法で設計する場合でも、人出力信号名を統
一して設計しておくことにより、本発明の方法を適用し
て2つの回路を比較検証することができる。すなわち、
第6図の上位レベルの論理と下位レベルの論理を、それ
ぞれ異なる方法で設計した同一機能の論理回路であると
すると、全く同じ方法で比較検証を行うことができる。
さらに、他の実施例として、同一の機能を複数の設計者
が設計した場合にも、第6図の方法を適用することがで
きる。すなわち、第6図の上位レベルの論理と下位レベ
ルの論理を、それぞれ異なる2人の設計者が設計した論
理回路であるとすると、全く同じ方法で比較検証を行う
ことができる。
なお、本発明の検証方法によれば、高速に比較判定する
ことができる。例えば、20変数としたときには、従来
の方法の繰り返し回数をに回とすると、約10に倍の速
度で検証を行うことが可能である。
〔発明の効果〕
以上説明したように、本発明によれば、2つの論理回路
、特に階層化論理設計における上下階層の論理の等偏性
を比較検証する場合に、各階層から抽出した論理を、従
来のシステムおよび方法に比べて、使用する記憶領域を
増加せず、かつ高速に検証して、一致しているか否かを
判定することができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す論理回路の比較検証方
法の処理の流れ図、第2図は第1図におけるBDDの生
成過程を示す説明図、第3図は第1図におけるBDDの
単純化を示す説明図、第4図は第1図におけるBDDの
比較例を示す説明図、第5図は従来のBDDの検証方法
を示す処理の流れ図、第6図は本発明の応用例を示す論
理検証システムの処理の流れ図、第7図は論理回路比較
検証システムのハードウェア構成図、第8図は本発明の
論理比較検証システムのソフトウェア構成図、第9図は
ブール式抽出部の機能を示すフローチャート、第10図
はBDD作成作成機能を示すフローチャート第11図は
BDD単純化部の機能を示すフローチャート、第12図
はBDD比較部の機能を示すフローチャート、第13図
は論理ファイルのデータ形式を示す図である。 1、 2.51.53・・・論理回路、真理値表、ブー
ル式、3,4・・・ブール式、5. 6.52.54・
・・BDD部、10・・・ブール式抽出部、11・・・
BDD作成作成機2・・−BDD単純化部、13・・・
BDD比較部、55・・・正規化部、56.・・比較部
、57・・・抽出部、58・・・単純化部、61、63
・・・上位下位レベルの論理、62.64・・・ブール
式、103・・・比較検証プログラム。 第 1 ロ 図 9 A、o、しI、 c−t−7” D9a−t、 a
−σ、(、,6テD 9km l+ am 1. C−1−”7’A −b 
a−r、 c+ r=D 第8圀 第 O 第 ノ3 国 (2) 上1立講理 (乙) 」二1立言fR理フフイル/1子−ヲ形氏!=閃!ρρ
ρ1 ?二工 3二×4

Claims (1)

  1. 【特許請求の範囲】 1、2つの論理回路の等価性をコンピュータにより比較
    検証するシステムにおいて、 論理回路、真理値表またはブール式のいずれかの形式で
    表現された論理1、論理2をそれぞれブール式に変換す
    るブール式抽出部と、 上記各ブール式から、それぞれ括りだす変数の順序を同
    一にしてシャノンの公式を適用して、2分決定木(以下
    BDDと呼ぶ)を作成するBDD作成部と、上記BDD
    を単純化するBDD単純化部と、 上記各単純化されたBDDを比較検証するBDD比較部 とを備えた論理回路比較検証システム。 2、上記BDD比較部は、上記BDD単純化部により単
    純化された2つのBDDを下位階層から統合を行ないな
    がら、比較することを特徴とする特許請求項1記載の論
    理回路比較検証システム。 3、上記論理1、論理2は、それぞれ、階層化論理設計
    における上位レベル論理と下位レベル論理である特許請
    求項1記載の論理回路比較検証システム。 4.2つの論理回路の等価性をコンピュータにより比較
    検証するシステムにおいて、論理回路、真理値表または
    ブール式のいずれかの形式で表現された論理1、論理2
    をそれぞれブール式に変換し、 次に、上記各ブール式から、それぞれ括りだす変数の順
    序を同一にしてシャノンの公式を適用して、BDDを作
    成し、 次に、上記各BDDを単純化し、 次に、上記各単純化されたBDDを比較検証する論理回
    路比較検証方法。 5、論理回路、真理値表またはブール式のいずれかの形
    式で表現された論理1、論理2の等価性を比較検証する
    方法において、上記論理1と論理2の表現を全てブール
    式に変換した後、該各ブール式に対して、括りだす変数
    の順序を同一にして、シャノンの公式を適用してBDD
    を作成し、該作成された2つのBDDを下位階層から統
    合を行ないながら、比較することを特徴とするBDD作
    成比較方法。 6、上記論理1、論理2は、それぞれ、階層化論理設計
    における上位レベル論理と下位レベル論理である特許請
    求項4記載の論理回路比較検証方法。 7、論理回路の同一の機能を複数の方法で設計するか、
    複数の設計者が設計した場合に、該設計された各論理か
    らそれぞれブール式を作成し、該ブール式に対して、そ
    れぞれ括りだす変数の順序を同一にしてシャノンの公式
    を適用してBDDを作成し、該作成されたBDDを単純
    化し、該単純化されたBDDを比較することを特徴とす
    る論理回路比較検証方法。
JP2208075A 1989-08-09 1990-08-08 論理回路比較検証システムおよび方法 Pending JPH03156572A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1-206090 1989-08-09
JP20609089 1989-08-09

Publications (1)

Publication Number Publication Date
JPH03156572A true JPH03156572A (ja) 1991-07-04

Family

ID=16517648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2208075A Pending JPH03156572A (ja) 1989-08-09 1990-08-08 論理回路比較検証システムおよび方法

Country Status (2)

Country Link
US (1) US5243538B1 (ja)
JP (1) JPH03156572A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434794A (en) * 1992-04-28 1995-07-18 Bull S. A. Method for automatically producing an implicit representation of the prime implicants of a function
JP2008181490A (ja) * 2006-12-15 2008-08-07 Onespin Solutions Gmbh プロセッサの例におけるトランザクションレベルモデルとrtlとの間の等価性検証
JP2013003795A (ja) * 2011-06-15 2013-01-07 Hitachi Ltd 設定値管理装置、設定値管理方法及びプログラム
US8359561B2 (en) 2007-12-06 2013-01-22 Onespin Solutions Gmbh Equivalence verification between transaction level models and RTL at the example to processors
WO2013085025A1 (ja) * 2011-12-09 2013-06-13 日本電気株式会社 最小カットセット評価システム、最小カットセット算出方法及びプログラム

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680318A (en) * 1990-12-21 1997-10-21 Synopsys Inc. Synthesizer for generating a logic network using a hardware independent description
JP2824482B2 (ja) * 1991-02-20 1998-11-11 富士通株式会社 2分決定グラフの変数順決定方式
US5491639A (en) * 1991-04-17 1996-02-13 Siemens Aktiengesellschaft Procedure for verifying data-processing systems
EP0600608B1 (en) * 1992-10-29 1999-12-22 Altera Corporation Design verification method for programmable logic design
US5659775A (en) * 1993-03-03 1997-08-19 Digital Equipment Corporation Topology indpendent system for state element conversion
US5751592A (en) * 1993-05-06 1998-05-12 Matsushita Electric Industrial Co., Ltd. Apparatus and method of supporting functional design of logic circuit and apparatus and method of verifying functional design of logic circuit
US5463561A (en) * 1993-06-30 1995-10-31 Digital Equipment Corporation High capacity netlist comparison
WO1995008154A1 (fr) * 1993-09-17 1995-03-23 Bull S.A. Procede de demonstration automatique
US5587919A (en) * 1994-04-22 1996-12-24 Lucent Technologies, Inc. Apparatus and method for logic optimization by redundancy addition and removal
US5559718A (en) * 1994-04-28 1996-09-24 Cadence Design Systems, Inc. System and method for model-based verification of local design rules
US5526514A (en) * 1994-06-21 1996-06-11 Pradhan; Dhiraj Method for circuit verification and multi-level circuit optimization based on structural implications
US5748486A (en) * 1994-10-28 1998-05-05 Nec Usa, Inc. Breadth-first manipulation of binary decision diagrams
US5649165A (en) * 1995-01-31 1997-07-15 Fujitsu Limited Topology-based computer-aided design system for digital circuits and method thereof
TW298687B (ja) * 1995-04-21 1997-02-21 Hitachi Ltd
US6260185B1 (en) 1995-04-21 2001-07-10 Hitachi, Ltd. Method for designing semiconductor integrated circuit and automatic designing device
US6845349B1 (en) 1995-04-21 2005-01-18 Renesas Technology Corp. Method for designing semiconductor integrated circuit and automatic designing device
US5696692A (en) * 1995-04-24 1997-12-09 Cadence Design Systems, Inc. Conditional selection method for reducing power consumption in a circuit
US5682519A (en) * 1995-04-24 1997-10-28 Cadence Design Systems, Inc. Method for reducing power consumption of switching nodes in a circuit
US5649166A (en) * 1995-04-24 1997-07-15 Cadence Design Systems, Inc. Dominator selection method for reducing power consumption in a circuit
US5920711A (en) * 1995-06-02 1999-07-06 Synopsys, Inc. System for frame-based protocol, graphical capture, synthesis, analysis, and simulation
US5805861A (en) * 1995-08-29 1998-09-08 Unisys Corporation Method of stabilizing component and net names of integrated circuits in electronic design automation systems
US5867396A (en) * 1995-08-31 1999-02-02 Xilinx, Inc. Method and apparatus for making incremental changes to an integrated circuit design
JP3179004B2 (ja) * 1995-10-17 2001-06-25 富士通株式会社 論理回路検証システムおよび方法
US5734798A (en) * 1995-12-01 1998-03-31 Hewlett-Packard Co. Method and apparatus for extracting a gate modeled circuit from a fet modeled circuit
JPH1063707A (ja) * 1996-08-15 1998-03-06 Nec Corp 論理回路検証装置および論理回路検証方法
US6086626A (en) * 1997-05-16 2000-07-11 Fijutsu Limited Method for verification of combinational circuits using a filtering oriented approach
US6141630A (en) 1997-08-07 2000-10-31 Verisity Design, Inc. System and method for automated design verification
US5974242A (en) * 1997-09-25 1999-10-26 The United States Of America As Represented By The Secretary Of The Army Methods and computer programs for minimizing logic circuit design using identity cells
GB9720648D0 (en) * 1997-09-29 1997-11-26 Sgs Thomson Microelectronics Method and apparatus for proving system properties
US6212669B1 (en) * 1997-11-05 2001-04-03 Fujitsu Limited Method for verifying and representing hardware by decomposition and partitioning
US6009252A (en) * 1998-03-05 1999-12-28 Avant! Corporation Methods, apparatus and computer program products for determining equivalencies between integrated circuit schematics and layouts using color symmetrizing matrices
WO1999050766A1 (de) * 1998-03-30 1999-10-07 Siemens Aktiengesellschaft Verfahren zum vergleich elektrischer schaltungen
US6148436A (en) * 1998-03-31 2000-11-14 Synopsys, Inc. System and method for automatic generation of gate-level descriptions from table-based descriptions for electronic design automation
US6247165B1 (en) 1998-03-31 2001-06-12 Synopsys, Inc. System and process of extracting gate-level descriptions from simulation tables for formal verification
US8543372B1 (en) 1998-05-18 2013-09-24 Dennis S. Fernandez System design rights management
US7216306B1 (en) 1999-03-24 2007-05-08 Zhe Li Checkpoint restart method using condensed partial results by determining boolean constant subsets
US6131078A (en) * 1999-05-06 2000-10-10 Plaisted; David A. Method for design verification of hardware and non-hardware systems
US7324514B1 (en) * 2000-01-14 2008-01-29 Cisco Technology, Inc. Implementing access control lists using a balanced hash table of access control list binary comparison trees
US6473884B1 (en) * 2000-03-14 2002-10-29 International Business Machines Corporation Method and system for equivalence-checking combinatorial circuits using interative binary-decision-diagram sweeping and structural satisfiability analysis
JP2001290859A (ja) * 2000-04-06 2001-10-19 Mitsubishi Electric Corp 論理検証方法及び装置
US6611947B1 (en) 2000-08-23 2003-08-26 Jasper Design Automation, Inc. Method for determining the functional equivalence between two circuit models in a distributed computing environment
US6993730B1 (en) * 2001-01-10 2006-01-31 Tempus Fugit, Inc. Method for rapidly determining the functional equivalence between two circuit models
US6904578B2 (en) * 2002-11-13 2005-06-07 Fujitsu Limited System and method for verifying a plurality of states associated with a target circuit
US7137082B1 (en) * 2003-03-28 2006-11-14 Magma Design Automation Inc. Reduced architecture processing paths
US7117465B2 (en) * 2003-06-30 2006-10-03 Intel Corporation Application of the retimed normal form to the formal equivalence verification of abstract RTL descriptions for pipelined designs
US7877711B2 (en) * 2006-03-01 2011-01-25 Nangate A/S Methods of deriving switch networks
US7441215B1 (en) 2006-08-01 2008-10-21 Mikael Sahrling Hierarchical netlist comparison by relevant circuit order
EP1933245A1 (en) * 2006-12-15 2008-06-18 Onespin Solutions GmbH Equivalence verification between transaction level models and RTL examples of processors
JP5195149B2 (ja) * 2008-08-11 2013-05-08 富士通株式会社 真偽判定方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4591993A (en) * 1983-11-21 1986-05-27 International Business Machines Corporation Methodology for making logic circuits
JPH065541B2 (ja) * 1983-12-30 1994-01-19 株式会社日立製作所 論理回路の自動設計方法
JPH0668756B2 (ja) * 1985-04-19 1994-08-31 株式会社日立製作所 回路自動変換方法
JPS6274158A (ja) * 1985-09-27 1987-04-04 Hitachi Ltd 回路変換方式
US4792909A (en) * 1986-04-07 1988-12-20 Xerox Corporation Boolean logic layout generator
JP2877303B2 (ja) * 1987-03-31 1999-03-31 株式会社東芝 集積回路の自動設計装置
JP2535976B2 (ja) * 1987-11-17 1996-09-18 株式会社日立製作所 形態接続構成自動作成システム
US4922432A (en) * 1988-01-13 1990-05-01 International Chip Corporation Knowledge based method and apparatus for designing integrated circuits using functional specifications
US5067091A (en) * 1988-01-21 1991-11-19 Kabushiki Kaisha Toshiba Circuit design conversion apparatus
US4967367A (en) * 1988-11-21 1990-10-30 Vlsi Technology, Inc. Synthetic netlist system and method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434794A (en) * 1992-04-28 1995-07-18 Bull S. A. Method for automatically producing an implicit representation of the prime implicants of a function
JP2008181490A (ja) * 2006-12-15 2008-08-07 Onespin Solutions Gmbh プロセッサの例におけるトランザクションレベルモデルとrtlとの間の等価性検証
US8359561B2 (en) 2007-12-06 2013-01-22 Onespin Solutions Gmbh Equivalence verification between transaction level models and RTL at the example to processors
JP2013003795A (ja) * 2011-06-15 2013-01-07 Hitachi Ltd 設定値管理装置、設定値管理方法及びプログラム
WO2013085025A1 (ja) * 2011-12-09 2013-06-13 日本電気株式会社 最小カットセット評価システム、最小カットセット算出方法及びプログラム
JPWO2013085025A1 (ja) * 2011-12-09 2015-04-27 日本電気株式会社 最小カットセット評価システム、最小カットセット算出方法及びプログラム

Also Published As

Publication number Publication date
US5243538B1 (en) 1995-11-07
US5243538A (en) 1993-09-07

Similar Documents

Publication Publication Date Title
JPH03156572A (ja) 論理回路比較検証システムおよび方法
US5301318A (en) Hierarchical netlist extraction tool
US5416719A (en) Computerized generation of truth tables for sequential and combinatorial cells
US5691925A (en) Deriving tractable sub-system for model of larger system
JP3441645B2 (ja) フィルタリング型アプローチを使用する組合せ回路の検証方法
US6505328B1 (en) Method for storing multiple levels of design data in a common database
US5752000A (en) System and method for simulating discrete functions using ordered decision arrays
US6148436A (en) System and method for automatic generation of gate-level descriptions from table-based descriptions for electronic design automation
US5568396A (en) Identifying overconstraints using port abstraction graphs
US7475370B2 (en) System for verification using reachability overapproximation
US5452226A (en) Rule structure for insertion of new elements in a circuit design synthesis procedure
US7975247B2 (en) Method and system for organizing data generated by electronic design automation tools
US5909374A (en) System and method for verifying logic circuit based on signal line set affecting internal signal
US20210390244A1 (en) System and Method for Synchronizing Net Text Across Hierarchical Levels
Hálecek et al. On XAIG rewriting
CN114861574A (zh) 一种应用于层次化物理设计的逻辑简化方法
CN115587560A (zh) 用于分布式引擎的运行时和存储器高效的属性查询处理
CN112464636A (zh) 约束文件的比较方法、装置、电子设备和存储介质
JP4365274B2 (ja) 集積回路設計システム、方法及びプログラム
JPH1091677A (ja) シミュレーション/エミュレーションの効率を増すための論理変換方法
US10909301B2 (en) Method and apparatus for determining waiver applicability conditions and applying the conditions to multiple errors or warnings in physical verification tools
US6377909B1 (en) Method and apparatus for preparing a logic simulation model and recording medium for storing the same
JP2002032427A (ja) Lsiの接続検証装置、接続検証方法および接続検証プログラムを記録した媒体
US20240037303A1 (en) Method and System for Verifying a Sorter
JP2845154B2 (ja) 論理シミュレーション用モデルの作成方法