JP3032874B2 - 等価回路作成方法および論理シミュレーション方法 - Google Patents

等価回路作成方法および論理シミュレーション方法

Info

Publication number
JP3032874B2
JP3032874B2 JP3257922A JP25792291A JP3032874B2 JP 3032874 B2 JP3032874 B2 JP 3032874B2 JP 3257922 A JP3257922 A JP 3257922A JP 25792291 A JP25792291 A JP 25792291A JP 3032874 B2 JP3032874 B2 JP 3032874B2
Authority
JP
Japan
Prior art keywords
terminal
net
mos transistor
transistor
equivalent circuit
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 - Fee Related
Application number
JP3257922A
Other languages
English (en)
Other versions
JPH05101130A (ja
Inventor
美夫 高嶺
智彦 杉田
敬 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3257922A priority Critical patent/JP3032874B2/ja
Publication of JPH05101130A publication Critical patent/JPH05101130A/ja
Application granted granted Critical
Publication of JP3032874B2 publication Critical patent/JP3032874B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、等価回路作成方法およ
び論理シミュレーション方法に関し、特にMOSデジタ
ル回路を取り扱うのに好適な等価回路作成方法および論
理シミュレーション方法に関する。
【0002】
【従来の技術】MOSデジタル回路の論理設計の検証を
行うために用いられるシミュレータでは、MOS回路に
固有のダイナミック回路(3ステート・ゲート等、出力
がハイインピーダンス状態を持つ素子の出力ネットにお
いて、そのネットの配線容量による記憶作用を利用した
回路。少ない素子数でラッチ回路を構成できるため、V
LSIの設計において多用される。)の動作をシミュレ
ートする機能と、MOSトランジスタの双方向素子とし
ての動作をシミュレートする機能の2つの機能が必要で
ある。これら2つの機能を備えたシミュレータとして
は、従来、回路シミュレータと,スイッチ・レベル・シ
ミュレータとが知られている。
【0003】しかし、回路シミュレータは、シミュレー
ション対象回路をアナログ回路として取り扱うため、M
OSデジタル回路を対象とする場合には多大な計算機時
間を必要としている。一方、スイッチ・レベル・シミュ
レータは、シミュレーション対象回路をデジタル回路と
して取り扱うため、MOSデジタル回路を対象とする場
合には前記回路シミュレータに比べれば少ない計算機時
間でシミュレーション実行可能となる。しかし、ダイナ
ミック回路としての作用を考慮し、また、すべてのMO
Sトランジスタを双方向素子として取り扱うため、やは
り多くの計算機時間を必要としている。
【0004】ところで、デジタル回路を高速にシミュレ
ーション実行可能なシミュレータとして、従来、論理シ
ミュレータが知られている。しかし、論理シミュレータ
は、ダイナミック回路としての作用を考慮せず、基本的
にはAND,OR,インバータ等、単方向の論理ゲート
のみを取り扱うため、そのままではMOSデジタル回路
をシミュレーションできない。そこで、ダイナミック回
路としての作用を考慮した仮想のラッチ素子を用いると
共にMOSトランジスタを単方向素子にモデル化した等
価回路を作成することによって、論理シミュレータでM
OSデジタル回路を取り扱い可能とする技術が、第18回
デザイン・オートメーション・コンファレンス・プロシ
ーディング(1976年)第775頁から第785頁(18th. Desi
gn Automation Conference Proceedings(1976),pp.775
-785)において提案されている。しかし、MOSデジタ
ル回路の等価回路作成方法についての開示はされておら
ず、一般のMOSデジタル回路の論理シミュレーション
は実現されていない。
【0005】これに対して、特開昭62−119471
号公報において、MOSトランジスタを単方向素子にモ
デル化するための技術が提案されている。この特開昭6
2−119471号公報において提案の技術は、MOS
トランジスタのゲート端子を除く2端子の電源およびグ
ランドからの距離の遠近を調べることによって信号の伝
播する方向を決定し、MOSトランジスタを単方向素子
にモデル化するものである。
【0006】
【発明が解決しようとする課題】しかし、上記特開昭6
2−119471号公報において提案の技術では、ダイ
ナミック回路としての作用を考慮した等価回路作成は行
わないため、人手で等価回路を修正しなければならない
問題点がある。
【0007】また、着目するMOSトランジスタの端子
から電源あるいはグランドに達するまでの最短の経路を
探索しなければならないため、場合により非常に多くの
計算時間を必要とする問題点がある。さらに、着目する
MOSトランジスタの端子と電源あるいはグランドの間
にあるトランジスタの数により距離を定義しているため
に、論理ゲートやフリップフロップ等を含む場合には正
確に距離を算出することが困難となる問題点がある。ま
た、着目するMOSトランジスタのゲート端子を除く2
端子の電源およびグランドからの距離が等しい場合に
は、人手による指定を必要とする問題点がある。さら
に、ある論理ゲートの出力端子と他のゲートの入力端子
との間に存在するパス・トランジスタにおいては、論理
ゲートの出力端子に接続する側から他のゲートの入力端
子に接続する側に信号が流れるべきであるにもかかわら
ず、そのような論理的性質とは無関係に電源あるいはグ
ランドからの距離により向きが決められてしまう問題点
がある。
【0008】このため、従来は論理シミュレータでMO
Sデジタル回路を取扱うことが事実上不可能であり、多
大な計算時間を必要とする回路シミュレータあるいはス
イッチ・レベル・シミュレータを使用しなければならな
い問題点があった。
【0009】そこで、本発明の第1の目的は、一般のM
OSデジタル回路から論理シミュレータでシミュレーシ
ョン可能な等価回路を作成するための等価回路作成方法
を提供することにある。また、本発明の第2の目的は、
一般のMOSデジタル回路を取り扱い可能な論理シミュ
レーション方法を提供することにある。
【0010】
【課題を解決するための手段】本発明は、所与のMOS
デジタル回路を構成する素子の種類の情報と,各素子の
端子間の接続関係の情報とを得、それら情報に基づい
て、MOSトランジスタのソース端子およびドレイン端
子を除く各素子の各端子については、電源端子か,グラ
ンド端子か,入力端子か,MOSトランジスタのゲート
端子か,ハイインピーダンス状態が存在しない出力端子
か,ハイインピーダンス状態が存在する出力端子かによ
りタイプ分類し、MOSトランジスタのソース端子およ
びドレイン端子については、それぞれに直接接続する他
の端子のタイプに従って当該MOSトランジスタの信号
の流れる向きを決定し、入力端子か,出力端子かにより
タイプ分類し、そのタイプ分類の過程で決定したMOS
トランジスタの信号の流れる向きに従ってMOSトラン
ジスタを1個以上の単方向素子に置き換えて等価回路を
作成することを特徴とする等価回路作成方法を提供す
る。
【0011】また、本発明は、上記等価回路作成方法に
おいて、MOSデジタル回路に含まれるネットに接続す
る出力端子が全てハイインピーダンス状態が存在する出
力端子である場合に、当該ネットに直接接続する端子の
タイプに応じて仮想的なラッチ素子またはラッチ型素子
を用いて表現することを特徴とする等価回路作成方法を
提供する。
【0012】また、本発明は、MOSデジタル回路の回
路記述を入力して上記等価回路作成方法により等価回路
を作成し、その等価回路を用いて前記MOSデジタル回
路の動作を模擬することを特徴とする論理シミュレーシ
ョン方法を提供する。
【0013】
【作用】本発明の等価回路作成方法では、MOSトラン
ジスタの端子を当該端子の種類と当該端子に直接接続す
る他の端子のタイプとによってタイプ分類することによ
って、その過程でMOSトランジスタの方向を決定す
る。また、本発明の等価回路作成方法では、MOSデジ
タル回路に特有のダイナミック回路を、当該ネットに直
接接続する端子のタイプに応じて、仮想的なラッチ素子
またはラッチ型素子により表現する。従って、従来のよ
うに電源あるいはグランドに達するまでの最短経路を探
索するような複雑な処理を必要としないため、処理を簡
単化できると共に計算機時間を短縮できる。
【0014】また、本発明の論理シミュレーション方法
では、上記等価回路作成方法により作成した等価回路を
用いて、高速の論理シミュレーションを行う。従って、
一般のMOSデジタル回路の設計検証を高速に効率良く
実施可能となる。
【0015】
【実施例】以下、本発明の実施例を図面を用いて説明す
る。なお、これにより本発明が限定されるものではな
い。
【0016】図1は、本発明の等価回路作成方法および
論理シミュレーション方法を実施する論理シミュレーシ
ョンシステム800のブロック図である。回路記述ファ
イル801は、等価回路作成あるいは論理シミュレーシ
ョンの対象となるMOSデジタル回路を記述したファイ
ルであり、MOSデジタル回路を構成する素子の種類の
情報と,素子の端子の情報とを含んでいる。素子の種類
の情報は、その素子が、複数のMOSトランジスタで構
成される論理ゲート素子か,3ステートゲート素子か,
フリップフロップか,単体のMOSトランジスタか,通
常外部入力ピンである電源やグランドか等の情報であ
る。素子の端子の情報は、その端子が入力端子あるいは
出力端子であるか、単体のMOSトランジスタの端子に
ついてはゲート端子かそれ以外の端子か、その出力端子
にハイインピーダンス状態が存在するか、他のどの素子
のどの端子に接続するか等の情報である。
【0017】処理装置802は、等価回路作成処理およ
び論理シミュレーション処理を行う装置である。等価回
路記述ファイル803は、前記回路記述ファイル801
から前記処理装置802が作成した等価回路を記述した
ファイルである。シミュレーション結果ファイル804
は、前記等価回路記述ファイル803を用いて前記処理
装置802が実行した論理シミュレーションの結果を格
納したファイルである。シミュレーション結果リスト8
05は、前記論理シミュレーションの実行結果のリスト
出力である。
【0018】図2は、等価回路記述ファイル803にお
いて等価回路を表現したデータ構造である。素子テーブ
ル910は、等価回路を構成する各素子に対応した情報
を保持する。ネットテーブル920は、等価回路を構成
する各素子間のネットに対応した情報を保持する。入力
端子テーブル940および出力端子テーブル950は、
それぞれ等価回路を構成する各素子の入力端子および出
力端子に対応した情報を保持し、素子テーブル910の
レコードとネット・テーブル920のレコードとを関連
付ける。
【0019】次に、各テーブル910,920,94
0,950の内容について説明する。素子テーブル91
0の一つのレコードは、5個のフィールドを持つ。第1
のフィールド911は、当該素子の種類(ANDゲー
ト,ORゲート,インバータ,3ステート・ゲート,単
方向トランジスタ,3ステート結線論理,ラッチ等)を
示す。第2のフィールド912は、当該素子の入力端子
数を示す。第3のフィールド913は、対応する入力端
子テーブル940のレコードを指示するポインタであ
る。当該素子の入力端子数が複数のときは、入力端子数
分の入力端子テーブル940のレコードが連続して存在
するが、その先頭レコードを指示する。第4のフィール
ド914は、当該素子の出力端子数を示す。第5のフィ
ールド915は、対応する出力端子テーブル950のレ
コードを指示するポインタである。当該素子の出力端子
数が複数のときは、出力端子数分の出力端子テーブル9
50のレコードが連続して存在するが、その先頭レコー
ドを指示する。
【0020】ネットテーブル920の一つのレコード
は、12個のフィールドを持つ。第1のフィールド92
1は、当該ネットに付与された固有のネット名を示す。
【0021】第2のフィールド922から第9のフィー
ルド929までは、当該ネットに直接接続する端子のタ
イプ情報を保持する。ここで、端子のタイプを次のよう
に定義する。 タイプF…電源あるいはグランド タイプD…素子の出力となる端子で、ハイインピーダン
ス状態のないもの タイプT…素子の出力となる端子で、ハイインピーダン
ス状態のあるもの タイプG…MOSトランジスタのゲート端子、および、
MOSトランジスタ以外の素子の入力となる端子 タイプK…MOSトランジスタのソース端子およびドレ
イン端子で且つ入力となる端子 タイプX…等価回路作成処理中において、MOSトラン
ジスタのソース端子またはドレイン端子が入力となるか
出力となるかが未決定の時は、タイプKとするかタイプ
Tとするか決められないので、その端子を一時的にタイ
プXとする。 すなわち、当該ネットに直接接続する端子の中に上記タ
イプの端子が存在する場合には第2のフィールド922
から第7のフィールド927の対応するフィールドに<
0>でない値を保持し、存在しない場合には<0>の値
を保持する。また、当該ネットから見て信号源となる端
子(タイプF,D,Tのいずれか)が複数存在する場合
には第8のフィールド928に<0>でない値を保持
し、複数存在しない場合には<0>の値を保持する。さ
らに、当該ネットに直接接続する双方向トランジスタが
存在する場合には第9のフィールド929に<0>でな
い値を保持し、存在しない場合には<0>の値を保持す
る。
【0022】第10のフィールド931は、当該ネット
から見て信号源となる端子に対応する出力端子テーブル
950のレコードの一つを指示するポインタである。第
11のフィールド932は、当該ネットから見てシンク
となる端子に対応する入力端子テーブル940のレコー
ドの一つを指示するポインタである。第12のフィール
ド933は、当該ネットに直接接続する方向未決定のト
ランジスタが存在する場合に、そのトランジスタに対応
するトランジスタ端子テーブル970(図3により後述
する)の一つを指示するポインタである。
【0023】入力端子テーブル940の一つのレコード
は6個のフィールドを持つ。第1のフィールド941
は、当該端子を識別するために素子ごとに固有に決めら
れた端子番号を保持する。第2のフィールド942は、
当該端子のタイプ(タイプF,D,Tのいずれか)を示
す。第3のフィールド943は、当該端子の属する素子
に対応した素子テーブル910のレコードを指示するポ
インタである。第4のフィールド944は、当該端子が
接続するネットに対応したネットテーブル920のレコ
ードを指示するポインタである。
【0024】第5のフィールド945は、当該端子が接
続するネットに他の入力端子も接続している場合、それ
ら端子の入力端子テーブル940のレコードを連結する
ためのポインタである。すなわち、あるネットに対応し
たネットテーブル920のレコードが、その第11のフ
ィールド932によって、一つの入力端子テーブル94
0のレコードを指示する。指示された入力端子テーブル
940のレコードは、その第5のフィールド945によ
って、前記ネットに接続する他の端子に対応した入力端
子テーブル940のレコードを指示する。以下、同様に
して同一ネットに接続する端子に対応した全ての入力端
子テーブル940のレコードを順に指示する。最後の入
力端子テーブル940のレコードは、ネットテーブル9
20のレコードによって指示された入力端子テーブル9
40のレコードを指示する。
【0025】第6のフィールド946は、当該端子が双
方向トランジスタのソース端子あるいはドレイン端子で
ある場合に、同一端子に対応する出力端子テーブル95
0のレコードを指示するポインタである。
【0026】出力端子テーブル950の一つのレコード
は6個のフィールドを持つ。第1のフィールド951
は、当該端子を識別するために素子ごとに固有に決めら
れた番号を保持する。第2のフィールド952は、当該
端子のタイプ(タイプG,Kのいずれか)を示す。第3
のフィールド953は、当該端子の属する素子に対応し
た素子テーブル910のレコードを指示するポインタで
ある。第4のフィールド954は、当該端子が接続する
ネットに対応したネットテーブル920のレコードを指
示するポインタである。
【0027】第5のフィールド955は、当該端子が接
続するネットに他の出力端子も接続している場合、それ
ら端子の出力端子テーブル950のレコードを連結する
ためのポインタである。すなわち、あるネットに対応し
たネットテーブル920のレコードが、その第10のフ
ィールド931によって、一つの出力端子テーブル95
0のレコードを指示する。指示された出力端子テーブル
950のレコードは、その第5のフィールド955によ
って、前記ネットに接続する他の端子に対応した出力端
子テーブル950のレコードを指示する。以下、同様に
して同一ネットに接続する端子に対応した全ての出力端
子テーブル950のレコードを順に指示する。最後の出
力端子テーブル950のレコードは、ネットテーブル9
20のレコードによって指示された出力端子テーブル9
50のレコードを指示する。
【0028】第6のフィールド956は、当該端子が双
方向トランジスタのソース端子あるいはドレイン端子で
ある場合に、同一端子に対応する入力力端子テーブル9
40のレコードを指示するポインタである。
【0029】図3は、等価回路作成作業に用いる等価回
路作成用データ構造である。方向未決定トランジスタテ
ーブル960は、信号の流れる向きが未決定のMOSト
ランジスタ対応にレコードが作成される。トランジスタ
端子テーブル970は、各トランジスタの端子に関する
情報を保持する。
【0030】次に、各テーブル960,970の内容に
ついて説明する。方向未決定トランジスタテーブル96
0の一つのレコードは5個のフィールドを持つ。第1の
フィールド961は、当該トランジスタのゲート端子に
対応する情報を保持するトランジスタ端子テーブル97
0のレコードを指示するポインタである。第2のフィー
ルド962および第3のフィールド963は、当該トラ
ンジスタのソース端子あるいはドレイン端子に対応する
情報を保持するトランジスタ端子テーブル970のレコ
ードを指示するポインタである。
【0031】第4のフィールド964は、等価回路作成
の過程において、当該トランジスタの方向決定の可能性
がある場合、すなわち当該トランジスタのソース端子あ
るいはドレイン端子に接続する他の端子のタイプが新た
に決められた場合などに<0>以外の値を保持し、そう
でない場合に<0>の値を保持する。
【0032】第5のフィールド965は、当該レコード
に対応するトランジスタの信号の流れる向きが未決定の
場合に<0>の値を保持し、決定済の場合に<0>以外
の値を保持する。
【0033】トランジスタ端子テーブル970の一つの
レコードは3個のフィールドを持つ。第1のフィールド
971は、当該端子の属するトランジスタ素子に対応し
た方向未決定トランジスタテーブル960のレコードを
指示するポインタである。第2のフィールド972は、
当該端子が接続するネットに対応したネットテーブル9
20のレコードを指示するポインタである。第3のフィ
ールド973は、当該端子が接続するネットに他のトラ
ンジスタのソースまたはドレイン端子も接続している場
合、それら端子のトランジスタ端子テーブル970のレ
コードを連結するためのポインタである。すなわち、あ
るネットに対応したネットテーブル920のレコード
が、その第12のフィールド933によって、一つのト
ランジスタ端子テーブル970のレコードを指示する。
指示されたトランジスタ端子テーブル970のレコード
は、その第3のフィールド973によって、前記ネット
に接続する他の端子に対応したトランジスタ端子テーブ
ル970のレコードを指示する。以下、同様にして同一
ネットに接続する端子に対応した全てのトランジスタ端
子テーブル970のレコードを順に指示する。最後のト
ランジスタ端子テーブル970のレコードは、ネットテ
ーブル920のレコードによって指示されたトランジス
タ端子テーブル970のレコードを指示する。
【0034】図4は、本発明の等価回路作成方法の第1
実施例にかかる処理のフロー図である。処理110で
は、全ての素子について処理111および処理121を
行う。処理111では、回路記述ファイル801を読み
込む。処理121では、着目する素子が単体のMOSト
ランジスタか否かを判定する。そして、単体のMOSト
ランジスタである場合には、処理122,処理123,
処理124を行う。そうでない場合には、処理127,
処理130を行う。
【0035】処理122では、方向未決定トランジスタ
テーブル960に1レコードを確保し、トランジスタ端
子テーブル970に3レコードを確保し、それらに当該
単体のMOSトランジスタの情報とポインタ情報を格納
する。トランジスタ端子テーブル970の3レコード
は、それぞれ当該トランジスタのゲート端子,ソース端
子,ドレイン端子に対応する。但し、ソース端子とドレ
イン端子との区別は必須ではない。また、各端子が接続
するネットのネット名がすでにネットテーブル920に
登録済みであるかどうかを調べ、登録済みである場合に
は、該当レコードとトランジスタ端子テーブル970に
確保したレコードにネットと端子の関係を示すポインタ
情報を格納するか、または、同一のネットを指示する他
のトランジスタ端子テーブル970のレコードがある場
合にはそれらを指示するポインタ情報を格納する。一
方、当該ネット名がネットテーブル920に登録済みで
ない場合には、ネットテーブル920に1レコードを確
保し、当該レコードと前記トランジスタ端子テーブル9
70に確保したレコードに、ネット情報およびポインタ
情報を格納する。この時点では、ネットテーブル920
に新たに確保したレコードの第2のフィールド922か
ら第9のフィールド929までには<0>の値を格納し
ておく。
【0036】処理123では、当該MOSトランジスタ
のゲート端子をタイプGに分類する。すなわち、前記ト
ランジスタ端子テーブル970に確保したゲート端子対
応のレコードの第2のフィールド972が指示するネッ
トテーブル920のレコードの第5のフィールド925
に<0>以外の値を格納する。
【0037】処理124では、当該MOSトランジスタ
のソースおよびドレイン端子をタイプXに分類する。す
なわち、前記トランジスタ端子テーブル970に確保し
たソースおよびドレイン端子対応のレコードの第2のフ
ィールド972が指示するネットテーブル920のレコ
ードの第7のフィールド927にそれぞれ<0>以外の
値を格納する。
【0038】処理127では、当該素子の情報を素子テ
ーブル910に登録する。すなわち、素子テーブル91
0に1レコードを確保し、入力端子テーブル940に入
力端子数分のレコードを確保し、出力端子テーブル95
0に出力端子数分のレコードを確保し、素子情報とポイ
ンタ情報を格納する。さらに、ネットテーブル920へ
の情報の格納も、前述の処理123の場合と同様に行
う。出力端子の登録に当たって、既に同一ネットが登録
済みであり且つ当該ネットに対応するネットテーブル9
20の第10のフィールド931にポインタ値が登録さ
れている場合には、当該ネットテーブル920の第8の
フィールド928に<0>以外の値を格納する。
【0039】処理130では、素子のすべての端子につ
いて処理131を行う。処理131では、当該端子が電
源またはグランド(すなわち、当該素子が、電源あるい
はグランドと接続する外部入力ピン)である場合には、
処理132を行う。当該端子が電源またはグランドでな
く且つ入力端子である場合には、処理133を行う。当
該端子が電源またはグランドでなく且つ出力端子である
場合には、処理134を行う。
【0040】処理132では、当該端子をタイプFに分
類する。すなわち、当該端子に対応する出力端子テーブ
ル950のレコードの第2のフィールド952に<タイ
プF>を格納し、さらに第4のフィールド954が指示
するネットテーブル920のレコードの第2のフィール
ド922に<0>以外の値を格納する。処理133で
は、当該端子をタイプGに分類する。すなわち、当該端
子に対応する入力端子テーブル940のレコードの第2
のフィールド942に<タイプG>を格納し、さらに第
4のフィールド944が指示するネットテーブル920
のレコードの第5のフィールド925に<0>以外の値
を格納する。
【0041】処理134では、当該端子にハイインピー
ダンス状態が存在する(すなわち、当該端子が属する素
子の種類が3ステートゲート等である)場合には、処理
135を行う。ハイインピーダンス状態が存在しない場
合には、処理136を行う。
【0042】処理135では、当該端子をタイプTに分
類する。すなわち、当該端子に対応する出力端子テーブ
ル950のレコードの第2のフィールド952に<タイ
プT>を格納し、さらに第4のフィールド954が指示
するネットテーブル920のレコードの第4のフィール
ド924に<0>以外の値を格納する。
【0043】処理136では、当該端子をタイプDに分
類する。すなわち、当該端子に対応する出力端子テーブ
ル950のレコードの第2のフィールド952に<タイ
プD>を格納し、さらに第4のフィールド954が指示
するネットテーブル920のレコードの第3のフィール
ド923に<0>以外の値を格納する。
【0044】処理140では、処理122で登録された
方向未決定トランジスタが存在しなくなるまで(すなわ
ち、第5のフィールド965に<0>の値を持つ方向未
決定トランジスタテーブル960のレコードが存在しな
くなるまで)、方向未決定トランジスタの一つを取り出
し、処理141,処理142を行う。
【0045】処理141では、当該方向未決定トランジ
スタのソース端子/ドレイン端子のそれぞれに直接接続
する全端子のタイプを調べる。すなわち、当該方向未決
定トランジスタに対応する方向未決定トランジスタテー
ブル960のレコードの第2のフィールド962および
第3のフィールド963が指示するトランジスタ端子テ
ーブル970のレコードを参照し、さらにその第2のフ
ィールド972が指示するネットテーブル920のレコ
ードをし、その第2のフィールド922から第7のフィ
ールド927までの内容を参照することにより、当該方
向未決定トランジスタのソース端子/ドレイン端子のそ
れぞれに直接接続する端子のタイプを調べる。
【0046】処理142では、図5に示す方向決定テー
ブル200を用いて、当該方向未決定トランジスタの信
号の流れる向きを決定する。例えば、当該方向未決定ト
ランジスタのソース端子側にはタイプFの端子(電源も
しくはグランド)が存在し、ドレイン端子側にはタイプ
Fの端子は存在せず且つタイプD,Tいずれの端子も存
在しない場合は、方向決定テーブル200中の矢印によ
り、ソース端子側からドレイン端子側に信号が流れると
決定する。また、例えば、当該方向未決定トランジスタ
のソース端子側にタイプFの端子が存在せず且つタイプ
D,Tいずれかの端子が存在し且つタイプG,Kいずれ
かの端子が存在し、ドレイン端子側にはタイプFの端子
は存在せず且つタイプD,Tいずれかの端子が存在し且
つタイプG,Kいずれの端子も存在せず且つタイプXの
端子が存在する場合は、この時点では信号の流れる向き
を決定しない(決定できないため、保留する)。また、
例えば、当該方向未決定トランジスタのソース端子側に
タイプFの端子が存在せず且つタイプD,Tいずれかの
端子が存在し且つタイプG,Kいずれかの端子が存在
し、ドレイン端子側にはタイプFの端子は存在せず且つ
タイプD,Tいずれかの端子が存在し且つタイプG,K
いずれかの端子が存在する場合は、信号の流れる向きは
双方向と決定する。なお、例えば、当該方向未決定トラ
ンジスタのソース端子側にタイプFの端子が存在し、ド
レイン端子側にもタイプFの端子が存在する場合は、方
向決定テーブル200中の<Error>により、設計不良
と判断する。当該方向未決定トランジスタの信号の流れ
る向きを単方向もしくは双方向に決定した場合は、処理
143を行う。
【0047】処理143では、当該方向未決定トランジ
スタの信号の流れる向きが単方向と決定されたか判定
し、単方向と決定された場合には処理144を行い、双
方向と決定された場合には処理145を行う。
【0048】処理144では、当該MOSトランジスタ
(図6の(a))を、その信号の流れる向きに従って、
単方向トランジスタ素子(図6の(b))に置き換え
る。すなわち、方向未決定トランジスタテーブル960
の該当レコードの第5のフィールド965に<0>以外
の値を格納する。また、素子テーブル910に1レコー
ドを確保し、入力端子テーブル940に2レコードを確
保し、出力端子テーブル950に1レコードを確保す
る。なお、図6の(b)で用いたシンボルは、MOS等
価回路を実現する基本素子を表わすために便宜上決めた
ものであり、後述する。
【0049】入力端子テーブル940に確保した2レコ
ードのうちの第1のレコードは、単方向トランジスタ素
子TRSのゲート端子Gに対応する。その第1のレコー
ドの第2のフィールド942には<タイプG>を格納す
る。入力端子テーブル940に確保した2レコードのう
ちの第2のレコードは、当該MOSトランジスタのソー
ス端子またはドレイン端子であって単方向トランジスタ
素子TRSの入力端子Dに対応する。その第2のレコー
ドの第2のフィールド942には<タイプK>を格納す
る。出力端子テーブル950に確保したレコードは、当
該MOSトランジスタのソース端子またはドレイン端子
であって単方向トランジスタ素子TRSの出力端子Oに
対応する。そのレコードの第2のフィールド952には
<タイプT>を格納する。
【0050】さらに、処理144では、ポインタ情報
を、方向未決定トランジスタテーブル960とトランジ
スタ端子テーブル970から取り出し、素子テーブル9
10,入力端子テーブル940,出力端子テーブル95
0に確保したレコードにそれぞれ格納する。そして、入
力端子テーブル940に確保した2レコードのうちの第
1のレコードの第4のフィールド944が指示するネッ
トテーブル920のレコードの第5のフィールド925
に<0>以外の値を格納する。また、入力端子テーブル
940に確保した2レコードのうちの第2のレコードの
第4のフィールド944が指示するネットテーブル92
0のレコードの第6のフィールド926に<0>以外の
値を格納する。また、出力端子テーブル950に確保し
たレコードの第4のフィールド954が指示するネット
テーブル920のレコードの第4のフィールド924に
<0>以外の値を格納する。
【0051】処理145では、当該MOSトランジスタ
(図7の(a))を、2個の単方向トランジスタ素子と
ノード素子の組合せ(図7の(b))に置き換える。す
なわち、素子テーブル910に2レコードを確保し、入
力端子テーブル940に4レコードを確保し、出力端子
テーブル950に2レコードを確保する。また、前述の
処理144と同様に、2個の単方向トランジスタ素子に
関する情報および素子と端子の関係を示すポインタ情報
を格納する。また、素子数が増すことによりネットの数
も増えるため、ネットテーブル920に必要な数のレコ
ードを確保し、確保したレコードと入力端子テーブル9
40および出力端子テーブル950の該当レコードとに
ネットと端子の関係を示すポインタ情報を格納する。さ
らに、入力端子テーブル940および出力端子テーブル
950の第6のフィールド946および956にそれぞ
れ同一端子を指示するポインタを格納する。また、前述
の処理144と同様に、単方向トランジスタ素子のゲー
ト端子G,入力端子D,出力端子Oをそれぞれタイプ
G,K,Tに分類する。なお、図7の(b)で用いたシ
ンボルは、MOS等価回路を実現する基本素子を表わす
ために便宜上決めたものであり、後で詳述する。
【0052】処理150では、回路記述ファイル801
中に存在する全てのネットについて処理151および処
理153を行う。処理151では、当該ネットから見た
信号源側にある端子が複数個存在する場合(ネットテー
ブル920の該当レコードの第8のフィールド928の
内容が<0>以外の値である場合)に、処理152を行
う。処理152では、仮想的な3ステート結線論理素子
(後述する図13の(a))を挿入し、当該ネットから
見た信号源側の端子が唯1つとなるようにする。すなわ
ち、素子テーブル910および出力端子テーブル950
に各1レコードを確保し、入力端子テーブル940およ
びネットテーブル920にはそれぞれ当該ネットの信号
源側の端子の数だけのレコードを確保し、素子,端子,
ネットに関する情報を格納する。このとき、当該ネット
の信号源側にタイプFの端子が存在する場合には、3ス
テート結線論理素子の出力端子をタイプFに分類する。
また、当該ネットの信号源側にタイプFの端子が存在せ
ず且つタイプDの端子が存在する場合には、3ステート
結線論理素子の出力端子をタイプDに分類する。また、
当該ネットの信号源側にタイプFの端子もタイプDの端
子も存在しない場合には、3ステート結線論理素子の出
力端子をタイプTに分類する。
【0053】処理153では、当該ネットのダイナミッ
ク回路としての性質を判定する。すなわち、処理151
を行う前の当該ネットから見た信号源側の端子がタイプ
Tの端子だけである場合に、当該ネットはダイナミック
回路として動作するので、処理154を行う。処理15
4では、当該ネットから見たシンク側にあるタイプGの
端子の前に、仮想的ラッチ素子(例えば、フリップフロ
ップ)を挿入する。タイプGの端子が複数存在する場合
でも、1つの仮想的ラッチ素子を挿入し、その仮想的ラ
ッチ素子の出力端子を複数のタイプGの端子に接続す
る。具体的には、素子テーブル910,入力端子テーブ
ル940,出力端子テーブル950,ネットテーブル9
20に各1レコードを確保し、素子,端子,ネットに関
する情報を格納する。
【0054】以上の等価回路作成処理によって、例え
ば、図8の(a)のMOSデジタル回路500から図8
の(b)の等価回路510が得られる。図8の(a)に
おいて、501,502,503はMOSトランジス
タ、504はインバータ、505はネットである。図8
の(b)において、511,512,513は単方向ト
ランジスタ、514は仮想的な3ステート結線論理素
子、515はインバータ、520は仮想的なラッチ素子
である。
【0055】以上の等価回路作成処理によれば、ダイナ
ミック回路としての作用を考慮した等価回路を作成する
ことが出来る。また、MOSトランジスタの向きを、当
該MOSトランジスタのソース端子,ドレイン端子に直
接接続する他の素子の端子のタイプのみによって決定す
るので、計算機時間を短縮できる。
【0056】図9は、本発明の等価回路作成方法の第2
実施例にかかる処理のフロー図である。処理310で
は、図4の処理110〜136と同様にして、単体のM
OSトランジスタのソース端子,ドレイン端子を除き、
MOSデジタル回路を構成する各素子の端子のタイプを
分類する。処理340では、図4の処理140〜145
と同様にして、MOSトランジスタのソース端子,ドレ
イン端子のそれぞれに直接接続する端子のタイプによ
り、当該MOSトランジスタの方向を決定する。
【0057】処理350では、回路記述ファイル801
中に存在する全てのネットについて処理351および処
理353を行う。処理351では、図4の処理151〜
152と同様にして、当該ネットから見た信号源側にあ
る端子が複数個存在する場合に、仮想的な3ステート結
線論理素子を挿入し、当該ネットから見た信号源側の端
子が唯1つとなるようにする。
【0058】処理353では、当該ネットのダイナミッ
ク回路としての性質を判定する。すなわち、処理351
を行う前の当該ネットから見た信号源側の端子がタイプ
Tの端子だけである場合に、当該ネットがダイナミック
回路として動作するので、処理354を行う。処理35
4では、当該ネットから見たシンク側にタイプGの端子
だけが存在する場合に、処理355を行い、そうでない
場合に処理356を行う。処理355では、処理351
で挿入した仮想的な3ステート結線論理素子をラッチ型
素子(後述する図13の(b))に置き換える。具体的
な処理としては、素子テーブル910内の該当レコード
の第1のフィールド911の内容を置き換える。
【0059】処理356では、当該ネットから見たシン
ク側にあるタイプGの端子の前に、仮想的ラッチ素子を
挿入する。なお、仮想的ラッチ素子として、ラッチ型3
ステート結線論理素子(後述する図13の(b))を用
いてもよい。
【0060】以上の等価回路作成処理によって、例え
ば、図10の(a)のMOSデジタル回路500から図
10の(b)の等価回路530が得られる。以上の等価
回路作成処理によれば、ダイナミック回路としての作用
を考慮した等価回路を作成することが出来る。また、M
OSトランジスタの向きを、当該MOSトランジスタの
ソース端子,ドレイン端子に直接接続する他の素子の端
子のタイプのみによって決定するので、計算機時間を短
縮できる。さらに、ダイナミック回路の作用を考慮する
ために挿入する仮想的なラッチ素子の数を削減すること
ができ、より高速な論理シミュレーションの実行が可能
となる。
【0061】図11は、本発明の等価回路作成方法の第
3実施例にかかる処理のフロー図である。処理310,
340,350,351は、図9における処理と同一で
ある。処理361では、当該ネットから見た信号源側に
ある端子が1つだけの場合に処理363を行い、複数存
在する場合に処理353を行う。処理363では、当該
ネットから見た信号源側の端子がタイプTの端子である
場合に、当該ネットがダイナミック回路として動作する
ので、処理364を行う。処理364では、当該ネット
から見たシンク側にタイプGの端子だけが存在する場合
に、処理365を行う。処理365では、当該ネットか
らみた信号源側の端子を持つ素子をラッチ型素子に置き
換える。信号源側の端子を持つ素子は、タイプTの端子
を持つ素子であり、例えば、図12の(a)の単方向ト
ランジスタTRS,図13の(a)の3ステート結線論
理素子TSW,図14の(a)の3ステート・ゲートT
SGであるが、これらを図12の(b)の単方向トラン
ジスタTRSL,図13の(b)の3ステート結線論理
素子TSWL,図14の(b)の3ステート・ゲートT
SGLにそれぞれ置き換える。具体的な処理としては、
素子テーブル910内の該当レコードの第1のフィール
ド911の内容を適当なものに置き換える。
【0062】処理353,354,355,356は、
図9における処理と同一である。
【0063】以上の等価回路作成処理によれば、ダイナ
ミック回路としての作用を考慮した等価回路を作成する
ことが出来る。また、MOSトランジスタの向きを、当
該MOSトランジスタのソース端子,ドレイン端子に直
接接続する他の素子の端子のタイプのみによって決定す
るので、計算機時間を短縮できる。さらに、ダイナミッ
ク回路の作用を考慮するために挿入する仮想的なラッチ
素子の数を削減することができ、より高速な論理シミュ
レーションの実行が可能となる。
【0064】ここで、図6の(b),図7の(b),図
8の(b),図10の(b)で用いたシンボルについ
て、図12,図13,図14により説明する。図12に
示した単方向トランジスタTRS,TRSLは、MOS
トランジスタを、その信号の流れる向きに着目して単方
向モデルとしたものである。ラッチ型単方向トランジス
タTRSLは、出力端子に接続するネットのダイナミッ
ク回路としての性質を考慮している。図13に示した3
ステート結線論理素子TSW,TSWLは、複数の素子
の出力が1つのネットを形成している結線論理の動作を
模擬する仮想的なノード素子である。図では4入力の素
子を示しているが、入力数は任意である。ラッチ型3ス
テート結線論理素子TSWLは、ネットのダイナミック
回路としての性質を考慮している。図14に示した3ス
テート・ゲートTSG,TSGLは、その出力Oがハイ
インピーダンスZを取り得る。ラッチ型3ステート・ゲ
ートTSGLは、その出力端子に接続するネットのダイ
ナミック回路としての性質を考慮し、出力がハイインピ
ーダンスとなる場合に直前の出力値Qを保持する。
【0065】次に、図15は、本発明の論理シミュレー
ション方法の実施例にかかる処理のフロー図である。処
理402では、図4または図9または図11に示したよ
うな等価回路作成処理により、単方向素子のみから成る
等価回路を作成する。処理403では、等価回路を用
い、単方向素子のみを対象とする通常の論理シミュレー
ション方法により、MOSデジタル回路の動作をシミュ
レーションする。処理404では、シミュレーション結
果を適当な形式に編集し、シミュレーション結果ファイ
ル804およびシミュレーション結果リスト805に出
力する。
【0066】以上の論理シミュレーション処理によれ
ば、一般のMOSデジタル回路から単方向素子のみから
構成される等価回路を作成し論理シミュレーションする
ので、高速な論理シミュレーションが可能となる。
【0067】
【発明の効果】本発明の等価回路作成方法によれば、ダ
イナミック回路としての作用を考慮した等価回路を作成
することが出来る。また、MOSトランジスタの向き
を、当該MOSトランジスタのソース端子,ドレイン端
子に直接接続する他の素子の端子のタイプのみによって
決定するので、計算機時間を短縮できる。
【0068】また、本発明の論理シミュレーション方法
によれば、一般のMOSデジタル回路から単方向素子の
みから構成される等価回路を作成し論理シミュレーショ
ンするので、高速な論理シミュレーションが可能とな
る。
【図面の簡単な説明】
【図1】本発明を実施する論理シミュレーションシステ
ムのブロック図である。
【図2】等価回路記述ファイルのデータ構造図である。
【図3】等価回路作成用データ構造図である。
【図4】本発明の第1実施例における等価回路作成処理
のフロー図である。
【図5】方向決定テーブルの説明図である。
【図6】MOSトランジスタを単方向トランジスタに置
き換える説明図である。
【図7】MOSトランジスタを単方向トランジスタと仮
想のノード素子に置き換える説明図である。
【図8】MOSデジタル回路例とその等価回路の説明図
である。
【図9】本発明の第2実施例における等価回路作成処理
のフロー図である。
【図10】MOSデジタル回路例とその等価回路の説明
図である。
【図11】本発明の第3実施例における等価回路作成処
理のフロー図である。
【図12】等価回路に用いる単方向トランジスタのシン
ボルと動作の説明図である。
【図13】等価回路に用いる3ステート結線論理素子の
シンボルと動作の説明図である。
【図14】等価回路に用いる3ステート・ゲートのシン
ボルと動作の説明図である。
【図15】本発明の第4実施例における論理シミュレー
ション処理のフロー図である。
【符号の説明】
200 方向決定テーブル 503 MOSトランジスタ 504 インバータ 513 単方向トランジスタ素子 520 ラッチ素子 533 3ステート結線論理素子 800 論理シミュレーションシステム 801 回路記述ファイル 802 処理装置 803 等価回路記述ファイル 804 シミュレーション結果ファイル 805 シミュレーション結果リスト 910 素子テーブル 920 ネットテーブル 940 入力端子テーブル 950 出力端子テーブル 960 方向未決定トランジスタテーブル 970 トランジスタ端子テーブル
フロントページの続き (56)参考文献 特開 昭59−161765(JP,A) 特開 平1−48140(JP,A) 特開 平3−198160(JP,A) 特開 平2−266473(JP,A) 特開 昭62−119471(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 JICSTファイル(JOIS)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 所与のMOSデジタル回路を構成する素
    子の種類の情報と,各素子の端子間の接続関係の情報と
    を得、それら情報に基づいて、MOSトランジスタのソ
    ース端子およびドレイン端子を除く各素子の各端子につ
    いては、電源端子か,グランド端子か,入力端子か,M
    OSトランジスタのゲート端子か,ハイインピーダンス
    状態が存在しない出力端子か,ハイインピーダンス状態
    が存在する出力端子かによりタイプ分類し、MOSトラ
    ンジスタのソース端子およびドレイン端子については、
    それぞれに直接接続する他の端子のタイプに従って当該
    MOSトランジスタの信号の流れる向きを決定し、入力
    端子か,出力端子かによりタイプ分類し、そのタイプ分
    類の過程で決定したMOSトランジスタの信号の流れる
    向きに従ってMOSトランジスタを1個以上の単方向素
    子に置き換えて等価回路を作成することを特徴とする等
    価回路作成方法。
  2. 【請求項2】 請求項1に記載の等価回路作成方法にお
    いて、信号の流れる向きを決定できないMOSトランジ
    スタがタイプ分類の過程で出現したときはタイプ分類を
    保留し、他の端子について先にタイプ分類を行い、1個
    以上の他の端子のタイプ分類を行った後、前記タイプ分
    類を保留したMOSトランジスタについてのタイプ分類
    を再実行することを特徴とする等価回路作成方法。
  3. 【請求項3】 請求項1または請求項2に記載の等価回
    路作成方法において、MOSデジタル回路に含まれるネ
    ットに接続する出力端子が全てハイインピーダンス状態
    が存在する出力端子である場合に、当該ネットに接続す
    る入力端子のうちMOSトランジスタ以外の素子の入力
    端子およびMOSトランジスタのゲート端子の直前に仮
    想的なラッチ素子を挿入することを特徴とする等価回路
    作成方法。
  4. 【請求項4】 請求項1または請求項2に記載の等価回
    路作成方法において、MOSデジタル回路に含まれるネ
    ットに接続する出力端子が全てハイインピーダンス状態
    が存在する出力端子である場合に、当該ネットに接続す
    る入力端子がMOSトランジスタ以外の素子の入力端子
    およびMOSトランジスタのゲート端子のみからなると
    きは当該ネットをラッチ型結線論理素子に置き換え、当
    該ネットに接続する入力端子がMOSトランジスタ以外
    の素子の入力端子およびMOSトランジスタのゲート端
    子と異なる端子を含むときは当該ネットに接続する入力
    端子のうちMOSトランジスタ以外の素子の入力端子お
    よびMOSトランジスタのゲート端子の直前に仮想的な
    ラッチ素子を挿入することを特徴とする等価回路作成方
    法。
  5. 【請求項5】 請求項4に記載の等価回路作成方法であ
    って、MOSデジタル回路に含まれる各ネットに接続す
    る出力端子が1つであり且つハイインピーダンス状態が
    存在する出力端子であり且つ当該ネットに接続する入力
    端子がMOSトランジスタ以外の素子の入力端子および
    MOSトランジスタのゲート端子のみからなるときは、
    当該ネットに接続する出力端子を持つ素子を仮想的なラ
    ッチ型素子に置き換えることを特徴とする等価回路作成
    方法。
  6. 【請求項6】 MOSデジタル回路の回路記述を入力し
    て請求項1から請求項5までのいずれかに記載の等価回
    路作成方法により等価回路を作成し、その等価回路を用
    いて前記MOSデジタル回路の動作を模擬することを特
    徴とする論理シミュレーション方法。
JP3257922A 1991-10-04 1991-10-04 等価回路作成方法および論理シミュレーション方法 Expired - Fee Related JP3032874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3257922A JP3032874B2 (ja) 1991-10-04 1991-10-04 等価回路作成方法および論理シミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3257922A JP3032874B2 (ja) 1991-10-04 1991-10-04 等価回路作成方法および論理シミュレーション方法

Publications (2)

Publication Number Publication Date
JPH05101130A JPH05101130A (ja) 1993-04-23
JP3032874B2 true JP3032874B2 (ja) 2000-04-17

Family

ID=17313057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3257922A Expired - Fee Related JP3032874B2 (ja) 1991-10-04 1991-10-04 等価回路作成方法および論理シミュレーション方法

Country Status (1)

Country Link
JP (1) JP3032874B2 (ja)

Also Published As

Publication number Publication date
JPH05101130A (ja) 1993-04-23

Similar Documents

Publication Publication Date Title
JP3230677B1 (ja) 自動集計方法、自動集計装置および記録媒体
US6505328B1 (en) Method for storing multiple levels of design data in a common database
Seger Vos: A Formal Hardware Verification System User's Guide
US7895551B2 (en) Generation of standard cell library components with increased signal routing resources
US5920489A (en) Method and system for modeling the behavior of a circuit
CN101317179A (zh) 并入soc分层设计的定时约束
JP3851357B2 (ja) トランジスタ回路のタイミング特性抽出方法、タイミング特性ライブラリを記憶した記憶媒体、lsiの設計方法、及びゲート抽出方法
US8719760B1 (en) Validating integrated circuit simulation results
US6550041B1 (en) Method and apparatus for evaluating the design quality of network nodes
US20050039152A1 (en) Timing path detailer
CN114638184B (zh) 门级电路的仿真方法、系统、存储介质及设备
US7587305B2 (en) Transistor level verilog
JP3032874B2 (ja) 等価回路作成方法および論理シミュレーション方法
US6367055B1 (en) Method and apparatus for determining certain characteristics of circuit elements
CN113919256A (zh) 一种布尔可满足性验证方法、系统、cnf生成方法及存储装置
JP2824482B2 (ja) 2分決定グラフの変数順決定方式
Christensen et al. PyLSE: A pulse-transfer level language for superconductor electronics
CN113515909A (zh) 门级网表的处理方法、计算机存储介质
US6877140B1 (en) Method and system for generating a schematic representing bus structures
Myers et al. The design of an asynchronous memory management unit
JP2009544091A (ja) 電子回路の合成
JPH07287051A (ja) 論理シミュレータ用入力データ作成装置
JP3544885B2 (ja) 論理回路の遅延計算方法、論理回路の遅延計算装置および論理回路の遅延計算プログラムを記録した媒体
Shahdad An interface between VHDL and EDIF
JP2551944B2 (ja) 図的言語処理システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees