JP3361224B2 - ディジタル回路トポロジーベースのコンピュータ支援設計方法及び装置 - Google Patents

ディジタル回路トポロジーベースのコンピュータ支援設計方法及び装置

Info

Publication number
JP3361224B2
JP3361224B2 JP01468096A JP1468096A JP3361224B2 JP 3361224 B2 JP3361224 B2 JP 3361224B2 JP 01468096 A JP01468096 A JP 01468096A JP 1468096 A JP1468096 A JP 1468096A JP 3361224 B2 JP3361224 B2 JP 3361224B2
Authority
JP
Japan
Prior art keywords
gate
cut
logic
block
logic gate
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.)
Expired - Lifetime
Application number
JP01468096A
Other languages
English (en)
Other versions
JPH0922419A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPH0922419A publication Critical patent/JPH0922419A/ja
Application granted granted Critical
Publication of JP3361224B2 publication Critical patent/JP3361224B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • 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

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)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にコンピュー
タ支援設計(CAD)装置及び方法に係り、特に、コン
ピュータ装置のディジタル回路設計及び照合のためのC
AD方法及び装置に関する。
【0002】
【従来の技術】大規模にプログラム化されたディジタル
コンピュータを使用するディジタル回路のコンピュータ
支援設計は、十分に発達した技術である。ディジタル回
路用CADは、提案されたディジタル回路、又は、従来
のディジタル回路の論理信号の値の割当、及び、論理ゲ
ート間の論理的相互従属関係に関しより多量の情報を得
るため幾つかの方式を使用している。論理設計解析は、
ディジタル回路の構造的トポロジーに基づいて論理的相
互接続及び相互従属関係を決めるためCADに使用され
ている。上記処理の重要な部分は、所定の値の割当の状
況の結果として、直接或いは間接の両方で表わすことが
できる全ての信号値を識別することである。上記部分に
は、所定の値の割当の状況の結果として、回路内の2個
以上の論理ゲートの間で種々の単純又は複雑、かつ、物
理的又は論理的関係を認識することが含まれている。
【0003】上記解析処理は一般的に学習と呼ばれ、論
理的な相互接続及び相互従属関係は、“含意(implicati
on) ”と呼ばれる。例えば、ディジタル回路のための自
動テストパターン発生器(ATPG)と、論理的ハード
ウェアの最適化と、論理的ハードウェアのタイミング解
析と、ディジタル回路のエンジニアリング変更には、論
理設計解析が必要である。CADにおいて直面する問題
は、時間とメモリ空間の両方に関し計算用資源が要求さ
れることである。上記のような問題に直面する理由は、
CADの問題は、総じて、一般的にNP完全又は至難問
題と呼ばれ、場合によっては指数的な個数の考え得るあ
らゆる回路への入力値を探索するためのコンピュータを
必要とするからである。そのため、最悪の場合、完全な
解を見つけるため指数関数的な量の時間及び/又はメモ
リ空間が必要である。従って、上記問題を解決するた
め、優れた効率的な発見的方法(ヒューリスティック)
又は簡便な方法を設計する必要がある。
【0004】例として、ディジタル回路設計の照合を考
えてみよう。マリック(S. Malik)等の“論理解析環境に
おける二分決定図を使用する論理照合(Logic Verificat
ionUsing Binary Decision Diagrams in a Logic Synth
esis Environment)" 、ICCAD 、6-9 ページ(1988年発
行)と、藤田(M. Fujita) 等の“二分決定図に基づくブ
ール代数比較法の評価及び改良(Evaluation and Improv
ements of Boolean Comparison Methods Based on Bina
ry Decision Diagrams)"、ICCAD 、2-5 ページ(1988年
発行)に記載されているように、上記照合は、一般的
に、二分決定図(binary decision diagrams)方式のデー
タ表現を使用して行なわれる。このような二分決定図ベ
ースの照合処理は、比較される論理設計に周知の論理的
相互接続が殆ど又は全くない場合、最も利点がある。論
理設計に多数の類似性がある場合、ベルマン(C.L. Berm
an) とトレビリアン(Trevyllian)の“VLSI回路の論
理設計の関数的比較(Functional Comparison of Logic
Designs for VLSI Circuits)" 、ICCAD 、456-459 ペー
ジ(1989年発行)と、ブランド(D. Brand)の“大規模統
合設計の照合(Verification of Large Synthesized Des
igns) ”、ICCAD 、534-537 ページ(1993年発行)と、
サーニー(E. Cerny)とマウラス(C. Mauras) の“クロス
可制御性とクロス可観測性の関係を用いる恒真論理式チ
ェック(Tautology Checking Using Cross-Controllabil
ity and Cross-Observability Relations)”、ICCAD 、
34-38 ページ(1990年発行)と、クンツ(W. Kunz) の
“ハンニバル:再帰的学習に基づく論理照合用の有効な
ツール(HANNIBAL:An Efficient Tool for Logic Verifi
cation Based on Recursive Learning) ”、ICCAD 、
(1993年発行)に記載されているように、この設計は、
屡々、論理ゲート間で一定の値が付与された関係を見つ
ける方式を用いて照合される。
【0005】含意ベースの照合装置は基本的に二つのフ
ェーズで動作する。フェーズIの間、照合される二つの
回路を構成する論理ゲートの間に生じる含意は学習され
る。上記含意には、二つの回路間の論理的等価及び論理
的に逆の信号、又は、ゲート出力の検出が含まれてい
る。回路は種々の学習レベル数を用いて解析される。フ
ェーズIIの間、学習された含意は、内部論理ゲートの
セット(集合)と主出力の間にある回路の一部を検査す
ることにより等価性を証明するため使用される。
【0006】
【発明が解決しようとする課題】上記従来の解決法の場
合、必要とされる計算時間が解析される学習レベルの数
に従って指数関数的に増加するという難点がある。現在
の技術によれば、上記方式は解析される学習レベルの数
と共に指数関数的に著しく不経済になるので、上記方式
を5以上のレベルに適用することは実際的ではない。
【0007】従って、一方の論理ゲートでアサートされ
た一定のブール代数値によって、別の論理的又は物理的
に相互接続された論理ゲートに別の一定のブール代数信
号を発生させる(又は示させる)論理的相互接続を見つ
けることは、大規模な回路設計の場合、計算上非効率的
になる可能性がある。上記方式には、一定の値が付けら
れていない別のタイプの有効な“含意”を検出し得る一
般性はない。
【0008】更に、十分な数の含意がない、含意の性質
が十分ではない、或いは、検査された回路の一部は完全
ではないフェーズIIの間に、上記回路の一部しか検査
されなかった場合、上記方式では設計照合に失敗する。
「不完全な」部分は、カットセットと二つの回路の主出
力の間にある回路の一部との解析による二つの回路の照
合を直ちに妨げる。最悪の場合、関数的な学習方式は、
幾つかの論理的な関係を識別するため指数関数的な時間
を必要とすることに注意すべきである。これは、根本的
な問題がNP完全性であることに起因する。
【0009】CAD業界における別の重要な問題は、デ
ィジタル回路の製造欠陥のテストベクトルを得るための
ATPGの問題である。特定の欠陥のタイプは、冗長性
欠陥と呼ばれている。通常のATPG機器でこのような
欠陥を検出することは困難な場合が多い。回路内の論理
ゲート間の論理的相互関係のより効率的な解析が学習技
術を用いて必要とされる場合がある。従って、シュルツ
(Schultz) 等の“ソクラテス:著しく効率的な自動テス
トパターン発生システム(SOCRATES:Highly Efficient A
utomatic Test Pattern Generation System)”、ITC
(1987)に記載されているように学習ベースのATPG機
器は、欠陥が冗長であり、検出困難な場合、一層好まし
い動作を行なう。学習によって関係及び制約を発見する
ことにより、目標とされたテストベクトルの探索空間は
縮小される。しかし、上記ツールは、一定の評価がされ
た学習だけを使用することによって制限され、現状技術
では、上記学習の中には発見の際に不必要に過剰な計算
資源を使うものがある。
【0010】従って、上記従来の問題点を解決するため
には、ディジタル回路トポロジー内の点の間の論理的相
互従属関係を定める論理設計解析を実行し、ディジタル
回路が等価であるかどうかを照合し、ハードウェア設計
の表現の構成のための計算用資源を削減し、かつ、ディ
ジタル回路におけるゴール向き学習を実行し、即ち、よ
り多くのゲートのレベル数を省くことにより、処理速度
を向上させ、所要時間を削減し、処理に要するメモリ空
間を削減するコンピュータ支援設計装置及び方法が必要
である。
【0011】更に、ディジタル回路が論理ゲートの大規
模かつ複雑なトポロジーである場合、上記問題を解決す
るコンピュータ支援設計装置及び方法が必要である。更
に、一定の評価がされた“含意”と、関数的な評価がさ
れた“含意”の両方を検出するコンピュータ支援設計装
置及び方法が必要である。更に、照合されたディジタル
回路の対の一方の一部が不適切(不完全)であるか、或
いは、完全であるかを判定するコンピュータ支援設計装
置及び方法が必要である。
【0012】
【課題を解決するための手段】上記問題を解決する本発
明は、ディジタル回路のトポロジーを構成する論理ゲー
トの間で論理的相互従属関係(“含意”)を決めるため
の論理設計解析を行い、回路が等価であるかどうかを照
合し、ハードウェア設計の表現を構成するための計算用
資源の必要量を削減し、ゴール向き学習を実行する関数
的学習を採用する。
【0013】本発明の一実施例は、ディジタル回路のト
ポロジー中の点の間で論理的相互従属関係を定める論理
設計解析を行なうコンピュータ支援設計装置及び方法で
ある。上記トポロジーは、主出力のセット及び主入力の
セットからなり、両方のセットは論理ゲートと相互接続
されている。論理ゲートはワイヤによって相互接続され
ている。上記各点は、上記論理ゲートの一つにアサート
され、又は、上記論理ゲートの一つからアサートされた
信号を伝搬するワイヤ上にある。上記トポロジーの表現
は、コンピュータ支援設計装置の記憶装置に格納され
る。論理ゲートの中の目標論理ゲートに繋がる論理ゲー
トのファンインに含まれる論理ゲートからなるトポロジ
ー内のカットセットが選択される。目標論理ゲートから
得られるカットセット内の論理ゲートに対し決定図が構
築される。トポロジー中の仮想学習領域内の論理ゲート
はマークされる。正当(justification) ベクトルは、目
標論理ゲートの所定のブール代数値の決定図から得られ
る。上記論理的相互従属関係は判定され、論理的相互従
属関係の表現はコンピュータ支援設計装置の記憶装置に
格納される。ブール代数演算は、決定図と、仮想学習領
域内の論理ゲートの複数の他の決定図の間で実行され
る。
【0014】本発明の他の一実施例は、論理的相互依存
関係のある論理ゲートのグループを使用する論理設計照
合のためのコンピュータ支援設計装置及び方法である。
上記装置は、各々が論理ゲートと相互接続された主出力
のセットよりなる第1及び第2の別個のディジタル回路
のトポロジーにより構成される。論理ゲートはワイヤに
よって相互接続されている。トポロジーは、装置内の少
なくとも一つの論理ゲートと関係のある論理的相互従属
関係のセットを有する。別個の各トポロジーに対する上
記主出力の各々は、別個のトポロジーのもう一方に対応
する主出力がある。上記別個の各トポロジーからの対応
する出力は、排他的論理和手段を用いて一緒に排他的論
理和が行なわれる。仮のカット選択領域は別個のトポロ
ジーの一方で選択され、反映的な仮のカット選択領域は
別個のトポロジーのもう一方で選択される。上記各領域
は論理ゲートのグループからなるので、主出力のセット
に最も近い領域内の論理ゲートに接続するワイヤはカッ
トを形成する。仮のカット選択領域は、少なくとも一つ
の論理ゲートと、カットの上又は前方に少なくとも一つ
の関係する相互従属関係とを更に有し、反映的な仮のカ
ット選択領域は、上記仮のカット選択領域内の少なくと
も一つの論理ゲートに対し少なくとも一つの関係する論
理的相互従属関係を更に有する。各回路の等価性は、排
他的論理和手段によって示された等価性を表わす出力信
号を判定するため、別個のトポロジーの各々の主出力の
セットに最も近い仮のカット選択領域及び反映的な仮の
カット領域の論理ゲートの回路へのブール代数値の単射
(injection) の影響を判定することにより照合される。
【0015】本発明の他の一実施例は、決定図の単純化
を使用する論理設計照合用のコンピュータ支援装置及び
方法である。上記装置は、第1及び第2の別個のディジ
タル回路のトポロジーからなり、各トポロジーは、夫々
論理ゲートと相互接続された主出力の組及び主入力の組
とからなる。論理ゲートはワイヤを介して相互接続され
ている。上記トポロジーは、装置内の少なくとも一つの
論理ゲートに関係する論理的相互従属関係のセットを有
する。上記装置は、別個のトポロジーの一方に仮のカッ
ト領域を更に有し、別個のトポロジーのもう一方に反映
的な仮のカット選択領域を更に有する。上記各領域は、
論理ゲートのグループからなるので、主出力のセットに
最も近い領域内の論理ゲートに接続するワイヤはカット
を形成する。仮のカット選択領域は、少なくとも一つの
論理ゲートと、上記カットの上又は前方に少なくとも一
つの関係する論理的相互依存関係とを更に有する。上記
反映的な仮のカット選択領域は、上記仮のカット選択領
域内の少なくとも一つの論理ゲートに対し、少なくとも
一つの関係する論理的相互依存関係を更に有する。上記
別個のトポロジーの上記各主出力は、他の別個のトポロ
ジーの各々に対応する主出力を有する。別個のトポロジ
ーの各々からの上記対応する主出力は排他的論理和手段
を用いて排他的論理和される。複合決定図は、仮のカッ
ト選択領域を表わす決定図と、反映的な仮のカット選択
領域を表わす決定図の間でブール代数排他的論理和を行
なうことにより構築される。学習条件は別個のトポロジ
ーの各々に対し定められる。上記各学習条件は、カット
と主出力の間にある論理ゲートを表わす決定図よりな
り、複合決定図は学習条件を用いて単純化される。共通
因子決定図の対は、カットに基づいてシャノンの展開式
を適用することにより単純化された複合決定図に対し定
められ、上記対は上記複合決定図の代わりに用いられる
簡約化複合決定図を構築するため合成される。各トポロ
ジーの等価性は、別個の各トポロジーの主入力上に構築
された決定図を用いて別個の複合決定図を作成すること
により照合され、ブール代数排他的論理和は、排他的論
理和手段によってアサートされた等価性を表わす出力信
号を定めるため、決定図の間で行なわれる。
【0016】本発明の更なる一実施例は、ハードウェア
設計の表現を構成するための計算資源必要量の削減用の
コンピュータ支援設計装置及び方法である。上記装置
は、論理ゲートと夫々相互接続された主出力のセット及
び主入力のセットよりなるディジタル回路のトポロジー
からなる。論理ゲートはワイヤによって相互接続されて
いる。上記トポロジーは少なくとも一つの論理ゲートと
関係する論理的相互従属関係のセットを有する。上記表
現は、ハードウェア設計の一部又は全部を表わす決定図
よりなる。上記ディジタル回路のトポロジーの論理ゲー
トのファンインに含まれる論理ゲートからなる副回路の
トポロジーは、上記ディジタル回路のトポロジーから選
択される。少なくとも一つの上記論理ゲートからなるカ
ットセットが選択され、これにより、上記主出力のセッ
トに最も近い上記論理ゲートの中に接続する上記ワイヤ
がカットを形成し、上記カットセット内の各論理ゲート
が上記カットの上、又は、前方にある論理的相互従属関
係を有するかどうかが判定される。決定図は上記カット
セットを用いて構築される。上記決定図は単純化され、
これにより、単純化された決定図が上記決定図より小さ
いとき、単純化された決定図は上記決定図の代わりに用
いられる。上記決定図は、上記主入力のセットを上記ハ
ードウェア設計の表現として用いて合成される。
【0017】本発明の更なる一実施例は、ゴール向き学
習の実行用のコンピュータ支援設計装置及び方法であ
る。上記装置は、論理ゲートと夫々相互接続された主出
力のセット及び主入力のセットよりなるディジタル回路
のトポロジーからなる。上記論理ゲートはワイヤによっ
て相互接続されている。上記トポロジーは装置内の少な
くとも一つの論理ゲートと関係する論理的相互従属関係
のセットを有し、上記主出力のセットに最も近い上記論
理ゲートの中に接続する上記ワイヤがカットを形成する
よう少なくとも一つの上記論理ゲートよりなるカットセ
ットを有する。ゴール向き学習は、所定のゴールを満足
するよう装置を制御する。上記カットと上記主出力の間
にある論理ゲートのリストが定められ、これにより、各
論理ゲートは上記カットから最大限所定の構造的な距離
しか離れてない。上記リストから論理ゲートが選択さ
れ、上記所定の構造的な距離に等しい学習レベルとの論
理的相互従属関係が定められる。上記リスト内の各論理
ゲートは、あらゆる論理ゲートが選択されるまで選択さ
れる。上記方法は、上記所定の構造的な距離が更なる所
定の構造的な距離よりも小さく、かつ、上記所定のゴー
ルが満足されていない間繰り返される。
【0018】本発明の更なる他の実施例は、本発明を実
施するため最良の態様であると考えられる本発明の好ま
しい実施例を例として示し記載している以下の詳細な説
明によって当業者に容易に分かるようになる。本発明の
精神と範囲を逸脱することなく、本発明の他の異なる実
施例を構成することが可能であり、かかる実施例の詳細
中、種々の明らかな面で変形可能なものがある。従っ
て、以下の添付図面及び実施例の説明は、本質的にその
例に限定されることのない例であると考えることが必要
である。
【0019】
【発明の実施の形態】本発明のコンピュータ支援設計装
置は図1に示されている。マイクロプロセッサ3は、主
メモリ2に記憶されたコンピュータプログラム7を実行
し、2次記憶装置1を使用する。コンピュータ7の実行
結果は、ディスプレイ4とプリンタ5に出力され、結果
ファイル6に格納される。主メモリ2は、回路が等価的
であるかどうかを照合し、ハードウェア設計の表現を構
成する計算資源の必要量を減少させ、ゴールを目指した
学習を行なうため、論理的相互従属関係を決める論理設
計解析の動作のシーケンスを実行するコンピュータプロ
グラム7を格納する。2次記憶装置1はデータファイル
を格納し、主メモリ2に格納されたコンピュータプログ
ラム7を実行するマイクロプロセッサ3にデータファイ
ルを提供するため使用される。
【0020】I. 論理設計解析 図1の装置で使用されるような論理的相互従属関係を定
める論理設計解析を実行するコンピュータ支援設計装置
及び方法のブロック図を図2に示す。コンピュータプロ
グラム7は、他の部品を統合する主制御部16を含む7
個の主な部品からなる(ブロック10,11,12,1
3,14,15及び16)。2次記憶装置1は9個のフ
ァイル(ブロック9,17,18,19,20,21,
22,23及び24)を格納する。初期化及び候補セッ
ト選択部10は、論理設計トポロジーファイル1から候
補論理ゲートセット17を作成する。未正当化ゲート選
択部11は、トポロジーを後向きにトレースすることに
より、未正当化ゲートセット18を発生する。カットセ
ット選択部12は、各未正当化論理ゲートのファンイン
にある論理ゲートを選択することによりカットセット2
0を生成する。二分決定図構築部13は、トポロジーに
具現化された論理を表わすためカットセット20に基づ
いて二分決定図21を生成する。仮想学習領域マーカー
部14は、正当ベクトル/パスセット22に格納された
正当ベクトルと、固有ブール代数値セット19に記憶さ
れたような回路内に既に存在する固有ブール代数値を使
用して仮想学習領域セット23を特定するため二分決定
図21を解析する。最終的に、含意学習部15は、回路
のトポロジーに基づいて含意を学習するため仮想学習領
域セット23内の各ゲートに対し一連の二分決定図24
を発生し、含意は、ディスプレイ4とプリンタ5に出力
され、結果ファイル6に格納される。
【0021】本発明の好ましい実施例に従って論理設計
を解析する処理は図3の(A)に示されている。データ
構造として記憶された論理設計トポロジー30は、図4
に示したディジタル回路例のように、論理ゲートとその
相互接続とにより構成されたディジタル回路の物理的論
理設計を反映している。トポロジーのデータ構造は図5
に示されている。ゲート番号 (GATE_NUMBER)のフィー
ルドは、トポロジー内の論理ゲートに対する固有の番号
を格納する。ゲート値 (GATE_VAL)のフィールドは上記
論理ゲートに生じるブール代数値を格納する。ゲート名
(GATE_NAME) 及びゲートタイプ (GATE_TYPE) は、夫
々論理ゲートの名前及びタイプを記憶する文字列を格納
する。入力数 (NO_IN) 及び出力数 (NO_OUT)のフィー
ルドは、夫々、論理ゲートのファンイン(FAN_IN) 及び
ファンアウト(FAN_OUT)に含まれる論理ゲートの数を格
納する。レベル数(LEVEL_NO) のフィールドは、レベル
が0である主入力に対し、トポロジー内の論理ゲートが
存在するレベルを識別する。ファンアウト及びファンイ
ンのフィールドは、夫々、現在の論理ゲートからファン
アウトする論理ゲート、及び、現在の論理ゲートにファ
ンインする論理ゲートを識別する番号の配列を格納す
る。
【0022】上記データ構造の使用法を示すため、例と
して図4の論理ゲート47を考えてみよう。このゲート
のゲート番号フィールドは3に一致する。ゲート値フィ
ールドにはゲートの論理関数に依存する値が割り当てら
れる。論理ゲート47は、NORゲートであるので、ゲ
ート値フィールドには4が割り当てられる。ゲート名フ
ィールドは“オンリーNOR”に設定される。ゲートタ
イプフィールドは“NOR”である。入力数及び出力数
のフィールドは共に2である。更に、レベル数は2に一
致する。配列ファンアウトフィールドは、ゲート48及
び40のゲート番号を格納する。配列ファンインフィー
ルドは、入力NANDゲートと主入力信号のゲート番号
を格納する。ゲート値フィールドは、ブール代数値0又
は1が上記ゲートに割り当てられるまで−1のままであ
る。次いで、ゲート値フィールドは、割り当てられた値
をとる。
【0023】以下の説明において、未正当化ゲートだけ
が全ての論理設計解析で使用されるものとして考えられ
ている。以下の説明を読むことにより、拡張された関数
的含意として未正当化値以外の論理値を使用し得ること
は当業者にとって明白である。特定の出力信号を生成す
るゲートに入力としてアサートされ得る信号の組合せが
二つ以上ある場合、論理ゲートは正当化されない。テス
トパターンの自動発生中、解析されるべき未正当化ゲー
トは、トポロジー内の少なくとも一つの論理ゲートにア
サートされ、或いは、論理ゲートからアサートされた信
号を伝送するワイヤ上にある点であるカット内の値の割
当の現在の状況から常に検出される。カットは、完全に
回路の内部にあってもよく、或いは、回路の主入力又は
主出力の何れかと重なっていてもよい。照合中、各論理
ゲートは未正当化ゲートである可能性があり、上記各ゲ
ートの解析中、各所定のゲートを正当化させないようブ
ール代数値が各所定のゲートに単射される。
【0024】図3の(A)に示された処理は少なくとも
二つの目標論理ゲートの選択(ブロック31)から始ま
り、かかる目標論理ゲートは未正当化ゲートをなす。目
標ゲートは回路内に既に存在するブール代数値の状況に
基づいて決まる。例えば、ブール代数の値1がワイヤ4
1にアサートされたとき、NANDゲート40は正当化
されていない。その理由は、ブール代数の値0がワイヤ
42と43の何れか一方又は両方にアサートされた場合
の結果として、得られるからである。特に、ブール代数
の値0の出力信号を生成するためNANDゲート40に
対する入力信号の組合せが二つ以上のあるので、NAN
Dゲート40は正当化されていない。
【0025】未正当化ゲートのファンインは、この論理
ゲートに単射された未正当化値に基づいて論理的関係を
定めるため解析される(ブロック32)。上記未正当化
ゲートのファンインにある論理ゲートは、あらゆる正当
値を回路内のあるカットセットに連続的に供給すること
によりシミュレーションされる。カットセットは、主入
力の方へ後向きにトレースしたトポロジー内でトポロジ
ーの所定の構造的距離の範囲内にある目標論理ゲートの
ファンインに現れる全ての論理ゲートのセットにより構
成される。カットセットの導出はブロック55を参照し
て説明する。カットセット内の各ゲートに対し、ファン
インとファンアウトにある論理ゲートに生じる直接論理
的相互従属関係を調べるため直接前向き及び直接後向き
含意が適用される(ブロック33)。
【0026】例えば、NANDゲート40がワイヤ41
にアサートされた出力信号として未正当化ブール代数値
の1を有する場合、NANDゲート40へのファンイン
は解析する必要がある。従って、ブール代数値の1がワ
イヤ41にアサートされたとき、この値を照合するた
め、ワイヤ42にアサートされ、ブール代数値の0であ
る場合があるNORゲート47からの出力、又は、ブー
ル代数値の1である場合があるNANDゲート38の出
力を解析する必要がある。ワイヤ43のブール代数値0
は、直接的な後向き含意に起因して、ブール代数値1を
ワイヤ41にアサートする。ワイヤ45上のブール代数
値1は、直接前向き含意に起因して、ワイヤ42にブー
ル代数値0をアサートする。従って、ワイヤ42上のブ
ール代数値0は、ワイヤ41上にブール代数値1を発生
させるための必要条件である。直接前向き含意によっ
て、ワイヤ42上のブール代数値0によって、NAND
ゲート48はワイヤ49上にブール代数値1を生じさせ
る。従って、ワイヤ49上のブール代数値1は、ワイヤ
41上にブール代数値1を発生させるための必要条件で
ある。
【0027】上記ファンインの解析段階及びファンアウ
トの解析段階の2段階は、論理ゲートの真理値表と、上
記ディジタル回路を構成する論理ゲートの連結性とにに
基づいて直接含意を得るため有用である。論理ゲートを
二分決定図として表わすことにより、論理設計解析処理
を完全化するため間接含意を得ることが可能になる(ブ
ロック34)。相互従属関係の判定(学習)は、二分決
定図の正当ベクトルの解析に基づいて回路内の信号割当
のある状況下で実現可能であり、次いで、仮想学習領域
においてブール代数演算が行なわれる。
【0028】論理回路の区分化が不完全であり、かつ、
上記区分を使用して論理設計照合が得られないときを判
定する本発明の好ましい実施例による処理は、図3の
(B)に示されている。直接及び間接含意によって学習
された論理的相互従属関係は、図3の(A)の処理に示
されているように入力として使用される。複合回路は、
ディジタル回路トポロジーの対の対応する出力を合成す
ることにより作成される。カットは各々の回路内で作成
され、カットと主出力の間にある回路の区分だけが調べ
られる。従って、照合の必要部分は、各回路の上記区分
は照合の目的に対し完全であることを保証することであ
る。
【0029】本発明の好ましい一実施例に従って論理設
計照合を行なう学習条件を使用する処理は、図3の
(C)に示されている。論理的相互従属関係は学習さ
れ、複合論理回路内の区分の対の完全性は、上記の如
く、図3の(B)に示した処理においてチェックされ
る。回路内の学習された論理的関係は、単一の二分決定
図として併合され、与えられた回路のあらゆる解析を単
純化するため使用される。例えば、上記併合は、各論理
関係を表わす二分決定図の間でブール代数の論理積を同
時にとることにより行なわれる。
【0030】好ましい一実施例によるコンピュータプロ
グラム50のフローチャートを図7に示す。最大学習レ
ベルは、主入力の方へ後向きにトレースする目標論理ゲ
ートGからの所定の構造的距離で定義される。トポロジ
ーは、目標論理ゲートGと最大学習レベルの間に生じる
全ての新しい未正当化ゲートを検出するため、目標論理
ゲートGから解析され始め、検出された未正当化ゲート
は候補セットCu として格納される(ブロック53)。
【0031】新しい目標ゲートTは候補セットCu から
選択される(ブロック54)。目標ゲートTは最初論理
ゲートGと同一であるが、候補セットCu の各ゲートに
変化する。例えば、論理ゲート40は、図4に示された
ディジタル回路の目標論理ゲートをなす。カットセット
λは目標ゲートTに対し検出される(ブロック55)。
別々の繰り返し中に、別々のカットセットが検出され
る。好ましい一実施例において、カットセットλは、図
4のカット39のように、主入力の方へ後向きにトレー
スすることにより目標ゲートから所定の構造的距離(カ
ット距離)離れている論理ゲートのトポロジーを通るカ
ットによって確定される。例えば、繰り返し1におい
て、カット距離は1に一致する場合がある。主入力がカ
ット距離よりも短い構造的距離にあるとき、主入力はカ
ットセットの要素になる。目標ゲートのファンインの単
純なトポロジー駆動形のトラバースによりカットセット
が得られる。
【0032】カットセットλは目標ゲートTの二分決定
図を構築するため使用され(ブロック56)、あらゆる
タイプの決定図を使用することが可能である。例えば、
カープラス(K. Karplus)の“マルチレベル最小化用のイ
フ−ゼン−エルス図の使用(Using If-Then-Else DAGs F
or Multi-Level Mininaization) ”、VLSIに関する
10周年カルテック会議(Decennial Caltech Conferenc
e on VLSI)(1989年5月)に示されているように、
イフ−ゼン−エルス(if-then-else)図を使用してもよ
く、上記文献の内容を以下に引用する。説明のため、カ
ット39によって定義されたカットセットを使用する論
理ゲート40の二分決定図を図6の(A)に示す。
【0033】各未正当化ゲートに対し、セットPLAR
と呼ばれる仮想学習領域がマークされる(ブロック5
7)。上記マークは、最初に、カットセットλを使用す
る未正当化ゲートに対し構築された二分決定図から正当
ベクトルのセットを集めることにより行なわれる。正当
ベクトルの収集は以下のように行なわれる。二分決定図
の根頂点からのパスは、解析されている未正当化ワイヤ
の値と等しい値を有する端頂点までトレースされる。か
かるパスは正当ベクトルを構成する。例えば、カット3
9によって定義されたカットを使用する論理ゲート40
の二分決定図の正当ベクトルは図6の(A)に示されて
いる。
【0034】k個の上記正当ベクトルのセットが収集さ
れる。各正当ベクトルはそのベクトルをカットに適用す
ることによってシミュレーションされる。k個の各正当
ベクトルの矛盾のないブール代数値を与える全ゲートの
共通部分は、セットPLARに集められる。上記ゲート
のセットは仮想学習領域を構成する。二分決定図の中の
全ての可能な正当ベクトルがシミュレーションされた場
合、セットPLARは真の学習点のセットをなす。
【0035】仮想学習領域がマークされ、そのマークさ
れた仮想学習領域は真の学習領域ではないとき、仮想学
習領域内の各ゲートと目標ゲートTの間の含意を判定す
る学習処理を開始し得る(ブロック58)。上記学習処
理には、図6の(B)に示した論理ゲート47の二分決
定図及び図6の(C)に示した論理ゲート38の二分決
定図のような仮想学習領域内の各論理ゲートの二分決定
図の構築と、図15に示したようなブール代数演算の実
行を含む。
【0036】学習処理は、仮想学習領域の全ゲートが調
べられるまで繰り返される(ブロック59)。セットC
u 内の未調査の全未正当化ゲートは集められ(ブロック
60)、新目標ゲートTの選択と、カットセットλの検
出と、二分決定図の構築と、仮想学習領域のマークと、
含意の学習の段階は、候補セットCu が空集合になるま
で繰り返される(ブロック61)。含意検出の処理は、
所定の最大学習レベルを超えるか、或いは、回路内の全
ゲートが正当化されるまで繰り返される(ブロック6
2)。最大学習レベルを超えなかった場合、未正当化ゲ
ートがカット内に残っている限り、次の繰り返しの間、
学習レベルは増加される(ブロック63)。好ましい一
実施例において、学習レベルは、物理的なレベル1と、
物理的な距離(レベル)5に対応する学習レベル5の増
分で増加される。
【0037】図8を参照するに、目標論理ゲートの中間
的なファンイン内の未正当化ゲートを検出するためのル
ーチンが示されている(ブロック53)。アブラモビッ
チ(M. Abramovici) 等の“ディジタル装置の試験と試験
可能な設計(Digital SystemsTesting and Testable Des
ign) ”、コンピュータサイエンスプレス(1990
年)に記載されているように、縦優先探索は目標論理ゲ
ートGのファンインを通って後向きにトレースするため
使用され、上記文献の内容を以下引用する。
【0038】セットCu は未正当化ゲートだけを含む。
未だ候補セットCu に追加されていないがブール代数値
を伝搬する論理ゲートは集められ、リストLu に格納さ
れる(ブロック67)。ブール代数値の0又は1と一致
する出力値bを有するゲートGはリストLu から選択さ
れる(ブロック68)。ゲートGへの入力ワイヤは、ゲ
ートGの特定された値bに対し固有の正当ベクトルが存
在し特定された値bがアサートされるかどうかを判定す
るため調べられる(ブロック69)。ベクトルが検出さ
れた場合、そのベクトルは格納される(ブロック7
0)。ベクトルが検出されなかった場合、未正当化ゲー
トGはマークされ、リストCu に追加される(ブロック
71)。ゲートGがセットCu に追加されなかった場
合、ゲートGへの入力は選択され(ブロック76)、そ
の入力がゲートの場合(ブロック77)、このルーチン
は、ゲートGへの全入力ゲートが選択されるまで(ブロ
ック79)、上記入力ゲートを使用して縦優先形式で自
分自身を再帰的に呼び出す(ブロック78)。
【0039】図9を参照すると、カットセットλの検出
用ルーチン(ブロック55)が示されている。縦優先探
索は、目標ゲートTへの各入力に対し(ブロック8
1)、目標ゲートTのファンインを介して後向きにトレ
ースするため使用される(ブロック80)。このルーチ
ンは、上記ゲートをカットセットλに格納し(ブロック
82)目標ゲートTから現在の学習レベルまで物理的な
距離をトレースバックするか、又は、主入力に到達する
まで(ブロック83)、自分自身を再帰的に呼出す(ブ
ロック84)。上記縦優先探索は、目標ゲートTの全入
力で再帰的に呼び出される(ブロック85)。全ての縦
優先探索の終了後、カットセットλ内のゲートにより、
必要とされるカットセットが得られる。
【0040】図10を参照するに、二分決定図を構築す
るルーチン(ブロック56)が示されている。好ましい
一実施例において、順序化された二分決定図が使用され
る。かくして、カットセットλの要素上の変数順序は、
例えば、マリック(S. Malik)等の“論理合成環境の二分
決定図を使用する論理照合(Logic Verification Using
Binary Decision Diagrams in a Logic Synthesis Envi
ronment)”、ICCAD(19請88) 、6-9 ページに記載されて
いるように、縦優先探索要求ルーチンを用いて呼び出さ
れる(ブロック86)。上記文献の内容は以下に引用さ
れている。可変順序を用いることにより、カットセット
λの二分決定図は構築され(ブロック87)、そのサイ
ズは縮小される(ブロック88)。上記処理と組み合わ
されて、二分決定図を構築し、そのサイズを縮小するた
め適当な二つのアルゴリズムは、ブリアント(R.E. Brya
nt) の“ブール代数関数表現のグラフベースアルゴリズ
ム(Graph Based Algorithms for Boolean Function Rep
resentation)”、IEEEコンピュータ学会誌、C-35(1
986 年8 月) 、ページ677-690 に記載され、その内容を
以下引用する。
【0041】図11に示した内部データ構造は、一連の
頂点レコードを構成する二分決定図の表現として維持さ
れる。ロー(LOW)及びハイ(HIGH)フィールド
は、子頂点を指示する。例えば、図6の(A)におい
て、0−エッジは頂点44のLOWフィールドである。
0−エッジは、そのロー側の子供である頂点45を示
す。頂点44及び45は、図4の別のワイヤに対応する
点に注意が必要である。インデックス(INDEX)フ
ィールドは、根頂点から始まる頂点の構造的な深さを格
納する。例えば、頂点44のINDEXフィールドは1
に等しく、頂点45のINDEXフィールドは2に等し
い。値(VAL)フィールドは、0、1又はX(ドント
ケア条件)である。例えば、頂点44のHIGHフィー
ルドは、VALフィールドが1と等しい端頂点を示す。
あらゆる非端頂点のVALフィールドは、そのフィール
ドには実際的に値が含まれていないためドントケア条件
が存在するので、常にXである。識別(ID)フィール
ドは頂点を個別に特定する整数を格納する。マーク(M
ARK)フィールドは、二分決定図のトラバースの間に
調べられた頂点をマークする。
【0042】図12及び13を参照するに、ブール代数
値vの仮想学習領域をマークするルーチン(ブロック5
7)が示されている。二分決定図は三つの部分で前処理
され、これにより、所定のk個の正当ベクトルが各正当
化ワイヤに対し抽出される。図6の(C)において、論
理ゲート38は、ブール代数値の0と一致する出力ニ対
し完全に正当化される。好ましい一実施例において、所
定のkはユーザにより与えられるが、経験的に値k=1
00は十分であることが分かった。
【0043】正当ベクトルは、二分決定図の根頂点から
端頂点に進む。図6の(A)、(B)及び(C)を参照
するに、NAND論理ゲート40と、NOR論理ゲート
47と、NAND論理ゲート38の正当ベクトルが示さ
れている。図6の(A)には、ブール代数値1だけの正
当ベクトルがある。ブール代数値0は、1組の信号の割
当(0,0)しかないので完全に正当化され、これによ
り、ブール代数の0は論理ゲート40でアサートされ
る。図6の(B)において、論理ゲート47はブール代
数の1と等しい出力に対し完全に正当化されている。
【0044】図14に示した内部データ構造は、二分決
定図から得られた正当ベクトルの表現として維持されて
いる。リーフ二分決定図(LEAF_BDD)フィール
ドには、各正当ベクトルの底の二分決定図を格納する。
パス長さ(PATH_LENGTH)フィールドは正当
ベクトルの節点の数を格納する。部分パス(PARTI
AL_PATH)フィールドは、正当ベクトルに沿って
生じる分岐のブール代数値の配列を格納する。ボトムア
ウト(BOTTOM_OUT)フィールドは、正当ベク
トルが完全、又は、不完全の何れであるかを示すフラグ
を含む。
【0045】上記データ構造の使用の例を説明するた
め、頂点44の0−分岐と、頂点45の0−分岐とから
なる図6の(A)に示した二分決定図の正当ベクトルの
場合を考えてみよう。この正当ベクトルは、論理ゲート
47の出力でブール代数の1を正当化する。LEAF_
BDDフィールドは、ブール代数の0を表わす二分決定
図である。パスの長さは2に等しい。PARTIAL_
PATHフィールドは、頂点44及び45の整数識別子
を格納する。両方の整数識別子は0−分岐が使用されて
いることを示すため必要である。BOTTOM_OUT
フィールドは、ブール代数の0の値を有する端頂点でパ
スが底に達することを示すため真に設定されるフラグで
ある。
【0046】パート1において、正当ベクトルは、根頂
点から始まる二分決定図の横優先トラバースを用いて抽
出される。パート2の間、(非端頂点だけに対し得られ
た)ベクトルが不完全の場合、正当ベクトルが完全化さ
れるよう縦優先トラバースが行なわれる。パート3にお
いて、回路は各正当ベクトルに対しシミュレーションさ
れ、全ての正当ベクトルに対し矛盾の無い回路のブール
代数値のセットが判定される。以下詳細に説明する。
【0047】パート1は最初に根頂点を選択する(ブロ
ック90)。二分決定図の現在レベル上の頂点が選択さ
れ(ブロック91)と、1レベル下の頂点が選択される
(ブロック92)。選択された頂点がブール代数の0又
はブール代数の1の何れかと等しい端頂点である場合
(ブロック93)、選択された頂点は目標ブール値vと
比較される(ブロック95)。値が一致し、かつ、所定
のk個のパスは格納されていない、全ての二分決定図は
調べられていない、或いは、二分決定図の全てのパスの
セットが得られていない場合(ブロック96)、正当ベ
クトルはセットPに格納される(ブロック97)。これ
以外の場合、頂点は非端頂点であり(ブロック93)、
かつ、所定のk個のパスは格納されていない、全ての二
分決定図は調べられていない、或いは、二分決定図の全
ての正当ベクトルのセットが得られていない場合(ブロ
ック98)、不完全な正当ベクトルは更なる処理のため
セットQに格納される(ブロック99)。
【0048】1レベル下の頂点を選択し、端頂点である
かどうかを判定する段階は、1レベル下の全頂点が選択
されるまで続けられる(ブロック100)。同様に、二
分決定図の現在のレベルにある頂点を選択する段階は、
現在のレベルの全頂点が選択されるまで(ブロック10
1)、又は、k個のパスが得られるまで(ブロック11
7)、或いは、他のパスが得られなくなるまで繰り返さ
れる。
【0049】パート2において、所定のk個のパスが得
られたとき(ブロック103)、正当ベクトルの抽出処
理中に二分決定図全体が列挙された場合、指標が設定さ
れる(ブロック114)。二分決定図に含まれている全
ての可能な正当ベクトルが得られた場合、二分決定図は
列挙される。上記例では、セットPの全てのパスは完全
である。
【0050】以下に説明するように、この例のシナリオ
の場合、セットPの全てのベクトルのシミュレーション
により、学習条件のセットが得られる。或いは、パスは
不完全な正当ベクトルのセットQから選択される(ブロ
ック104)。二分決定図の縦優先トラバースは、目標
ブール代数値vに等しい正当ベクトルを検出するため行
なわれる(ブロック105)。検出されたベクトルはセ
ットQnew に格納される(ブロック106)。縦優先ト
ラバースは、セットQの全てのパスが選択されるまで続
けられる(ブロック107)。セットPとセットQの合
併がとられ、セットPに格納される(ブロック10
8)。
【0051】パート3において、各正当ベクトルのファ
ンインとファンアウトが直接含意を行なうためトレース
される。正当ベクトルは選択され(ブロック109)、
前向き及び後向き伝搬によって到達し得る全ての論理ゲ
ートを評価するため、回路は論理ゲートの真理値表と、
回路の物理的連結性を用いてシミュレーションされる
(ブロック110)。照合アルゴリズムにおいて、選択
された正当ベクトルに対し予め格納された全てのブール
代数値(含意)は、更に回路に単射される。
【0052】シミュレーションの終了時、含意結果ベク
トルの共通部分が、この点までにシミュレーションされ
たあらゆる正当ベクトルに対する全ての無矛盾の値の現
在のベクトルを得るためとられる(ブロック111)。
共通部分は新しい仮想学習領域セットPLARとして格
納される(ブロック112)。パート3はセットPの全
ての正当ベクトルがシミュレーションされるまで繰り返
される(ブロック113)。
【0053】上記ルーチンの後処理部において、セット
Pは二分決定図の全ての正当ベクトルを含むことを示す
指標が設定されたならば(ブロック115)、セットP
LARは真の学習領域を構成し(ブロック116)、セ
ットPLARの論理ゲートに対し以下に説明する二分決
定図を使用するブール代数演算を実行する必要はない。
【0054】図15を参照するに、仮想学習領域の各ゲ
ートと、目標論理ゲートの間の含意を学習するルーチン
(ブロック58)が示されている。この点までに上記方
法によれば直接含意による論理的関係が定められる。図
15に示したルーチンは、ディジタル回路のトポロジー
内の論理ゲートの間に生じる更なる論理的関係を学習す
るため間接含意を行なう。
【0055】論理ゲートHは仮想学習領域から選択され
(ブロック120)、二分決定図はカットセットλを用
いて上記ゲートのため構築される(ブロック55)。間
接含意は、目標ゲートTの二分決定図と、論理ゲートH
の二分決定図にブール代数演算を実行し、上記ブール代
数演算の結果に基づいて論理的相互従属関係を判定する
ことにより学習される。
【0056】好ましい一実施例において、目標ゲートT
の二分決定図とゲートHの二分決定図に基づくブール代
数のAND(ブロック121)と、目標ゲートTの二分
決定図の補集合とゲートHの二分決定図に基づくブール
代数のAND(ブロック126)が行なわれるが、ブー
ル代数のNANDと、ORと、XORと、それ以外の演
算を含む他の単純又は複雑なブール代数演算を行なって
もよい。ブール代数のAND演算の可能な出力の中の二
つは、ゲートHの二分決定図(又はその補集合)と等し
い(ブロック122及び127)、或いは、目標ゲート
Tの二分決定図(又はその補集合)と等しい(ブロック
124及び129)結果である。上記結果は、以下の表
1に基づく対偶則を適用することにより間接含意の学習
に使用することが可能である。間接含意の各セットは格
納され(ブロック123、125、128及び13
0)、上記処理は仮想学習領域の全ゲートが選択される
まで繰り返される(ブロック131)。
【0057】例えば、ゲートTとゲートHの二分決定図
はANDされ、その結果はゲートHの二分決定図と一致
する場合を想定しよう。これは、ゲートHがブール代数
の1と一致するとき、目標ゲートTもブール代数の1と
一致することを意味する。対偶則を用いることにより、
目標ゲートがブール代数の0と一致するとき、ゲートH
はブール代数の0と一致することを間接的に含意してい
る。
【0058】
【表1】
【0059】上記説明は、例証の目的のため、一定の値
が与えられた関係を計算(学習)することに集中してい
る。上記処理は、一定の値が与えられた関係以外の関係
がある二つの信号の間の関数的な従属性(関係)を計算
するため使用してもよい。例えば、正当化されていない
ゲートGと目標ゲートTが与えられたとき、学習は行な
われないが小さい二分決定図Hが生成された場合、上記
ゲートの二つの二分決定図のブール代数のANDを計算
し、格納することが可能である。得られた二分決定図H
を一定の値が付与された学習処理内の目標二分決定図と
して用いることが可能であるが、一定の値が付与された
学習ではなく、むしろ、“関数的に値を付与された”学
習が得られる。二分決定図Hのブール代数の0又は1の
値は一定のブール代数値を有するディジタル回路内の単
一の論理ゲートに必ずしも常に対応するとは限らないの
で、上記学習は関数的に値を付与される。より複雑なブ
ール代数演算に加えて、ブール代数のAND以外の他の
演算を関数的に値を付与された関係の学習の更なる処理
に容易に使用することができる。
【0060】II. 論理的相互従属関係のある論理ゲ
ートのグループを使用する論理設計照合 図1の装置で使用されるような論理的相互従属関係のあ
る論理ゲートのグループを用いる論理設計照合用のコン
ピュータ支援論理設計装置及び方法のブロック図を図1
6に示す。コンピュータプログラム7は6個の主要な構
成部(ブロック179,180,185,186,18
7及び197)からなり、他の構成部を統合するための
主制御部179を含む。2次記憶装置1は、14個のフ
ァイル(ブロック181,182,183,184,1
88,189,190,191,192,194,19
5,196,198及び199)を格納する。含意学習
部180は、ディジタル回路の対の論理設計トポロジー
ファイル181及び182を読み込むため使用される。
含意学習部180は、図2に示したような学習プログラ
ムを構成するが、一つの回路だけではなく、含意ファイ
ル183及び184の対に二つのディジタル回路の含意
を格納する。
【0061】複合回路作成部185は、排他的論理和
(XOR)論理ゲートを介して主出力で接合された二つ
のトポロジーを構成する複合回路ファイル188を生成
するため使用される。第1回路部186のカットセット
と第2回路部187のカットセットは、共に夫々の回路
のカットセットと、もう一方の回路の反映カットセット
とを発生する。複数の中間データファイルIP’19
0、CP1 191、CP2 192、Tcut 194、
complete 195、及びPC 196が作成される。
その上、含意選択ファイル189は中間結果を格納する
ため使用される。
【0062】完全なカットセットが検出されなかった場
合、カットセットホール充填部197は、完全なカット
を生成するため中間データファイルCP2 192と、
IP’190とを読み込む。カットセットホール充填部
197は、更に、中間データファイル198及び199
を作成し、回路が照合されたかどうかの判定をディスプ
レイ200及びプリンタ201に出力し、結果ファイル
202に格納する。
【0063】論理的相互従属関係のある論理ゲートのグ
ループを用いる論理設計照合のプログラム210の好ま
しい一実施例のフローチャートを図17及び18に示
す。プログラム210は二つのフェーズで動作する。フ
ェーズIは、図7に示したコンピュータプログラムを使
用して、論理的相互従属関係(含意)の学習によって照
合される各回路の論理設計を解析する(ブロック21
1)。
【0064】論理的相互従属関係(含意)は、一方の変
数がある特定のブール代数の値であるならば、もう一方
の変数は強制的に別の特定のブール代数の値になるよう
な二つのブール代数の変数の間の関係である。例えば、
もう一度図4を参照すると、論理ゲート48に対する論
理的相互従属関係が論理ゲート40に存在するならば、
ブール代数の値1がワイヤ41にアサートされている限
り、ブール代数の値1がワイヤ49にアサートされる。
フェーズIで使用されるデータ構造は図19及び20に
示されている。
【0065】図19の(A)を参照すると、論理的相互
従属関係の仮のリストを格納するリンクしたリストデー
タ構造が示されている。フェーズIの進行中、論理的相
互従属関係が幾つ得られるかは予め分からない。従っ
て、各論理的相互従属関係が検出される毎に、検出され
た論理的相互従属関係は動的なリンクドリストデータ構
造に追加される。ゲート番号(GATE_NUMBE
R)フィールドは、論理的相互従属関係が得られた論理
ゲート番号を格納する。ゲート値(GATE_VAL)
フィールドは、論理的相互従属関係のブール代数値を示
す。最後に、次の学習リンクドリスト(NEXT_LE
ARNING_LINKED_LIST)フィールド
は、リンクドリストの次の要素へのポインタを格納す
る。リングドリストの最後の要素は接地され、NEXT
_LEARNING_LINKED_LISTフィール
ドには値ヌルが入る。リンクドリストデータ構造は、論
理的相互従属関係が検出された各ブール代数値に対する
トポロジー内の各ワイヤに割り当てられる。
【0066】図19の(B)を参照するに、リンクドリ
ストデータ構造の一例を示す図が示されている。第1の
要素72は、論理的相互従属関係を表わす。論理ゲート
1のブール代数の値1と一致する論理的相互従属関係を
表わす。第1の要素72は論理ゲート2のブール代数の
値0と一致する論理的相互従属関係を表わす第2のリス
トの要素73を示す。要素73はリンクドリストの最後
の要素であり、ヌル値を指し示す。
【0067】図20の(A)を参照するに、フェーズI
中に論理ゲートのあるレベルの終了時に論理的相互従属
関係を格納及び収集するデータ構造が示されている。各
学習レベルの全ての論理的相互従属関係が検出された
後、等価リスト(EQ_LIST)と、反転リスト(I
NV_LIST)と、リスト0(LIST_0)と、リ
スト1(LIST_1)の四つのリストが作成される。
EQ_LISTは、リストが割り当てられたゲートと関
数的に等価な論理ゲートのリストを収容する。同様に、
INV_LISTは、リストが割り当てられたゲートと
関数的に反転した論理ゲートのリストを収容する。LI
ST_0及びLIST_1は、リストが割り当てられた
ゲートに夫々ブール代数の値0又は1が単射されたとき
いつも論理的相互従属関係を有する論理ゲートのリスト
を収容する。
【0068】上記四つのリストのデータ構造は図20の
(A)に示されている。長さ(LENGTH)のフィー
ルドは学習リストの長さ、即ち、論理的相互従属関係の
リスト内の論理ゲートの数を格納する。学習(LEAR
NING)フィールドは、ゲートの論理的相互従属関係
を格納する整数型配列へのメモリアドレスポインタを格
納する。上記整数型の値は正又は負の何れかのゲート番
号である。正のゲート番号はブール代数の値1が目標ゲ
ートで得られたことを示し、負のゲート番号はブール代
数の値0が目標ゲートで得られたことを示す。
【0069】図20の(B)は、ゲートkに対する論理
的相互従属関係のセットの一例を示す概略図である。E
Q_LISTリストには、ゲートkと関数的に一致する
4個のゲート:5,8,−10及び12が記載されてい
る。同様に、INV_LISTはゲートkと関数的に逆
の4個のゲート:1,−2,7及び11が記載されてい
る。LIST_0は、ブール代数の値0に対する論理的
相互従属関係が分かっている3個のゲート:3,15及
び20が記載されている。最後に、LIST_1は、ブ
ール代数の値1に対する論理的相互従属関係が分かって
いる5個のゲート:4,6,9,13及び15が掲載さ
れている。
【0070】フェーズIIは回路の対を照合する。その
ゴールは、主出力と、各回路のサブセットを構成する論
理ゲートのセットの間にある区分の対を使用して等価性
を証明することである。図17及び18を再度参照する
に、上記二つの回路の各々からの主出力を合わせ、その
主出力を単独のXOR論理ゲートに接続することにより
複合回路が作成される(ブロック212)。従って、組
み合わされる出力信号の間のあらゆる不一致は、XOR
論理ゲートの出力に反映される。
【0071】図44は複合ディジタル回路のトポロジー
を例証する論理設計の概略図である。複合回路は第1及
び第2の別個のディジタル回路のトポロジー470及び
471からなり、各トポロジーは、主出力472及び4
73と、主入力474及び475のセットを構成する。
主出力は、ワイヤ478及び479によって相互接続さ
れた論理ゲート476及び477と相互接続される。別
個のトポロジーの一方の主出力490は、別個のトポロ
ジーのもう一方に対応する主出力を有する。別個の各ト
ポロジーからの対応する主出力は、二つのトポロジー間
の等価性を示すワイヤ481上の出力信号をアサートす
る排他的論理和(XOR)論理ゲート480を使用して
一括して排他的論理和される。図44には排他的論理和
論理ゲートが示されているが、ゲートをシミュレーショ
ンすることが可能であり、これにより、対応する出力
は、ソフトウェアを用いてコンピュータ支援設計装置に
よって論理的に排他的論理和がなされる。同様に、複合
回路は同じ手段によってシミュレーションが行なわれ
る。
【0072】等価性は内部カットと主出力の対の間にあ
る区分の対を構成する二つの回路のトポロジーの一部分
だけを調べることにより照合することができる。しか
し、かかる回路は一般的に完全であることが必要とされ
る。カット内の全ての点が同一回路、又は、別の回路の
カットの上又は前方に含意点を有するならば、そのカッ
トは完全であると呼ばれる。カットの上又は前方の他の
あらゆる論理ゲートに対し含意のないカット上の論理ゲ
ートが存在するならば、一般的に主出力とカットの間に
含まれる回路の一部分だけを調べることにより二つの回
路を照合することは不可能である。
【0073】従って、各回路に対し仮のカット選択領域
IPが検出され、反映的な仮のカット選択領域IP’は
他の回路で検出される(ブロック213及び217)。
上記各仮のカット選択領域IPは、各回路を通る仮のカ
ットと、その回路の主出力の間に含まれる論理ゲートの
セットを構成する。図44には仮のカット選択領域IP
の一例が示され、仮のカット482は、論理ゲート48
3、484及び485からなる仮のカット選択領域IP
を確定する。上記仮のカット選択領域は回路の一部分に
対応し、ディジタル回路の照合を行なう際に相当性が評
価される。各反映的な仮のカット選択領域IP’は、他
の回路内に生じる論理ゲートのセットからなり、仮のカ
ット選択領域IP内の各含意点はもう一方の回路の対応
する含意点に写像される。この写像された点のセットは
反映領域IP’と呼ばれる。反映領域IP’の一例は図
44に示され、仮のカット482は、論理ゲート48
6、487、488及び489からなる反映領域IP’
を確定する。
【0074】仮のカット選択領域IPと、反映的な仮の
カット選択領域IP’の両方に対し、二つの回路の一部
分を形成する完全なカットを潜在的に構成し得る論理ゲ
ートの点を通るカットが存在する。回路1と回路2の両
方は、もう一方の回路に写像する反映的な仮のカット選
択領域IP’を夫々伴う仮のカット選択領域IPを作成
するため別個に解析される(回路1の場合のブロック2
14及び回路2の場合のブロック218)。かくして、
照合を行なうため必要とされる計算資源の量を最小限に
抑えるよう最適カット、即ち、より小さいサイズの区分
が検出される。夫々の仮のカット選択領域IPと反映的
な仮のカット選択領域IP’とに基づく回路1及び2を
通る個々のカットの対は、夫々、回路1及び2の完全な
カットλ 1 及びλ2 と呼ばれる。何れか一方が完全なカ
ットではない場合(ブロック215及び219)、その
カットは夫々不完全なカットλ1-incomplete及びλ
2-inco mpleteと呼ばれ、かかる不完全なカットを完全化
するため必要とされる論理ゲートが判定される(ブロッ
ク216及び220)。
【0075】回路1及び2の各々を通る完全なカットは
仮のカット選択領域IPと反映的なカット選択領域I
P’を使用して試行され、上記カットの対は、夫々、カ
ットα及びα’のように名前を付けられる(ブロック2
14及び218)。完全なカットλ1 及びλ2 が両方の
回路1及び2に対し検出されたならば(ブロック22
1)、上記カットのサイズは比較される(ブロック22
2)。カットセットのサイズはゲートの個数に関して定
められる。カットセットのホールは、カットの上又は前
方でもう一方の回路内に含意のないカットセットのゲー
トがあることを意味する。カットセットλ1 の方が小さ
い場合、カットセットλ1 が完全なカットと呼ばれる
(ブロック223)。カットセットλ2 の方が小さい場
合、カットセットλ2 が完全なカットと呼ばれる(ブロ
ック224)。カットλ1だけが完全な場合(ブロック
225)、カットλ1 は回路のカットと呼ばれる(ブロ
ック223)。一方、カットλ2 だけが完全な場合、カ
ットλ2 は回路のカットと呼ばれる(ブロック22
4)。
【0076】カットセットの完全性のテストの実行後、
カットλ1 又はλ2 を構成する各ゲートのワイヤにブー
ル代数の値を単射することにより、トポロジーは照合さ
れる(ブロック227)。出力信号はトポロジー間の等
価性を示すためXOR論理ゲートからアサートされる。
出力信号がブール代数の値0と一致する場合、回路は等
価であることが照合される。
【0077】図21を参照すると、主出力から始めてカ
ットセットαを検出するルーチンのフローチャートが示
されている。上記ルーチンは、区分を形成する含意点の
セットを選択するため出力ゲートのファンインを介して
後向きにトレースする。目標回路の中の何処かにある出
力ゲートGは選択され(ブロック230)、ゲートGが
先に選択されている場合(ブロック231)、ルーチン
は終了する。
【0078】ゲートGのファンインは主入力の方へ後向
きにトレースされるので、ゲートGの直接の入力にある
ゲートJが選択される(ブロック232)。ゲートJが
先に選択されていない場合(ブロック233)、ゲート
Jの格納された学習含意点のセットは、ゲートJに対し
現在の回路又は他の回路に含意点が存在するかどうかを
判定するため調べられる(ブロック234)。かかる含
意点が同一回路内に存在する場合、解析されている回路
のゲートJと共に仮のカット選択領域に格納され、他の
回路内のあらゆる含意点は他の回路の反映的な仮のカッ
ト選択領域IP’に格納される(ブロック235)。上
記含意点が存在しない場合、この処理はゲートJを用い
て自分自身を再帰的に呼出す(ブロック236)。上記
処理はゲートGへの全ての直接の入力が選択されるまで
繰り返される(ブロック237)。
【0079】図22を参照すると、仮のカット選択領域
IPと反映的な仮のカット選択領域IP’を格納するデ
ータ構造が示されている。このデータ構造は、仮のカッ
トを構成する論理ゲート番号の整数型配列からなる。上
記配列の最大サイズは、前処理コマンドを用いて最大の
配列次元を設定するカットサイズマクロによって決めら
れる。
【0080】図23及び24には、反映的なカットセッ
トαを検出するルーチンが示されている。このルーチン
の目的は、第1の回路の区分に関数的に対応する区分を
第2の回路に作成することである。上記ルーチンの第1
の部分の間、所定の主出力からは辿ることができるが、
反映的な仮のカット選択領域IP’のゲートからは辿る
ことができない第2の回路の全ての論理ゲートがマーク
される(ブロック240)。
【0081】反映的な仮のカット選択領域IP’には、
第1の回路に適合している出力ゲートを有する第2の回
路内の所定の出力ゲートの格納された論理的相互従属関
係(学習含意点)が含まれることに注意が必要である。
上記格納された相互従属関係は、予め経験的、又は、論
理的に含意され、図20の(A)及び(B)に示したデ
ータ構造を使用して含意ファイル183及び184に格
納される。かくして、たとえ、上記関係は照合される二
つの回路の独立性に起因して直接的に含意されなくて
も、第1の回路の論理ゲートは上記格納された論理的相
互従属関係の中の一つを用いて第2の回路に反映され
る。
【0082】反映的なカット選択領域IP’は完全なカ
ットである場合(ブロック241)、第1の回路の論理
ゲートはその主出力から後向きにトレースすることによ
り解析される。ゲートGが選択され(ブロック25
7)、後戻りトレース処理は第2の回路の反映的な仮の
カット選択領域IP’の点に写像する第1の回路の全ゲ
ートを識別するため呼び出される(ブロック258)。
この処理は主出力の全部が選択されるまで繰り返される
(ブロック259)。
【0083】反映的な仮のカット選択領域IP’が完全
なカットを構成しない場合、反映的な仮のカット選択領
域IP’内の論理ゲートによって到達し得ないゲートは
候補点としてセットCP1に格納される(ブロック24
2)。同様に、反映的な仮のカット選択領域IP’のカ
ットα’の上又は前方の何れかに含意点を有し、第2の
回路に対し学習された含意のセット内の全ゲートは、マ
ークされ(ブロック243)、候補点としてセットCP
2に格納される(ブロック245)。
【0084】上記ルーチンの第2の部分の間、第2の回
路の各出力ゲートのファンインは、CP2内の何れのゲ
ートがCP1内の全てのゲートに対しカットセットを形
成し得るかを判定するため再帰的に解析される。ゲート
Kはある出力ゲートGに対し選択され(ブロック24
8)、ゲートKの再帰的な処理が呼び出される(ブロッ
ク249)。出力ゲートGの全入力が選択されるまで、
処理は繰り返し的に呼び出される(ブロック250)。
【0085】出力ゲートGで開始された再帰的探索は、
CP1とCP2にあるゲートが検出されたとき停止され
る。かかるゲートは配列Tcut に格納される。探索処理
の終了時、配列Tcut の要素は反映的な仮のカット選択
領域IP’に追加される(ブロック251)。上記探索
処理が主入力に達したとき、カットは不完全である。上
記探索処理が主入力に達しなかったとき、完全なカット
セットが検出される(ブロック252)。無関係なゲー
トは、Tcut に追加されたとき、必要とされるカットを
与える反映的なカット選択領域IP’から削除される
(ブロック253)。上記カットセットは、縦優先探索
によって主出力の最も近くにあるゲートの境界を定める
ことにより配置される。次いで、処理(ブロック25
5)は、上記と同様に、ファンインの全入力ゲートが解
析されるまで(ブロック256)、各出力ゲートGの入
力を再帰的に解析する(ブロック254)。
【0086】図25にはカットセットのホールを充填す
るルーチンのフローチャートが示されている。このルー
チンは、回路の区分のギャップを繋ぐためフェーズIの
間に格納された論理的相互従属関係(学習された含意
点)のセットを探索することによりカットを作成するこ
とを意図している。ギャップを繋ぐため、学習された含
意のセットに追加されたとき、場合によっては小さいカ
ットセットを得る助けになる幾つかのゲートを(たと
え、格納された含意がなくても)探す。
【0087】上記ルーチンの第1の部分の間に、ゲート
Kはセットαから選択され(ブロック260)、ゲート
Kが既に調べられていた場合(ブロック261)、この
ルーチンは終了する。或いは、ゲートKが候補点CP1
のセットから到達できないとき(ブロック262)、こ
のルーチンは終了する。ゲートKが候補セットCP1と
候補セットCP2にあるとき(ブロック263)、ゲー
トKは配列Tcut に追加され(ブロック264)、ルー
チンは終了する。或いは、ゲートKは主入力である場合
(ブロック265)、完全なカットを検出し得ず(ブロ
ック266)、このルーチンは終了する。それ以外の場
合、ゲートKの入力ゲートIは選択され(ブロック26
7)、ゲートKの全入力ゲートが選択されるまで(ブロ
ック269)、上記処理は再帰的に自分自身を呼び出す
(ブロック268)。
【0088】図26には、反映的な仮のカット選択領域
IP’に含まれるかどうかを判定するため論理ゲートの
ファンインを介して後向きにトレースするルーチンが示
されている。回路にあるゲートLに対し(ブロック28
0)、入力ゲートMが選択される(ブロック281)。
入力ゲートMが先に調べられている場合(ブロック28
6)、その入力ゲートは飛ばされ、別のゲートが選択さ
れる。或いは、ゲートMが反映的な仮のカット選択領域
IP’にある場合(ブロック282)、ゲートMはセッ
トTcompleteに格納される(ブロック283)。ゲート
Mが反映的な仮のカット選択領域IP’に含まれない場
合、処理はゲートMを用いて自分自身を再帰的に呼び出
す(ブロック284)。上記処理は所定のゲートLに対
する全入力ゲートが選択されるまで繰り返される(ブロ
ック285)。
【0089】図27には、カットセットΘが完全かどう
か、即ち、セットΘのゲートを除いて主出力から到達可
能な入力が回路内に存在しないかどうかを決定するルー
チンが示されている。この処理は、配列Θに格納された
所定の部分カットセットが完全なカットセットである
か、或いは、ホールを有するかを判定する。配列Θは回
路内のゲートの領域を表わし、図27のルーチンは所定
の領域によって回路内のすべての入力が出力ゲートに到
達するのを阻止されるかどうかを判定する。
【0090】ゲートGは部分カットセットから選択され
る(ブロック290)。そのファンアウトとファンイン
は、夫々、前向き及び後向き伝搬を用いて回路のトポロ
ジーの中をトレースされ(ファンアウトの場合のブロッ
ク291と、ファンインの場合のブロック292)、
“*”でマークされる。かかる選択及びマーキング処理
は、ゲートGへの全入力が選択されるまで(ブロック2
95)、自分自身への再帰呼出しを用いて(ブロック2
94)、ゲートGのあらゆる入力ゲートZに対し繰り返
される(ブロック293)。回路の全ゲートが“*”で
マークされた場合、カットセットは完全である。
【0091】図28には、論理的相互従属関係のセット
内の論理ゲートをマークするルーチンが示されている。
ゲートは論理的相互従属関係(学習された含意)のセッ
トから選択され(ブロック300)、そのゲートの含意
点が選択され、マークされる(ブロック301)。この
処理は全ての含意点が選択されるまで繰り返され(ブロ
ック304)、論理的相互従属関係のある全含意点が選
択される(ブロック305)。
【0092】図29には、不完全なカットを完全化する
ため必要とされる論理的ゲートを定めるルーチンが示さ
れている。部分カットセットαのホール(ブロック31
0)及びα’(ブロック313)は埋められる。同様
に、反映的な仮のカット選択領域IP’のホール(ブロ
ック311)及びIP(ブロック314)のホールは埋
められる。回路1の場合、完全なカットは、部分カット
セットαと、反映的な仮のカット選択領域IP’とによ
り構成されることに注意が必要である。同様に、カット
2の場合、完全なカットは、部分カットセットα’と、
仮のカット選択領域IPとにより構成される。従って、
上記二つのカットセットの合併集合が計算され、回路1
及び回路2の完全なカットセットとして、夫々、カット
セットλ1及びカットセットλ2 に格納される(カット
セットλ1 に対しブロック312及びカットセットλ2
に対しブロック315)。
【0093】図30の(A)には、カットセットλ1
びλ2 を格納するデータ構造が示されている。ゲート番
号(GATE_NUMBER)フィールドは、回路内の
各論理ゲートを識別する固有の数字を格納する。等価フ
ラグ(EQ_FLAG)と、反転フラグ(INV_FL
AG)と、両方フラグ(BOTH_FLAG)のフィー
ルドには、夫々、与えられた論理ゲートが、当該回路又
はもう一方の回路に等価論理ゲート、反転論理ゲート、
或いは、論理的相互従属関係を有するかどうかを示すフ
ラグが含まれている。等価ゲート、反転ゲート、及び論
理的相互従属関係は、与えられた論理ゲートの各々の学
習リストに格納されることに注意が必要である。0フラ
グ(0_FLAG)及び1フラグ(1_FLAG)フィ
ールドには、夫々、ブール代数の0又はブール代数の1
の値が上記ゲートに単射されたならば、与えられたゲー
トは論理的相互従属関係を有することを示すフラグが格
納されている。最後に、完全性フラグ(COMPLET
E_FLAG)は、カットが完全であるかどうかを示
す。
【0094】図30の(B)は、カットα1 及びカット
α2 を格納するデータ構造が示されている。このデータ
構造は同図の(A)に示したようなデータ構造の配列に
より構成される。上記配列の最大サイズは、前処理コマ
ンドを使用して最大配列次元を定めるカットサイズマク
ロによって定義される。図31には、部分カット内の論
理ゲートをトレースし、マークするルーチンが示されて
いる。部分カットPC内の各ゲートの前向きコーン(ブ
ロック320)と後向きコーン(ブロック321)は、
各論理ゲートの中間的なファンアウトとファンインのト
ラバースによってトレースされ、マークされ、到達した
各ゲートはTEMP_Dとしてマークされる。上記ルー
チンの第2の部分において、主出力ゲートPは選択さ
れ、部分カットPC内のホールからなるギャップをつな
ぐかどうかを定めるため解析される(ブロック32
2)。
【0095】図32には、論理的相互従属関係のセット
内の論理ゲートの間のギャップをつなぐ論理ゲートを探
すルーチンが示されている。上記論理ゲートは図示しな
い。当該ゲートPの入力ゲートGは選択される(ブロッ
ク330)。ゲートGは先に調べられていない場合(ブ
ロック331)、かつ、前のルーチンでTEMP_Dと
してマークされなかった場合(ブロック332)、ゲー
トGは、部分カットPCのギャップ内の論理的ゲートの
セットからなるホールセットに格納される(ブロック3
33)。
【0096】ゲートGはTEMP_Dとしてマークさ
れ、部分カットセットPCにあるならば(ブロック33
4)、ゲートGはギャップにあると考えられるので、更
に解析を行なう必要はない。それ以外の場合、この処理
はゲートGを用いて自分自身を再帰的に呼出し(ブロッ
ク335)、当該ゲートPに対する全入力が選択される
まで繰り返される(ブロック336)。
【0097】図33には、先にマークされた論理ゲート
のトレース、収集及びマーキングルーチンが示されてい
る。このルーチンは、あるゲートGが先に調べられてい
ない場合(ブロック411)、そのゲートGに基づいて
動作する(ブロック410)。ゲートGは先に調べられ
ず、“*”でマークされている場合(ブロック41
2)、ゲートGは飛び越される。それ以外の場合、ゲー
トGは“#”でマークされ、配列T1に格納される(ブ
ロック413)。ゲートGが主入力の場合(ブロック4
14)、ゲートGの更なる解析は要求されず、このルー
チンは終了する。ゲートGは主入力ではない場合、ゲー
トGの入力ゲートHが選択され(ブロック415)、上
記ルーチンは、ゲートGの全入力ゲートが選択されるま
で(ブロック417)、ゲートHを入力として使用して
自分自身を再帰的に呼び出す(ブロック416)。
【0098】III. 二分決定図の単純化を用いる論
理設計照合 図1の装置で使用されるような二分決定図の単純化を用
いる論理設計照合用のコンピュータ支援設計装置及び方
法のブロック図を図34に示す。上記装置及び方法のゴ
ールは、二分決定図ベースの処理において、二分決定図
だけを使用する照合の利点を損なうことなく、ディジタ
ル回路の対を照合するため関数的学習を使用することで
ある。
【0099】照合されている二つの回路を表わす二分決
定図が大規模かつ複雑な場合、二つの回路の照合は困難
化する。二つの回路が構造的に類似しているとき、関数
的学習により二つの回路の対応する主出力の等価性が非
常に頻繁に発見されるので、照合は関数的学習だけを用
いて実行し得る。目標ワイヤの入力コーン(中間的なフ
ァンイン)に含まれているブール代数表現の二分決定図
表示が二分決定図ベースの照合に大き過ぎるとき、関数
的学習は二分決定図のサイズを縮小するため使用され
る。関数的学習は、疑似入力変数のセットを選択し、二
つの回路の対応する出力関数を表わす二つの二分決定図
のXOR(複合)二分決定図を構築するため論理的相互
従属関係を用いることによって照合を高速化するため使
用される。論理的相互従属関係(含意)は、XOR二分
決定図のグラフサイズを更に縮小するためカットの変数
の“ドントケア”の組合せ、即ち、二つの所定の回路に
存在しないカット変数のブール代数の組合せの検出に更
に利用される。
【0100】コンピュータプログラム7は、他の部品を
統括する主制御部355を含む6個の主要部(ブロック
342,345,347,349,351,353及び
355)からなる。2次記憶装置1は、8個のファイル
(ブロック340,341,343,344,346,
348,350及び354)を格納する。含意学習部3
42はディジタル回路の対の論理設計トポロジーファイ
ル340及び341を読み込み、そのファイルの中の間
接含意を学習するため使用される。含意学習部342は
図7に示したコンピュータプログラムよりなるが、しか
し、一つの回路だけではなく、含意ファイル343及び
344の対として二つのディジタル回路の間接含意を格
納する。
【0101】区分完全性チェック部345は、カットセ
ットを作成し、照合される各回路のカットセットが完全
な区分であるかどうかをチェックするため使用される。
区分完全性チェック部345は、二分決定図348を構
築するため二分決定図構築部347により使用される完
全なカットセット346の対を発生する。区分完全性チ
ェック部345は、ブロック363に示したように、図
17及び18に示した論理的相互従属関係のある論理ゲ
ートのグループを用いた論理設計照合プログラム210
からのルーチンにより構成される。学習条件計算部34
9は、二分決定図のサイズを縮小、単純化する単純化部
353によって使用される学習条件350のセットを作
成する。学習条件の使用の他に、格納された論理的相互
従属関係(間接含意)は、二分決定図のサイズを更に縮
小するため共通因子計算部351により使用される。
【0102】従って、目標ワイヤ自体を含む目標ワイヤ
のコーン内の全てのワイヤに対する二分決定図354が
構築される。ある中間カットで得られた疑似変数に対し
て構築された目標コーンの二分決定図はGd と呼ばれ
る。次に、学習条件350は、目標ワイヤの入力中と、
カットの前方で種々の二分決定図を適切に併合すること
により得られる。上記学習条件は、単純化部353にお
いて、Gd のサイズを縮小し単純化するため、次々にG
d と論理和される。上記条件は、本質的に、カットの前
方の関数の可制御性の“ドントケア”セットからなる。
【0103】Gd のサイズの単純化の終了時、結果はデ
ィスプレイ356及びプリンタ357でユーザに表示さ
れ、結果ファイル358に格納される。二分決定図単純
化プログラムを用いた論理設計照合の好ましい一実施例
を図35及び36に示す。このプログラムは三つのフェ
ーズで動作する。フェーズIは、図7に示したコンピュ
ータプログラムを用いて、照合すべき各回路の論理設計
を学習された論理的相互従属関係(含意)によって解析
する(ブロック361)。
【0104】次に、複合回路は、二つの回路の各々から
の主出力を合わせ、各対をXOR論理ゲートに供給する
ことにより作成される(ブロック362)。かくして、
適合する出力信号の間の不一致は、XORゲートの出力
に反映される。二つの対応する主出力が関数的に異なる
場合、二つの回路の主入力に供給されたとき、XOR論
理ゲートの出力にブール代数の値1を生成し、これによ
り、照合される二つの回路の間の等価性の欠如を示す少
なくとも一つのブール代数値の組合せがある。
【0105】フェーズIIにおいて、ブロック363に
示したように、図17及び18に示した論理的相互従属
関係のある論理ゲートのグループを用いた論理設計照合
プログラムからの区分完全性チェックルーチンを用い
て、回路区分が完全であるかどうかの判定が行なわれる
(ブロック363)。プログラムの残りの部分はフェー
ズIIIを構成する。全体的なゴールは、照合される両
方の回路の併合された区分の差の関数を表わす複合二分
決定図(XOR二分決定図)を繰り返し単純化すること
である。
【0106】従って、各回路の区分を構成するカットセ
ットは学習条件と共に使用するのに適することが必要で
ある。適当なカットセットは、カットセットが有するホ
ールの数が非常に少ないという特質を満足する。示唆さ
れるホールの個数の割合は、カットセットにある含意点
の個数の3分の1以下である。所定の回路の対を照合す
るため利用可能な計算資源に依存してこれ以外の割合を
同様に試すことができる。ホールは、カットの上又は前
方にある別の点に対し含意点のない回路内の点であるこ
とに注意が必要である。カットセットが適当ではない場
合(ブロック364)、回路は代わりに主出力に関し構
築された順序付けされた二分決定図を用いて照合される
(ブロック365)。
【0107】二つの回路の各々に対し適当なカットセッ
トが存在する場合、変数順序π及びπ’は各カットセッ
トに対し計算され(ブロック366)、二分決定図の
対、F(λ)及びG(λ’)は構築される(ブロック3
67)。ここに与えられたような二分決定図の構成又は
操作に必要な変数順序は、例えば、マリック(S. Malik)
等の“論理合成環境の二分決定図を使用する論理照合(L
ogic Verification Using Binary Decision Diagrams i
n a Logic Synthesis Environment)”、ICCAD(1988) 、
6-9 ページに記載されているような標準的な方法で計算
される。上記文献の内容は参考として引用されている。
その上、ヒューリスティックに許容可能な二分決定図順
序を自動的に決定し得る動的な順序付けベースの二分決
定図パッケージは、例えば、デビッドロング(David Lon
g)によって開発され、ペンシルベニア州ピッツバーグに
あるカーネギーメロン大学から入手可能なパブリックド
メインパッケージのように、容易に入手することができ
る。
【0108】上記二つの二分決定図から、複合二分決定
図Hは、二分決定図F(λ)と二分決定図G(λ’)の
ブール代数XORを実行することにより計算される(ブ
ロック368)。このXOR二分決定図は、二つの関数
F(λ)とG(λ)の差分の関数を表わす。学習条件の
簡単化処理の一部は、主出力と各回路のカットの間にあ
る学習条件AND_LNG(i)と呼ばれる二分決定図
のセットを構築することである(ブロック369)。従
って、複合二分決定図Hは、二つの回路の各々で内部カ
ット点のカットセット変数に関し構築された二つの回路
の対応する主出力の二つの二分決定図の間のブール代数
XOR演算によって作成される。上記複合二分決定図H
は、二分決定図Hnew (i)を作成するため学習条件A
ND_LNG(i)のセットに格納された各二分決定図
と論理積をとられる。各演算の後、Hnew (i)のサイ
ズはHのサイズより小さくなり、Hnew (i)は元の複
合二分決定図Hを置換するので、複合二分決定図が単純
化される。
【0109】学習条件の論理積の終了後、得られた二分
決定図Hは、共通因子化と、学習条件を使用する制限と
によって更なるサイズの縮小がなされる。共通因子化段
階中、二分決定図Hはカット変数に基づくシャノンの展
開式を用いて共通因子化される(ブロック370)。各
共通因子化段階の後、カット変数の間接含意は、共通因
子のサイズを縮小するため利用される。
【0110】最後に、二つの共通因子は二分決定図H
new を構築するため結合される。Hne w のサイズが二分
決定図Hのサイズより小さい場合、Hは、新しいXOR
二分決定図としてのHnew によって置換される。共通因
子化は、Hのサイズが縮小化され続ける限り繰り返され
る。終了時、統合二分決定図Hが二分決定図H 0であ
る場合(ブロック371)、回路は照合され(ブロック
372)、この処理は終了する。二分決定図Hが二分決
定図 1に縮小した場合、二つの関数は互いの補数であ
る。或いは、上記引用文献のブリアント(R.E. Bryant)
による“ブール代数関数表現のグラフベースアルゴリズ
ム(Graph Based Algorithms for BooleanFunction Repr
esentation)”、IEEEコンピュータ学会誌、C-35(19
86 年8 月) 、ページ677-690 に記載されているよう
に、二分決定図Hのサイズが小さい場合(ブロック37
3)、回路の主入力上に作られた二分決定図を用いて複
合二分決定図Hを完全に合成することにより照合は進行
する(ブロック374)。
【0111】上記合成がコンピュータメモリ空間の不足
に起因して中断しない場合(ブロック375)、夫々の
二分決定図、F(λ)及びG(λ’)のブール代数XO
Rは主入力に対し計算される。上記結果が0と一致する
とき(ブロック376)、回路は照合され(ブロック3
79)、この処理は終了する。上記結果が0と一致しな
い場合、回路は関数的に別であることが判明し(ブロッ
ク377)、識別ベクトル(二つの回路に供給されたと
き、二つの回路の主出力に別の値を生成する主入力にお
けるブール代数値の合成)は二分決定図Hの単純な縦優
先トラバースによって得られ(ブロック378)、プロ
セスは終了する。
【0112】学習条件の論理積とXOR二分決定図の共
通因子化によるサイズの完全な縮小後に、最終的なHの
サイズが、回路の主入力に関し完全な合成を完了するた
めには未だ大き過ぎる場合、順次合成と呼ばれる方法が
XOR二分決定図Hの単純化のため使用される(ブロッ
ク380)。以下順次合成処理を説明する:最初に、別
の実現可能なカットセットが存在する場合(ブロック3
81)、照合される二つの回路内で新しいカットセット
が選択される(ブロック382)。元のカットセットで
開始し主入力の方へLレベルの横優先トラバースを用い
ることにより新しいカットセットを選択することが可能
である。好ましい一実施例の場合、Lは3でも構わな
い。
【0113】或いは、新しいカットは、ブロック363
に示したように、図17及び18に示した論理的相互従
属関係のある論理ゲートのグループを用いた論理設計照
合プログラム210からのルーチンを用いて現在のカッ
トと主入力の間の別の完全なカットとして選択してもよ
い。完全なカットを探している間に、不完全なカットし
か得られなかった場合、カット内のホールの個数が利用
可能な計算資源に基づいてある数にヒューリスティック
に制限されているならば、かかるカットを許容してもよ
い。
【0114】次に、二分決定図Hは、CUTnew と呼ぶ
新しいカットセットの変数に対し合成される。これによ
り、CUTnew に対し構築された新しいXOR二分決定
図H new が得られる。CUTnew の前に二つの回路の一
部から得られた学習条件は、二分決定図Hnew のサイズ
を縮小するため二分決定図Hnew と論理積をなされる。
この処理は、二分決定図Hnew のサイズを縮小するため
使用された上記学習条件処理と同一である。次いで、C
UTnew の変数と次の制限を使用するシャノンの展開式
に基づく共通因子化は、二分定図Hnew のサイズを更に
縮小するため実行される。この段階の終了後、CUT
new が元のカットセットを置換し、二分決定図Hnew
二分決定図Hが置換する順次の合成処理を繰り返すこと
が可能である。この処理は二分決定図Hのサイズが主入
力の実現可能性の点で完全な合成がなすため十分に小さ
くなるまで続けられる。
【0115】順次の合成動作のあらゆる段階において、
コンピュータの記憶資源を使用し尽くすことにより動作
が失敗するならば、ATPGツールが呼び出される(ブ
ロック383)。ATPGツールのゴールはXORゲー
トの出力にある零スタック(stack-at-0)の障害は冗長で
あることを証明することである。上記障害が冗長である
ことが証明された場合、照合は終了し、回路は照合され
る(ブロック385)。障害の冗長性が証明されなかっ
た場合、回路は照合されず、障害を示すテストベクトル
が検出される(ブロック386)。テストベクトルは、
二つの回路の主入力に供給されると、その二つの回路の
主出力に異なるブール代数値を発生させる。
【0116】図37には、学習条件AND_LNG
(i)のセットの計算ルーチンが示されている。二分決
定図Hのサイズは格納される(ブロック396)。カッ
トλの前方にある出力XORゲートの入力コーン(中間
的ファンイン)のゲートは選択される(ブロック39
0)。格納された(フェーズIからの)間接含意のリス
トはトラバースされ、学習条件はカットλの前方にある
含意から形成される(ブロック391)。学習条件のサ
イズがあるユーザ定義値kよりも小さい場合(ブロック
392)、学習条件Cj は二分決定図Hを単純化するた
め使用される(ブロック393)。トラバース処理は、
全含意が検出されるまで繰り返され(ブロック39
4)、全処理はカットλの前方にある全ゲートが検出さ
れるまで繰り返される(ブロック395)。その上、現
在の二分判定図Hのサイズが、格納された二分決定図H
のあるパーセント、例えば、2%よりも小さい場合(ブ
ロック397)、処理は繰り返される。
【0117】図38には、カットセットλの変数に基づ
いて共通因子を計算し、二分決定図のサイズを縮小する
ため論理的相互従属関係を使用する方法が示されてい
る。共通因子は変数又は関数の何れの引き数として見な
し得る。このルーチンは、シャノンの展開式を二分決定
図Hに適用し、既知の含意に基づいて制限を行なうこと
により二分決定図のサイズを縮小することを試みる。
【0118】上記フェーズの間、二分決定図Hは、支持
(サポート)セット、即ち、二分決定図に含まれた全て
の固有変数のセット内の各変数で順次に共通因子化され
る。例えば、vはHの支持セット内の変数である場合を
考えてみよう。vに関してHを共通因子化した後、Hの
二つの共通因子、Hv=0 とHv=1 が得られる。Hv=0
変数vがブール代数の0に制限された場合の二分決定図
Hであり、Hv=1 は変数vがブール代数の1に制限され
た場合の二分決定図Hである。最初に、二分決定図Hの
支持セットは判定され、サイズはSIZE_ORIGI
NALとして格納される(ブロック400)。
【0119】次に、支持セットの中の多数のvが選択さ
れ(ブロック401)、二分決定図Hは変数vの値に基
づいて共通因子化される(ブロック402)。v=0に
対し全ての直接及び間接含意のリストが得られる。上記
含意の中にHの支持セット内の他のあらゆる変数に関係
するものがある場合、適当な制限がHv=0 で行なわれる
(ブロック403)。v=1に対し全ての直接及び間接
含意のリストが得られ、同様の制限処理がHv=1 に対し
続けられる(ブロック404)。
【0120】例えば、含意v=0ならばa=1(ここ
で、aはHの支持セット内の他の変数である)が存在す
るならば、変数aはHv=0 でブール代数の1に制限され
る。かくして、最終的なHv=0 が得られ、最終的なH
v=1 が得られる。Hnew は以下のシャノンの展開式:
【0121】
【数1】
【0122】を用いて構成される(ブロック405)。
new のサイズがHのサイズよりも小さい場合(ブロッ
ク406)、HはHnew で置き換えられ(ブロック40
7)、全処理は新しいHの支持セットの他の変数に対し
繰り返される(ブロック408)。共通因子化と制限が
支持セットの全ての変数に対し行なわれた後、Hの最終
的なサイズが、少なくともあるパーセンテージ、例え
ば、2%減少した元のHのサイズよりも小さいならば、
全体の処理は繰り返される(ブロック409)。しか
し、先行の何れかの繰り返し中に二分決定図のサイズが
縮小された全ての変数は、1度しか使用されない。上記
判定は本質的にヒューリスティックである。
【0123】図39には、学習条件を適当に論理積する
ことにより複合二分決定図を単純化するルーチンが示さ
れている。ブール代数の論理積演算は、Hと学習条件二
分決定図Cj の間で計算される(ブロック434)。計
算結果が複合二分決定図の現在のサイズよりも小さい場
合(ブロック435)、ブール代数論積演算の結果(H
∧Cj )は複合二分決定図Hの代わりに用いられる(ブ
ロック436)。
【0124】IV. ハードウェア設計の表現構成のた
めの計算資源必要量の削減上記方法により、論理的相互
従属関係は、決定図を構築するための計算資源の点で必
要とされる時間及び空間を削減するため使用される。第
1に、論理的相互従属関係(含意)は所定のディジタル
回路内で決められる。かかる論理的相互従属関係は、回
路内で生じ得る可能な信号割当状況を制限する。例え
ば、ある信号が:a→bを含意する場合、信号aが大き
い値をとるときはいつも、信号bは大きい値をとる。従
って、信号aは大きい値をとり、信号bは小さい値をと
る状況は除かれる。
【0125】論理的相互従属関係で表わされたような上
記関係を考慮することにより、同様の信号a及び信号b
を有する決定図を単純化することができる。従って、決
定図の構成のための計算資源の点で必要とされる時間及
びメモリを削減することが可能である。論理ゲートGを
選択することにより、“新しい”副回路G_cone_
circuitは、全論理ゲートと、ゲートGの入力コ
ーンにある主入力(中間的ファンイン)とから形成され
る。
【0126】図40及び41には、本発明の他の実施例
によるハードウェア設計の表現構成のための計算資源必
要量を削減する処理のフローチャートが示されている。
上記処理の目的は、所定の主出力又はディジタル回路内
の内部ゲートに対し二分決定図を構築し、それにより必
要とされる時間と計算メモリ資源の必要量を削減するこ
とである。回路内の論理ゲートGは選択され(ブロック
420)、中間的なファンイン(入力コーン)は副回路
G_cone_circuitとしてマークされる(ブ
ロック421)。
【0127】副回路G_cone_circuitの完
全なカットλは、ブロック363に示したように、図1
7及び18に示した論理的相互従属関係のある論理ゲー
トのグループを用いた論理設計照合プログラム210か
らのルーチンを用いて判定される(ブロック422)。
可能な最良のカットを検出する同様の処理は、完全では
ない場合もあるが、フェーズIIにおいて行なわれるよ
う続けられる。論理ゲートGの二分決定図Gd はカット
λに関し構築される(ブロック423)。コンピュータ
のメモリ資源の不足のため二分決定図を構築し得ない場
合、動作は中止される。
【0128】次に、回路の論理ゲートと共に既に格納さ
れた学習条件は二分決定図Gd を単純化するため使用さ
れる(ブロック424)。図35及び36に示した二分
決定図の単純化プログラム360を用いる論理設計照合
のため使用された同一ルーチンは、この方法でも使用さ
れる(ブロック424)。新たに単純化された二分決定
図は、Gnew という名前が付けられる。二分決定図G
new のサイズが二分決定図Gd のサイズより小さい場合
(ブロック425)、二分決定図Gnew は二分決定図G
d の代わりに用いられる(ブロック426)。元の二分
決定図Gd に割り当てられたコンピュータメモリ資源は
解放される(デアロケーション)。
【0129】分割された二分決定図のサイズが大きい、
或いは、対応するカットセットが主入力の近くにない場
合、二分決定図Gd は再帰的に単純化される。それ以外
の場合、二分決定図Gd は回路への主入力に関し合成さ
れる(ブロック427)。合成演算が成功したとき(ブ
ロック428)、目標二分決定図が構成され(ブロック
429)、このルーチンは終了する。コンピュータメモ
リが不足した場合、合成は成功しない。コンピュータメ
モリが不足したとき、元のカットλと主入力の間にある
新しい完全なカットλ’を判定する必要がある(ブロッ
ク430)。完全なカットが検出されなかった場合、図
17及び18に示した論理的相互従属関係のある論理ゲ
ートのグループを用いた論理設計照合プログラム210
の同一ルーチンを用いて、最大の数の論理的相互従属関
係を組み込む不完全なカットが使用される(ブロック4
30)。
【0130】再び、二分決定図Gd は新しいカットλを
使用して合成される(ブロック431)。合成が成功し
なかった場合(ブロック432)、目標二分決定図は構
築されず(ブロック433)、このルーチンは終了す
る。或いは、合成動作が成功して終了し、完全なカット
λ’が主入力にない場合(ブロック434)、上記ルー
チンは繰り返される。完全なカットλ’が主入力にある
場合、目標二分決定図が構成され(ブロック435)、
上記ルーチンは終了する。
【0131】本発明の方法によれば、論理的相互従属関
係はメモリ必要量と計算時間の両方を削減するため使用
し得る利点がある。完全なカットを選択するルーチンと
同一ルーチンを採用することにより、二分決定図のサイ
ズを縮小するためカットλ内の変数間の関係を全部利用
する。更に、二分決定図のサイズは縮小されるので、コ
ンピュータメモリの必要量は削減される。最後に、合成
される二分決定図のサイズが小さいほど、二分決定図の
合成をより高速に行なうことができる。従って、時間的
な必要量が削減される。
【0132】V. ゴール向き学習 本発明によれば、ゴール向き学習(goal directed learn
ing)として周知のより効率的に計算資源を特定のゴール
に向ける方法が得られる更なる利点がある。例えば、論
理的相互従属関係のある論理ゲートのグループを用いる
論理設計照合又は二分決定図の単純化(フェーズII及
びIII)を行なう場合、カットλが判定されたとき、
カット点と主出力の間により多くの論理的相互従属関係
(含意)が得られるようゴール向き学習の方法を用いて
資源を割り当てることができる。これにより得られた論
理的相互従属関係の数は増加するので、主出力により近
い新しいカットλを得ることができ、これにより、回路
のより小さい部分が得られる。その上、論理的相互従属
関係の増加は、本明細書のパートIVに記載した方法に
利用された差の二分決定図Gd を更に単純化するため付
加的な学習条件を使用し得ることを更に意味する。
【0133】ゴール向き学習は、計算資源を集中させる
ため回路の近似的な領域に定義するように初期カットλ
を扱う。初期カットλは、使用された最大学習レベルが
主出力からの構造的距離kである学習方法を用いて回路
で得られた場合、ゴール向き学習は、kより大きい学習
レベル、例えば、k+iを用いて、初期カットの近傍で
論理的相互従属関係の判定に集中する。ここで、上記i
の値の一例は2である。学習処理は初期カットλの周辺
の回路の上記領域に採用され、上記仮想領域はゴール向
き学習領域と呼ばれる。
【0134】以下、ゴール向き学習の実行方法を説明す
る。元のカットλと、主出力の間にあるカットλ
k+i が、元のカットからk+iの距離を用いて定められ
る。カットλから始めて、学習処理は、学習レベルk+
iの関数的学習を利用して、カットλとカットλk+i
間にある全ての論理ゲートで学習する。これにより定め
られた論理的相互従属関係は、回路内の更なる論理的相
互従属関係を定めるため、或いは、より良いカットλを
検出するため使用される。
【0135】図42には、本発明の他の実施例によるゴ
ール向き学習を実行する処理のフローチャートが示され
ている。カットλと、カットλから最大でk+L1の構
造的距離にある主出力との間にある全論理ゲートからな
るリストL(λ,k+L1)が検出される(ブロック4
50)。かかるリストはゴール向き学習領域をなす。ゲ
ートGはリストL(λ,k+L1)から選択され(ブロ
ック451)、論理的相互従属関係は、学習レベルがk
+iと一致する関数的学習(フェーズ1)を用いて判定
される(ブロック452)。上記選択及び判定段階は、
リストL(λ,k+L1)内の全ゲートが選択されるま
で、繰り返される(スデップ453)。学習レベルの数
iはある固定的な一定値L2を超えず、所定の数の付加
的な論理的相互従属関係又は他の関係する理由のような
何らかの理由から判定段階の結果を満足できない場合
(ブロック454)、学習レベルパラメータiは、例え
ば、2のようなある固定の増分で増加され(ブロック4
55)、処理は繰り返される。
【0136】ゴール向き学習を行なう第2の方法を以下
に説明する。元のカットλのk+iレベル前に構造的な
カットが得られる。この新しいカットはCUT1と呼ば
れる。次に、元のカットλのk+iレベル後に構造的な
カットが得られる。この新しいカットはCUT2と呼ば
れる。論理設計解析は、学習レベルk+iを用いてCU
T1とCUT2の間で行なわれる。このレベルは最大で
k+iまで増加させることが可能である。この方法は、
計算的にコストの高い解析が行なわれる場合に、回路の
領域が認定されるときいつも過剰な論理的相互従属関係
を得るため使用され、この過剰な論理的相互従属関係の
恩恵を受ける。
【0137】図42には、本発明の他の実施例によるゴ
ール向き学習を実行する他の処理のフローチャートが示
されている。カットλと主出力、又は、カットλと主入
力の間にあり、どちらの場合でもカットλから最大でk
±L1の構造的距離にある全ての論理ゲートからなるリ
ストL(λ,k±L1)が検出される(ブロック46
0)。このリストはゴール向き学習領域をなす。ゲート
GはリストL(λ,k±L1)から選択され(ブロック
461)、論理的相互従属関係は、学習レベルがk+i
と一致する関数的学習(フェーズ1)を用いて判定され
る(ブロック462)。上記選択及び判定段階は、リス
トL(λ,k±L1)内の全ゲートが選択されるまで、
繰り返される(スデップ463)。学習レベルの数iは
ある固定的な一定値L2を超えず、所定の数の付加的な
論理的相互従属関係又は他の関係する理由のような何ら
かの理由から判定段階の結果を満足できない場合(ブロ
ック464)、学習レベルパラメータiは、例えば、2
のようなある固定の増分で増加され(ブロック46
5)、処理は繰り返される。
【0138】本発明の説明及び記載を特に好ましい実施
例に関し行なったが、本発明の精神と目的の範囲を逸脱
することなく形態及び詳細の上記及び他の変形を行ない
得ることは当業者により理解される。
【0139】
【発明の効果】上記説明のように、本発明によれば、デ
ィジタル回路のトポロジーに基づく論理設計解析の際に
生じる所謂NP完全問題の解法のために必要とされる計
算時間とメモリ空間が削減される。従って、論理設計解
析を必要とするディジタル回路のエンジニアリング変更
の際の時間的、メモリ空間的な制約が低減され、エンジ
ニアリング変更の導入が容易になるという利点が得られ
る。
【0140】更に、本発明によれば、CAD業界におい
て重要なディジタル回路の製造欠陥のテストベクトルを
得るためのATPGの問題が解決される。即ち、従来の
ATPG機器で検出が困難であった冗長性欠陥と呼ばれ
る特定の欠陥のタイプを検出し得るようになる。
【図面の簡単な説明】
【図1】本発明を実施するコンピュータ装置のブロック
図である。
【図2】図1の装置で使用されるような論理的相互従属
関係の判定用の論理設計解析を実行するコンピュータ支
援設計装置のブロック図である。
【図3】(A)は間接的な含意のためのディジタル回路
の解析処理の一例を示し、(B)は論理回路設計の一区
分が論理設計照合を行なうため完全であるときを判定す
る処理の一例を示し、(C)は論理設計照合を行なうた
め学習条件を使用する処理の一例を示している本発明の
一実施例による処理のフローチャートである。
【図4】ディジタル論理回路のトポロジーの一例を示す
論理設計の概要図である。
【図5】ディジタル論理回路の論理ゲートの内部データ
構造の一例を示す図である。
【図6】(A)乃至(C)は、図4に示した論理ゲート
の二分決定図と正当ベクトルとを示す図である。
【図7】論理回路のトポロジーの含意を学習することに
より論理設計を解析する処理の一例のフローチャートで
ある。
【図8】特定の論理回路のファンインにある未正当化ゲ
ートの検出ルーチンの一例のフローチャートである。
【図9】特定の論理回路のカットセットの検出ルーチン
の一例のフローチャートである。
【図10】カットセットを用いる特定の論理回路の二分
決定図構築ルーチンの一例のフローチャートである。
【図11】二分決定図の頂点レコードの内部データ構造
の一例を示す図である。
【図12】特定の論理ゲートの仮想学習領域の作成ルー
チンの一例を示すフローチャートである。
【図13】特定の論理ゲートの仮想学習領域の作成ルー
チンの一例を示すフローチャートである。
【図14】二分決定図から得られた正当ベクトルの内部
データ構造の一例を示す図である。
【図15】仮想学習領域の各ゲートと、特定の論理ゲー
トの間の含意学習ルーチンの一例を示すフローチャート
である。
【図16】図1の装置で使用されるような論理的相互従
属関係のある論理ゲートのグループを用いる論理設計照
合用のコンピュータ支援設計装置及び方法のブロック図
である。
【図17】本発明の他の実施例による論理的相互従属関
係のある論理ゲートのグループを用いる論理設計照合処
理の一例のフローチャートである。
【図18】本発明の他の実施例による論理的相互従属関
係のある論理ゲートのグループを用いる論理設計照合処
理の一例のフローチャートである。
【図19】(A)は論理的相互従属関係の仮のリストを
格納するリンクドリストのデータ構造を示し、(B)は
リンクしたリストデータ構造の一例を示す図である。
【図20】(A)は論理ゲートの1レベルの終了時、論
理的相互従属関係を収集するリストデータ構造を示し、
(B)は論理的相互従属関係のリストのセットの一例を
示す図である。
【図21】主出力から始まるカットセットαの検出ルー
チンの一例のフローチャートである。
【図22】仮のカット選択領域と反映的な仮のカット選
択領域を格納するデータ構造を示す図である。
【図23】反映的なカットセットαの検出ルーチンの一
例のフローチャートである。
【図24】反映的なカットセットαの検出ルーチンの一
例のフローチャートである。
【図25】カットセット内のホールの充填ルーチンの一
例のフローチャートである。
【図26】ゲートが反映的な仮のカット選択領域に含ま
れるかどうかを定めるため、ゲートのファンインを介す
る後向きトレースルーチンの一例のフローチャートであ
る。
【図27】カットセットの完全性判定ルーチンの一例の
フローチャートである。
【図28】論理的相互従属関係のセット内の論理ゲート
のマークルーチンの一例のフローチャートである。
【図29】不完全なカットを完全化するため必要な論理
ゲートの判定ルーチンの一例のフローチャートである。
【図30】(A)はカットセットを格納するデータ構造
を示し、(B)はカットを格納するデータ構造を示す図
である。
【図31】部分カットの論理ゲートをトレースし、マー
クするルーチンの一例のフローチャートである。
【図32】論理的相互従属関係のセット内の論理ゲート
と、それ以外の論理ゲートの間のギャップをつなぐ論理
ゲートを探索するルーチンの一例のフローチャートであ
る。
【図33】先にマークされた論理ゲートをトレースし、
マークするルーチンの一例のフローチャートである。
【図34】図1の装置で使用されるような二分決定図の
単純化を用いる論理設計照合用のコンピュータ支援装置
のブロック図である。
【図35】本発明の他の実施例による二分決定図の単純
化を用いる論理設計照合処理を示すフローチャートであ
る。
【図36】本発明の他の実施例による二分決定図の単純
化を用いる論理設計照合処理を示すフローチャートであ
る。
【図37】学習条件のセットを計算するルーチンの一例
の示すフローチャートである。
【図38】カットセットの変数に基づいて共通因子を計
算し、二分決定図のサイズを縮小するため既知の論理的
相互従属関係を使用するルーチンの一例を示すフローチ
ャートである。
【図39】学習条件を適当に論理和することにより複合
二分決定図を単純化するルーチンの一例を示すフローチ
ャートである。
【図40】本発明の他の実施例によるハードウェア設計
の構成のための計算資源必要量を削減する処理を示すフ
ローチャートである。
【図41】本発明の他の実施例によるハードウェア設計
の構成のための計算資源必要量を削減する処理を示すフ
ローチャートである。
【図42】本発明の他の実施例によるゴール向き学習を
実行する処理を示すフローチャートである。
【図43】本発明の他の実施例によるゴール向き学習を
実行する他の処理を示すフローチャートである。
【図44】複合ディジタル回路のトポロジーを示す論理
設計の概略図である。
【符号の説明】
1 2次記憶装置 2 主メモリ 3 マイクロプロセッサ 4 ディスプレイ 5 プリンタ 6 結果ファイル 7 コンピュータプログラム 10 候補ゲートセット選択部 11 未正当化ゲート選択部 12 カットセット選択部 13 二分決定図(BDD)構築部 14 仮想学習領域マーカー部 15 含意学習部 16 主制御部 17 候補論理ゲートセット 18 未正当化ゲートセット 19 固有ブール代数値セット 20 カットセット 21,24 二分決定図 22 正当ベクトル/パスセット 23 仮想学習領域セット
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 R.Mukherjee et a l.,Functional Lear ning:A new approac h to learning in d igital circuits,Pr oceedings fo the 12 th IEEE VLSI Test Symposium,米国,IEEE, 1994年4月25日,p122−127 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 JICSTファイル(JOIS)

