JPH09231261A - Fetモデル回路からゲートモデル回路を抽出する方法 - Google Patents

Fetモデル回路からゲートモデル回路を抽出する方法

Info

Publication number
JPH09231261A
JPH09231261A JP8318062A JP31806296A JPH09231261A JP H09231261 A JPH09231261 A JP H09231261A JP 8318062 A JP8318062 A JP 8318062A JP 31806296 A JP31806296 A JP 31806296A JP H09231261 A JPH09231261 A JP H09231261A
Authority
JP
Japan
Prior art keywords
fet
gate
logic
tree
equation
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.)
Granted
Application number
JP8318062A
Other languages
English (en)
Other versions
JP3949764B2 (ja
Inventor
Arled Darryl
ダリル・アルレッド
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH09231261A publication Critical patent/JPH09231261A/ja
Application granted granted Critical
Publication of JP3949764B2 publication Critical patent/JP3949764B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

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)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 FETモデル回路からゲートモデル回路を
抽出する方法において、2つのモデル間の構造上の一致
を保持し、抽出する時間を減少させる。 【解決手段】コンピュータ実現のエキスパートシステム
装置を使用して、FETモデルからゲート・モデルを抽
出する方法は次のステップを含む。電源、グラウンドお
よびクロック信号を認識し、インバータを認識し、FE
Tモデル回路のすべての論理信号を認識し、保存し、各
々の認識される論理信号について、一つまたは複数の構
造ベースのブールの部分的トリーを組み立て、一つまた
は複数のブール・トリーを発見的に枝刈りし、一つまた
は複数のブールの部分的トリーから論理方程式を組み立
てる。エキスパートシステム装置は、FETモデル入力
ネットリスト、推論エンジン、規則ベース、ユーザー入
力、およびゲートモデル出力ネットリストを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、FETモデル回
路からゲートモデル回路を抽出する方法と装置に関し、
特に、FETモデル回路と構造上の一致を保持するゲー
トモデル回路を抽出する方法と装置に関する。
【0002】
【従来の技術】集積回路(IC)は電界効果トランジスタ
(FET)を用いて設計され、組み立てられるが、多くの
ツールはICのゲートレベル・モデル(または少なくと
も非常に制限された数のFETを用いるモデル)を必要
とする。ICのFETモデルは、FET、ワイヤおよび
他の構造素子(非FETインスタンス(non-fet instance
s))を含むが、ゲートモデルは、相互接続される論理ゲ
ート(およびできる限り制限された数のFET)を含むI
Cの機能的な抽象概念である。FETモデルからゲート
モデルを抽出することは時間がかかり、間違いやすいプ
ロセスである。そこである設計者は、コンピュータを使
用してプロセスを自動化しようと試みた。
【0003】ゲートモデルを抽出する一つの方法は、イ
グゾースティブ(exhaustive)・ベクトルの使用による。
イグゾースティブ・ベクトル組が回路の入力から導き出
され、FETレベル・シミュレータによって実行され
る。各々のベクトルは1組の期待される出力を作り出
し、そこからゲートモデルが合成されうる。そのような
方法の不利益は、1)およそ14より多い入力をもつ回
路は非常に多くのベクトルを必要とするので、方程式が
事実上扱いにくいこと、および2)状態素子(格納また
は帰還)をもつ回路はイグゾースティブ・ベクトルによ
って十分に特徴付けられることができないことを含む。
これは、それらの回路が各々の状態について付加のベク
トルを必要とし、付加のベクトルを導き出す現在の方法
は扱いにくく、効果的でないからである。
【0004】ゲートモデルのイグゾースティブ・ベクト
ル方法の別の不利益は、結果として生じるゲートモデル
が、入力FETモデルと構造上の類似をもたないことで
ある。それゆえ結果として生じるゲートモデルは、回
路、入力および出力を保持するが、入力と出力の間にF
ETモデルの構造との類似点をもたない。したがって、
ツールがゲートモデル回路で誤りを示すとき、FETモ
デル回路をデバッグすることは非常に困難になりうる。
【0005】ゲートモデルを抽出する別の方法は、単純
な回路の認識に基づく再モデル化変換を含む。この解法
は、FET構造を相補形CMOS構造に置き換え、ゲー
トをもつ回路をプリチャージ(precharge)することを試
みる。しかしこの方法は、少数の単純な回路タイプのみ
の認識に限られる。CPU(中央処理装置)またはASI
C(特定用途向け集積回路)のような複雑なICには非常
に多くの「規則の例外」が存在し、単純な回路の認識は
もはや可能ではない。単純な回路の認識は、FETモデ
ルの構造上の特性を保持するのに役立つが、大規模なI
Cの回路図で使用するには全く実用的ではない。
【0006】
【発明が解決しようとする課題】したがってこの発明の
主な目的は、2つのモデル間の構造上の一致を保持しな
がら、FETモデル回路からゲートモデル回路を抽出す
る方法と装置を提供することである。
【0007】この発明の別の目的は、ゲートモデル回路
を抽出するために必要とされる時間を大幅に減少させる
方法と装置を提供することである。
【0008】またこの発明の別の目的は、正確で、実証
可能な方法および装置を提供することである。
【0009】さらにこの発明の別の目的は、大半の抽出
プロセスから設計者を引き離すために使用されうる方法
と装置を提供することである。
【0010】
【課題を解決するための手段】上述の目的の達成におい
て、発明者は、FETモデル回路からゲートモデル回路
を抽出するコンピュータ実現の方法と装置を発明した。
【0011】方法は、「エキスパートシステム」として
プログラムされるコンピュータによって実行される。エ
キスパートシステムは、コンピュータの典型的なアルゴ
リズム方法(解法に至る命令のシーケンスの実行)を、通
常人間のエキスパートによって提供される知識ベースの
方法と結びつけることを試みるシステムである。
【0012】エキスパートシステムは一般に、知識ベー
ス、推論エンジンおよびユーザー・インタフェースとい
う3つの部分を含む。知識ベースは、典型的に人間のエ
キスパートによって供給される規則、事実および発見的
手法(hueristics)を含む。知識ベースは、推論エンジン
によって新しい事実(学習)を推論する(導き出す)ために
使用される。推論エンジンが、必要とされる事実を知識
ベースから推論することができないとき、システムのユ
ーザーは欠けている情報を供給するように促される。
【0013】開示される方法と装置(エキスパートシス
テム)がどのように機能するかということの完全な理解
を助けるために、エキスパートシステムの概要およびPr
olog(開示されるシステムが実現されるコンピュータ言
語)が後に続く。当業者であれば、すでにこれらの分野
には精通しているはずである。
【0014】エキスパートシステムの知識ベースは、多
数の規則グループ(またはクラス)を含む。Prologのター
ム(項)で、規則グループは次のステートメントによって
表されることができる。
【0015】
【表1】inference_control (Name, Type, Control) ここで、Nameは規則グループの名前であり、Typeは推論
タイプであり、Controlは規則のリストを含む構造であ
る。規則推論タイプは、順次(基本エンジン)、前向きチ
ェーン(前向きエンジン)、および後ろ向きチェーン(後
ろ向きエンジン)を含む。
【0016】順次規則グループが開かれると、その規則
は規則グループ内に示される順序で一度に一つずつ発火
(fire, 処理開始)する。前向きチェーン規則グループの
規則は、グループが開かれて開始されると活動状態にな
り、規則グループが閉じられるまで任意の時間に(任意
の順序で、規則自体の条件の合致が成功することによっ
てのみトリガされて)発火することができる。後ろ向き
チェーン規則グループはいつも活動状態である。しかし
後ろ向きチェーン規則はデマンド駆動されるので、そう
するように要求されるときにだけ発火する。後ろ向きチ
ェーン規則は、「膨らんで」貴重なコンピュータ処理時
間を浪費しうる計算を制御するために使用される。
【0017】すべてのProlog規則は基本形式に従う。形
式は以下の通りである。
【0018】
【表2】 rule Name if Conditions then Actions [because Notes] Prolog規則の例は次のように表されることができる。
【0019】
【表3】 rule 'Power Connected Fet' if database instance_type(Fet,_,_) and not database redundant_fet(Fet) and fet_source_drain_signals(Fet,VDD,Sig) and database power(VDD,_) then assert signal_driven_to_power(Sig,Fet) because ['This signal is connected to power via a fet.']. 条件は、論理積「and」または論理和「or」によって区
分される一つまたは複数の節である。条件節は、エキス
パートシステムのデータベースにアクセスすることも、
ユーザ定義の述語を呼び出すこともできる。後ろ向きチ
ェーン規則照会は、条件に表される「?」演算子によっ
て行われることができる。一般に規則の条件とは、規則
の左側を言う。
【0020】規則条件は、結論または決定(規則の右側
を言う)を従える。順次または前向きチェーン規則の右
側は、エキスパートシステム・データベースに情報をア
サート(assert)し(以下の記述でデータベースとはゲー
トモデル・データベースのこと)、データベースから情
報を取り消し、任意の他のユーザ定義の関数を実行する
ことができる1つまたは複数の動作である。後ろ向きチ
ェーン規則の右側は、後ろ向きチェーン照会の結果を定
義する一つのタームである。
【0021】because節は任意であるので、エキスパー
トシステムの演算に入らない。それは、規則の関数に関
する文書化(documantation)に使用される。
【0022】例えば上述の規則「Power Connected Fe
t」は次のように機能する。データベースで冗長として
マークされず、そのソース/ドレイン(Prolog述語fet_so
urce_drain_signals/3)が指示される電源信号に接続さ
れるデータベースの各々のインスタンス(instance_type
/3)について、エントリが「signal_driven_to_Power(Si
g,Fet)」のPrologのデータベースにアサートされる(加
えられる)。ここで、変数FetはFETのインスタンス名
であり、Sigは電源信号と反対のFETの信号名であ
る。
【0023】ここで開示されるエキスパートシステムを
含む方法および装置は、電源、グラウンド(接地)および
クロック信号を認識するステップと、インバータを認識
するステップと、FETモデル回路に含まれるすべての
論理信号を認識し、保存するステップと、認識される論
理信号の各々について、一つまたは複数の構造ベースの
ブールの部分的トリー組み立てるステップと、一つまた
は複数のブールの部分的トリーを発見的に枝刈り(pruni
ng)するステップと、一つまたは複数のブールの部分的
トリーから論理方程式を組み立てるステップを含む。
【0024】この方法は、抽出されるゲートモデルの構
造上の整合性を保持する際の論理信号の重要性と、構造
ベースのブール・トリーの使用を認識する。構造ベース
のブール・トリーは、以下の記述で開示される新しい概
念である。部分的トリーは、論理方程式を簡略化し、ゲ
ートモデルをより高いレベルに抽象化することを助け
る。以前のゲートモデル抽出ツールは、大規模でこれら
の仕事を達成することができなかった。
【0025】構造ベースのブールの部分的トリーの生成
によると(ここで部分的トリーの枝はFETを表す)、上
述の方法によって作り出されるゲートモデルは、そのF
ETモデルと構造上の一致をもち、テストツールがゲー
トモデルで誤りを示すときにデバッグするのがより簡単
なFETモデルを作る。
【0026】前もって人間に任せられる多くの推論プロ
セスを通ることによって、発明はゲートモデル回路を抽
出するに必要とされる時間を著しく減少させる。さら
に、エキスパートシステムの方法および装置は保守的(c
onservative)であって、それが適度に信頼できるときに
FET方向、ポート方向または回路関数を推論するにす
ぎない。
【0027】FET方向、ポート方向、または回路関数
がいくぶん曖昧であるとき、エキスパートシステムは、
最も正しく効率的なモデルを作り出すように、選択肢の
間で選ぶようにユーザーを促す。しかし開示される方法
は、ユーザープロンプトを少しだけ用いて、多くのゲー
トモデルを抽出することができる。
【0028】
【発明の実施の形態】FETモデル回路からゲートモデ
ル回路を抽出するコンピュータ実現される方法が以下に
記述され、概して図1に示される。方法は、電源、グラ
ウンドおよびクロック信号を認識するステップ(44)と、
インバータを認識するステップ(46)と、FETモデル回
路のすべての論理信号を認識し、保存するステップ(48)
と、認識される論理信号の各々について、一つまたは複
数の構造ベースのブールの部分的トリーを組み立てるス
テップ(50)と、一つまたは複数のブールの部分的トリー
を発見的に枝刈りするステップ(52)と、一つまたは複数
のブールの部分的トリーの各々から論理方程式を組み立
てるステップ(54)とを含む。
【0029】方法は、プログラマブル・コンピュータ40
(またはコンピュータ40をプログラムすることができる
物理記憶媒体42に格納されるエキスパートシステムによ
って実現されることが好ましく、エキスパートシステム
は一般にFETモデル回路入力、推論エンジン、規則ベ
ース、ユーザー入力およびゲートモデル回路出力を含
む。図34および図35を参照されたい。推論エンジン
は規則を処理し、ゲートレベル・モデルを(出力ネット
リストの形式で)推論する際に、FETモデル回路入力
を(入力ネットリストの形式で)使用する。
【0030】このように方法と装置を大体説明したが、
それらをさらに詳細に説明する。ここで開示される方法
と装置は、Prologコンピュータ・プログラミング言語を
使用して開発されている。しかし特定のプログラミング
言語の使用は、開示される方法と装置を使用するために
必ずしも必要ではなく、当業者であれば異なったプログ
ラミング言語を使用して開示される方法と装置を実現す
ることを選択することができる。
【0031】好ましい実施例で、方法は図2に示される
拡張されたステップのシーケンスを含む。方法は、FE
Tモデル回路に含まれる情報が入力ネットリストの形式
でエキスパートシステムに提供されることを必要とす
る。ネットリストは、回路の各々のネット(ノード)に接
続される端子のリストを提供する。
【0032】システムの外側層(またはシェル)は、引数
を確認し、ファイルの存在を確認し、入力ネットリスト
をデータベースに読み込み、それをPrologタームに変換
し、任意に出力ネットリストを交互にフォーマットされ
るネットリストに変換する役割を果たす。外側層が入力
ネットリストをPrologタームに変換した後に、推論エン
ジンが始まる。方法のどのステップがいつ実行されるか
を実際に決定するのは推論エンジンである。規則が推論
エンジンによって発火されると、ゲートモデルの作成を
助けるという事実が、エキスパートシステムのデータベ
ースにアサートされる。
【0033】推論エンジンは、最初に一連の順次規則グ
ループを開く。これらの第1のものは、電源、グラウン
ドおよびクロック信号を認識する役割を果たす規則グル
ープである。電源、グラウンド、およびクロック信号に
使用される信号の命名規則は次の通りである。
【0034】
【表4】 NEG:*GND, GND, GND*, gnd*, gnd, *gnd, VSS, vss POS:*VDD, VDD, VDD*, *vdd, vdd, vdd*, *VCC, VCC, VCC*, *vcc, vcc, vcc*, *VGG, VGG, VGG*, *vgg, vgg, vgg* CLK:CK, CK*, ck, ck*, NCK, NCK*, nck, nck*, *CLK, CLK, CLK*, *clk, clk, clk*, *CKH, (CKH), *ckh, (ckh), *CKL, (CKL), *ckl, (ckl) (*は一つまたは複数の文字を表す) この方法はこれらの規則を認識して、エキスパートシス
テムのデータベースにこれらの信号について事実をアサ
ートする(44)。しかし規則は、入力ネットリストに(ま
たはネットリストに関連する個別のファイルに)含まれ
る特性によって無視されることがありえる。
【0035】次に推論エンジンは、冗長なFETの除去
規則グループに引き続きチェーンする。強制のステップ
ではないが、冗長なFETを除去するプロセスは後の計
算と抽象化ステップをかなり簡略化する。
【0036】冗長な並列FETの除去は非常に簡単であ
る。2つまたはそれ以上のFETが共通のソース、ドレ
インおよびゲート接続を共有する場合、それらの1つを
除いて全てが除去される。図4を参照されたい。しかし
方法は、さらに一つのステップに進み、冗長な「FET
構造」を除去する。冗長な「FET構造」の除去は、そ
れほど簡単ではない。FET構造を等価性(または冗長
性)について検査する疑似符号で実現する発見的手法
は、次のように与えられる。
【0037】
【表5】 For each signal, S, in circuit For each pair of fets, F1, F2, connected to S IF F1 & F2 of same type Put F1 (F2) in tree Tree1 (Tree2) IF redundant_trees_from_fets(F1,F2,Tree1,Tree2) mark tree Tree2 as redundant with Tree1 -------------------------- redundant_trees_from_fets(F1,F2,Tree1,Tree2): IF gate signals of F1 & F2 not same return FALSE Locate signals on other side of fets:S1,S2 IF S1 = S2 return TRUE IF either S1 or S2 is a port return FALSE IF either S1 or S2 power or ground return FALSE IF seen S1 (S2) in Tree1 (Tree2) before return FALSE For each instance, I1, connected to S1 IF I1 in Tree1 or Tree2 return FALSE IF S1 is connected to the gate of I1 return FALSE IF I1 is not a fet return FALSE IF Instance I2, connected to S2, & I2 same type as I1 & I2 not in Tree1 nor Tree2 Add I1 (I2) to Tree1 (Tree2) IF NOT redundant_trees_from_fets(I1, I2,Tree1,Tree2) return FALSE ELSE return FALSE return TRUE 簡略化のために、上述の冗長除去プロセスは、1)一つの
FET構造のトリーのすべてのFETゲート信号が、冗
長なFET構造の対応するFETゲート信号と同一であ
ること、および2)FET構造が帰還ループを含まないこ
と、を要求する。
【0038】除去プロセスは、それらのソースおよび/
またはドレインを通って共通のノードに接続される2つ
のFETで開始する(図5のノードSを参照)。接続され
ているFETは同じタイプ(両方ともp−FETか両方
ともn−FET)でなければならない。さらに、接続さ
れるFETのゲート信号が同一でなければならない。F
ET構造トリーは、共通のノードに接続されるFETの
各々について生成される。トリーは、FETソース/ド
レイン接続を通って、2つのトリーが共通のノード(図
5のノードT)で再集結するまでパスを横断することに
よって生成される。
【0039】回路の注記または特性が入力ネットリスト
に加えられて、インスタンスを冗長であると言明したり
(その除去を強制する)、または冗長なFETの除去プロ
セスがFETを除去しないようにすることもできる。
【0040】続いて推論エンジンは、方法のこの時点で
2つの付加の規則グループにチェーンすることができ
る。第1に、キャパシタとして使用されるFETが発見
的に認識され、これらのFETに関する事実がエキスパ
ートシステムのデータベースにアサートされることがで
きる。FETは、1)そのソースとドレインが両方とも
電源に(または両方ともグラウンドに)接続される(図6
4を参照)、あるいは2)それが永久に動作不能である
(つまりゲートがグラウンドに配線されたn−FET、
またはゲートが電源に配線されたp−FET)(図65を
参照)場合、キャパシタであるとアサートされる。第2
に、レールに配線されるソースまたはドレイン(電源ま
たはグラウンド)のどちらかを有するすべてのFET
は、データベースにそのように注記される。これらのス
テップは両方とも、後の発見的な部分的トリーの枝刈り
のステップを簡略化する。
【0041】方法の次のステップはインバータの認識(4
6)である。再び推論エンジンは、このステップの規則グ
ループに引き続きチェーンする。最も基本の論理ゲート
として、インバータを認識して、抽象化が行われ、ゲー
トモデルの論理が最小限にされることができることが重
要である。インバータは、1)FETの各々が共通の論
理信号へのソース/ドレイン接続をもち、2)一方のFE
Tのp−FETが、電源に接続されるソース/ドレイン
をもち、他方のFETのn−FETが、グラウンドに接
続されるソース/ドレインをもち、3)FETのゲート信
号が共通の論理信号に接続される、という一対のFET
のパターンの合致によって認識される。また反転の関係
は、信号名N<sig>をもつネットリストの入力ポートは入
力ポート<sig>の反転であるという取り決めによって認
識される。
【0042】インバータを認識した後に(46)、できる限
り多くのFETについて最初のFET方向が決定される
(58)。最初のFET方向は、電源またはグラウンド信号
を置いて、電源またはグラウンド接続に直列に接続され
そこから離れる方へ導かれる、一つまたは複数のFET
のソース/ドレイン接続を横断することによって決定さ
れる。一端(ソース/ドレイン)が電源またはグラウンド
に接続されているFETは、その他端(ソース/ドレイ
ン)で信号を駆動すると、データベースにアサートされ
る。FETのソース/ドレイン接続は、FETの駆動さ
れる端が他の一つのFETのみに接続され、ポート、F
ETゲート、または非FETインスタンスが遭遇されな
い限り、横断される(横断される各々のFETが電源ま
たはグラウンドから遠ざかる方へ駆動することをデータ
ベースにアサートする)。最初のFET方向を決定する
ために使用される規則グループは、前向きチェーン規則
グループでなければならない。
【0043】上述のステップは、順次または前向きのチ
ェーン規則グループを開くことを含んでいる。次のいく
つかのステップは、後ろ向きチェーン規則グループを開
くことを含む。
【0044】この方法の重要なステップは、回路の中の
すべての論理信号の認識および保存(48)である。論理信
号は、論理が生成される信号のサブセットを表す。他の
すべての回路信号は中間物と考えられ、ゲートモデル抽
出プロセスの間に包含されうる。論理信号は、ポート
(電源およびグラウンドのポートを除く)、FETゲー
ト、あるいは非FETインスタンスに接続される任意の
信号として定義される。非FETインスタンスは、設計
者がFET実現の代わりの抽象化を与えるインスタンス
をFETモデル回路に含む。例えば加算機または比較器
への接続は、非FETインスタンスへの接続である。図
6で、認識される論理信号は、A、B、C、D、Wおよ
びZである。V、XおよびYは中間信号と考えられ、抽
出プロセスの中に包含されることができる。
【0045】論理信号を認識して、結果として生じるゲ
ートモデルがそのFETモデルと構造上の一致をもつこ
とが重要である。他のゲートモデル抽出方法では論理信
号を認識せず、その結果全てではないとしてもほとんど
の論理信号がゲートモデルから外される。他のゲート抽
出モデルは、パス/失敗の原理で回路のテストを可能に
したが、FET回路は一度誤りが注意されると、テスト
されるゲートモデルへの構造上の類似がないために、デ
バッグするのが難しかった。
【0046】方法の次のステップは、認識される論理信
号の各々について、一つまたは複数の構造ベースのブー
ルの部分的トリーを組み立てることを含む(50)。部分的
トリーの構造の基礎(basis)は、入力ネットリストのソ
ース/ドレインFET接続である。部分的ブール・トリ
ーは、論理信号に接続される各々のFETについて構築
される。トリーのルートは論理信号である。接続してい
るFETは幹と考えることができる。幹の他方の側に接
続される全ての他のFETは、別の論理信号または電源
/グラウンド信号が到達されるまで(リーフ(leaf))、(F
ETの端と端を接続して)扇形に広がる枝を開始する。
したがって特定の論理信号は、それに関連する(各々の
FETのトリーはそれに接続される)いくつかの部分的
トリー(森)をもつことができる。
【0047】部分的トリーは構造ベースであるので、枝
は単なる論理パスではなく、FETモデルにおけるFE
Tを表す。構造ベースのブールの部分的トリーは、BDD
(boolean decision diagrams、ブールの決定図)に類似
しているが、構造の基礎をトリーに加える際にさらに一
つのステップへ進む。以前のトリーはこれを行わなかっ
た。BDDは論理ベースであり、いかなる構造とも一致し
ない。
【0048】部分的トリーは他の論理信号で終わるの
で、それらは比較的小さく、従って管理し、推理するの
が容易である。一方、BDDおよびその他の同様の方法は
成長して非常に大きく扱いにくくなり、時間および空間
の両方で管理するのに費用がかかる。
【0049】いくつかの部分的トリーは1-トリーであ
り、(電源に対し)高い論理信号を駆動することができる
FETを表す。トリーのいくつかは0-トリーであり、
(グラウンドに対し)低い論理信号を駆動することができ
るFETを表す。したがって、NORゲートは2つの1-
部分的トリーをもち、NANDゲートは2つの0-部分的
トリーをもつ。
【0050】図7の論理信号Zは、図8で説明されるよ
うな3つの部分的トリーに関連する。
【0051】部分的トリーは、論理信号で始まり、その
論理信号に接続されるFETを(部分的トリーの幹にな
る)そのソースまたはドレインによって識別し、ソース
および/またはドレイン接続を介して端から端まで幹に
接続されるFETを部分的トリーに加わえることによっ
て組み立てられる。部分的トリーの枝は、電源、グラウ
ンドまたは論理信号のいずれかに直面したときに終わ
る。
【0052】この段階で、部分的トリーはFETまたは
ポートの方向を考慮せずに組み立てられるので、トリー
の枝は様々な部分的トリーに複製されることが可能であ
る。例えば、図15のFET F1を含み、論理信号Y
で終わる論理信号Zの部分的トリーは、Zで終わるYの
部分的トリーのようにも見える。
【0053】部分的トリーは組み立てられるとき、単純
な規則によって枝刈りされることができる。矛盾するゲ
ート信号がトリーの枝に見つけられる(論理反転の以前
の識別によって)場合、その枝は枝刈りされる。例えば
ゲート信号AをもつFETがゲート信号 (Aの否定
またはAの反転)をもつFETと直列である場合、その
枝は論理的に不可能を表すので枝刈りされる。
【0054】各々の部分的トリーについて、最大の強さ
を計算することができる。計算はレール(電源およびグ
ラウンド)で強さ63から始まり、そして直列の枝パスの
各々のFETについて計算されるFET「抵抗」を減ず
る。強さは1以下に下がることができない。抵抗はR=ma
x(K*L/W,L)として計算され、ここでWおよびLはそれぞ
れのFETの幅および長さである。Kは、p−FETお
よびn−FETについてユニークな値をもつプロセスに
特有の係数である。より低い抵抗をもつゲートは、より
大きい強さをパスに加える。部分的トリーの最大の強さ
は、部分的トリーの最強の枝パスの強さに等しい。強さ
の計算は、帰還パスの識別のような後の規則に関連して
使用されうる。
【0055】構造ベースの部分的トリーが組み立てられ
たあと(50)、多数の付加の後ろ向きチェーン規則グルー
プを使用して発見的に枝刈りされる(52)(図3)。規則グ
ループは、第1および第2フェーズのグループに小分割
される。枝刈りは第1フェーズの規則から始まって、必
要に応じて第2フェーズの規則へ進む。最後に(また必
要に応じて)、ユーザーは情報について促される。第1
および第2フェーズの規則グループの各々はさらに、部
分的トリー枝刈り規則68、74、FET方向規則70、76、
およびポート方向規則72、78に小分割される。FETお
よびポート方向規則は、後ろ向きチェーンによって部分
的トリー枝刈り規則からアクセスされる。規則フェーズ
の背後の理論は、方法がユーザを促すことなく、できる
限り多く成し遂げなければならないということである。
エキスパートシステムが十分な情報を入力ネットリスト
またはそれ自身の推論規則から得ることができない場合
は、情報をユーザから得ることができる。
【0056】第1フェーズの部分的トリー枝刈り規則(6
8)が発火されるとき、ゲートモデルに関する事実がデー
タベースにアサートされる。事実は、FET方向、ポー
ト方向および論理的フロー・パスに関する情報を含む
(つまり実現不可能なパスは枝刈りされる)。
【0057】入力、出力あるいは双方向のいずれのポー
ト方向も、必ずしも入力ネットリストで指示されるとは
限らない。その結果、方法はしばしばこの情報を回路か
ら推論しなければならない。同様に通常全てのFETの
方向は与えられないので、決定されなければならない。
これは、トリー枝刈り規則が多くの情報を必要とするの
で、方法のこの時点でなされる。
【0058】第1フェーズの部分的トリー枝刈り規則
は、必要とされる場合はいつでもFETまたはポートの
方向について照会する。照会が行われるとき、推論エン
ジンはその照会が以前に行われたかどうか決定し、もし
行われたのであればFETまたはポート方向がデータベ
ースに存在するかどうか決定する。もし存在しないなら
ば、推論エンジンは第1フェーズのFET70またはポー
ト72の方向規則グループに後ろ向きにチェーンする。F
ETまたはポート方向が決定できないならば、照会は満
足されずに戻される。付加の情報がデータベースにアサ
ートされるとき、再び質問が行われ、満足される。さも
なければFETまたはポート方向の決定は、第2フェー
ズの規則が開かれて、第2フェーズの規則またはユーザ
ーの入力のどちらかが照会を満足するまで待たなければ
ならない。
【0059】第1フェーズの規則が可能な限り多く達成
すると、第2フェーズの部分的トリー枝刈り規則74が推
論エンジンによって開かれる。第2フェーズ規則74は、
第1または第2フェーズのFET70、76またはポート7
2、78の方向規則をどちらも照会することができる。第
2フェーズでFETまたはポート方向が規則グループを
使用して推論されることができないとき、ユーザーは方
向について促される。方向が提供されると、規則は、新
しい情報を使用して発火しうる全ての規則が発火するま
で、重ねて発火する。任意に、ユーザーが方法の実行に
随伴することができないとき、方法は非相互作用モード
で実行させるように命令されうる。非相互作用のモード
で実行するとき、方法は未知のポートまたはFET方向
が双方向であるとアサートしなければならない。
【0060】部分的トリーの構造の基礎によって、推論
エンジンは部分的トリーの枝刈りがいつ完了するかを決
定することができる。部分的トリーの枝刈りは、すべて
のFETの方向(部分的トリーの枝)が知られ、それ以上
のトリー枝刈り規則68、74が発火し得ないとき完了す
る。
【0061】論理的トリー構造(あるモデル化プロセス
によって使用される従来のBDDのような)を用いる場合、
双方向のFETおよびポート方向を分解できないこと
は、結果として生じるゲートモデルに付加の複雑さを加
える。論理的トリーを使用するとき、FETまたはポー
ト方向の決定を強制することは不可能である。これはF
ET構造が表されず、多数の論理信号がゲートモデル化
プロセスに包含されるからである。
【0062】構造ベースのブール・トリーの使用は、ゲ
ートモデルに構造上の一致を加えるだけでなく、ゲート
モデルの論理を簡略化する助けになる。
【0063】発見的な部分的トリー枝刈り規則は次の通
りである。
【0064】1.第1フェーズの部分的トリー枝刈り規
則 部分的トリーは、そのルートの論理信号が入力ポートで
あり、部分的トリーの全ての枝が共通の論理信号で終わ
る場合、その全体を枝刈りされる。第1フェーズのポー
ト方向規則は、部分的トリーのルートが入力ポートであ
るかどうかを決定する後ろ向きチェーン照会によって発
火されることができる。この規則の背後にある論法は、
入力ポートと一つの論理信号の間の流れが、入力ポート
から遠ざかるものでなければならないということであ
る。部分的トリーによって示される流れの方向は入力ポ
ートに向いているので、入力ポートでルートした(roote
d)トリーは間違った論理パスを表しており、枝刈りされ
なければならない。図9は、この規則の適用を示してい
る。入力ポートAは、枝刈りされる論理信号Sに基づく
部分的トリーを持つ。
【0065】ある論理信号の部分的トリーが論理信号の
「安定した(sound)」トリーのグループよりも弱い場
合、その全体が枝刈りされる。安定したトリーとは、完
全な相補形CMOSゲート(例えばNANDゲート)のよ
うな常に駆動しているゲートを表す。この規則の理由
は、安定したゲートより弱い部分的トリーは、そのルー
トの論理信号の値に影響を与えることができないことで
ある。例えば図10で、YからZまで組み立てられた部
分的トリーは、ZがYからZへのパスよりも安定したN
ANDゲートによって駆動されると決定される場合に枝
刈りされる。
【0066】部分的トリーの枝は、それがFETであり
えるとき枝刈りされる。部分的トリーで示されるFET
の方向は、それが部分的トリーのルートに向かって駆動
するということである。従って、FETが事実上部分的
トリーのルートから遠ざかる方へ駆動すると決定される
場合、枝は論理パスではなく、枝刈りされなければなら
ない。第1フェーズのFET方向規則は後ろ向きチェー
ン照会によって呼び出される。図11で、FETのF2
を含むZの部分的トリーは、F2がBに向かって(質問
における部分的トリーのルートであるZではなく)事実
上駆動すると決定されると、枝刈りされる。
【0067】部分的トリーは、同じ論理信号にルートし
た別の部分的トリーがそれを包含する場合にその全体を
枝刈りされる。この枝刈りステップは、構造上の部分的
トリーの論理的な枝刈りを含む。例えば、ある部分的ト
リーが「A and B」という論理関数を表し、別の部分
的トリーが「A and B and C」という論理関数を表す
場合、後者の部分的トリーは論理的に前者によって包含
されるので枝刈りされる。図12を参照されたい。
【0068】最後に、部分的トリーの枝は、そのFET
のゲート信号の2つが互いに相反する場合に枝刈りされ
る。例えば、ある枝のFETがゲート信号Aをもち、同
じ枝のもう一つのFETがゲート信号NA(Aの否定)を
もつ場合、そのようなパスは実現することが不可能であ
るので、枝は枝刈りされなければならない。Zの部分的
トリーを含む図13のFETの場合、FET F1で始
まる枝は相反するゲート信号AおよびNAによって枝刈
りされる。
【0069】2.第1フェーズのFET方向規則 以下の規則は後ろ向きチェーンであり、特定のFETの
方向が質問の中にあるときにのみ発火される。
【0070】FETが特別なタイプの方向性のないFE
Tである場合、それは方向性のないFETのライブラリ
のFETと比較されうる。その方向がライブラリから引
き出され、データベースにアサートされる。
【0071】FETの方向がFETモデル・ネットリス
ト(入力ネットリスト)に含まれる場合、FETモデル・
ネットリストで提供される方向がデータベースにアサー
トされる。
【0072】電源またはグラウンドに接続されるFET
はデータベースから遠ざかる方へ駆動する。
【0073】電源またはグラウンドに接続されるFET
は、電源またはグラウンドの接続から遠ざかる方へ駆動
する。図14を参照されたい。
【0074】上述したように、示されるFET方向は、
それが部分的トリーのルートに向かって駆動するという
ことである。示されるFET方向が、それが属する全て
の部分的トリーで一貫している場合、その示される方向
はその実際の方向であるとアサートされる。図15で、
FET F1は論理信号YおよびZの部分的トリーの一
部である。F1がYの部分的トリーから枝刈りされる場
合、この規則の適用は、F1がZに向かって駆動するこ
とを示す(他のいかなる部分的トリーも相反する方向を
示唆しない)。
【0075】FETがポートへの唯一の接続を含み、そ
のソースまたはドレインを介してポートに接続されてい
る場合、それが入力ポートであるならばポートから遠ざ
かる方へ、それが出力ポートであるならばポートに向か
ってFETは駆動する。ポートが双方向であるとき、F
ET方向に関する結論は(この規則によって)導かれな
い。ポートから遠ざかる方へまたはポートに向かって駆
動するとアサートされるFETの例は、図16および図
17に示されている。
【0076】ある部分的トリーが、論理信号を一方向に
(つまり電源へまたはグラウンドへ)引くことができる唯
一の部分的トリーである場合、その部分的トリーのFE
Tはその論理信号を駆動するはずであり、FETの示さ
れる方向はそれらの実際の方向であるとアサートされ
る。この発見的手法は、ポートに接続されないすべての
論理信号は、それらを駆動するFETによって、両方の
レール(電源とグラウンド)へ駆動されることが可能でな
ければならないと仮定する。ポートに接続される論理信
号は、回路の外の論理がそれらに影響を与えることがで
きるので、この規則から除外される。この規則は、FE
Tが双方向でありうるという事実を無視する。しかし双
方向FETはまれであるために、それはめったに失敗し
ない。図18で、FET F1はZを「1」に駆動する
ことができる唯一のFETであり、従ってF1はZに向
かって駆動するとアサートされる。
【0077】FETが、それに対向して駆動することが
できる他のいかなる可能なトリーよりも強い「安定し
た」論理ゲート(インバータすなわち完全な相補形NA
NDゲートのような)によって駆動される場合、FET
はより大きい論理ゲートから遠ざかる方へ駆動するとア
サートされる。例えばマスタースレーブ・レジスタで、
マスターインバータは、スレーブの帰還インバータより
もずっと大きいので、マスターとスレーブの間の転送F
ETの方向はスレーブに向かって駆動すると決定され
る。図19の転送FETを参照されたい。
【0078】3.第1フェーズのポート方向規則 ポート方向特性が入力ネットリストに存在する場合、ポ
ート方向は指示される通りである。
【0079】電源およびグラウンドは常に入力の方向を
持つ。
【0080】ポートがパススルー・ポートである場合、
その方向は入力である。パススルー・ポートは回路への
接続を持たず、整合性のためにFETモデルからゲート
モデルへ単にコピーされる。
【0081】駆動されないポート(単にFETゲートに
接続されるポート)の方向は、図20のAのように入力
である。
【0082】ポートを駆動する論理が安定している場
合、ポートは帰還パスと関連せず、ポートの方向は図2
1のポートZのように出力である。
【0083】4.第2フェーズの部分的トリー枝刈り規
則 FETの実際の方向がその部分的トリーの枝によって示
される方向と反対であるならば、そのFETを含む枝は
枝刈りされる。この規則は、第1フェーズの枝刈り規則
と同一である。FETおよびポートの方向は、第2フェ
ーズのFET(76)およびポート(78)方向規則への後ろ向
きチェーン照会から得られる。FETまたはポート方向
に関する新しい情報を得た後、後ろ向きチェーン照会が
任意の第1フェーズの規則グループに対して行われる。
【0084】5.第2フェーズのFET方向規則 第2フェーズのFET方向規則は、FET方向について
ユーザーを単に促すことである。ユーザーは、FETが
特定の信号を駆動する、またはFETが本当に双方向で
あると応答することができる。
【0085】促すことについてユーザーが利用可能でな
い場合、FETは双方向であると仮定される。
【0086】6.第2フェーズのポート方向規則 ポートの部分的トリーのすべてが排除される場合、駆動
されないポートは入力の方向を持つ(図22)。
【0087】ポートがある部分的トリーのルートに現れ
るが、他の全ての部分的トリーから「リーフ」として排
除される場合、ポートの方向は出力または双方向のどち
らかでなければならない。ポート(図23のポートY)が
回路によって両方のレールに駆動される場合、その方向
は出力であるとアサートされる。そうでない場合、それ
は図24のポートZのように双方向であるとアサートさ
れる(この双方向の発見的手法は、テストパターン・ジ
ェネレータがポートをより試験可能にする)。
【0088】ポートの方向が依然として未知である場
合、ユーザーは方向について促される。
【0089】エキスパートシステム装置の代替実施例
で、システムは、所与の「努力(effort)」をFETまた
はポート方向を得ることに注ぐように命令されうる。例
えば非常に大きいFETモデルからゲートモデルを抽出
するとき、ユーザーがFETまたはポート方向について
促される前に、システムはある程度の仕事しか出さない
ように命令されうる。こうして、コンピュータで実行さ
れる計算の数を低減させることができ、方法の実行時間
を減らすことができる。
【0090】推論エンジンによってアクセスされる規則
グループの残りは(論理関数の決定がなければ)順次の規
則グループである。
【0091】この方法の重要な特徴は、弱い部分的トリ
ーを弱くない(強い/支配的な)部分的トリーから分割す
る(60)能力である。分割は、ゲートモデルの論理関数を
抽出する際の助けとなる。例えば、ラッチを駆動する強
い部分的トリーから、ラッチの弱い帰還インバータを表
す弱い部分的トリーを切り離すことによって、ラッチが
そのままの状態で抽出されることができ、従ってゲート
モデルでラッチをより本来的にモデル化する。他の方法
は、多数のFETを使用して実現される状態インスタン
スを捕獲するが、オリジナルのFET構造または回路の
記憶信号との一致を保持しない。
【0092】上述したように、部分的トリーの最大の強
さは、部分的トリーを通る最も強いパスの強さに等し
い。弱いおよび弱くないトリーは、多様な部分的トリー
の最大の強さの比較によって切り離される。
【0093】弱い部分的トリーは、論理信号の弱くない
1および0-トリーから切り離される。部分的トリーが弱
いとマークされるとき、「全体の」部分的トリーは弱
い。部分的トリーは、弱い部分と弱くない部分にさらに
小分割されるべきではない。
【0094】帰還が存在しないならば、弱い部分的トリ
ーをつくる必要はないと仮定する。この仮定は、弱くな
いトリーから弱いトリーを分割する仕事を大いに簡略化
する。仮定は必ずしも正しくはないが(例えば、帰還
は、モデル化された回路の外に存在することがありえ
る)、その利益がその損失よりはるかに重要である場合
には正しい。
【0095】切り離しプロセスを開始するために、帰還
トリーが認識されなければならない。部分的トリーは、
交差結合(cross-coupled)される2本のトリーについて
吟味される。すなわち各々の部分的トリーの論理信号
は、他のトリーへの入力である。これは2路帰還の例で
ある。図25で、FET F1、F4およびF5は信号
Aのトリーにあり、FET F2、F3およびF6は信
号Bのトリーにある。したがって、AとBの間には帰還
が存在する。また3路および4路帰還は、この方法(2
本のトリーの間の帰還が実際に他のトリーを通過する)
を使用して認識される。図26で、論理信号AとBの間
の帰還は、信号Cの部分的トリーを通過する。
【0096】より強い「反対側」に別の部分的トリーが
存在し、2本の部分的トリーが「解体されて(disjoin
t)」いない場合、帰還と関係する部分的トリーは弱い部
分的トリーである。「反対側」という用語は、反対のレ
ールへ駆動する部分的トリー(1-トリー対0-トリー)を言
う。「解体」は、部分的トリーが(トリーの論理によっ
て決定される)同じ時間に駆動することが不可能である
ことを意味する。解体の制約は、フィードフォワード・
インバータのn−FETが、同じインバータのp−FE
Tの足のように強くないからといって弱いと類別される
ことを防ぐ。図25で、部分的トリーF4およびF5
は、信号Aをいずれのレールにも駆動することができる
F1よりも弱いので、弱いとマークされる。
【0097】また、反対側に部分的トリーが存在せず、
論理信号(すなわち帰還トリーのルート)がポートである
かまたは非FETインスタンスによって駆動されるかの
どちらかである場合、帰還と関係する部分的なトリーは
弱い部分的トリーである。図27でFET F1は、ポ
ートZおよび信号Yの間の帰還に含まれているので、こ
の規則によって弱いとマークされる。
【0098】部分的トリーが、(電源またはグラウンド
からでななく別の論理信号から来る)転送トリーであ
り、転送信号が反対のレールへ駆動されることができる
帰還信号である場合、弱い。図26でFET F7は、
この規則によって弱い部分的トリーとしてマークされ
る。
【0099】最終的に部分的トリーは、弱い部分的トリ
ーが他方の側に存在し、部分的トリーの入力が他の部分
的トリーの入力のサブセットであれば、弱いトリーであ
る。この規則は、強いFETを一方の側にのみ駆動する
弱い論理の他方の側を拾い上げる。一方の側にだけ強い
FETがあると、他の弱い側は、この規則なしでは認識
されない。図66の例を参照されたい。FET F2
は、FET F3がすでに弱いとマークされているの
で、この規則によって弱いと認識される。すなわちF6
よりも弱いということである。
【0100】部分的トリーが枝刈りされ、弱いおよび弱
くないグループに切り離されたので、それらは、完全な
構造ベースのブール・トリーを形成するように併合され
る。この点に先立ち、方法は部分的トリーによって厳格
に機能している。識別される各々の論理信号は、最高4
本のトリーを持つことができる。論理信号について可能
なトリーは、強い1-トリー、強い0-トリー、弱い1-トリ
ーおよび弱い0-トリーを含む。1-トリーは論理信号を電
源へ引く役割を果たし、0-トリーは信号をグラウンドま
で引く役割を果たす。
【0101】完成されるブール・トリーは、各々の論理
信号についてブール論理方程式を組み立てるために使用
される(54)。単純な変換を使用して、各々のブール・ト
リーを論理方程式に変える。直列のFETはブールのA
ND節「*節」を形成し、枝(またはサブ・トリー)を分
岐させることは、ブールのOR節(「+」節)を形成す
る。例えば、CMOS NORゲートは、2つのサブ・
トリー(ブールのOR節)をもつ0-トリーを含み、それぞ
れのサブ・トリーはゲート出力をグラウンドに引くこと
ができる。NORゲートの1-トリーは、ゲートの出力を
電源に引くことができる2つの直列のFET(ブールの
AND節)を含む。論理方程式は、ド・モルガン(反転)
形式で1-トリーについて組み立てられる。したがって、
NORゲートの方程式(入力AおよびBを仮定する)は以
下で表される。
【0102】
【数1】0-方程式 = A+B 1-方程式 = (A*B) (ド・モルガン形式) A+B (最終の簡略化された形式) 反転は、トリーの中のFETのタイプによって命令され
る。p−FETは反転を引き起こすが、n−FETは反
転を引き起こさない。ド・モルガン形式を使用する理由
は、安定した論理の検出(0-および1-論理方程式は両方
とも同一になる)を簡略化するためである。
【0103】 上で述べたように、FET構造と厳密に一
致するゲートモデルを抽出することがこの方法の目的で
ある。これは時々最適より少し劣る論理方程式を与える
が、それは回路の問題をデバッグする際にユーザーを大
いに助ける。例えば、方程式(A+B)*(C+D)をもつCMO
S相補形AND-ORゲートを考える。ゲートの下半分
が図28に示されている。ブール論理を使用すると、こ
の方程式は、A*C + B*C+ A*D + B*Dという同等の方程式
に操作されることができる。しかし、FET構造が第1
の方程式を直接に与える場合、その方程式を保持するこ
とが好ましい(FET AおよびBが並列で、FET C
およびDが並列であり、一つの並列構造は他方と直列で
ある)。操作される方程式は、FET構造を「逆に設計
する」こと、およびFET構造を含む回路をデバッグす
ることを困難にする。
【0104】FETモデルの物理的構造をたどるため
に、トリーから方程式への変換にはわずかな修正が必要
である。これは、トリーが格納されている態様のためで
ある。図28に示されるAND-ORゲートの格納され
ているトリーが、図29に表されている。方程式の変換
に対する率直なトリーは、方程式A*(C+D)+B*(C+D)をも
たらす。この方程式は、部分的トリーの並列の組換えを
行っていないので、方程式(A+B)*(C+D)とは形式が異な
る。並列の組換えを実行するために、サブ・トリーを開
始するノード80の信号名がデータベースに格納される。
図29で、ノード80の名前はX1である。ノード名は、
(C+D)サブ・トリー構造とともに格納される。したがっ
て、並列のサブ・トリーを組み換えるために、第1のス
テップはトリーのノードのリストを作り、複製を保有す
ることである。複製は、それらのノードの下方の構造が
1またはそれ以上の倍数で複製されることを意味する。
この情報を用いて、複製されるノードの上方のトリーが
組み合わせられる。
【0105】図29で、複製されたノード80はX1であ
る。従ってノード80の上方のトリー、すなわちAおよび
Bが組み合わせられることができる。これは、図30の
トリーと図28の並列のFET構造を模倣する方程式(A
+B)*(C+D)を与える。
【0106】最後のケースは、並列の組換えに関してよ
く考えられる必要がある。図31のFET構造を考え
る。このFET構造について組み立てられる構造ベース
のブール・トリーが最初に図32に表されている。複製
されるノード82、Y1の存在に注意されたい。しかし部
分的トリー枝刈りプロセスの間に、相補的な枝が枝刈り
される(上述の部分的トリー枝刈り規則を参照された
い)。これは、複製されるノード(Y1)を持つが、複製
されるサブ・トリーをもたない図33のトリーをもたら
す。このケースでは並列の組換えの試みを防ぐために、
複製されるノード82の一つが名前を付け替えられる。例
えば複製されるノード82は、Y2として名前を付け替え
られる。
【0107】トリーは方程式に変換されると(54)、発見
的に簡略化される。方程式は、行われるべき簡略化が残
らなくなるまで、一連の象徴的な簡略化を通る。これら
の簡略化は、方程式の構造上の一致に重要な影響を与え
ない。好ましい簡略化規則グループは、以下の通りであ
る。
【0108】
【数2】(注:「op」はOR(「+」)またはAND
(「*」)演算のいずれもありうる) 1. X * (X op B) => X * (1 op B) X * (X op B) => X * (0 op B) X + (X op B) => X + (0 op B) X + (X op B) => X + (1 op B) 2. X op (Y op Z) => X op Y op Z 3. X * X => 0 X + X => 1 4. X op X => X 5. 0 + X => X 1 + X => 1 0 * X => 0 1 * X => X 6. X * Y + Y => Y (X + Y) * Y > Y 上記の構文の簡略化に加えて、関数の簡略化も同様に行
われる。例えばNAがAの反転である場合、NAが Aに置
き換えられ、Aが NAに置き換えられることができる。
さらに、BAがNAの反転であるならば、BAおよびAは同等
であり、入れ替えられる(X op X => X 規則を使用し
て、A + BA => A)。
【0109】すべての論理信号について論理方程式(弱
い方程式と弱くない方程式の両方)を決定した(54)後、
ゲートモデル・ネットリストが抽出されうるように、十
分な情報がデータベースにアサートされる。しかし、さ
らに論理関数を決定すること(62)が有利である。論理関
数の決定(62)は、抽出されるゲートモデルを大いに簡略
化する抽象化である。
【0110】単純な相補形CMOS論理の場合、論理信
号の1-および0-方程式が同等であり、ゲートが信号1-ま
たは0-方程式のどちらからも導き出されうることを理解
することは容易である。プリチャージ・モデル(後述さ
れる)を抽出するときのように、ある信号についてゲー
トモデルが使用される他のケースもある。しかし、ゲー
ト変換がより複雑であるケース(すなわち、論理信号が
チャージを蓄えることができる時)もある。これらのケ
ースで、簡略化されたFET実現が行われる。簡略化さ
れたFET実現は、全体の0-方程式を、一つのn−FE
T(引き下げFET)を駆動する1つまたは複数のゲート
と置き換えること、および全体の1-方程式を、一つのp
−FET(引き上げFET)を駆動する1つまたは複数の
ゲートと置き換えることを含む。
【0111】方法はいくつかの発見的手法を実行して、
ある信号について弱い論理関数と弱くない論理関数の両
方を決定する際に、1-方程式、0-方程式、あるいは両方
の方程式(簡略化されたFETの実現)のどれが使用され
るかを決定する。以下の規則は、前向きチェーンまたは
後ろ向きチェーンのどちらでもありえる。
【0112】1-および0-方程式が同一であるならば、0-
方程式が論理関数を決定するために使用される。1-方程
式は、完全に相補形のゲートが0-および1-方程式の合致
をもつように、ド・モルガン形式で保有されることを思
い出されたい。図36を参照して、信号Zについての方
程式は以下の通りである。
【0113】
【数3】0-方程式 : A*B 1-方程式 : A*B ルートした1-および0-方程式が同一である場合、0-方程
式が論理関係を決定するために使用される。典型的な論
理方程式は、他の論理信号に関して定義される。しかし
ルートした方程式は、他の論理信号ではなくポートに関
して、その方程式を拡張しようとするものである。例え
ば、図37の信号GTOUTについて以下の方程式を考え
る。
【0114】
【数4】0-方程式:NGTIN * EQ + B * NA 1-方程式:(NGTIN + NEQ) * (B + NA) NA=A、NB=BおよびNEQ=EQがわかっていても、2つ
の方程式が合致することは明らかではない。しかし方程
式が拡張され、EQについての論理が方程式に挿入される
場合(EQ = A * B + A * B)、上記の方程式は次のよ
うになる。
【0115】
【数5】 ルートした0-論理:NGTIN * A * B + NGTIN * NA * NB + B * NA ルートした1-論理:NGTIN * B + NGTIN * NA + B * NA ルートした方程式は同一であり、同じ方程式に簡略化す
る。証明は与えられないが、タームB * NAを用いて、タ
ームNGTIN * A * BがNGTIN * Bに簡略化することに注意
されたい。
【0116】FETおよび非FETインスタンスが論理
信号を駆動している場合、簡略化されるFETの実現は
両方の論理方程式を使用して行われる。この規則が適用
可能な状況は図38に示されており、ここで信号Zは非
FETインスタンス、例えばADD4によって駆動されるこ
とができる。
【0117】1-方程式がまさに(NMOS設計のような)引き
上げFETを表すならば、論理が抽出され、0-方程式が
ゲートとして実現される。引き上げFETは、常にONで
ある弱いp−FET(ゲート接地を持つ)として認識され
る。図39で、信号Zについての1-方程式は引き上げF
ETを含み、従って0-方程式(A*B)がゲートとして実現
される。
【0118】論理信号が、Andされるプリチャージ(Ande
d-Precharge)またはAndされる放電(Anded-Discharge)の
ケースであり、クロックされるプリチャージ/チャージ
をもつポートではなく、また記憶ノードではない(すな
わち弱い帰還インバータが存在する)場合、ゲートは、
プリチャージ/チャージの他方の側の方程式を使用して
抽出される(例えばAndされるプリチャージ(Anded-Prech
arge)のケースでは、0-方程式を使用する)。Andされる
プリチャージ(Anded-Precharge)のケースでは、0-方程
式は、余分なタームがANDされることを除いて1-方程式
と同じである。例えば、図40のAndされるプリチャー
ジ(Anded-Precharge)回路の信号Zは次の方程式を持
つ。
【0119】
【数6】1-方程式:PRE 0-方程式:A * B * PRE 回路は、入力A、BおよびPRE、および出力Zをもつ
NANDゲートとして抽出される。論理信号がポートで
ある場合、この規則は発火しないようにされる。リーフ
セル(leaf cell)設計者は、その値に影響を与えること
ができる信号に外部FETをフック(hook)することが知
られているからである。論理信号が記憶ノードの一部分
である場合、ゲートは抽出されない。その代わり方程式
はラッチのセット/リセット論理の一部分になる。
【0120】論理信号が、プリチャージ(Precharge)ま
たは放電(Discharge)のケースであり、ポートではな
く、また記憶ノードではない(すなわち弱い帰還インバ
ータが存在する)場合、ゲートはプリチャージ(Precharg
e)/放電(Discharge)の他方の側の方程式を使用して抽出
される(例えばプリチャージ(Precharge)のケースでは、
0-方程式を使用する)。この規則は、プリチャージ(Prec
harge)/放電(Discharge)のケースがプリチャージャー(p
recharger)/ディスチャージャー(discharger)にクロッ
ク信号になることを要求し、他方の側でANDされること
を要求されるタームはないことを除いて、上記のAndさ
れるプリチャージ(Anded-Precharge)/Andされる放電(An
ded-discharge)規則と同様である。例えば、プリチャー
ジ(Precharge)のケースは図41に示されており、そこ
で信号Zについて方程式は次式で示される。
【0121】
【数7】0-方程式:A * B 1-方程式:NCK またこの規則は、別の論理信号からの転送FETととも
にクロック・プリチャージャーのケースを支持する。例
えば図42について考える。そこでCKはZをプリチャ
ージしており、信号Bは、AからZまで転送n−FET
をゲートしている。これは、結果として生じる実現がN
ANDゲートであるプリチャージ(Precharge)のケース
である(Z = (X * A))。
【0122】論理信号が3状態(tristate)のドライバで
あって単純な転送FETではない場合、3状態のゲート
実現が使用される。3状態のドライバは図43で示され
るように、論理信号についてルートした方程式が次の形
式で示されるものである。
【0123】
【数8】ルートした0-方程式: DATA * EN ルートした1-方程式: DATA + EN (ここで、ENはイネーブル信号である) 論理信号が3状態のCMOSドライバ(図44を参照)で
ある場合、CMOSFETの実現が行われる。この規則
は、2つのイネーブル(E1およびE2)が相補的である必要
がないという事実がなければ、3状態のドライバに類似
している。この規則の条件での間違った合致を制限する
ために、論理信号は一つの引き上げおよび引き下げFE
Tによって駆動される必要がある。
【0124】論理信号が「クロックされる論理」であっ
て、3状態のドライバでない場合、実現は転送FETに
従うゲートを使用して行われる。クロックされる論理で
は、他の方程式で相補されるタームのすべてが削除され
る場合に1-および0-方程式が安定する。例えば図45
で、以下の信号Zの方程式はクロックされる論理を表
す。
【0125】
【数9】0-方程式:D * (EN1 + EN2) 1-方程式:D + (EN1 * EN2) EN1およびEN2は0-方程式と1-方程式の間で相補的であ
り、(EN1およびEN2の全てのタームが取り除かれる)残り
の方程式は、自明であるが安定している。クロックされ
る論理は転送FETとして実現され、除去される「相補
形式」論理(上記の例のEN1およびEN2の形式)によってゲ
ートされ、(相補形式が除去される)残りの安定した論理
によって駆動される。図45の例で、結果として生じる
実現は(EN1+EN2)によってゲートされる転送FETであ
り、Dのインバータ(図46)によって駆動される。
【0126】論理信号がシングルエンドのクロックされ
る論理のケースであり、それが記憶入力ノード(すなわ
ちラッチへの入力)であり、入力がシングルエンドであ
るならば、適当な実現は、クロックされる論理を実現す
る論理ゲートからの転送FETである。シングルエンド
のクロックされる論理で、方程式は次の形式である。
【0127】
【数10】1-方程式:A 0-方程式:CK + A 図47の信号Zはこれらの方程式から導き出される。両
方の方程式は、一方の側の直列のクロック・タームがな
ければ、同じものである(クロック・タームが1-方程式
にあれば、類似の状況が存在する)。論理信号は、Aを
生成する1つまたは複数のゲート(Aがただ一つの信号
である場合はインバータ)を用いて実現され、CKによ
って記憶ノードにゲートされる転送FETに従う。図4
7についての実現が、図48に示されている。入力はシ
ングルエンドであることが要求され、そうでないとこの
規則は発火されない。シングルエンドとは、クロック・
タームがoffであるので、全部の信号が(両側で)offであ
る間、「非活動に」なることが保証されていることを意
味する。クロック・タームがonである間、実現は相補形
論理ゲートと全く同様であることに注意されたい。
【0128】論理信号が示される記憶ノードであるなら
ば、それはFETとして実現される。示される記憶ノー
ドは、記憶入力ノードでないポートであり(すなわち、
交差結合されたインバータのような定義されたラッチで
はない)、ただ一つの方程式をもち(他方の側はFETト
リーを持たない)、一つの方程式はクロックである。C
Kの唯一の1-方程式を持つ図49の信号Zは、示される
記憶ノードの例である。
【0129】論理信号が記憶入力ノードではないが、3
状態であると知られているポートからの転送ゲートを持
つ場合には、それはFETを用いて実現される。主要な
3状態が可能なポート・インスタンスは、それが入力ま
たは双方向のポートであり、それを駆動すると知られて
いるFETが存在する時である(データベースのFET
方向から取られる)。図50の論理信号Zは、信号Yが
3状態可能なドライバであると決定されるとき、この規
則の必要条件を満足する。このケースでは(および論理
関数上の適用可能な規則がないとき)、信号が3状態に
なるように、論理信号への転送ゲートをFETとして実
現することが好ましい。
【0130】論理信号がポートであり、一つのレールに
のみ引くFETがあり、ポートは厳密に出力であるかま
たは他の可能なレシーバをもたない双方向であるかのど
ちらかである場合、FET実現が行われる。この規則の
発火を引き起こすケースについて図51を参照された
い。ポートがレシーバと双方向である場合、ユーザは、
FETが一体必要とされるかを理解するように促される
ことがありえる。
【0131】論理信号が両側の論理方程式をもつ入力ま
たは双方向ポートであって、記憶ノードではない場合、
FET実現が行われる。この規則は、ゲートが入力ポー
トに対向して駆動するように(それはある試験装置に問
題を引き起こす)使用されないようにする。図52でこ
の規則は、ゲートAおよびBが入力ポートINに対向し
て駆動することを防ぐ。
【0132】論理信号が他の論理信号から転送FETへ
接続されるだけであり、それが記憶ノードでないなら
ば、FET実現が行われる。これは、図53の信号Zに
ついて示されるような変換関数を表すための最も自然な
方法である。
【0133】論理信号の一方の側の方程式が1または0
のどちらかであり、他方の方程式が反対(ドライブファ
イトを示す)でなければ、ゲート実現(例えばバッファ)
は常に1 (「通電している(hot)」側)である方程式を使
用して行われる。図54は、VDDの反転である信号Zの
実現を示す。信号Zの0-方程式は、VDDに結びつけられ
るゲートをもつFETのために常に「通電している」。
【0134】弱い帰還がゲート実現をもつ論理信号につ
いて存在するならば(上述の規則の1つからの実現によ
る)、その弱い帰還は、ゲートモデル・ネットリストか
ら切り捨てられる。方法によって弱いと認識される図5
5のFET F1は、実現から切り捨てられる。この規
則は、単に電気的理由のためにだけ存在する帰還を切り
捨てる。
【0135】ルートした方程式が論理信号の一方の側に
ついて生成されることができないならば、その側は切り
捨てられ、論理関数はその側について生成されない。図
56の信号Zの0-方程式は、Yを論理信号にもってくる
道がないので切り捨てられる。標準的な方程式が論理信
号について存在するが、ルートした方程式が生成される
ことができない場合、論理的な矛盾が見つけられる(A *
Aのように)。
【0136】弱い帰還がインバータの一方の側だけに一
つのFETを含む場合、弱い帰還は無視される(切り捨
てられる)。図57の実現で、弱い帰還インバータであ
るF1は無視される。弱い帰還は、単に電気的目的(例
えば信号を「支える」)のために存在する。
【0137】記憶ノード(交差結合されたインバータの
ような)が、FET論理によって前後両方で設定され(図
58の記憶ノードのFET F1およびF2のように両
方のインバータの入力で設定され)、設定方程式の一方
が他方を包含する場合、包含される方程式は切り捨てら
れる。
【0138】論理信号が記憶ノードであり、弱い帰還が
無視されなかった場合、セット/リセット・ラッチを示
すFET実現が行われる。
【0139】上述の論理関数規則が論理信号を実現する
ことができない場合、ユーザーが促される。ユーザー
は、1)実現のために1-または0-方程式のどちらかを選
択し、それによってゲート実現をもたらす、2)FET
実現を選択する、3)方程式を切り捨て、論理関数の実
現を全体で不要にする、という選択を与えられることが
できる。これらの選択は、弱い論理信号と弱くない論理
信号の両方に関連して与えられる。
【0140】特性を入力ネットリストに加えて、上で述
べられた規則の実現を受け付けないようにしてもよい
(この方法の全ての規則によくあることである)。
【0141】論理関数が決定され(62)、各々の論理信号
について使用される実現のタイプがわかると、論理関数
がゲートとしてマップされる(64)。
【0142】1-または0-方程式だけを使用してその関数
を決定する各々の論理信号の場合、ゲートは示されるゲ
ート出力の反転があること記憶して、直接にマップされ
ることができる。例えば、0-方程式Z = A * Bを使用す
る実現は、入力AおよびBをもつNANDゲートを生成
する。弱い方程式から実現されるゲートは、そういうも
のとしてマークされる(出力ネットリストの強さの指定
を含む)。
【0143】FETを使用して実現される各々の論理信
号の場合には、1-および0-方程式が、それぞれp−FE
Tおよびn−FETに置き換えられる。そしてゲートが
方程式から生成されて、各々のFETゲート信号を駆動
する。転送FETの場合には、転送FETが来る各々の
論理信号の方程式が分離され、別々に実現される。この
規則を使用して行われる模範的な変換が図59に示され
ており、そこで信号Zは、p−FETおよびn−FET
を駆動するゲートを用いて実現される。
【0144】(実現される)論理関数をゲートとしてマッ
プした後、ゲートは以下の規則を使用して最適化され
る。
【0145】ゲートの実現(A * B) + (A * B)はX
ORゲートとして認識され、そのようなものによって置
き換えられる。
【0146】FETがラッチの両端を駆動する(すなわ
ち、帰還インバータの両端を駆動するFETがある)場
合、それが生じる信号を反転させることによって一端か
ら他端にFETを動かす試みがなされる。これを行うと
きの制約は、1)その駆動FETが動かされると考えら
れる弱い帰還ゲートは、インバータであるか、または帰
還グループの外のゲートによってその出力を受け取らせ
るかのどちらかである(そうでないと、その関数はそれ
を動かすことによって改悪されうる)、および2)ラッチ
の端を駆動するFETトリーは双方向でありえない(RAM
セルによくあることである)、ということである。FE
Tを動かすことによって、ラッチの端を駆動するFET
トリーに冗長をつくる場合、それは取り除かれる。この
規則を使用して実行される模範的な最適化が、図60に
示されている。FET F2の動きに注意されたい。
【0147】チェーンが奇数の長さであるならば、イン
バータのチェーンは一つのインバータに納められる。チ
ェーンが偶数の長さであるならば、インバータのチェー
ンは1つのバッファに納められる。
【0148】インバータが全ての入力を単純な論理ゲー
トに駆動するならば、ゲートおよびインバータは、全て
の入力の反転された意味を使用して、それらの論理「二
重(dual)」よって置き換えられる。例えば、NORゲー
トへの全ての入力が反転されるならば、NORゲートお
よびインバータは反転された入力を使用してANDゲー
トによって置き換えられる(図61)。この規則を使用す
ることに対する制約は、どの入力もゲートを通る帰還と
関係し得ないということである。
【0149】バッファは削除され、以下の一つが真であ
ることが与えられる(それによって、バッファは、両側
の可能な3状態のノードの目前で保持されるようにな
る)。1)出力はポートでなく、FETによって受け取ら
れず、記憶ノードでない。2)入力はポートでなく、FE
Tによって受け取られず、記憶ノードでない。
【0150】ゲートおよび以下のインバータ(中間信号
を受け取るゲートをもたない)は、相補的なゲートによ
って置き換えられる。例えば、インバータ(NOTゲー
ト)に続くNANDゲートは、ANDゲートによって置
き換えられる。
【0151】ゲート最適化の後に使われないで残される
ゲートは、出力ネットリストから除去される。
【0152】多くの特性を、出力ネットリストのインス
タンスおよび信号に加えることは有用である。特性は、
弱いゲート、記憶ノード、相補的入力のような信号に関
わる仮定(上述されたN<sig>取り決め)、プリチャージ、
その他の識別を含むことができる。
【0153】上で実現されるゲート(ゲート・プリミテ
ィブ)は、当業者によって他のゲート・プリミティブに
マップされてもよい(66)。
【0154】上で開示される方法の保守的な性質は、非
常に正確なゲートモデル(すなわち出力ネットリスト)の
抽出をもたらす。通常FETおよびポートの方向は推論
されうるが、そうすることができない場合、それらの方
向はユーザーからリクエストされる。方法は、大胆な仮
定を作るのではなく、事実を推論するように設計され
る。
【0155】FETモデル、および上述の方法を使用し
てそこから抽出されるゲートモデルは、図62および図
63にそれぞれ示されている。
【0156】本発明は例として次の実施態様を含む。 (1)a)FETモデル回路の電源、グラウンドおよびク
ロック信号を認識するステップ(44)と、 b)FETモデル回路のインバータを認識するステップ(4
6)と、 c)FETモデル回路のすべての論理信号を認識し、保存
するステップ(48)と、 d)認識される論理信号の各々について、一つまたは複数
の構造ベースのブールの部分的トリーを組み立てるステ
ップ(50)と、 e)一つまたは複数のブールの部分的トリーを発見的に枝
刈りするステップ(52)と、 f)一つまたは複数のブールの部分的トリーから論理方程
式を組み立てるステップ(54)と、 を含む、FETモデル回路からゲートモデル回路を抽出
する方法。
【0157】(2)さらに、一つまたは複数のブールの
部分的トリーを組み立てるに先立ち、各々のFETにつ
いて最初のFET方向を決定するステップ(58)を含む、
上記(1)の方法。 (3)さらに、一つまたは複数のブールの部分的トリー
を組み立てるに先立ち、冗長なFETを削除するステッ
プ(56)を含む、上記(2)の方法。 (4)さらに、一つまたは複数のブールの部分的トリー
から論理方程式を組み立てるに先立ち、弱い部分的トリ
ーを弱くない部分的トリーから分けるステップ(60)を含
む、上記(3)の方法。 (5)さらに、共通の論理信号にルートした一つまたは
複数の弱いおよび弱くないサブセットのそれぞれについ
て、論理関数を決定するステップ(62)を含む、上記(4)
の方法。 (6)さらに、上記(5)で決定される論理関数を、対応
するゲート・プリミティブにマップするステップ(64)を
含む、上記(5)の方法。
【0158】(7)一つまたは複数のブールの部分的ト
リーを発見的に枝刈りする上記ステップ(52)は、 a)FETモデル回路のポートのポート方向を分解するス
テップ(72、78)と、 b)FETモデル回路のFETのFET方向を分解するス
テップ(70、76)と、 c)ポートとFETの両方の方向を分解するために、必要
なところで、方法のユーザーを促すステップと、 を含む上記(1)の方法。
【0159】(8)プログラマブル・コンピュータ(40)
において、FETモデル回路をゲートモデル回路に変え
るエキスパートシステムであって、 a)FETモデル入力ネットリストと、 b)推論エンジンと、 c)規則ベースと、 d)ユーザー入力と、 e)ゲートモデル出力ネットリストと、を含む、上記エキ
スパートシステム。
【0160】(9)上記規則ベースが、 a)少なくとも一つの発見的なトリー枝刈り規則ベース(6
8、74)と、 b)少なくとも一つのポート方向規則ベース(72、78)と、 c)少なくとも一つのFET方向規則ベース(70、76)と、 を含む、上記(8)のエキスパートシステム。
【0161】(10)上記FETモデル入力ネットリス
トが、ネットリスト・インタープリタを含む、上記(8)
のエキスパートシステム。
【0162】
【発明の効果】本発明によると、FETモデル回路から
ゲートモデル回路を抽出する方法において、2つのモデ
ル間の構造上の一致を保持し、抽出する時間を減少させ
ることができる。
【図面の簡単な説明】
【図1】FETモデルからゲートモデルを抽出する方法
のフローチャートである。
【図2】図1に示されるFETモデルからゲートモデル
を抽出する方法のより詳細なフローチャートである。
【図3】図1および図2の方法で使用される部分的トリ
ーの枝刈り、FET方向、およびポート方向規則グルー
プの間で起こるチェーンのフローチャートである。
【図4】冗長な並列のFET Aを示す回路図である。
【図5】FET A、B、CおよびDの複雑なFETの
冗長を示す回路図である。
【図6】多様な論理および中間信号を示す回路図であ
る。
【図7】論理信号Zに接続される多様なFETを示す回
路図である。
【図8】図1または図2の方法によって図7の論理信号
Zについて生成される部分的トリーを示す図である。
【図9】唯一の論理信号Sに接続されている入力ポート
へのすべての接続を示す回路図である。
【図10】安定したNANDゲートによって駆動される
信号を示す回路図である。
【図11】示される方向と反対の方向をもつFET F
2を示す回路図である。
【図12】代替の論理経路によって包含される論理パス
を示す回路図である
【図13】一致しないゲート信号をもつFET Aおよ
びNAをもつ論理パスの回路図である。
【図14】グラウンドに接続されたFET Dを示す回
路図である。
【図15】論理信号YおよびZの部分的トリーに含まれ
るFET F1を示す回路図である。
【図16】入力ポートから遠ざかる方へ駆動するFET
を示す回路図である。
【図17】出力ポートの方へ向かって駆動するFETを
示す回路図である。
【図18】信号Zを論理1へ駆動することが可能な唯一
のFETであるFETF1を示す回路図である。
【図19】マスター/スレーブ・レジスタの転送FET
F1を示す回路図である。
【図20】駆動されないポートAを示す回路図である。
【図21】ポートZを駆動する安定した論理を示す回路
図である。
【図22】駆動されない入力ポートZを示す回路図であ
る。
【図23】出力ポートYを示す回路図である。
【図24】双方向ポートZを示す回路図である。
【図25】2路帰還を示す回路図である。
【図26】3路帰還を示す回路図である。
【図27】ポートZと信号Yの間の帰還に含まれる弱い
FET F1を示す回路図である。
【図28】CMOS相補形AND-ORゲートの下半分
を示す回路図である。
【図29】図28のゲート部分のブール(boolean)・ト
リーを示す図である。
【図30】並列の組換えが図1および図2の方法によっ
て実行されたあとの、図28のゲート部分のブール・ト
リーを示す図である。
【図31】並列の組換えを受けないブール・トリーと関
連する図28と同様のFET構造を示す回路図である。
【図32】図31の回路図のブール・トリーを示す図で
ある。
【図33】図1および図2の方法によって枝刈りが実行
されたあとの、図32のブール・トリーを示す図であ
る。
【図34】図1および図2の方法が実現されうるコンピ
ュータを示す図である。
【図35】図1および図2の方法を実現するために図3
4のコンピュータをプログラムすることができる物理記
憶媒体を示す図である。
【図36】同一の1-および0-論理方程式をもつ信号Zを
示す回路図である。
【図37】同一のルートした1-および0-論理方程式をも
つ信号Zを示す回路図である。
【図38】非FETインスタンスによって駆動される信
号Zを示す回路図である。
【図39】引き上げFETである1-論理方程式をもつ信
号Zを示す回路図である。
【図40】Andされるプリチャージ(Anded-Precharge)回
路を示す回路図である。
【図41】プリチャージ(Precharge)回路を示す回路図
である。
【図42】クロック・プリチャージャーを示す回路図で
ある。
【図43】FETモデルの3状態のドライバに対応する
ゲートモデルを示す図である。
【図44】FETモデルの3状態のCMOSドライバに
対応するゲートモデルを示す図である。
【図45】クロックされる論理を示す回路図である。
【図46】図1および図2の方法によって抽出される、
図45のクロックされる論理のゲートモデルである。
【図47】シングルエンドのクロックされる論理を示す
回路図である。
【図48】図1および図2の方法によって抽出される、
図47の回路図のゲートモデルである。
【図49】示される記憶ノードを示す回路図である。
【図50】既知の3状態可能なポートからの転送ゲート
をもつ信号Zを示す回路図である。
【図51】一つのレールのみへ引くFETに接続された
ポートを示す回路図である。
【図52】1-および0-論理方程式をもつ、記憶ノードで
ない論理信号を示す回路図である。
【図53】転送FETのみに接続される論理信号Zを示
す回路図である。
【図54】図1および図2の方法によって「熱い」側を
もつ論理信号について抽出されるゲートモデルを示す図
である。
【図55】弱い帰還FET F1を示す回路図である。
【図56】ルートした1-論理方程式が導き出されること
ができない信号Zを示す回路図である。
【図57】別の弱い帰還FET F1を示す回路図であ
る。
【図58】FET論理によってその前後で設定される記
憶ノードを示す回路図である。
【図59】1-および0-論理方程式のFETを使用して実
現される信号Zについて生成されるゲートモデルを示
す。
【図60】第1のゲート最適化プロセスを示す図であ
る。
【図61】第2のゲート最適化プロセスを示す図であ
る。
【図62】FETモデル回路の回路図である。
【図63】図1および図2の方法によって抽出される、
図36のFETモデル回路に対応するゲートモデル回路
である。
【図64】第1の対のFET実現されるキャパシタを示
す図である。
【図65】第2の対のFET実現されるキャパシタを示
す図である。
【図66】2路帰還を示す別の回路図である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】FETモデル回路の電源、グラウンドおよ
    びクロック信号を認識するステップと、 FETモデル回路のインバータを認識するステップと、 FETモデル回路のすべての論理信号を認識し、保存す
    るステップと、 認識される論理信号の各々について、一つまたは複数の
    構造ベースのブールの部分的トリーを組み立てるステッ
    プと、 一つまたは複数のブールの部分的トリーを発見的に枝刈
    りするステップと、 一つまたは複数のブールの部分的トリーから論理方程式
    を組み立てるステップと、を含む、FETモデル回路か
    らゲートモデル回路を抽出する方法。
