JPH0658678B2 - 回路設計を合成する為のプロセス及び装置 - Google Patents

回路設計を合成する為のプロセス及び装置

Info

Publication number
JPH0658678B2
JPH0658678B2 JP2169701A JP16970190A JPH0658678B2 JP H0658678 B2 JPH0658678 B2 JP H0658678B2 JP 2169701 A JP2169701 A JP 2169701A JP 16970190 A JP16970190 A JP 16970190A JP H0658678 B2 JPH0658678 B2 JP H0658678B2
Authority
JP
Japan
Prior art keywords
model
rule
rules
examples
database
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
JP2169701A
Other languages
English (en)
Other versions
JPH03116384A (ja
Inventor
エフ フーパー ドナルド
ジー フォートミラー エドワード
クンド スニーハメイ
エフ ヒル ディヴィッド
Original Assignee
ディジタル イクイプメント コーポレーション
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 ディジタル イクイプメント コーポレーション filed Critical ディジタル イクイプメント コーポレーション
Publication of JPH03116384A publication Critical patent/JPH03116384A/ja
Publication of JPH0658678B2 publication Critical patent/JPH0658678B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/919Designing, planning, programming, CAD, CASE
    • Y10S706/921Layout, e.g. circuit, construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Geometry (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】 〔関連出願の記載〕 この出願は、「論理回路の合成と変換との為の手順およ
びデータ構造」と称する1986年9月12日出願の米
国特許出願第06/907,303号の一部継続出願で
ある。
米国特許出願第06/907,303号に加えて、全て
本出願の譲受人に対して譲渡された下記の関連出願が、
現在、合衆国特許商標庁に係属中である。
1)「論理回路の合成手順に於ける規則構造」称する19
86年9月12日出願のフーパー(Hooper)他による米
国特許出願第06/907,512号。
2)「回路設計合成手順に於ける新要素挿入のための規則
構造と称する1986年9月12日出願のフーパー(Ho
oper)他による米国特許出願第06/907,513
号。
3)「論理回路設計の合成に於けるタイミングパラメータ
組込み手順」と称する1986年9月12日出願のフー
パー(Hooper)による米国特許出願第06/907,5
14号。
4)「論理回路設計合成手順によって使用される規則のた
めのデータベースアクセス法」と称する1986年9月
12日出願のフーパー(Hooper)による米国特許出願第
06/907,515号。
5)「回路設計合成手順のためのビットワイズ(Bitwis
e)実行機構」と称する1986年9月12日出願のフ
ーパー(Hooper)他による米国特許出願第06/90
7,516号。
上に掲げた5つの関連出願の各々の開示内容と、米国特
許出願第06/907,303号の開示内容とが、ここ
に参考資料として特に組み入れられる。
〔産業上の利用分野〕
この出願は、電子回路および半導体デバイスの設計に関
し、さらに詳細には、ユーザにより入力される高水準設
計は、その設計を組込んだ半導体素子を製造するに必要
なその設計のテクノロジーレベル表現へと交換するため
の、エキスパートシステムに基礎を置く知識に関する。
〔従来の技術〕
集積回路(IC)半導体デバイスの設計は、そのデバイ
スの全機能の詳細記述に始まる。例えば乗算器回路は、
2つの数を掛けるように特殊化されてよい。もし、2つ
の数の入力特性が判り、結果出力の特性が判っているな
らば、乗算器回路の全機能を記述することが可能であ
る。電子消費、入力接続と出力接続との数(I/Oピ
ン)、およびタイミング、のような他の要素が、回路の
全体的記述の中に含まれてよい。
半導体デバイス、TTL(トランジスタートランジスタ
ロジック)、CMOS(相補型金属酸化膜半導体)、N
MOS(N型金属酸化膜半導体)その他のような、多様
なプロセスすなわち「テクノロジー」により製造されて
よい。一般的な高水準論理設計を、特定の適用業務に適
するテクノロジーの回路要素へと変換し得ることが重要
である。
希望の回路の完成時の特性を詳細に記した記述は、高水
準設計記述として知られる。たとえば、高水準ロジック
設計記述、すなわちより簡単に言えば高水準設計は、乗
算器回路の特性を書き出したものであってよい。そのよ
うな記述は、1つ又はそれ以上の構成要素型式を特定し
得るであろうけれども、必要とされる特殊な構成要素を
指定することは出来ず、また、それらの構成要素の結合
について指定することも出来ない。こうした設計のプロ
セスを別の角度から見れば、このプロセスに必要とされ
るで出力は、希望通りの回路を形成するよう半導体原材
料を実際にパターン化し且つ金属と半導体材料との層を
形成して製造ライン上でICデバイスを製造すべく製造
機械によって使用されることが可能な一連の命令であ
る。そうした一連の命令は、回路の「テクノロジーレベ
ル表現」として知られる。高水準設計をテクノロジーレ
ベル表現へと変換するこのプロセスは、「論理合成」と
呼ばれる。高水準設計は、初めに人口知能データベース
内に表現される。データベースは、多くの異なる形式の
機能を果たし得る多くの異なる形式の要素を含んでいて
もよい。要素を例示すれば、モデル定義、モデル例、ポ
ート定義、ポート例、および信号などである。これらの
要素については、より詳細に後述する。データベースは
また、同じ機能を果たすけれども異なる動作特性を有す
る要素をも含んでよい。諸要素は、多くの異なる組合わ
せにて結合されてよいけれども、勿論、全ての型式の要
素が他のあらゆる型式の要素と共に動作し得るわけでは
なく、また、或る1つの型式の要素の全てがその同一型
式の他の要素の全てと協働し得るわけでもない。
従って、データベース内に於ける諸要素の結合を統制す
るための多数の「規則」が存在する。論理回路合成プロ
セスは、これらの規則に従って、データベース内に格納
されている設計を継続的且つ反復的に変更する。そし
て、論理合成プロセスは、要素セットのますます詳細な
記述をデータベース内に生成する。論理合成プロセスか
ら得られる最終的な結果は、例えば計算機援用製造(CA
M)技術をもって製造され得るテクノロジー表現であ
る。
このように論理合成は、当初データベース内に格納され
ている高水準設計をテクノロジーレベル表現へと変換す
べく、データベース内の要素を諸規則に従って選択し且
つ結合させる手続きを含んでいる。
データベースは、機能(たとえば論理要素、アドレス、
その他)とテクノロジー(たとえばTTL、CMOS、そ
の他)とによって編成される論理要素のライブラリ「モ
デル定義」を含み、且つ、モデル定義の特定の例へ適用
するための規則のライブラリ「規則ライブラリ」をも含
むのが代表的である。
このようなデータベースの1つが上述の米国特許出願第
06/907,303号に開示されており、その開示内
容が参考資料としてここに組合わせられる。このデータ
ベース内にて、各モデル定義は、関連されたパラメータ
を有している。上記パラメータは、機能と、タイミング
と、電力と、サイズと、回路要素についての他の一般的
属性とを記述している。各モデル定義は、1つ又はより
多くの「モデル例」に対応付けられる。各モデル例は、
モデル定義の基準に合う要素を記述する。
規則ライブラリは、代表的には、規則形式と適用可能性
とに従って1つ又はより多くの「ルールベース」へと編
成される数百もの規則を含む。これらの規則は、ルール
ライブラリがデータベース内へロードされるときに設定
される一組のポインタを介して、モデル定義、モデル
例、およびルールベースに対応付けられる。
高水準設計記述は通常、設計されるデバイスの、希望す
る動作の詳細な記述である。このシステムの中へ高水準
設計がロードされたとき、それは、モデル例の最初のセ
ットによって記述される。この最初のモデル例セットは
通常まったく一般的なものであって、いかなるテクノロ
ジーをも特定の要素をも定義してはいない。上述に於い
て参照した出願の中に述べられているように、データベ
ースによって最初のモデル例相互間に一組の双方向生ポ
インタが設定され、高水準で設計を定義すべく、モデル
例の最初のセットが相互接続される。各モデル例と、デ
ータベース内にてそれが対応付けられる相手方のモデル
定義との間にも、ポインタが設定される。また、そうし
た各モデル定義と、それに対応付けられるルールベース
内の規則との間に、ポインタが設定される。1つのモデ
ル定義が、2つ以上のモデル例に対応付けられてもよ
い。しかしながら、1つのモデル例は、ただ1つのモデ
ル定義の例である。
次に、モデル例(場合により、双方向性ポインタを介し
てそのモデル例に結合される隣接モデル例をも含めて)
が機能とテクノロジーとの双方またはそのいずれか一方
に於いて一層特定的な新しいモデル例と置換され得るか
否かを確認すべく、予め定められた手順に従って諸規則
が試みられたのち各モデル例へ適用される。規則を適用
されたことによりモデル例がより一層特定的なモデル例
に置き換えられているので、この度は、僅かながらこれ
迄よりも一層特定的なレベルにて論理設計を再び定義す
べく、モデル例の新しいセットの間に双方向性ポインタ
が設定される。次に、このモデル例セットをさらに一層
特定的なモデル例セットへと置換すべく、この現モデル
例セットによりポイントされているモデル定義に対して
規則が適用される。
この反復的手続きは、元の高水準設計記述が低水準記述
の設計へと変換され終わるまで継続されるものであり、
上記の低水準記述は、ユーザの意図するテクノロジー
(CMOS等)から選択される回路要素にて具体化され
る。この低水準記述が構成する最終設計は、この設計を
具体化するために使用されるべき実際の構成要素間の相
互結合を表現するデータ構造形式である。このデータ構
造は次に、合成されたロジック設計を実際に製造するた
めの命令の形式にて、普通の計算機援用製造(CAM)
システムへと入力されることが可能である。
モデル例の各々には、TTLなどのテクノロジー型式、
信号タイミング、およびピンアウトなどの、モデル例の
状況を記述する多くの「パラメータ」が関連されてい
る。モデル例の各パラメータは、そのモデル例に対する
パラメータの値を有する。例えば、第1モデル例と第2
モデル例との双方が、信号タイミングを記述しているパ
ラメータAを有しているとする。第1モデル例のパラメ
ータAの値は10マイクロ秒、一方、第2モデル例のパ
ラメータAの値は5マイクロ秒、というようであってよ
い。
どの規則を最初に適用すべきかを決定するため多様な方
法を使用する様々な論理合成方法が存在する。現存する
第1の論理合成方法は、与えられたモデル定義に対し最
善の規則を見出だすために、そのモデル定義に対して規
則が適用されるべきであると考えられたならば毎回、規
則の全てを走査する。この第1の方法では、合成処理時
間が相当に長くなりかねない。現存する第2の論理合成
方法は、諸規則をクラス及びサブクラスに分割するもの
であり、従って、モデル定義に対して1つの規則を適用
する必要がある場合に試行される規則の数が規則の総数
よりも少なくて済むことになる。この、現存する第2の
方法は、1つの構成要素に対する規則試行の結果とその
要素の特性とを比較するために、パターンマッチング方
式を用いる。目標テクノロジーがブール樹木セルにて定
義され得る場合に好適な現存する第3の論理合成方法
は、構成要素ライブラリを論理樹木の森として形成する
と共に、規則試行を同様の手法にて構成する。次に、諸
規則を試みるために一連の抽象パターンマッチが実行さ
れる。
現存するこうした論理合成方法に於いては一般に、設計
内のモデル例の全てに対して諸規則が適用されるので、
設計が非常に複雑な場合もしくはデータベースが極めて
大きい場合には実行時間が相当に長くなる。現存するこ
れらの論理合成方法に於いては、ほんの少数を除いた殆
ど全てのモデル例が既に安定的形態に達したとき(すな
わち、機能上の適切なレベル及び目標テクノロジーに達
したとき)ですら、目下、設計内にあるモデル例の全て
に対して、諸規則を適用し続ける。このように、規則の
適用によって最早これ以上変化させられることの無いモ
デル例に対して諸規則を適用して、不必要に実行時間が
費やされる。
多くの場合、合成されるべき回路の小さいながらも重要
な領域を隔離するのが有益であり、また、その小さな部
分のみを合成するのが好ましい。もし、回路の全ての部
分がパス毎に合成されねばならないとすると、実行時間
は不必要に長くなる。場合によっては、ユーザが、回路
の小部分を幾つもの異なるテクノロジー表現にて合成す
ることを望むかも知れない。
〔発明の概要〕
本発明は、次のような手段をもって従来技術の問題点と
不利益とを克服する。
1)現在関与しているモデル例のみをVISIBLEと指
定し、他の全てのモデル例をINVISIBLEと指定
することにより、VISIBLEのモデル例に関連され
ている規則のみが適用され、 2)TRUE(真)と評価されている規則に最近関連され
たモデル例をNEWと指定し、他の全てのモデル例をI
NACTIVEと指定することにより、NEWモデル例
に関連された規則のみが適用され、 3)規則の適用によって削除されたモデル例をDELET
EDと指定し、他の全てのモデル例をnon−DELET
EDと指定することにより、non−DELETEDモデ
ル例に関連された規則のみが適用され、 4)各々のモデル例−規則対の規則によって置換されるモ
デル例の数を表すか又は各々のモデル例−規則対の規則
に関連された予定の値を表わす「SIZEWIN」と呼
ばれる値によって上記のモデル例−規則対がグループ分
けされ、最も多くのモデル例を置換する規則を有してい
るか又は予め定められた最大のSIZEWIN値を有し
ているグループが、最初に適用される。本発明の利点
は、以下の説明及び本発明の実施例から明らかとなろ
う。添付した請求の範囲に詳細に述べられている構成要
素及び組合わせから、本発明の利点が明確に認識され、
入手することが可能となろう。
本発明の目的に即してこの文中に具体的に示され且つ明
白に説明されるように、本発明の回路設計合成プロセス
は、第1組のモデル例対して1組の規則の適用すること
によって、データベース内に格納され、回路設計を表す
前記第1組のモデル例を前記データベースに格納され、
回路設計の特定の論理要素を表する第2組のモデル例と
置換するステップ、及び、前記1組の規則を適用するこ
とによって前記データベース内のオブジェクトのパラメ
ータ値を交換するステップに関する。このプロセスは:
前記規則の組を前記データベース内に格納するステップ
であって、前記規則のサブセットは第1組のモデル例の
モデル例と関連し、関連する前記各規則は、前記第1組
のモデル例の少くとも1つのモデル例を前記第2組の少
くとも1つの新しいモデル例と置換するために適用され
ることが可能であり、または、前記データベース内の1
つのオブジェクトのパラメータ値を変更することが可能
であり、前記各規則は、効果尺度を表す関連SIZEW
IN値を有する上記のステップ; 1組のモデル例−規則対のセットを設けるため、前記第
1組のモデル例の少くとも1つに対して関連する規則を
割当てるステップ;複数のモデル例−規則対の規則のS
IZEWIN値に基づいてモデル例−規則対の前記組を
複数のグループに分けるステップ;及び前記複数のモデ
ル例−規則対の規則をグループ単位で適用するステッ
プ;によって構成される。
さらに、本発明の目的に即してこの文中に具体的に示さ
れ且つ明白に説明されるように、本発明の回路設計合成
プロセスは、第1組のモデル例対して1組の規則の適用
することによって、データベース内に格納され、回路設
計を表す前記第1組のモデル例を前記データベースに格
納され、回路設計の特定の論理要素を表する第2組のモ
デル例と置換するステップ、及び、前記1組の規則を適
用することによって前記データベース内のオブジェクト
のパラメータ値を交換するステップに関する。このプロ
セスは:前記規則の組を前記データベース内に格納する
ステップであって、前記規則のサブセットは第1組のモ
デル例のモデル例と関連し、関連する前記各規則は、前
記第1組のモデル例の少くとも1つのモデル例を前記第
2組の少くも1つの新しいモデル例と置換するために適
用されることが可能であり、または、前記データベース
内の1つのオブジェクトのパラメータ値を変更すること
が可能である上記ステップ;前記第1組のモデル例のモ
デル例をVISIBLEであると指定するステップ;及
び第1組のモデル例のモデル例を第2セットのモデル例
と置換するために、前記第1組のモデル例内の前記VI
SIBLEモデル例と関連する規則サブセットの規則を
適用するステップ;によって構成される。
さらに、本発明の目的に即してこの文中に具体的に示さ
れ且つ明白に説明されるように、本発明の回路設計合成
プロセスは、第1組のモデル例対して1組の規則の適用
することによって、データベース内に格納され、回路設
計を表す前記第1組のモデル例を前記データベースに格
納され、回路設計の特定の論理要素を表する第2組のモ
デル例と置換するステップ、及び、前記1組の規則を適
用することによって前記データベース内のオブジェクト
のパラメータ値を交換するステップに関する、このプロ
セスは:前記規則の組を前記データベース内に格納する
ステップであって、前記規則のサブセットは第1組のモ
デル例のモデル例と関連し、関連する前記各規則は、前
記第1組のモデル例の少くとも1つのモデル例を前記第
2組の少くとも1つの新しいも置換するために適用され
ることが可能であり、または、前記データベース内の1
つのオブジェクトのパラメータ値を変更することが可能
である上記のステップ;1組のモデル例−規則対の組を
設けるために、前記第1組モデル例の少くとも1つに対
して関連する規則を割当てるステップであって、上記の
割当てステップの実行の結果、割り当てられた規則の欠
如した第1組の他のモデル例が生ずる上記のステップ;
前記の複数のモデル例−規則対の規則を適用するステッ
プ;及び 割当てられた規則の欠如した前記のモデル例をINAC
TIVEであると指定するステップ;によって構成され
る。
〔実施例〕
添付図面を参照しつつ本発明の提示実施例について詳細
に説明する。全ての図面を通じて、同一もしくは同様の
部分については可能な限り同じ参照番号を使用する。
本発明に於いては、論理回路データベース内のモデル例
が、VISIBLE(可視)/INVISIBLE(不
可視)、NEW(新)/INACTIVE(非活動)、
及びDELETED(削除)/non-DELETED(非
削除)と指定される。時折、回路の一部分のみを合成す
るのが望ましい場合がある。例えば、1つの回路の小部
分に関して、幾つもの異なるテクノロジー表現を作成す
ることをユーザが望むかも知れない。この場合には合成
手続きが何度も実行されねばならないので、高水準記述
を要する部分を「局在化」し、合成手続きをその部分の
みに限るのが有利である。ユーザが局在化を望んでいる
合成されるべき回路部分に含まれるモデル例は、ユーザ
によってVISIBLEと指定される。モデル例のVI
SIBLE/INVISIBLE指定は、合成手続きを
通じて変わることがない。VISIBLEモデル例に置
き換わるモデル例はVISIBLEとなる。
当初、全てのモデル例がNEWと指定される。モデル例
に対して適用可能な規則が見出だされない場合にはその
モデル例はINACTIVEとなり、その後、それに隣
接するモデル例のうちの1つが適用される規則を持つに
至るまでは再びNEWとなることがない。
全てのモデル例は、当初、non-DELETEDと指定さ
れる。規則の適用がモデル例をデータベースから除去す
るとき、そのモデル例はDELETEDと指定される。
DELETEDと指定されたモデル例に影響を及ぼして
いる規則は、FALSEと評価される。DELETED
と指定されたモデル例に関連する規則は、FALSEと
評価される。
INVISIBLEと指定されたモデル例は全てINA
CTIVEである。INVISIBLEモデル例は、他
のモデル例のいずれかに関連する規則の適用によって削
除され得る。
本発明によれば、データベース内の全ての規則は、関連
するSIZEWIN値を有する。このSIZEWIN値
は、規則適用の相対的利益を表わす効果尺度であり、通
常は、その規則の適用により除去され又は置換されるモ
デル例の数を表わしている。例えば上述の「除去(take
out)」規則は、1つのモデル例を置換するので「1」
のSIZEWINデフォルト値を有する。或いはまた上
に述べたように、ユーザは、規則が定義される際に予定
のSIZEWIN値を規則に指定することが出来る。上
述の特許出願第06/907,303号はSIZEWINフィール
ドを開示している。しかしながら、上述の参考資料明細
書のSIZEWINフィールドは、以下に述べる本発明
のような使用法はされていない。
本発明は、規則の組をデータベース内に記憶すると共
に、モデル例に関連する規則のサブセットを第1モデル
例の組内に記憶する手段を含む。関連する各規則は、第
1組内の少くとも1つのモデル例を第2組内の少くとも
1つの新しいモデル例へと置き換えるための適用される
ことが可能であり、各規則は、効果尺度を表わしている
関連するSIZEWIN値を有している。本発明の提示
実施例に於いては、この手段が、第12図のメモリ12
04として具体化されている。
第1図は、上述の米国特許出願第06/907,303号に述べら
れているデータベースの概観を示している。全ルールベ
ーステーブル100は、ルールベース101、ルールベ
ース102として示されている多数の規則グループをポ
イントする。後述されるように各ルールベースは、関連
する名前103と、一般的ルールベース属性104とを
有している。各ルールベース101、102、はルール
テーブル105へのポインタを含んでおり、そのルール
テーブル105は、モデル例へ適用することを現在考え
られている規則へのポインタを含んでいる。各ルールベ
ース101、102はルールベーステーブルの規則12
2をもポイントし、規則122は、そのルールベースへ
適用し得る一般的設計規則を指示する。
規則は、規則ファイル106、107、及び108に格
納される。規則テーブル105は、実際の規則を格納し
ておく代わりに、規則ファイル内の規則へのポインタを
含んでいる。規則テーブル105は、設計テーブルの諸
規則113と、モデル定義テーブルの諸規則117のう
ち少くとも1つと、ルールベーステーブルの諸規則12
2とによって、それ自信ポイントされる。ルールベース
テーブルの諸規則122は、どのようなモデル例にもど
のような設計にも適合する汎用規則を指示する。それら
を用いて、ルールベーステーブルの諸規則122をポイ
ントしているルールベース101、102の使用が意図
される。設計テーブルの諸規則113は、いかなるモデ
ル例にも適合し得る規則、すなわちシステム全体を通じ
て適用し得る一般的設計規則を指示する。モデル定義テ
ーブルの諸規則117は、特定のモデル定義に対して適
用されるべき規則を指示する。モデル例テーブルの諸規
則121は、特定のモデル例に対して適用されるべき規
則を指示する。
全設計テーブル110は、本システムによって合成され
るべき多様な論理設計のための設計情報111、112
をボイントする。各設計情報111、112はモデル定
義テーブル114をポイントし、モデル定義テーブル1
14は、その論理設計と設計テーブルの諸規則113と
のために利用し得る全ての現行モデル定義を指示する。
モデル定義には2つの型式があってよい。モデル定義基
本要素115は、インバータのような、モデル例を持た
ない低水準要素である。モデル定義116は、モデル定
義の一般要求を満たし且つモデル定義の一層詳細な記述
を有する1つ又はそれ以上のモデル例を有していてよい
ALU(算術論理演算ユニット)等の、一層抽象的な高
水準要素である。各モデル定義116は、モデル例定義
テーブルの諸規則117とモデル例リスト118とを指
すポインタを含む。モデル例リスト118は、モデル定
義116の一般記述に合致する現行論理設計内の全モデ
ル例をポイントする。例えば、インバータのためのモデ
ル定義は、CMOSインバータ、TTLインバータ等を
表現しているモデル例を有していてよい。加えて、幾つ
かのモデル例122は、その特定のモデル例のみに関連
する規則を有する、これらの規則は、モデル例122に
よってアクセスされ得るモデル例テーブルの規則121
を介してアクセスされる。
この回路合成プロセスを通じて、各モデル例に関連する
べき規則が、もし可能ならばモデル例テーブル121の
規則の中から選択される。もし、適用可能な規則がモデ
ル例テーブル121の規則の中に見付からなかったなら
ば、以下の順序にて、適用可能な規則が見出だされる
迄、モデル定義テーブルの規則117、設計テーブルの
規則113、及びルールベーステーブルの規則122が
サーチされる。
第2図は、モデル定義116の展開されたバージョンを
示しており、また、データベース内の関連する情報を示
している。第2図は、情報の処理を説明する目的でここ
に示されるものであって、論理回路合成データベースの
中の物理的接続を示すことを意図するものではない。各
モデル定義116は、名前201と、入力のリスト20
2と、出力のリスト203とを有する。各モデル定義1
16は上述したように、モデル例119、モデル例12
0などの、関連するモデル例を有しており、モデル例リ
スト118によってこれをポイントする。その上、幾つ
かのモデル定義116は関連する動作方程式205を有
しており、この動作方程式205は、モデル定義の連結
性と論理関数とのよりコンパクトな代替記述としても機
能する。動作方程式の一例は、規則の方程式形式であ
る。最後に各モデル定義116は、関連する他の属性2
06を有しているけれども、それらは本発明の理解には
必要がないので説明を省略する。
入力のリスト202はポート定義207、208をポイ
ントし、出力のリスト203はポート定義209、21
0をポイントする。ポート定義207〜210は、特定
のモデル定義の入力と出力とを定義する。ボート定義2
07〜210の各々は、関連する名前211と、信号2
12と、ここでは説明されない他の属性213とを有し
ている。各信号212は、回路内の2つ以上のモデル定
義相互間の連結性を記述する。そのうえ各信号212
は、その信号の最上位ビットの値もしくは信号幅等の、
他の属性215と、関連する名前214とを有してい
る。
各モデル例119、120は、関連する名前218と、
モデル例が関連するモデル定義116へと戻すポインタ
219と、入力220と、出力221と、他の属性22
2とを有している。入力220及び出力221は、関連
するポート例223、224を記述している関連する情
報を有している。各ポート例223、224は、ポート
定義207又はポート定義208のいずれか一方の例を
記述する。その上、各ポート例223、224は、関連
する名前225と、関連する信号226と、印字出力の
ような他の属性227とを有している。信号226は、
回路内の2つ以上のモデル例の間の連結性を記述する。
信号226は、関連する名前228と、タイミング制約
のような他の属性229とを有している。
モデル定義の属性、モデル例、ポート定義、ポート例、
入力、出力、および信号は、「パラメータ」とも呼ばれ
る。異なるモデル例は、異なるパラメータを対応付けら
れることがある。また、同じパラメータを有するモデル
例同士が、これらのパラメータとして異なる値をとるこ
ともある。
第3図は、データベースのモデル定義とモデル例との間
に設定される双方向ポインタの一例を示している。この
関係は「連結性」と呼ばれる。第3図に於いては、モデ
ル定義が大きな長方形として示されている。モデル例と
ポート例とは円として示されている。その他の構成要素
は小さな長方形として示されている。モデル定義310
とモデル例330とは、ルールベース314の中のそれ
ぞれの規則312をポイントする。モデル定義310は
また、ポート定義320とモデル例330とをポイント
する。モデル例330に結合されているポート例332
は、ポート定義320をポイントする。モデル例330
は、ポート例332と信号370とを通じ、さらにそれ
ぞれのポート例342、352、362を通じて、モデ
ル例340、350、360へと結合される。この例に
於いては、ポート例354及びポート例364は使用さ
れない。
第4図は、上述のデータベースを用いて論理設計回路を
合成するにあたって使用される方法のフローチャート4
00である。この方法は、既に述べた米国特許出願第06
/907,303号に開示されている。先ず、ステップ402お
よびステップ404に於いて、モデル定義データ構造の
中へデータが入れられる。この度は、ステップ406に
て、規則テーブルの中へもデータが入れられる。次にス
テップ408に於いて、合成されるべき設計の高水準抽
象化、すなわち最初のモデル例が入れられる。ステップ
410に於いては、多数のモデル例及び規則の間に、
「ポイント設定」プロセスを用いて連結性すなわちポイ
ンタが設定される。次にステップ412およびステップ
414に於いて、現モデル例のモデル定義に対応付けら
れている規則がテストされ、「TRUE(真)」ならば
適用されて論理回路設計が安定する迄これが反復され
る。最後にステップ416に於いて、CAMシステムを
制御するに適切なフォーマットにて、安定化された回路
設計が出力される。
ステップ412とステップ414とによって形成される
ループに於いては、関連する規則が、各モデル例へ規則
が適用され終わるまで、モデル例の各々へ順に適用され
る。各モデル例へ順に規則を適用するこのプロセスは
「パス」と呼ばれる。対応付けられている規則のうちの
どれをモデル例へ適用すべきかを決定する為の幾つかの
方法が以下に述べられる。
第5図は、データベース内の規則500のフォーマット
を示す図である。規則500のフォーマットは、コンピ
ュータ言語LISPにて使用されるフォーマットと同様
であり、上述に於いて引用した米国特許出願第06/907,5
12号の中に一層詳細に示されている。
各規則500は、左側(lhs)すなわち前段部分502
と、右側(rhs)すなわち後段部分504とを含む。前
段部分502は、規則が適用される前に全てがTRUE
でなければならないという1つ又はそれ以上のテスト条
件を含む。後段部分504は、前段部分502がもしT
RUEであるならば規則の適用によって実行されるべき
1つ又はそれ以上の動作を含んでいる。第5図に於いて
は、3つのASCII文字からなる矢印506が、後段
部分504から前段部分502を隔てている。
規則500は更に、例えばSIZEWIN値510のよ
うな任意選択情報508をも含んでいる。SIZEWI
N値510は、適用規則500の好ましさを明示する為
に使用されるものであり、通常は、その規則によって削
除されもしくは置換されるモデル例の数を表わす。ま
た、SIZEWIN値510が予定の数に設定されても
よい。
規則500を適用することによって実行される1つの動
作は、1つ又はそれ以上のモデル例を他のモデル例へと
置換することである。例えば、1つのモデル例を置換す
るための規則「map2−inputOR」は第5図のフォーマ
ットを有しており、また、次のようにも表わされる。
(defrule “map 2-input OR” “replace any 2-input OR with TECHELL” :sizewin 2 :version 0 :group “mapping rules” (model is OR) (count-ins is 2) −−> (replace*instance*with out=(TECHCE LL ins)) ) 上の例の規則は「map 2-input OR」と名付けられてい
る。この規則の機能は、いずれかの「2-input OR」と名
付けられている。この規則の機能は、いずれかの「 2-i
nput OR」モデル例を、この例の場合には「TECHCELL」
と名付けられているモデル例に置き換えることである。
この規則は「2」のSIZEWIN値を割り当てられて
いる。もしSIZEWIN値が指定されていなかったな
らば、規則により1個のモデル例が置き換えられるの
で、この規則は「1」のSIZEWIN値を持つことに
なったであろう。バージョン番号「0」は、規則の動作
に関して何等の効力も持ってはいない。規則「map 2-in
put OR」は、規則グループ「mapping rules」に属して
いる。前段部分52は、次に示すような2つのテスト条
件を含んでいる。
(1)規則が対応付けられる相手方のモデル例は、OR
モデル例でなければならない。
(2)規則が対応付けられる相手方のモデル例は、厳密
に2つの入力を有していなければならない。後段部分5
04は、規則が対応付けられる相手方のモデル例「*in
stance*」が、「TECHELL」モデル例に置き換えられる
べきであることを指定する。
規則500を適用することによって実行されるもう1つ
の動作は、1つ又はそれ以上のモデル例を除去すること
である。たとえば、1個のモデル例を除去する規則「ta
ke out」は第5図のフォーマットを有しており、また、
次のように表わされる。
(defrule “take out” (no signals-of-outputs are present) −−> (remove*instance*) ) 規則「take out」は、この規則が対応付けられる相手方
の現モデル例が何等かの出力を有しているかどうかを評
価する前段テストを含んでいる。この前段テストが「TR
UE」と評価したならば、この規則の後段部分が適用され
る。従って、この規則が対応付けられる相手方のモデル
例が出力を有していなければ、この規則がそのモデル例
を除去する。
規則500を適用することによって実行されるもう1つ
の動作は、モデル例へ対応付けられる1つ又はそれ以上
の他の属性222、227、229の値を変更すること
である。例えば、規則「modify syn.hi」は第5図のフ
ォーマットを有しており、また、以下のように表わされ
る。
(defule “modify syn.hi” “modify the value of the syn.hi parameter to conv
ert output pin to high” :version 0 (syn.hi drive-1st-out is not present) (timingdebt-1st-out>0) −−> (modify syn.hi drive-1st-out with TRUE) ) 規則「modify syn.hi」は、現モデル例の第1出力の「s
yn.hi」と名付けられたパラメータすなわち属性が、高
い値に設定されてはいないかということと、この回路設
計のここ迄のタイミングが、許容し得る伝播遅延時間を
超過しているのではないかということを確認する。も
し、そのようなことが有れば、現モデル例の第1出力の
パラメータ「syn.hi」は値をTRUEと設定される。本
発明の提示実施例に於いては、このパラメータ値設定
は、プログラミング言語LISPのSETF機能を実行
することにより遂行される。
第6図は、本発明の提示実施例に従って規則を選択し且
つモデル例へ適用する方法を示すフローチャートであ
る。フローチャート600は、大きい方のメジャールー
プと小さい方のマイナーループとを含む。マイナールー
プの1回の反復は、全ての現モデル例を通る1回のパス
に相当する。メジャーループからの退出は、回路設計が
安定化されたときになされる。
ステップ602に於いて、現在規則カウントにゼロが設
定される。現在規則カウントは、論理合成手続きの間に
適用される規則の総数を表現する。ステップ604に於
いては、全モデル例がnon−DELETEDと指定さ
れ、また、論理回路のどの領域の局在化をユーザが望む
かによって、多様なモデル例がVISIBLE又はIN
VISIBLEと指定される。ステップ606に於い
て、全てのモデル例がNEWと指定される。ステップ6
08に於いては、現在規則カウントがCURR1として
セーブされる。ステップ610に於いては、現在規則カ
ウントがCURR2としてセーブされる。ステップ61
2に於いて、マイナーループの1回の反復のためのモデ
ル例−規則ペア(これ以降は、例−規則ペアと記す)が
決定される。各モデル例と、そのモデル例に対応付けら
れる全てのTRUE規則のうちで最高のSIZEWIN
値を有する規則とが、ペアを組ませられる。ステップ6
12は、第7図に関連して一層詳細に後述される。ステ
ップ614に於いては、例−規則ペアがSIZEWIN
にしたがってグループ分けされる。ステップ616に於
いては、例−規則ペアをSIZEWINグループ化する
目的で、最高のSIZEWINを有する規則が最初にテ
ストされるようにして例−規則ペアがテストされ、且
つ、そのSIZEWINグループ化に基づいて例−規則
ペアが適用される。ステップ616の期間中に、規則の
適用によってモデル例が削除される場合には、そのモデ
ル例はDELETEDとマークされるけれどもデータベ
ースから取り除かれることはない。DELETEDとマ
ークされたモデル例は、実際には、ステップ616が完
了してステップ618となる迄はデータベースから削除
されない。ステップ616は、第8図に関連して一層詳
細に後述される。
ステップ620は、最新のマイナーループ反復の期間
中、規則カウントが同一状態にとどまったか否かを確認
する。もし、否であるならば、すなわち規則が適用され
たならば、コントロールはステップ610へとパスす
る。規則が適用されなかったならば、コントロールはス
テップ622へと移る。ステップ622は、最新のメジ
ャーループ反復の期間中、規則カウントが同一状態にと
どまったか否かを確認する。もし、否であるならば、す
なわち規則が適用されたならば、コントロールはステッ
プ606へとパスする。規則が適用されなかったなら
ば、回路設計は安定化されたものと考えられ、処理が停
止される。
第7(a)図ないし第7(c)図はそれぞれ、第6図に示され
ているステップ612を一層詳細に示すフローチャート
700、700′、700″である。第7(a)図ないし
第7(c)図は第6図のマイナーループの1回の反復のた
めの例−規則ペアが、本発明の提示実施例に基づいてい
かにして決定されるかを示している。各モデル例は、そ
のモデル例に対応付けられている全ての規則のうちで最
高のSIZEWINを有しており且つTRUEとの評価
を有している規則と、ペアを組ませられる。フローチャ
ート700の諸ステップは、論理回路合成システムが、
VISIBLE/INVISIVLE指定、NEW/I
NACTIVE指定、及びDELETED/non−D
ELETED指定を組み入れているときに実行される。
フローチャート700′の諸ステップは、論理回路合成
システムが、NEW/INACTIVE指定及びDEL
ETED/non−DELETED指定を組み入れてお
り且つVISIBLE/INVISIBLE指定を組み
入れていないときに実行される。フローチャート70
0″の諸ステップは、論理回路合成システムが、VIS
IBLE/INVISIBLE指定及びDELETED
/non−DELETED指定を組み入れており且つN
EW/INACTIVE指定を組み入れていないときに
実行される。当業者は、フローチャート700′及びフ
ローチャート700″がフローチャート700に極めて
類似しており共通のステップを含んでいることを理解す
るであろう。従って、フローチャート700のステップ
に関してここに述べられる説明がフローチャート70
0′及びフローチャート700″にも適用され得ること
が理解されよう。
ステップ702は、最初のモデル例を「現モデル例」と
設定する。ステップ704は、現モデル例がVISIB
LEと指定されているかどうかを確かめる。もし指定さ
れているならば、コントロールはステップ706(フロ
ーチャート700″に於いてはステップ708)へとパ
スする。もし指定されていなければ、コントロールはス
テップ714へとパスする。ステップ706は、現モデ
ル例がNEWと指定されているかどうかを確かめる。も
し指定されているならば、コントロールはステップ70
8へとパスする。もし指定されていなければ、コントロ
ールはステップ714へとパスする。ステップ708
は、現モデル例が少くとも1つの、TRUEと評価され
た対応する規則を有しているかどうかを確かめる。も
し、複数のそのような規則が存在するときには、ステッ
プ708は最高のSIZEWINを有する対応TRUE
規則を選択し、コントロールはステップ710へと進ん
で、選択された規則と現モデル例とが例−規則ペアを形
成させられる。もし、ステップ708の現モデル例に対
応付けられているTRUE規則が存在しないならば、コ
ントロールはステップ712へとパスする。ステップ7
12に於いては、現モデル例がINACTIVEと指定
される。モデル例をNEW/INACTIVEと指定し
ない論理合成システムのためには。このステップは実行
されない。ステップ714は、ペアを形成するためのモ
デル例がもっと必要であるかどうかを確かめる。もし必
要ならば、ステップ716に於いて新しい現モデル例が
選択され。コントロールはステップ704へと戻る。も
し、必要でないならば、第7(a)図のステップは終了と
なる。
第8(a)図及び第8(b)図は、それぞれ、第6図のステッ
プ616を一層詳細に述べたフローチャート800、8
00′である。従って第8(a)図および第8(b)図は、例
−規則対の各規則をテストし且つ適用するために本発明
に従って実行される幾つかのステップについて記述して
いる。テストされつつある例−規則対は、現行対と呼ば
れる。現行対の規則は、現行規則と呼ばれる。現行対の
モデル例は、現モデル例と呼ばれる。
フローチャート800の諸ステップは、論理合成システ
ムがNEW/INACTIVE指定およびDELETE
D/non−DELETED指定を具体化するときに実行
される。フローチャート800′の諸ステップは、論理
合成システムがDELETED/non−DELETED
指定を具体化し且つNEW/INACTIVE指定を具
体化しないときに実行される。当業者は、フローチャー
ト800′がフローチャート800に極めて類似してお
り共通のステップを含んでいることに気付くであろう。
従って、フローチャート800のステップに関してここ
に述べる説明がフローチャート800′にも当てはまる
ことが理解されよう。
ステップ801は、現行のモデル例がDELETEDと
指定されているか否かを確認する。もし、確認されてい
るならば、コントロールはステップ810へとパスす
る。そうでなければ、コントロールはステップ804へ
とパスする。ステップ804は、現行規則の前段部分が
TRUE(真)であるか否かを確める。現行対が作られ
た際に現行規則が既にTRUEであったことを第7図の
ステップ708が確認したけれども、その後に於ける他
の規則の適用によって現行規則がFALSE(偽)にな
った可能性もあるることを当業者は理解するであろう。
もし、現行規則がTRUEであるならば、現行規則の後
段部分がステップ806にて実行される。もし、現行規
則がFALSEならば、コントロールはステップ810
へとパスする。ステップ808(第8(a)図のみ)は、
現モデル例と、この回路中の現モデル例に結合されてい
る全てのモデル例とを、NEWと指定する。ステップ8
10は、例−規則対が尚も存在するか否かを確認する。
もし、存在するならば、コントロールはステップ801
へと戻り、新しい例−規則対のために上述の各ステップ
は反復される。存在しなければ、第8図の処理は終了す
る。
第9図は、モデル例−規則対及びSIZEWINグルー
プ分けの一例を示す表である。データベースは、モデル
例iないしモデル例iを含む。モデル例iは、規
則r、規則r、及び規則rと関連している。モデ
ル例iは、規則r及び規則rと関連している。モ
デル例iは、規則rと関連している。モデル例i
は、規則r及び規則rと関連している。モデル例i
は、規則r、規則r、及び規則rと関連してい
る。モデル例iは、規則rと関連している。モデル
例iは、規則rと関連している。モデル例iは、
規則rと関連している。第9図に於いて、モデル例i
ないしモデル例iは、各個に1つないし3つの関連
する規則を有している。
しかしながらモデル例は、関連する規則をいくつでも持
つことが出来る。第9図は、8つのモデル例i〜i
と8つの規則r〜rとを示している。但し、データ
ベースは、それが保持し得る容量だけのモデル例と規則
とを格納してよい。モデル例の数と規則の数とが同じで
ある必要は無い。
第9図に於いて各規則の右側に括弧に入れて示されてい
る数字は、その規則のSIZEWIN値である。このS
IZEWIN値は、最も一般的には、その規則の適用に
よって置き換えられるモデル例の数を表現している。し
かしながら上述したように、規則のSIZEWIN値
は、規則が定義される際に予定の値に設定されることも
可能である。第9図に於いて、規則rはSIEWIN
値として「5」を有する。規則rはSIZEWIN値
として「3」を有する。規則rはSIZEWIN値と
して「5」を有する。規則rはSIZEWIN値とし
て「2」を有する。規則rはSIZEWIN値として
「2」を有する。規則rはSIZEWIN値として
「5」を有する。規則rはSIZEWIN値として
「1」を有する。規則rはSIZEWIN値として
「4」を有する。第9図に於いて、規則rないしr
のSIZEWIN値は「1」から「5」までの範囲であ
る。しかしながらSIZEWIN値は、本発明の特定の
実施態様にとって適切な、どのような範囲の値をとるこ
とも可能である。例えば、本発明に基づいており且つ多
数の規則を組み込んでいる論理合成システムは、「0」
から「5」までのSIZEWIN値をとってよい。同様
に、本発明に基づいており且つ中程度の数の規則を組み
込んでいる論理合成システムは、もし各SIZEWIN
グルーブの中に僅かな例−規則対のみを持つことを望む
ならば、大きな数の適切なSIZEWIN値を有してよ
い。
第9図は更に、モデル例iないしiの例−規則対の
SIZEWINグループ分けをも示している。例えば、
モデル例iは、関連するTRUE規則の中で最高のS
IZEWIN値「2」を有している規則、すなわちr
と対を組ませられる。従って、例−規則対i、r
は、SIZEWINグループ2に所属させられる。規
則rは、モデル例iに対してはTRUEと評価され
ているけれども、モデル例iに対してはTRUEとの
評価を得ていないことに留意されたい。これらは、1つ
の規則が、関連する相手方のモデル例の特性によっては
異なる評価を受けることが有り得ることを示している。
モデル例iはTRUE規則には全く関連しないので、
モデル例iが対を組ませられることは無く、また、S
IZEWINグループに所属させられることも無い。ま
た、第9図に置いては「0」のSIZEWIN値を有す
る規則を含んでいる対は形成されないのでSIZEWI
Nグループ0に所属させられる例−規則対は無いことに
も留意されたい。
第10図は、本発明の、第1提示実施例の動作を示す図
である。第10図は、モデル例グループの「前」ビュー
1010と、モデル例グループの「後」ビュー1020
と、モデル例と関連している規則の例1030と、SI
ZEWINによってグループ分けされる例−規則対10
40とを示している。
「前」ビュー1010は、モデル例i、i、i
10、i11、i12、i13、i14、及びi15
を含む。モデル例i10、i13、i14、及びi15
は、INVISIBLEである。(したがって同時にI
NACTIVEでもあるが、これは第10図には示され
ていない)。モデル例i11、及びi12は、VISI
BLEであり且つINACTIVEである。モデル例i
、i、及びiは、VISIBLEであり且つNE
Wである。例1030は、モデル例iが規則r、r
、及びrと関連していることを示している。モデル
例iは規則r及びrに関連し、モデル例iは規
則r、r、及びrと関連している。規則rは、
「5」のSIZEWIN値を有しており、且つ、モデル
例iに対してはFALSEである。規則rは、
「3」のSIZEWIN値を有しており、且つ、モデル
例iに対してTRUEである。規則rは、「2」の
SIZEWIN値を有しており、且つ、モデル例i
対してTRUEである。規則rは、「2」のSIZE
WIN値を有しており、且つ、モデル例iに対しては
TRVEであり、モデル例iに対してはFALSEで
ある。規則rは、「1」のSIZEWIN値を有して
おり、且つ、モデル例iに対してはTRUEであり、
モデル例iに対してはFALSEである。規則r
は、「0」のSIZEWIN値を有しており、且つ、
モデル例iに対してはFALSEである。
モデル例iに関連し、且つTRUEと評価されており
且つ最高のSIZEWIN値を有する規則は、規則r
である。そこで、モデル例iと規則rとが、テーブ
ル1040のSIZEWINグループ2の中に例−規則
対を形成する。モデル例iと関連し、且つTRUEと
評価されており且つ最高のSIZEWIN値を有する規
則は、規則rである。そこで、モデル例iと規則r
とが、テーブル1040のSIZEWINグループ3
の中に例−規則対を形成する。モデル例iと関連し、
且つTRUEと評価されている規則は存在しないので、
モデル例iのためにテーブル1040の中へ入れられ
る例−規則対は存在しない。
「後」ビュー1020は、テーブル1040の例−規則
対のための第8(a)図のフローチャートの諸ステップを
実行した後の結果を示している。SIZEWINグルー
プ3に所属する例−規則対i、rが最初に考案され
る。第10図には、規則rも規則rも示されていな
い。第8(a)図の諸ステップを参照してみるに、モデル
例iはDELETEDと指定されてはおらず、また、
規則rの前段部分はTRUEとの評価を得ていない。
従って、規則rの後段部分は、モデル例iのために
実行される。この後段部分は、モデル例iがモデル例
によって置き換えられる原因となる。モデル例i
はDELETEDと指定されており、また、既にモデル
例iに結合されているモデル例i、i10、及びi
12は、モデル例iに結合される。VISIBLEモ
デル例i、i12及びINVISIBLEモデル例i
10がそこへ結合されているので、モデル例iはNE
Wと指定される。
例−規則対i、rのためにも、同様にして第8(a)
図の諸ステップが実行される。この例に於けるこれらの
ステップは「後」ビュー1020に対して何の効果も有
してはいない。規則rの前段部分がモデル例iを参
照するとすれば、上述のようにモデル例iはそれ以前に
削除されているので、ステップ802はFALSEとな
る。従って、規則rの後段部分は実行されない。
関連するTRUE規則は無いということが判ったとき、
モデル例iはINACTIVEと評価される。第8
(a)図の諸ステップは、テーブル1040の中の例−規
則対についてのみ実行される。そこで、第8(a)図の諸
ステップは、モデル例iのためには実行されない。
本発明の第2提示実施例に於いては、そのモデル例と関
連しているTRUE規則は無いということがひとたび判
ったならば、そのモデル例はSEMIACTIVEと指
定される。VISIBLE/INVISIBLE指定及
びDELETED/non−DELETED指定は、第
1の提示実施例に関連して述べられた指定と同様であ
る。NEW指定もまた、同様である。
第11図は、第2提示実施例の為に第6図のステップ6
04を一層詳細に示しているフローチャート1100で
ある。第11図は、第6図のマイナーループを1回反復
させられる例−規則対が、本発明に基づいて如何にして
決定されるかを示している。各モデル例は、そのモデル
例と関連し、且つTRUEと評価されている規則であっ
て、そのモデル例と関連している全てのTRUE規則の
うちで最高のSIZEWIN値を有している規則と対を
組ませられる。フローチャート1100の諸ステップ
は、論理合成システムがVISIBLE/INVISI
BLE指定、NEW/SEMIACTIVE/INAC
TIVE指定、DELETED/non−DELETE
D指定などを具体化するときに実行される。しかしなが
ら、当業者は、VISIBLE/INVISIBLE指
定の無いシステムに於いても同様なステップが実行され
ることを理解するであろう。
ステップ1102は、最初のモデル例を「現モデル例」
と設定する。ステップ1104は、現モデル例がVIS
IBLEと指定されているか否かを確認する。もし、そ
のうよに指定されているならば、コントロールはステッ
プ1106へと進む。もし、指定されていなければ、コ
ントロールはステップ1118へとパスする。ステップ
1106は、現モデル例がNEW又はSEMIACTI
VEと指定されているか否かを確認する。もし指定され
ているならば、コントロールは1108へと進む。も
し、指定されていなければ、コントロールはステップ1
118へとパスする。ステップ1108は、現モデル例
が、TRUEと評価されている少なくとも1つの規則を
関連するか否かを確認する。もしも、同一のSIZEW
IN値を有するTRUE規則が2つ以上存在するなら
ば、ステップ1108がこれらのTRUE規則のうちか
ら1つを選択する。もし、2つ以上存在するようなこと
が無ければ、関連する規則の中からTRUEと評価され
ており且つ最高のSIZEWIN値を有する規則をステ
ップ1108が選択する。ステップ1109は、現モデ
ル例をNEWと指定する。ステップ1110は、現モデ
ル例と選択された規則とから、例−規則対を形成する。
ステップ1108に於いて、現モデル例と関連している
TRUE規則がもしも存在しないならば、コントロール
はステップ1112へとパスする。現モデル例がNEW
と指定されていることがステップ1112に於いてもし
確認されたならば、現モデル例のこの指定はステップ1
114に於いてSEMIACTIVEへと変更される。
もし、そうではなくて現モデル例がSEMIACTIV
Eと指定されていることがステップ1112に於いて確
認されたならば、現モデル例のその指定はステップ11
16に於いてINACTIVEへと変更される。
従って、関連するTRUE規則を見出だそうとする試み
に、1行につき2回失敗する迄は、モデル例がINAC
TIVEと指定されないということを保証するために、
ステップ1109とステップ1112とが協働する。し
かしながら、他の態様に於いては、現モデル例をINA
CTIVEと指定する前に、関連するTRUE規則を見
出だそうとする試みの失敗をもっと沢山必要とすること
も有り得る。またさらに、他の態様に於いては、INA
CTIVEと指定される前にモデル例が指定されねばな
らない例えばSEMIACTIVE1、SEMIACT
IVE2等々の、SEMIACTIVE指定に関する幾
つかの補助的レベルを含むことも有り得る。
第11図のステップ1114とステップ1116の後、
コントロールはステップ1118へとパスする。ステッ
プ1118は、対を作る為のモデル例がもっと必要であ
るか否かを確認する。もし必要ならば、新しい現モデル
例がステップ1120にて選択され、コントロールはス
テップ1104へと戻る。もし必要なければ、第11図
の諸ステップは終了となる。
本発明の他の態様に於いては、VISIBLE/INV
ISIBLE指定、NEW/ACTIVE指定、及びD
ELETED/non−DELETED指定と、SIZ
EWIN値との、多様な組合わせを用いる。例えば、S
IZEWINグループ分けを用いない論理回路合成シス
テムに於いてVISIBLE/INVISIBLE指定
が使用されてよく、或いは、SIZEWINグループ分
けを用いないシステムに於いてDELETED/non
−DELETED指定が使用されてよい。
第12図は、本発明の提示実施例を構成するコンピュー
タシステム1200を示している。コンピュータシステ
ム1200は、ディジタル・インクイップメント・コー
ポレーション(Digital Equipment Corporation)社か
ら商業的に入出可能なVAX6850システムである。
コンピュータシステム1200は、中央処理装置120
2と、中央処理装置1202に接続されている記憶装置
1204と、同じく中央処理装置1202に接続されて
いる入出力(I/O)サブシステム1206と、I/O
サブシステム1206に接続されている外部記憶サブシ
ステム1208とを含んでいる。第6図〜第11図のフ
ローチャートに示されている幾つかの方法は、アプリケ
ーションプログラム1210と同一のものとみなし得る
ものであり、コンピュータ言語LISPにて書かれて記
憶装置1204に格納されており、中央処理装置120
2によって実行される。コンピュータシステム1200
は、VMSオペレーティングシステムのもとに動作する
のが好ましい。記憶装置1204はさらに、モデル定義
とモデル例と現行ルールベースの為の規則とを含んでい
る本発明のデータベース1212をも格納している。中
央処理装置は、ベースエントリを入力し、且つ、記憶装
置1204からの最終テクノロジー表現を出力すべく、
I/Oサブシステム1206を使用する。論理合成シス
テムのその特定の実行に使用されないライブラリデータ
及びルールベースは、外部記憶サブシステム1208に
オフラインで格納されるのが好ましい。これ以外のコン
ピュータシステム及び構成要素が使用されることも可能
である。
ここに開示した本発明の明細書項と実施例とを考察する
ことにより、当業者には他の実施態様が明らかとなろ
う。本発明の明細事項と実施例とは単に例示の目的で提
示されたものであり、本発明の真の範囲は請求の範囲に
示されている。
次に、本発明の実施態様を列挙する。
(1)請求項1記載の回路設計合成方法において、前記複
数のモデル例−規則対の規則をグループ単位で適用する
前記ステップが、 最大のSIZEWIN値を有する規則を含むグループの
規則を最初に適用するステップ、及び 最小のSIZEWIN値を有する規則を含むグループの
規則を最後に適用するステップ、を更に有する。
(2)請求項1記載の回路設計合成方法において、前記規
則の組をデータベース内に格納する前記ステップが、所
定のSIZEWIN値を少くとも1つの規則に割当てる
ステップを更に有し、前記所定のSIZEWIN値が、
他の規則と比較した場合の前記規則の相対的重要性を表
すようにする。
(3)請求項1記載の回路設計合成方法において、前記規
則をデータベース内に格納する前記ステップが、所定の
SIZEWIN値を少くとも1つの規則に割当てるステ
ップを更に有し、前記所定のSIZEWIN値が、前記
規則の置換し得るモデル例の数を表すようにする。
(4)請求項1記載の回路設計合成方法において、関連す
る規則を前記第1組のモデル例の少くとも1つに割当て
る前記ステップが、最高のSIZEWIN値を有する関
連規則を割当てるステップを更に有する。
(5)請求項1記載の回路設計合成方法において、前記各
規則が、該規則の関連する各モデル例をTRUEとFA
LSEとのいずれか一方に評価し、関連する規則を前記
第1組のモデル例の少くとも1つに割当てる前記ステッ
プが、上記の規則が、該規則の関連する少くとも1つの
モデル例をTRUEであると評価した場合、前記の関連
する規則を割当てるステップを有する。
(6)請求項1記載の回路設計合成方法において、前記の
割当てステップ、前記のグループ分けステップと前記の
適用ステップとが、マイナーループを形成し、前記プロ
セスが前の反復実行の割当てステップに於いて規則が割
当てられなくなるまで前記マイナーループを反復的に実
行するステップを更に有する。
(7)前項(6)記載の回路設計合成方法において、前記モデ
ル例−規則の対の組の全ての規則がテストされ終わるま
で、テストステップと実行ステップとを反復的に実行す
るステップを更に有する。
(8)請求項1記載の回路設計合成方法において、規則
が、テストを有する前段部分と動作を有する後段部分と
を有し、前記の適用ステップが、 割当てられた規則の1つの前段部分をテストするステッ
プ、及び 前記テストステップが前段部分はTRUEであると判定
した場合、及び前記規則と対をなしている前記モデル例
が置換されなかった場合、割当てられた規則の後段部分
を実行するステップを有する。
(9)前項(8)記載の回路設計合成方法において、規則の前
段部分が複数のモデル例に関わり、前記実行ステップ
が、前記の割当てられた規則の前段部分が置換されたモ
デル例と関わっていない場合、前記の割当てられた規則
の後段部分を実行するステップを更に有する。
(10)前項(9)記載の回路設計合成方法において、置換さ
れたモデル例がDELETEDであると指定され、前項
(9)記載の前記実行ステップが、割当てられた前記規則
の前段部分がDELETEDであると指定されたモデル
例と関わっていない場合、前記の割当てられた規則の後
段部分を実行するステップを更に有する。
(11)前項(8)記載の回路設計合成方法において、置換さ
れたモデル例がDELETEDであると指定され、前記
テストステップが前段部分はTRUEであると評価され
ていると判定した場合、及び前記規則と対をなしている
前記モデル例がDELETEDであると指定されなかっ
た場合、前記実行ステップが、割当てられた前記規則の
後段部分を実行するステップを更に有する。
(12)請求項2記載の回路設計合成方法において、前記の
指定ステップが、 前記第1組のモデル例の他のモデル例をINVISIB
LEであると指定するステップ、及び INVISIBLEであると指定されたモデル例と関連
する規則のサブセットの適用を断るステップ、 を更に有する。
(13)前記(12)記載の回路設計合成方法において、前記V
ISIBLEモデル例と関連する規則サブセットの規則
を適用する前記ステップが、 前記第1組のモデル例のモデル例を置換するために、前
記VISIBLEモデル例と関連する規則サブセットの
規則を適用するステップを更に有し、置換された前記モ
デル例が、INVISIBLEモデル例を含んでいる。
(14)請求項3記載の回路設計合成方法において、前記第
1セット内の各モデル例を最初にNEWであると指定す
るステップを更に有する。
(15)前記(14)記載の回路設計合成方法において、前記の
割当ステップは、複数のモデル例−規則対のセットを設
けるため、関連する規則を前記第1セット内のNEWモ
デル例のみに割当てるステップを更に有し、これによっ
て、モデル例に割当てられた規則の欠如を生じさせる。
(16)前記(15)記載の回路設計合成方法において、前記(1
5)記載の割当てステップ、適用ステップ、及び指定ステ
ップが、複数回反復して実行され、INACTIVEで
あると指定する前記ステップが、少くとも2回の連続的
な反復期間中に関連する規則の欠如していたモデル例を
INACTIVEであると指定するステップを更に有す
る。
(17)前記(16)記載の回路設計合成方法において、INA
CTIVEであると指定する前記ステップが、1回の反
復期間中に関連する規則の欠如していたモデル例をSE
MIACTIVEであると指定するステップを更に更新
する。
(18)前記(15)記載の回路設計合成方法において、現行の
モデル例に置き換わっているモデル例に対して直接結合
されるモデル例の全てをNEWであると指定するステッ
プを更に有する。
(19)請求項4記載の回路設計合成装置において、前記複
数のモデル例−規則対の規則をグループ単位で適用する
前記手段が、 最大のSIZEWIN値を有する規則を含むグループの
規則を最初に適用する手段、及び 最小のSIZEWIN値を有する規則を含むグループの
規則を最後に適用する手段、 を更に有する。
(20)請求項4記載の回路設計合成装置において、規則の
組をデータベース内に格納する前記手段が、所定のSI
ZEWIN値を少くとも1つの規則に割当てる手段を有
し、前記所定のSIZEWIN値が、他の規則と比較し
た場合、前記規則の相対的重要度を表すようにする。
(21)請求項4記載の回路設計合成装置において、規則を
データベース内に格納する前記手段が、所定のSIZE
WIN値を少くとも1つの規則に割当てる手段を有し、
前記所定のSIZEWIN値が、前記規則が置換するこ
とのできるモデル例の数を表しているようにする。
(22)請求項4記載の回路設計合成装置において、関連す
る規則を前記第1組の少くとも1つのモデル例に割当て
る前記手段が、最高のSIZEWIN値を有する関連規
則を割当てる手段を更に有する。
(23)請求項4記載の回路設計合成装置において、規則の
各々が該規則の関連している各モデル例に対してTRU
EとFALSEとのいずれか一方に評価され、前記規則
の関連している少くとも1つのモデル例に対して該規則
がTRUEであると評価された場合、関連規則を前記第
1組の少くとも1つのモデル例に割当てる前記手段が、
前記関連規則を割当てる前記手段を有する。
(24)請求項4記載の回路設計合成装置において、前記の
割当手段、前記のグループ分け手段及び前記の適用手段
が、マイナーループを形成して各自の機能を反復的に実
行し、前記マイナーループの最新の反復実行に於いて前
記割当手段により規則が全く割当てられなかった場合、
前記装置が前記マイナーループの実行を取り止める手段
を更に有する。
(25)前記(24)記載の回路設計合成装置において、前記の
複数のモデル例−規則の対の組の全ての規則がテストさ
れ終わった場合、前記のテスト及び実行ステップの実行
を停止する手段を更に有する。
(26)請求項4記載の回路設計合成装置において、規則
が、テストを有する前段部分と動作を有する後段部分と
を有し、前記の適用手段が、 割当てられた規則の1つの前段部分をテストする手段、
及び 前記テストステップに対する手段が、前段部分はTRU
Eであると評価されると判定した場合、及び前記規則と
対をなす前記モデル例が置換されなかった場合、割当て
られた規則の後段部分を実行する手段とを有する。
(27)前項(26)記載の回路設計合成装置において、規則の
前段部分が複数のモデル例と関わり、前記の割当規則の
前段部分が置換されたモデル例と関わっていない場合、
実行手段が前記の割当てられた規則の後段部分を実行す
る手段に更に有する。
(28)前項(27)記載の回路設計合成装置において、置換さ
れたモデル例がDELETEDであると指定され、前記
の割当てられた規則の前段部分がDELETEDである
と指定されたモデル例と関わらない場合、前項(27)の前
記の割当てられた規則の後段部分を実行する手段を更に
有する。
(29)前項(26)記載の回路設計合成装置において、置換さ
れたモデル例がDELETEDであると指定され、前記
テスト手段が、前段部分はTRUEであると評価される
と判定した場合、及び前記規則と対を成す前記モデル例
がDELETEDであると指定されなかった場合、前記
実行手段が、前記割当てられた規則の後段部分を実行す
る手段を更に有する。
(30)請求項5記載の回路設計合成装置において、前記の
指定手段が、 前記第1組のモデル例の他のモデル例をINVISIB
LEであると指定する手段、及び INVISIBLEと指定されたモデル例と関連する規
則サブセットの適用を断わる手段を有する。
(31)前項(30)記載の回路設計合成装置において、前記V
ISIBLEモデル例と関連する規則サブセットの規則
を適用する前記手段が、前記第1組のモデル例のモデル
例を置換するために、前記VISIBLEモデル例と関
連する規則サブセットの規則を適用する手段を更に有
し、置換された前記モデル例が、INVISIBLEモ
デル例を有する。
(32)請求項6記載の回路設計合成装置において、前記第
1組のモデル内の各モデル例をNEWであると最初に指
定する手段を更に有する。
(33)前項(32)記載の回路設計合成装置において、前記の
割当手段が、複数のモデル例−規則の対の組を提供する
ための、関連する規則を前記第1セットのNEWモデル
例のみに割当てる手段を更に有し、これによって、割当
て規則の欠如したモデル例を発生させる。
(34)前項(33)記載の回路設計合成装置において、前項(3
3)の割当てステップ、適用ステップ、及び指定ステップ
が複数回反復して実行され、モデル例をINACTIV
Eであると指定する前記手段が、少くとも2回の連続的
な反復期間中に関連規則の欠如したモデル例をINAC
TIVEであると指定する手段を更に有する。
(35)前項(34)記載の回路設計合成装置において、モデル
例をINACTIVEであると指定する前記手段が、1
回の反復期間中に関連規則の欠如したモデル例をSEM
IACTIVEであると指定する手段を更に有する。
(36)前項(33)記載の回路設計合成装置において、現モデ
ル例と置換するモデル例に直接結合されるモデル例の全
てをNEWであると指定する手段を更に有する。
【図面の簡単な説明】
第1図はデータベースフォーマットの概略図。 第2図は第1図のモデル定義のための拡張されたフォー
マット。 第3図は第1図のデータベースの、モデル例相互間の連
結性の一例を示す図。 第4図は第1図のデータベースを使用する論理回路デザ
イン合成に用いられる方法のフローチャート。 第5図は第1図のデータベースの規則のフォーマット。 第6図は本発明の提示実施例によるモデル例への、規則
の選択と適用との方法を示すフローチャート。 第7(a)図、第7(b)図、および第7(c)図は、第6図の
規則を選択する方法をさらに詳細に記述するフローチャ
ート。 第8(a)図および第8(b)図は、第6図の規則を適用する
方法をさらに詳細に記述するフローチャート。 第9図は第6図の方法に従って生成された例−規則対と
SIZEWINグループ分けとを示す表。 第10図は第6図〜第9図の結果を示す図。 第11図は本発明の第2の提示実施例に基づいて第6図
の規則選択方法をさらに詳細に記述するフローチャー
ト。 第12図は本発明の提示実施例を構成するコンピュータ
システムのブロック図である。 100……全ルールベーステーブル、 101,102,314……ルールベース、 103,201,211,214,218,225,2
28……名前、 104……一般的ルールベース属性、 105……規則テーブル、 116〜108……規則ファイル、 110……全デザインテーブル、 111,112……デザイン情報、 113……デザインテーブルの規則、 114……モデル定義テーブル、 115……モデル定義基本要素、 116,310……モデル定義、 117……モデル定義テーブルの規則、 118……モデル例リスト、 9,120,330,340,350,360……モデ
ル例、 121……モデル例テーブルの規則、 122,312……ルールベーステーブルの規則、 202……入力のリスト、 203……出力のリスト、 205……動作方程式、 206,213,215,222,227,229……
他の属性、 207〜210……ポート定義、 212,226,370……信号、 219……ポインタ、 220……入力、 221……出力、 223,224,332,342,352,362,3
54,364……ポート例、 400,600,700,700′,700″,80
0,800′,1100……フローチャート、 0……規則、 502……左側すなわち前段部分、 504……右側すなわち後段部分、 506……矢印、 508……任意選択情報、 510……SIZEWIN値、 1010……モデル例グループの「前」ビュー、 1020……モデル例グループの「後」ビュー、 1030……モデル例と関連している規則の例、 1040……SIZEWINグループ、 1200……コンピュータシステム、 1202……中央処理装置、 1204……記憶装置、 1206……入出力(I/O)サブシステム、 1208……外部記憶サブシステム、 1210……アプリケーションプログラム、 1212……データベース。
フロントページの続き (72)発明者 スニーハメイ クンド アメリカ合衆国 マサチューセッツ州 01752 マールボロ バーゲロン ロード 84 (72)発明者 ディヴィッド エフ ヒル アメリカ合衆国 マサチューセッツ州 01609 ウースター ウォーチュシット ストリート 61 (56)参考文献 特開 昭64−86276(JP,A) 特開 昭64−18879(JP,A)

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】第1組のモデル例に対して1組の規則を適
    用することによって、データベース内に格納され、回路
    設計を表す前記第1組のモデル例を前記データベース内
    に格納され、回路設計の特定の論理要素を表す第2組の
    モデル例と置換するステップ、及び、前記1組の規則を
    適用することによって前記データベース内のオブジェク
    トのパラメータ値を変更するステップによって回路設計
    を合成する方法であって、前記規則の各々は、前段部分
    と後段部分とを有しているような回路設計合成方法に於
    いて、 前記規則の組を前記データベース内に格納するステップ
    であって、前記規則のサブセットは第1組のモデル例の
    モデル例と関連し、関連する前記各規則は、前記第1組
    のモデル例の少くとも1つのモデル例を前記第2組の少
    くとも1つの新しいモデル例と置換するために適用され
    ることが可能であり、または、前記データベース内の1
    つのオブジェクトのパラメータ値を変更することが可能
    であり、前記各規則は、効果尺度を表す関連SIZEW
    IN値を有する上記のステップ、 1組のモデル例−規則対のセットを設けるため、前記第
    1組のモデル例の少くとも1つに対して関連する規則を
    割当てるステップ、 複数のモデル例−規則対の規則のSIZEWIN値に基
    づいてモデル例−規則対の前記組を複数のグレープに分
    けるステップ、及び 前記複数のモデル例−規則対の規則の各々の後段部分
    を、それら規則の各々の前段部分がTRUEであるとき
    に、グループ単位でモデル例のそれぞれに適用するステ
    ップ、 によって構成されることを特徴とする回路設計合成方
    法。
  2. 【請求項2】第1組のモデル例に対して1組の規則を適
    用することによって、データベース内に格納され、回路
    設計を表す前記第1組のモデル例を前記データベース内
    に格納され、回路設計の特定の論理要素を表す第2組の
    モデル例と置換するステップによって回路設計を合成す
    る方法であって、前記規則の各々は、前段部分と後段部
    分とを有しているような回路設計合成方法に於いて、 前記規則の組を前記データベース内に格納するステップ
    であって、前記規則のサブセットは第1組のモデル例の
    モデル例と関連し、関連する前記各規則は、前記第1組
    のモデル例の少くとも1つのモデル例を前記第2組の少
    くとも1つの新しいモデル例と置換するために適用され
    ることが可能であり、または、前記データベース内の1
    つのオブジェクトのパラメータ値を変更することが可能
    である上記ステップ、 前記第1組のモデル例のモデル例をVIS1BLEであ
    ると指定するステップ、及び 第1組のモデル例のモデル例を第2セットのモデル例と
    置換するために、前記第1組のモデル例内の前記VIS
    IBLEモデル例と関連する規則サブセットの規則の後
    段部分を、それら規則のそれぞれの前段部分がTRUE
    であるときに、適用するステップ、 によって構成されることを特徴とする回路設計合成方
    法。
  3. 【請求項3】第1組のモデル例に対して1組の規則を適
    用することによって、データベース内に格納され、回路
    設計を表す前記第1組のモデル例を前記データベース内
    に格納され、回路設計の特定の論理要素を表す第2組の
    モデル例と置換するステップ、及び、前記1組の規則を
    適用することによって前記データベース内のオブジェク
    トのパラメータ値を変更するステップによって回路設計
    を合成する方法であって、前記規則の各々は、前段部分
    と後段部分とを有しているような回路設計合成方法に於
    いて、 前記規則の組を前記データベース内に格納するステップ
    であって、前記規則のサブセットは第1組のモデル例の
    モデル例と関連し、関連する前記各規則は、前記第1組
    のモデル例の少くとも1つのモデル例を前記第2組の少
    くとも1つの新しいモデル例と置換するために適用され
    ることが可能であり、または、前記データベース内の1
    つのオブジェクトのパラメータ値を変更することが可能
    である上記のステップ、 1組のモデル例−規則対のセットを設けるため、前記第
    1組のモデル例の少くとも1つに対して関連する規則を
    割当てるステップであって、上記の割当てステップの実
    行の結果、割り当てられた規則の欠如した第1組の他の
    モデル例が生ずる上記のステップ、 前記の複数のモデル例−規則対の規則の後段部分を、そ
    れら規則のそれぞれの前段部分がTRUEであるとき
    に、モデル例のそれぞれに適用するステップ、及び 割当てられた規則の欠如した前記のモデル例をINAC
    TIVEであると指定するステップ、によって構成され
    ることを特徴とする回路設計合成方法。
  4. 【請求項4】第1組のモデル例に対して1組の規則を適
    用することによって、データベース内に格納され、回路
    設計を表す前記第1組のモデル例を前記データベース内
    に格納され、回路設計の特定の論理要素を表す第2組の
    モデル例と置換し、前記1組の規則を適用することによ
    って前記データベース内のオブジェクトのパラメータ値
    を変更することによって回路設計を合成する装置であっ
    て、前記規則の各々は、前段部分と後段部分とを有して
    いるような回路設計合成装置に於いて、 前記規則の組を前記データベース内に格納する手段であ
    って、前記規則のサブセットは第1組のモデル例のモデ
    ル例と関連し、関連する前記各規則は、前記第1組のモ
    デル例の少くとも1つのモデル例を前記第2組の少くと
    も1つの新しいモデル例と置換するために適用されるこ
    とが可能であり、または、前記データベース内の1つの
    オブジェクトのパラメータ値を変更することが可能であ
    り、前記各規則は、効果尺度を表す関連SIZEWIN
    値を有する上記の手段、 1組のモデル例−規則対のセットを設けるため、前記第
    1組のモデル例の少くとも1つに対して関連する規則を
    割当てる手段、 複数のモデル例−規則対の規則のSIZEWIN値に基
    づいてモデル例−規則対の前記組を複数のグループに分
    ける手段、及び 第1組のモデル例を第2組のモデル例と置換するため、
    上記の複数のモデル例−規則対の規則の後段部分を、そ
    れら規則のそれぞれの前段部分がTRUEであるとき
    に、グループ単位で適用する手段、 によって構成されることを特徴とする回路設計合成装
    置。
  5. 【請求項5】第1組のモデル例に対して1組の規則を適
    用することによって、データベース内に格納され、回路
    設計を表す前記第1組のモデル例を前記データベース内
    に格納され、回路設計の特定の論理要素を表す第2組の
    モデル例と置換し、前記1組の規則を適用することによ
    って前記データベース内のオブジェクトのパラメータ値
    を変更することによって回路設計を合成する装置であっ
    て、前記規則の各々は、前段部分と後段部分とを有して
    いるような回路設計合成装置に於いて、上記の装置は、 前記規則の組を前記データベース内に格納する手段であ
    って、前記規則のサブセットは第1組のモデル例のモデ
    ル例と関連し、関連する前記各規則は、前記第1組のモ
    デル例の少くとも1つのモデル例を前記第2組の少くと
    も1つの新しいモデル例と置換するために適用されるこ
    とが可能であり、または、前記データベース内の1つの
    オブジェクトのパラメータ値を変更することが可能であ
    る上記の手段、 前記第1組のモデル例のモデル例をVISIBLEであ
    ると指定する手段、及び 第1組のモデル例のモデル例を第2組のモデル例と置換
    するために、それら規則のそれぞれの前段部分がTRU
    Eであるときに、前記第1組のモデル例の前記VISI
    BLEモデル例と関連する規則サブセットの規則の後段
    部分を適用する手段、 を有することを特徴とする回路設計合成装置。
  6. 【請求項6】第1組のモデル例に対して1組の規則を適
    用することによって、データベース内に格納され、回路
    設計を表す前記第1組のモデル例を前記データベース内
    に格納され、回路設計の特定の論理要素を表す第2組の
    モデル例と置換し、前記1組の規則を適用することによ
    って前記データベース内のオブジェクトのパラメータ値
    を変更することによって回路設計を合成する装置であっ
    て、前記規則の各々は、前段部分と後段部分とを有して
    いるような回路設計合成装置に於いて、上記の装置は、 前記規則の組を前記データベース内に格納する手段であ
    って、前記規則のサブセットは第1組のモデル例のモデ
    ル例と関連し、関連する前記各規則は、前記第1組のモ
    デル例の少くとも1つのモデル例を前記第2組の少くと
    も1つの新しいモデル例と置換するために適用されるこ
    とが可能であり、または、前記データベース内の1つの
    オブジェクトのパラメータ値を変更することが可能であ
    る上記の手段、 モデル例−規則対の組を設けるため、前記第1組のモデ
    ル例の少くとも1つの前記モデル例に対して関連規則を
    割当てる手段であって、前記の割当てステップの実行の
    結果、割当て規則の欠如した前記第1組の他のモデル例
    が生じる上記の手段、 前記のモデル例−規則対の規則のそれぞれの後段部分
    を、それら規則のそれぞれの前段部分がTRUEである
    ときに、モデル例のそれぞれに適用する手段、及び 割当て規則の欠如した前記モデル例をINACTIVE
    であると指定する手段、 を有することを特徴とする回路設計合成装置。
JP2169701A 1989-06-28 1990-06-27 回路設計を合成する為のプロセス及び装置 Expired - Lifetime JPH0658678B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/373,085 US5095441A (en) 1986-09-12 1989-06-28 Rule inference and localization during synthesis of logic circuit designs
US373085 1995-01-17

Publications (2)

Publication Number Publication Date
JPH03116384A JPH03116384A (ja) 1991-05-17
JPH0658678B2 true JPH0658678B2 (ja) 1994-08-03

Family

ID=23470872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2169701A Expired - Lifetime JPH0658678B2 (ja) 1989-06-28 1990-06-27 回路設計を合成する為のプロセス及び装置

Country Status (4)

Country Link
US (1) US5095441A (ja)
EP (1) EP0405728A3 (ja)
JP (1) JPH0658678B2 (ja)
CA (1) CA2016508C (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03116281A (ja) * 1989-09-29 1991-05-17 Toshiba Corp 論理合成装置
US5164911A (en) * 1989-12-15 1992-11-17 Hewlett-Packard Company Schematic capture method having different model couplers for model types for changing the definition of the schematic based upon model type selection
US5367468A (en) * 1990-02-21 1994-11-22 Kabushiki Kaisha Toshiba Design aid method and design aid apparatus for integrated circuits
US5359537A (en) * 1990-05-14 1994-10-25 Vlsi Technology, Inc. Automatic synthesis of integrated circuits employing controlled input dependency during a decomposition process
US5262959A (en) * 1990-12-07 1993-11-16 Hewlett-Packard Co. Representation and processing of hierarchical block designs
US5680318A (en) * 1990-12-21 1997-10-21 Synopsys Inc. Synthesizer for generating a logic network using a hardware independent description
US5526276A (en) * 1994-04-21 1996-06-11 Quicklogic Corporation Select set-based technology mapping method and apparatus
US5903469A (en) * 1994-11-08 1999-05-11 Synopsys, Inc. Method of extracting layout parasitics for nets of an integrated circuit using a connectivity-based approach
US5619418A (en) * 1995-02-16 1997-04-08 Motorola, Inc. Logic gate size optimization process for an integrated circuit whereby circuit speed is improved while circuit area is optimized
CA2175276A1 (en) * 1995-05-09 1996-11-10 Patrick Yin Method and system for allowing an integrated circuit to be portably generated from one manufacturing process to another
US6026219A (en) 1995-05-12 2000-02-15 Synopsys, Inc. Behavioral synthesis links to logic synthesis
US5757653A (en) * 1996-05-16 1998-05-26 International Business Machines Corporation Method and apparatus for dynamically varying net rules
US5757655A (en) * 1996-08-26 1998-05-26 Micron Technology, Inc. Method and system for producing dynamic property forms and compacting property databases
US6865524B1 (en) 1997-01-08 2005-03-08 Trilogy Development Group, Inc. Method and apparatus for attribute selection
US7735013B2 (en) * 2001-03-16 2010-06-08 International Business Machines Corporation Method and apparatus for tailoring content of information delivered over the internet
US6813751B2 (en) * 2002-07-16 2004-11-02 International Business Machines Corporation Creating standard VHDL test environments
US7493578B1 (en) 2005-03-18 2009-02-17 Xilinx, Inc. Correlation of data from design analysis tools with design blocks in a high-level modeling system
US7496869B1 (en) 2005-10-04 2009-02-24 Xilinx, Inc. Method and apparatus for implementing a program language description of a circuit design for an integrated circuit
US7363599B1 (en) * 2005-10-04 2008-04-22 Xilinx, Inc. Method and system for matching a hierarchical identifier
US7761272B1 (en) 2006-03-10 2010-07-20 Xilinx, Inc. Method and apparatus for processing a dataflow description of a digital processing system
US7380232B1 (en) 2006-03-10 2008-05-27 Xilinx, Inc. Method and apparatus for designing a system for implementation in a programmable logic device
US8402409B1 (en) 2006-03-10 2013-03-19 Xilinx, Inc. Method and apparatus for supporting run-time reconfiguration in a programmable logic integrated circuit
US7810062B2 (en) * 2007-09-11 2010-10-05 International Business Machines Corporation Method for eliminating negative slack in a netlist via transformation and slack categorization
EP3259693B1 (en) 2016-02-25 2019-05-29 Synopsys, Inc. Integrated circuit design using generation and instantiation of circuit stencils

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2245984B1 (ja) * 1973-09-27 1977-03-18 Ibm
US4510616A (en) * 1982-01-19 1985-04-09 The Environmental Research Institute Of Michigan Design rule checking using serial neighborhood processors
US4613940A (en) * 1982-11-09 1986-09-23 International Microelectronic Products Method and structure for use in designing and building electronic systems in integrated circuits
US4554631A (en) * 1983-07-13 1985-11-19 At&T Bell Laboratories Keyword search automatic limiting method
JPS60114968A (ja) * 1983-11-28 1985-06-21 Hitachi Ltd 推論システム
US4656603A (en) * 1984-03-01 1987-04-07 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons
US4703435A (en) * 1984-07-16 1987-10-27 International Business Machines Corporation Logic Synthesizer
JPS6274158A (ja) * 1985-09-27 1987-04-04 Hitachi Ltd 回路変換方式
AU7727987A (en) * 1986-09-12 1988-03-17 Digital Equipment Corporation Cad of logic circuits: procedure and data structure
JPH0652502B2 (ja) * 1987-05-06 1994-07-06 株式会社日立製作所 推論方法
JP2506991B2 (ja) * 1987-09-25 1996-06-12 松下電器産業株式会社 回路変換システムと回路変換方法と反転論理生成方法および論理設計システム
US4922432A (en) * 1988-01-13 1990-05-01 International Chip Corporation Knowledge based method and apparatus for designing integrated circuits using functional specifications

Also Published As

Publication number Publication date
JPH03116384A (ja) 1991-05-17
CA2016508C (en) 1998-11-10
EP0405728A3 (en) 1993-10-20
US5095441A (en) 1992-03-10
CA2016508A1 (en) 1990-12-28
EP0405728A2 (en) 1991-01-02

Similar Documents

Publication Publication Date Title
JPH0658678B2 (ja) 回路設計を合成する為のプロセス及び装置
US5150308A (en) Parameter and rule creation and modification mechanism for use by a procedure for synthesis of logic circuit designs
US5212650A (en) Procedure and data structure for synthesis and transformation of logic circuit designs
US5349659A (en) Hierarchical ordering of logical elements in the canonical mapping of net lists
US5068812A (en) Event-controlled LCC stimulation
US5568396A (en) Identifying overconstraints using port abstraction graphs
US5956257A (en) Automated optimization of hierarchical netlists
US6611952B1 (en) Interactive memory allocation in a behavioral synthesis tool
US6995765B2 (en) System, method, and computer program product for optimization of a scene graph
US7607117B2 (en) Representing device layout using tree structure
EP0676707B1 (en) Expression promotion for hierarchical netlisting
US5258932A (en) PLA simulation method
US5452226A (en) Rule structure for insertion of new elements in a circuit design synthesis procedure
US5151867A (en) Method of minimizing sum-of-product cases in a heterogeneous data base environment for circuit synthesis
US6571146B1 (en) Method for updating feature recipes in a history-based solid model
US5796621A (en) Circuit delay abstraction tool
US5787009A (en) Methods for allocating circuit design portions among physical circuit portions
Rundensteiner Design tool integration using object-oriented database views
US5740085A (en) Data processing apparatus for the modeling of logic circuitry
US5761737A (en) Data driven type information processing apparatus having improved generation number translation
Li et al. Composite feature and variational design concepts in a feature-based design system
US7290241B1 (en) Method and system for managing behavior of algorithms
JPS62121579A (ja) 機能ブロック展開装置
JP3648370B2 (ja) 和積形論理式の充足判定方法および装置
EP0592076B1 (en) Compilation mechanism for a simulation model