Claims (11)

    (57)【特許請求の範囲】
  1. 【請求項1】 論理ゲートと相互接続された主出力のセ
    ット及び主入力のセットを含み、論理ゲートはワイヤに
    よって相互接続されている、ディジタル回路のトポロジ
    ーにおいて、上記論理ゲートの中の一つにアサートされ
    又は上記論理ゲートの中の一つからアサートされた信号
    を伝送するワイヤ上の各点の間の論理的相互従属関係を
    定めるコンピュータ支援設計装置を使用する方法であっ
    上記トポロジーの表現を上記コンピュータ支援設計装置
    の記憶装置に格納する格納段階と 上記トポロジーにおいて、 上記論理ゲートの中の目標論
    理ゲートに通じる論理ゲートのファンインに集まる論理
    ゲートを含むカットセットを選択する選択段階と 上記目標論理ゲートから通じる上記カットセット内の論
    理ゲートの決定図を構築する構築段階と 上記目標論理ゲートの所定のブール代数値に対し上記決
    定図から上記カットセット内の論理ゲートの矛盾の無い
    信号値の組合せを表現する正当ベクトルを抽出し、上
    記トポロジー内の学習対象領域である仮想学習領域の論
    理ゲートをマークするマーク段階と 上記決定図と、上記仮想学習領域の論理ゲート用の複数
    の別の決定図との間でブール代数演算を行ない、上記論
    理的相互従属関係を判定し、上記コンピュータ支援設計
    装置の記憶装置に上記論理的相互従属関係を格納する判
    定段階と、を有する方法。
  2. 【請求項2】 上記トポロジー内の目標論理ゲートのセ
    ットの中の複数のゲートに対し、上記選択段階、構築段
    階、マーク段階及び判定段階を繰り返す段階を更に有す
    る請求項1記載の方法。
  3. 【請求項3】 上記格納段階は、物理的なディジタル回
    路設計用の論理設計トポロジーの表現を格納する段階を
    更に有する請求項1記載の方法。
  4. 【請求項4】 上記トポロジー内で正当化ベクトルが抽
    出されていない論理ゲートの中で、唯一ではない正当
    ベクトルを有する未正当化論理ゲートのセットを選択す
    る段階と 上記未正当化論理ゲートのセットから目標論理ゲートを
    選択する段階と、を更に有する請求項1記載の方法。
  5. 【請求項5】 上記カットセットの選択段階は、上記ト
    ポロジー内で上記目標論理ゲートから所定の構造的な距
    離になるまで各論理ゲートの上記ファンインを後向きに
    トレースする段階を有する請求項1記載の方法。
  6. 【請求項6】 上記構築段階は、複数の非端頂点と、複
    数の端頂点と、各非端頂点を別の非端頂点又は端頂点に
    相互接続する有向パスとからなる二分決定図を構築する
    段階を更に有する請求項1記載の方法。
  7. 【請求項7】 上記構築段階は 上記カットセット内の上記論理ゲートに変数順列を作成
    する段階と あるサイズに対し上記目標論理ゲートに対応する根頂点
    から始まる上記トポロジーの構造的な深さと、上記二分
    決定図内の多数の頂点を定める、上記目標論理ゲートか
    ら始まり上記サイズを有する上記カットセット用二分決
    定図を生成する段階とを更に有する請求項6記載の方
    法。
  8. 【請求項8】 上記マーク段階は 上記目標論理ゲートに対応する根頂点から始まる上記決
    定図をトレースすることにより、抽出が非端頂点で停止
    したとき不完全になるような正当ベクトルのセットを
    抽出する段階と 端頂点に達するまで上記決定図をトレースすることによ
    り、上記不完全な各正当ベクトルを完成する段階と ブール代数値の前向きの伝搬及び後向きの伝搬によって
    到達し得る全ての論理ゲートを評価するため上記論理
    ゲートの真理値表を使用して、上記各正当化ベクトルを
    上記トポロジーへ適用するシミュレーション段階と 上記シミュレーション段階によって得られたトポロジー
    内の信号値を表わす 含意結果ベクトルの中で目標論理ゲ
    ートと同じ値を出力している論理ゲートに対応した共通
    部分を定め、上記共通部分の表現を上記仮想学習領域に
    格納する段階と、を更に有する請求項1記載の方法。
  9. 【請求項9】 上記判定段階は 上記仮想学習領域から上記論理ゲートの中の一つを選択
    する段階と 上記選択された論理ゲートに対し、上記別の決定図の中
    の一つを構築する段階と 結果を得るため上記決定図と上記別の決定図の間でブー
    ル代数演算を行なう実行段階と 上記結果から論理的相互従属関係を定め、上記結果の表
    現を記憶装置に格納する段階とを更に有する請求項1
    記載の方法。
  10. 【請求項10】 上記実行段階は、上記決定図と、上記
    選択された論理ゲートに対する上記別の決定図との間で
    ブール代数のANDを行なう段階からなる請求項9記載
    の方法。
  11. 【請求項11】 論理ゲートと相互接続された主出力の
    セット及び主入力のセットを含み、論理ゲートはワイヤ
    によって相互接続されている、ディジタル回路のトポロ
    ジーにおいて、上記論理ゲートの中の一つにアサートさ
    れ又は上記論理ゲートの中の一つからアサートされた信
    号を伝送するワイヤ上の各点の間の論理的相互従属関係
    を定めるコンピュータ支援設計装置であって 上記トポロジーの表現を上記コンピュータ支援設計装置
    の記憶装置に格納する手段と 上記トポロジーにおいて、 上記論理ゲートの中の目標論
    理ゲートに通じる論理ゲートのファンインに集まる論理
    ゲートを含むカットセットを選択する手段と 上記目標論理ゲートから通じる上記カットセット内の論
    理ゲートの決定図を構築する手段と 上記目標論理ゲートの所定のブール代数値に対し上記決
    定図から上記カットセット内の論理ゲートの矛盾の無い
    信号値の組合せを表現する正当ベクトルを抽出する手
    段を有し、上記トポロジー内の学習対象領域である仮想
    学習領域の論理ゲートをマークする手段と 上記決定図と、上記仮想学習領域の論理ゲート用の複数
    の別の決定図との間でブール代数演算を行なう手段を有
    し、上記論理的相互従属関係を判定し、上記コンピュー
    タ支援設計装置の記憶装置に上記論理的相互従属関係を
    格納する手段と、を具備する装置。
JP01468096A 1995-01-31 1996-01-30 ディジタル回路トポロジーベースのコンピュータ支援設計方法及び装置 Expired - Lifetime JP3361224B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US38222295A 1995-01-31 1995-01-31
US382222 1995-01-31
US399707 1995-03-03
US08/399,707 US5649165A (en) 1995-01-31 1995-03-03 Topology-based computer-aided design system for digital circuits and method thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002220355A Division JP3857961B2 (ja) 1995-01-31 2002-07-29 ディジタル回路論理ネットワークベースのコンピュータ支援設計方法及び装置

Publications (2)

Publication Number Publication Date
JPH0922419A JPH0922419A (ja) 1997-01-21
JP3361224B2 true JP3361224B2 (ja) 2003-01-07

Family

ID=27009677

Family Applications (2)

Application Number Title Priority Date Filing Date
JP01468096A Expired - Lifetime JP3361224B2 (ja) 1995-01-31 1996-01-30 ディジタル回路トポロジーベースのコンピュータ支援設計方法及び装置
JP2002220355A Expired - Lifetime JP3857961B2 (ja) 1995-01-31 2002-07-29 ディジタル回路論理ネットワークベースのコンピュータ支援設計方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2002220355A Expired - Lifetime JP3857961B2 (ja) 1995-01-31 2002-07-29 ディジタル回路論理ネットワークベースのコンピュータ支援設計方法及び装置

Country Status (3)

Country Link
US (1) US5649165A (ja)
EP (1) EP0726538A3 (ja)
JP (2) JP3361224B2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996033470A1 (de) * 1995-04-18 1996-10-24 International Business Machines Corporation Abbildung eines graphen in einen speicher
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
US5757655A (en) * 1996-08-26 1998-05-26 Micron Technology, Inc. Method and system for producing dynamic property forms and compacting property databases
US6026220A (en) * 1996-11-19 2000-02-15 Unisys Corporation Method and apparatus for incremntally optimizing a circuit design
US5754454A (en) * 1997-03-03 1998-05-19 Motorola, Inc. Method for determining functional equivalence between design models
US5892687A (en) * 1997-03-12 1999-04-06 Ambit Design Systems, Inc. Don't-- care logic
US6086626A (en) * 1997-05-16 2000-07-11 Fijutsu Limited Method for verification of combinational circuits using a filtering oriented approach
US6138266A (en) * 1997-06-16 2000-10-24 Tharas Systems Inc. Functional verification of integrated circuit designs
US6035107A (en) * 1997-08-28 2000-03-07 International Bunsiness Machines Corporation Method for performing functional comparison of combinational circuits
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
US6026222A (en) * 1997-12-23 2000-02-15 Nec Usa, Inc. System for combinational equivalence checking
US6247165B1 (en) * 1998-03-31 2001-06-12 Synopsys, Inc. System and process of extracting gate-level descriptions from simulation tables for formal verification
US6308299B1 (en) * 1998-07-17 2001-10-23 Cadence Design Systems, Inc. Method and system for combinational verification having tight integration of verification techniques
US7117461B1 (en) * 1998-07-22 2006-10-03 Magma Design Automation, Inc. Method of estimating performance of integrated circuit designs using state point identification
AU6158099A (en) * 1998-09-22 2000-04-10 Vectorlog Devices and techniques for logical processing
US6539345B1 (en) * 1999-04-09 2003-03-25 Intel Corporation Symbolic simulation using input space decomposition via Boolean functional representation in parametric form
US6131078A (en) * 1999-05-06 2000-10-10 Plaisted; David A. Method for design verification of hardware and non-hardware systems
US6877146B1 (en) 2001-06-03 2005-04-05 Cadence Design Systems, Inc. Method and apparatus for routing a set of nets
US6912700B1 (en) * 2001-06-06 2005-06-28 The United States Of America As Represented By The National Security Agency Method and system for non-linear state based satisfiability
EP1407392A4 (en) * 2001-06-15 2006-06-14 Science & Technology Corp DIGITAL CIRCUITS WITH SELECTION OPERATORS
US6779158B2 (en) * 2001-06-15 2004-08-17 Science & Technology Corporation @ Unm Digital logic optimization using selection operators
US6993731B2 (en) * 2001-06-15 2006-01-31 Science & Technology Corporation @ Unm Optimization of digital designs
US7363609B2 (en) * 2001-07-26 2008-04-22 International Business Machines Corporation Method of logic circuit synthesis and design using a dynamic circuit library
US6698003B2 (en) * 2001-12-06 2004-02-24 International Business Machines Corporation Framework for multiple-engine based verification tools for integrated circuits
US6990650B2 (en) 2002-01-31 2006-01-24 Cadence Design Systems, Inc. Method and apparatus for performing technology mapping
US6954910B2 (en) * 2002-01-31 2005-10-11 Cadence Design Systems, Inc. Method and apparatus for producing a circuit description of a design
US6854098B2 (en) * 2002-01-31 2005-02-08 Cadence Design Systems, Inc. Method and apparatus for performing technology mapping
US6854097B2 (en) * 2002-01-31 2005-02-08 Cadence Design Systems, Inc. Method and apparatus for performing technology mapping
US6848086B2 (en) * 2002-01-31 2005-01-25 Cadence Design Systems, Inc. Method and apparatus for performing technology mapping
US7383524B2 (en) 2002-01-31 2008-06-03 Cadence Design Systems, Inc Structure for storing a plurality of sub-networks
US7024639B2 (en) 2002-01-31 2006-04-04 Cadence Design Systems, Inc. Method and apparatus for specifying encoded sub-networks
US7076760B2 (en) * 2002-01-31 2006-07-11 Cadence Design Systems, Inc. Method and apparatus for specifying encoded sub-networks
US7210128B2 (en) * 2002-10-14 2007-04-24 Fujitsu Limited Event-driven observability enhanced coverage analysis
US7069095B2 (en) * 2003-12-04 2006-06-27 Hewlett-Packard Development Company, L.P. System and method for populating a computer-aided design program's database with design parameters
US7340473B2 (en) 2004-08-26 2008-03-04 International Business Machines Corporation Method and system for building binary decision diagrams efficiently in a structural network representation of a digital circuit
US7325207B1 (en) * 2004-12-09 2008-01-29 Sun Microsystems, Inc. Automatic device strength based sensitization generation for sequential elements
US7734452B2 (en) * 2007-02-16 2010-06-08 International Business Machines Corporation Method and system for performing ternary verification
US7882473B2 (en) 2007-11-27 2011-02-01 International Business Machines Corporation Sequential equivalence checking for asynchronous verification
US8027273B2 (en) * 2008-09-24 2011-09-27 The United States Of America As Represented By The Secretary Of The Army System and method for visually creating, editing, manipulating, verifying, and/or animating desired topologies of a mobile ad hoc network and/or for generating mobility-pattern data
CN102323966B (zh) * 2011-09-05 2015-01-14 江苏西电南自智能电力设备有限公司 基于快速分组搜索技术的cad网络拓扑图分析方法
US8434052B1 (en) * 2012-02-21 2013-04-30 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for ensuring partitioned block physical compatibility between revisions of an integrated circuit design
CA3206868A1 (en) 2015-01-14 2016-07-21 Respira Therapeutics, Inc. Powder dispersion methods and devices
CN105404728B (zh) * 2015-11-03 2018-12-21 京微雅格(北京)科技有限公司 一种基于fpga芯片多控制信号的布局方法
US10783297B2 (en) * 2017-10-13 2020-09-22 Bank Of America Corporation Computer architecture for emulating a unary correlithm object logic gate
US10783298B2 (en) * 2017-10-13 2020-09-22 Bank Of America Corporation Computer architecture for emulating a binary correlithm object logic gate
US10831953B1 (en) 2019-09-03 2020-11-10 International Business Machines Corporation Logic partition identifiers for integrated circuit design
US10885243B1 (en) 2019-09-03 2021-01-05 International Business Machines Corporation Logic partition reporting for integrated circuit design

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5243538B1 (en) * 1989-08-09 1995-11-07 Hitachi Ltd Comparison and verification system for logic circuits and method thereof
US5557531A (en) * 1990-04-06 1996-09-17 Lsi Logic Corporation Method and system for creating and validating low level structural description of electronic design from higher level, behavior-oriented description, including estimating power dissipation of physical implementation
US5544066A (en) * 1990-04-06 1996-08-06 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of low-level design constraints
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
US5541849A (en) * 1990-04-06 1996-07-30 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters
US5553002A (en) * 1990-04-06 1996-09-03 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface
US5572436A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and validating low level description of electronic design
US5377201A (en) * 1991-06-18 1994-12-27 Nec Research Institute, Inc. Transitive closure based process for generating test vectors for VLSI circuit
US5349659A (en) * 1992-01-23 1994-09-20 Cadence Design Systems, Inc. Hierarchical ordering of logical elements in the canonical mapping of net lists
US5379231A (en) * 1992-05-29 1995-01-03 University Of Texas System Method and apparatus for simulating a microelectric interconnect circuit
US5528508A (en) * 1993-02-19 1996-06-18 International Business Machines Corporation System and method for verifying a hierarchical circuit design
US5497334A (en) * 1993-02-19 1996-03-05 International Business Machines Corporation Application generator for use in verifying a hierarchical circuit design
US5481473A (en) * 1993-02-19 1996-01-02 International Business Machines Corporation System and method for building interconnections in a hierarchical circuit design
US5522063A (en) * 1993-09-27 1996-05-28 Nec Usa, Inc. Method of finding minimum-cost feedback-vertex sets for a graph for partial scan testing without exhaustive cycle enumeration
US5485471A (en) * 1993-10-15 1996-01-16 Mitsubishi Electric Research Laboratories, Inc. System for testing of digital integrated circuits
US5526514A (en) * 1994-06-21 1996-06-11 Pradhan; Dhiraj Method for circuit verification and multi-level circuit optimization based on structural implications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R.Mukherjee et al.,Functional Learning:A new approach to learning in digital circuits,Proceedings fo the 12th IEEE VLSI Test Symposium,米国,IEEE,1994年4月25日,p122−127

Also Published As

Publication number Publication date
US5649165A (en) 1997-07-15
EP0726538A2 (en) 1996-08-14
JPH0922419A (ja) 1997-01-21
JP3857961B2 (ja) 2006-12-13
EP0726538A3 (en) 1998-11-11
JP2003141203A (ja) 2003-05-16

Similar Documents

Publication Publication Date Title
JP3361224B2 (ja) ディジタル回路トポロジーベースのコンピュータ支援設計方法及び装置
JP3858000B2 (ja) フィルタリング型アプローチを使用する組合せ回路の検証方法
US6957404B2 (en) Model checking with layered localization reduction
US6035107A (en) Method for performing functional comparison of combinational circuits
Van Eijk Sequential equivalence checking based on structural similarities
US6560758B1 (en) Method for verifying and representing hardware by decomposition and partitioning
Jyu et al. Statistical timing analysis of combinational logic circuits
US8418101B1 (en) Temporal decomposition for design and verification
US6567959B2 (en) Method and device for verification of VLSI designs
JPH11328251A (ja) モデル検査のための動作環境を自動的に生成する方法
US5491639A (en) Procedure for verifying data-processing systems
US8762907B2 (en) Hierarchical equivalence checking and efficient handling of equivalence checks when engineering change orders are in an unsharable register transfer level
US7047139B2 (en) Sharing information between instances of a propositional satisfiability (SAT) problem
Anastasakis et al. A practical and efficient method for compare-point matching
US7159201B2 (en) Method and apparatus for cut-point frontier selection and for counter-example generation in formal equivalence verification
Van Eijk et al. Detection of equivalent state variables in finite state machine verification
CN111209177A (zh) 硬件系统可靠性验证系统
Breuer et al. Fundamental CAD algorithms
Lajolo et al. Automatic test bench generation for simulation-based validation
Moon et al. Simplifying circuits for formal verification using parametric representation
JP3037263B2 (ja) ブールの充足可能性を実現する構成可能ハードウェアシステム及びそのための方法
Chang et al. An efficient algorithm for local don't care sets calculation
Chen et al. An implicit approach to minimizing range-equivalent circuits
Mukherjee et al. Efficient combinational verification using overlapping local BDDs and a hash table
Kunz et al. Recursive Learning

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021001

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071018

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081018

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081018

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091018

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091018

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101018

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101018

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111018

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111018

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121018

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121018

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131018

Year of fee payment: 11

EXPY Cancellation because of completion of term