JP31806296A 1995-12-01 1996-11-28 Fetモデル回路からゲートモデル回路を抽出する方法 Expired - Fee Related JP3949764B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US566,233 1983-12-28
US08/566,233 US5734798A (en) 1995-12-01 1995-12-01 Method and apparatus for extracting a gate modeled circuit from a fet modeled circuit

Publications (2)

Publication Number Publication Date
JPH09231261A true JPH09231261A (ja) 1997-09-05
JP3949764B2 JP3949764B2 (ja) 2007-07-25

Family

ID=24262052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31806296A Expired - Fee Related JP3949764B2 (ja) 1995-12-01 1996-11-28 Fetモデル回路からゲートモデル回路を抽出する方法

Country Status (2)

Country Link
US (1) US5734798A (ja)
JP (1) JP3949764B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740249A (zh) * 2018-12-29 2019-05-10 西安智多晶微电子有限公司 一种mux树逻辑结构优化方法、模块及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974242A (en) * 1997-09-25 1999-10-26 The United States Of America As Represented By The Secretary Of The Army Methods and computer programs for minimizing logic circuit design using identity cells
US6321365B1 (en) * 1999-01-26 2001-11-20 Hewlett-Packard Company System and method for detecting storage nodes that are susceptible to charge sharing
US6990643B1 (en) * 1999-05-13 2006-01-24 Hewlett-Packard Development Company, L.P. Method and apparatus for determining whether an element in an integrated circuit is a feedback element
US6681380B1 (en) * 2000-02-15 2004-01-20 International Business Machines Corporation Aggregating constraints and/or preferences using an inference engine and enhanced scripting language
US6574786B1 (en) * 2000-07-21 2003-06-03 Aeroflex UTMC Microelectronics Systems, Inc. Gate array cell generator using cadence relative object design
US6496031B1 (en) * 2001-04-30 2002-12-17 Hewlett-Packard Company Method for calculating the P/N ratio of a static gate based on input voltages
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
DE10152213B4 (de) * 2001-10-23 2006-04-27 Onespin Solutions Gmbh Verfahren zur Verifikation digitaler arithmetischer Schaltungen mittels eines Äquivalenzvergleiches
US6550040B1 (en) * 2001-11-26 2003-04-15 Hewlett Packard Development Company, L.P. Method and system for identifying dynamic NAND or NOR gates from a netlist
US7031898B2 (en) * 2001-12-21 2006-04-18 Cadence Design Systems, Inc. Mechanism for recognizing and abstracting memory structures
DE10343347A1 (de) * 2003-09-12 2005-04-14 Infineon Technologies Ag Verfahren zum Prüfen einer elektrischen Schaltung
US7315993B2 (en) * 2004-11-30 2008-01-01 Lsi Logic Corporation Verification of RRAM tiling netlist
US7143374B1 (en) * 2005-03-01 2006-11-28 Hewlett-Packard Development Company, L.P. System and method for achieving analysis capacity for circuit analysis tools
CN1924870A (zh) * 2005-09-02 2007-03-07 鸿富锦精密工业(深圳)有限公司 自动选取金属氧化物半导体场效应晶体管的系统及方法
US20080126061A1 (en) * 2006-08-11 2008-05-29 Hayes Jerry D Analysis techniques to reduce simulations to characterize the effect of variations in transistor circuits
US7865856B1 (en) * 2007-03-12 2011-01-04 Tela Innovations, Inc. System and method for performing transistor-level static performance analysis using cell-level static analysis tools
US8239794B2 (en) * 2009-09-29 2012-08-07 International Business Machines Corporation System and method for estimating leakage current of an electronic circuit
DE102016102875A1 (de) * 2016-02-18 2017-08-24 Infineon Technologies Austria Ag Transistormodell, Verfahren zur computerbasierten Bestimmung einer Kennlinie eines Transistors, Vorrichtung und computerlesbares Speichermedium zum Ausführen des Verfahrens

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4831543A (en) * 1986-02-21 1989-05-16 Harris Semiconductor (Patents) Inc. Hierarchical net list derivation system
US4792909A (en) * 1986-04-07 1988-12-20 Xerox Corporation Boolean logic layout generator
US4815003A (en) * 1987-06-19 1989-03-21 General Electric Company Structured design method for high density standard cell and macrocell layout of VLSI chips
JP2506991B2 (ja) * 1987-09-25 1996-06-12 松下電器産業株式会社 回路変換システムと回路変換方法と反転論理生成方法および論理設計システム
US5461574A (en) * 1989-03-09 1995-10-24 Fujitsu Limited Method of expressing a logic circuit
US5243538B1 (en) * 1989-08-09 1995-11-07 Hitachi Ltd Comparison and verification system for logic circuits and method thereof
US5084824A (en) * 1990-03-29 1992-01-28 National Semiconductor Corporation Simulation model generation from a physical data base of a combinatorial circuit
US5331568A (en) * 1991-06-18 1994-07-19 Microelectronics & Computer Technology Corporation Apparatus and method for determining sequential hardware equivalence
US5471398A (en) * 1991-07-01 1995-11-28 Texas Instruments Incorporated MTOL software tool for converting an RTL behavioral model into layout information comprising bounding boxes and an associated interconnect netlist
US5383167A (en) * 1991-10-16 1995-01-17 Nextwave Design Automation Method and apparatus for histogram based digital circuit simulator
US5493504A (en) * 1992-10-28 1996-02-20 Nippon Telegraph And Telephone Corporation System and method for processing logic function and fault diagnosis using binary tree representation
US5477474A (en) * 1992-10-29 1995-12-19 Altera Corporation Computer logic simulation with dynamic modeling
US5528508A (en) * 1993-02-19 1996-06-18 International Business Machines Corporation System and method for verifying a hierarchical circuit design

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740249A (zh) * 2018-12-29 2019-05-10 西安智多晶微电子有限公司 一种mux树逻辑结构优化方法、模块及存储介质
CN109740249B (zh) * 2018-12-29 2023-03-24 西安智多晶微电子有限公司 一种mux树逻辑结构优化方法、模块及存储介质

Also Published As

Publication number Publication date
JP3949764B2 (ja) 2007-07-25
US5734798A (en) 1998-03-31

Similar Documents

Publication Publication Date Title
JPH09231261A (ja) Fetモデル回路からゲートモデル回路を抽出する方法
Lifschitz Action languages, answer sets, and planning
Fox et al. The automatic inference of state invariants in TIM
Milner Operational and algebraic semantics of concurrent processes
JP2741715B2 (ja) Reteネットワーク組織化方法
US6912700B1 (en) Method and system for non-linear state based satisfiability
Mitra et al. An ontology-composition algebra
Kundu GateMaker: A transistor to gate level model extractor for simulation, automatic test pattern generation and verification
Oliver et al. Inferring decision graphs using the minimum message length principle
US5452226A (en) Rule structure for insertion of new elements in a circuit design synthesis procedure
Kuo et al. On rewiring and simplification for canonicity in threshold logic circuits
Hachtel et al. On properties of algebraic transformation and the multifault testability of multilevel logic
Jacome et al. A formal basis for design process planning and management
Spivey An introduction to logic programming through Prolog
US20040044975A1 (en) Combinational equivalence checking methods and systems with internal don&#39;t cares
Darlington Semantic approach to automatic program improvement
Niemi et al. Prolog-based meta-rules for relational database representation and manipulation
Jullig et al. Diagrams for software synthesis
Duffy et al. Design reuse research: a computational perspective
Medak Lifestyles: a paradigm for the description of spatiotemporal databases
Thalheim Database design strategies
Richards et al. Knowledge acquisition first, modelling later
Jacobi A study of the application of binary decision diagrams in multilevel logic synthesis
Lukácsy et al. Prolog based description logic reasoning
Burgun et al. Multilevel logic optimization of very high complexity circuits.

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060426

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060629

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060726

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070419

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees