JPH07121578A - 回路シミュレーション方法 - Google Patents

回路シミュレーション方法

Info

Publication number
JPH07121578A
JPH07121578A JP5264847A JP26484793A JPH07121578A JP H07121578 A JPH07121578 A JP H07121578A JP 5264847 A JP5264847 A JP 5264847A JP 26484793 A JP26484793 A JP 26484793A JP H07121578 A JPH07121578 A JP H07121578A
Authority
JP
Japan
Prior art keywords
node
circuit
voltage
nodes
initial value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5264847A
Other languages
English (en)
Inventor
Hideji Takahashi
秀治 高橋
Mikio Ikeda
三喜男 池田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5264847A priority Critical patent/JPH07121578A/ja
Publication of JPH07121578A publication Critical patent/JPH07121578A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 解が収束する可能性を高め、定常解を得る可
能性を高める回路シミュレーション方法を得る。 【構成】 解析対象となる原回路において、第1の初期
値を用いて解析を行い、解析上収束しないノードをステ
ップS21〜ステップS26によって求める。この後、
収束しないノードに接続されている素子を論理素子に変
換して変換済回路を求め(ステップS27)、この変換
済回路に対して解析を行うことにより各ノードの電圧が
求まる。これを第2の初期値として用いて原回路の解析
を行う。 【効果】 変換済回路において論理素子に接続されたノ
ードの電圧に関する解が収束するので、これを初期値と
して用いる原回路の解析においても解の収束性が向上す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、例えば半導体集積回
路の設計に用いられる回路解析のシミュレーション方法
に関し、特に回路の定常解析を行う際に初期値を設定す
る技術に関するものである。
【0002】
【従来の技術】今日では、半導体集積回路の設計におい
ては、回路動作の確認には回路シミュレーション方法が
用いられている。そして回路シミュレーション方法の解
析として回路の各ノードにおける電圧(以下「ノード電
圧」という)を求める定常解析がある。
【0003】図15は、従来の定常解析を求める回路シ
ミュレーション方法を示すフローチャートである。先ず
ステップS11において、シミュレーション方法の対象
となる回路を構成する素子がどのように接続されている
かを示す素子接続データが回路シミュレータに入力され
る。そしてステップS12においては、既知であるノー
ド電圧が準初期値として入力される。
【0004】ステップS13では、ステップS12にお
いて入力された準初期値に基づいて初期値の設定が行わ
れる。即ち準初期値が既に与えられているノードは準初
期値を初期値として、また準初期値が与えられていない
ノード、即ちノード電圧が既知ではなかったノードは全
て初期値として強制的に0Vが設定される。
【0005】ステップS14ではステップS11におい
て入力された素子接続データに基づいて回路方程式が作
成され、ステップS15ではステップS13で求められ
た初期値に基づいて、ステップS14で作成した回路方
程式を解く。回路方程式は一般には非線型連立方程式で
あり、定常解を得るためには何回か計算を繰り返し、解
を収束させる必要がある。
【0006】
【発明が解決しようとする課題】しかし、従来の回路シ
ミュレーション方法では回路方程式の初期値を設定する
段階で、ノード電圧が既知でないノードには初期値とし
て強制的に固定電圧値に設定されていた。この固定電圧
値は定常状態における実際のノードの電圧値からかけ離
れている場合があるので、回路方程式の解の収束性が悪
く、実際上定常解が得られない可能性があるという問題
点があった。
【0007】このような問題は回路シミュレーション方
法の対象となる回路を構成が複雑になり、ノードが増大
して回路方程式の次元が大きくなるにつれて悪化してゆ
く。
【0008】かかる事態を克服すべく、従来においては
定常解が得られなかったと判断されるノードの初期値を
人手により、勘と経験的知識によって再度設定しなおす
という作業も行われていた。
【0009】例えば、図16に示されるCMOS回路に
おいて、回路方程式を所定の回数の繰り返し演算によっ
て解くことにより求められた、解析すべきノードN1
26におけるノード電位を数1に示す。
【0010】
【数1】
【0011】ここでノードN1 は接地電位でない方の電
源電位であり、ここでは5Vに設定されている。例えば
ノードN18の電位は明らかに異常な電位を示しており、
この部分で定常解が求められなかったであろうことが容
易に判断できる。そのため、ノードN18のノード電圧の
初期値を変更して再度繰り返し演算を行う必要がある。
【0012】しかし、その他のノードで異常な値を示し
ているもの、例えばノード14やノード24に対しても
初期値を変更した方が定常解が求め易いのか否かは経験
と勘に頼って判断するしかなく、ノード電圧の解析には
それを行う人間の熟達が必要であり、また多くの労力を
必要とするという問題点があった。
【0013】この発明は上記の問題点を解消するために
なされたもので、解が収束する可能性を高め、実際上定
常解を得る可能性を高めることができる回路シミュレー
ション方法を提供することを目的とする。
【0014】
【課題を解決するための手段】この発明にかかる回路シ
ミュレーション方法の第1の態様は、複数の素子がノー
ドにおいて互いに接続されて構成される回路である原回
路の動作をシミュレートする。そして、(a)前記ノー
ドのうち、その電圧を求める際に解が収束しないものを
非収束ノードとして検出する工程と、(b)前記素子の
うち、前記非収束ノードに接続されるものを論理素子に
変換し、前記原回路から変換済回路を求める工程と、
(c)前記変換済回路の各ノードの電圧を求める工程
と、(d)前記工程(c)で求められた電圧を原回路用
初期値として用い、前記原回路の回路方程式を解く工程
と、を備える。
【0015】望ましくは、前記工程(a)は(a−1)
前記原回路の接続関係を求める工程と、(a−2)前記
ノードの内、前記原回路の接続関係から直ちに電圧が求
められる第1のノードの電圧を求める工程と、(a−
3)前記第1のノード以外の前記ノードである第2のノ
ードに同一の電圧を設定する工程と、(a−4)前記第
1及び第2のノードの電圧を第1の初期値として用い、
前記原回路の回路方程式を解く工程と、(a−5)前記
工程(a−4)において解が収束しないノードを、非収
束ノードとして検出する工程と、を備える。
【0016】更に望ましくは、前記工程(c)は(c−
1)前記変換済回路の接続関係を求める工程と、(c−
2)前記ノードの内、前記変換済回路の接続関係から直
ちに電圧が求められる第3のノードの電圧を求める工程
と、(c−3)前記第3のノード以外の前記ノードであ
る第4のノードに同一の電圧を設定する工程と、(c−
4)前記第3及び第4のノードの電圧を第2の初期値と
して用い、前記変換済回路の回路方程式を解く工程と、
を備える。
【0017】この発明にかかる回路シミュレーション方
法の第2の態様は、定常値である2値の間を遷移する少
なくとも一つの信号から成る入力テストパターンを、複
数の素子がノードにおいて互いに接続されて構成される
回路に与えて、前記回路の動作をシミュレートする。そ
して、(a)前記ノードのうちハイインピーダンス状態
にあるものを、前記回路の接続関係から検出して第1の
ノードとする工程と、(b)前記入力テストパターンに
従って前記定常値を順次与え、前記第1のノードのう
ち、2値論理のいずれかに対応する電圧が求められたも
のを第2のノードとして検出する工程と、(c)前記第
2のノード及び前記第2のノードに対応する電圧を初期
値として前記回路の回路方程式を解く工程と、を備え
る。
【0018】望ましくは、前記工程(a)は(a−1)
前記入力テストパターンの最初の前記定常値を前記回路
に与えた場合においてハイインピーダンス状態となるノ
ードを検出して前記第1のノードとする工程を有する。
【0019】あるいは望ましくは、前記回路はCMOS
トランジスタ及び電源から構成され、前記工程(a)は
(a−2)各々の前記トランジスタのドレイン及びソー
スのうち、自身以外の前記トランジスタのゲート及び前
記電源のいずれにも直接には接続されていないものを前
記第1のノードとする工程を有する。
【0020】
【作用】この発明の第1の態様においては、非収束ノー
ドに接続された素子を論理素子に変換することによって
原回路から変換済回路を求めるので、変換済回路におけ
る回路解析が収束する可能性が高い。よって変換済回路
から求められたノードの電圧を原回路用初期値として原
回路を解析した場合に収束性が向上する。
【0021】この発明の第2の態様においては、収束性
が低くくなるハイインピーダンス状態のノードを検出
し、これに適切な電圧を与えて回路シミュレーションを
行うので、その収束性が向上する。
【0022】
【実施例】
A.第1実施例: (A−1)収束しないノードの検出:図1はこの発明の
第1の態様にかかる回路シミュレーション方法を説明す
るフローチャートである。ステップS21において第1
の素子接続データがシミュレータに入力される。この第
1の素子接続データは、シミュレーションの対象となる
回路そのもの(以下「原回路」という)の素子同士の接
続関係を示すデータである。原回路の各ノードのうち、
ノード電圧が既知のもののノード電圧が準初期値として
入力される。
【0023】次にステップS23において、準初期値に
基づいて第1の初期値を設定する。この第1の初期値は
原回路の初期値である。従来の場合と同様にして準初期
値が与えられていない(ノード電圧が既知でない)ノー
ドには例えば0Vの固定電圧値を用いて第1の初期値が
設定される。
【0024】更にステップS24において第1の回路方
程式が作成される。これは原回路に関する回路方程式で
あり、キルヒホッフの法則に従って作成される。但し、
電流と電圧の関係が非線型な素子、例えばトランジスタ
を回路に含む場合には非線型の連立方程式となる。そし
て従来の場合と同様にして、ステップS25において第
1の初期値を用いて第1の回路方程式が解かれる。
【0025】第1の回路方程式は、例えばニュートン法
を用いて繰り返し計算によって各ノード電圧を更新する
ことによって解かれるが、各ノード電圧が安定したら繰
り返し計算をやめ、収束したと判断する。しかし、アナ
ログ回路の場合には各ノード電圧の初期値が不適切であ
り、ノード電圧の値が安定しないで非収束となる場合が
生じる。このような収束/非収束の判断がステップS2
6において行われ、収束している場合には原回路の各ノ
ード電圧が求まったのであるからシミュレーションは終
了する。
【0026】一方、第1の回路方程式の解が非収束であ
ると判定された場合には、ステップS27が実行され、
収束していないノード電圧を持つノードに接続された素
子を論理素子に変換して新たな回路(以下「変換済回
路」という)を得る。
【0027】ステップS21〜S26は、収束しないノ
ードを検出するステップ群であると言える。
【0028】(A−2)素子の変換:図2及び図3は第
1実施例の動作、特にステップS27を説明するために
例示された回路図であり、図2は原回路を、図3は図2
に示された原回路を変換して得られた変換済回路を、そ
れぞれ示している。
【0029】図2に示された回路は入力端子1、出力端
子2、高電位点3、低電位点4を備えている。Pチャネ
ルトランジスタ51,52,53,54のソースはいず
れも高電位点3に接続されている。またNチャネルトラ
ンジスタ61,62,63,64のソースはいずれも低
電位点4に接続されている。トランジスタ51,61の
ゲートは入力端子1に共通して接続され、トランジスタ
52,62のゲートはトランジスタ51,61のドレイ
ンに共通して接続されている。トランジスタ52,62
のドレインには、トランジスタ53,63のゲート及び
トランジスタ54,64のドレインが共通して接続され
ている。そして出力端子2には、トランジスタ53,6
3のドレイン及びトランジスタ54,64のゲートが共
通して接続されている。以上のような各素子間の接続関
係が第1の素子接続データとしてステップS21におい
て入力される。
【0030】このような接続関係にある原回路におい
て、各トランジスタのソースに対応するノードのノード
電圧は高電位点3若しくは低電位点4の電圧と一致する
ので既知であり、準初期値たりうる。しかしその他のノ
ードに関してはそのノード電圧は既知ではなく、強制的
に固定電圧値が設定されてステップS23に示された第
1の初期値の設定がなされる。
【0031】第1の接続データに基づいて第1の回路方
程式が作成され、これを解いた場合に、出力端子2のノ
ード電圧のみが収束しない場合を考える。この場合、出
力端子2に接続されている素子はトランジスタ53,6
3,54,64の4つである。これらの素子がステップ
S27において論理素子に変換される。
【0032】図3はトランジスタ53,63,54,6
4の4つを論理素子に変換した場合の回路図である。ト
ランジスタ53,63はインバータ71に、トランジス
タ54,64はインバータ72に、それぞれ変換されて
いる。この変換は、トランジスタ53,54の接続関
係、トランジスタ63,64の接続関係から導き出せ
る。
【0033】(A−3)収束しないノードに対する初期
値設定:図1に戻り、ステップS28において、この変
換済回路における素子間の接続関係を示す第2の素子接
続データが求められる。ステップS29において、既に
ステップS22で与えられた準初期値を用い、これに基
づいて第2の初期値を設定する。具体的にはアナログ回
路(トランジスタレベルの素子)の初期値が分からない
ノードには固定電圧値(例えば0V)を、論理回路(ゲ
ートレベルの素子)の初期値が分からないノードには論
理“L”に相当する電圧を、それぞれ第2の初期値とし
て与える。論理回路においては、その入力端に与えられ
る論理値が定まれば、その出力端に生じる論理値も定ま
るので、トランジスタレベルの素子のように出力が収束
しないという問題が回避できる。図3に示された変更済
回路に則していえば、出力端子2におけるノード電圧の
値は、インバータ71の入力端のノード電圧が定まるこ
とにより決定する。
【0034】変換された論理回路において論理が衝突す
る場合も考えられる。例えば図4に示されるように接続
された論理回路に変換された場合において、インバータ
73の入力端と出力端の間には直列に接続された2つの
インバータ74,75が設けられている。このような場
合にはインバータ73の入力端に与えられた論理が
“H”、“L”のいずれであってもインバータ73の出
力端においては“H”と“L”の論理の衝突が生じる。
しかし、このような場合であってもインバータ73の出
力端における論理Bは唯一に決定できる。例えば“H”
に対して5Vが、“L”に対して0Vが、それぞれ対応
している場合には、論理Bには両者の中間電位である
2.5Vが対応することになる。
【0035】ステップS30において、第2の素子接続
データに基づいて第2の回路方程式が作成される。これ
は変更済回路に対応するものである。そしてステップS
31において、第2の初期値に基づいて第2の回路方程
式が解かれ、ステップS32において、第2の回路方程
式の解に基づいて第3の初期値を設定する。ステップS
28〜S32は、原回路の初期値を設定しなおすステッ
プ群であると言える。
【0036】ステップS33において再び原回路に対応
した第1の回路方程式を作成し、ステップS34におい
て第3の初期値に基づいて第1の回路方程式を解く。第
3の初期値は、従来の場合と異なり、強制的に同一の
(例えば0V)固定電圧値を設定するのではなく、原回
路と論理的には同一の変換済回路において求められたノ
ード電圧の値が用いられるので、原回路の動作に即した
初期値であり、真の解からかけ離れた初期値の設定が行
われる危険性が減少する。よって原回路の収束性は高ま
るので、シミュレーションの対象となる原回路が複雑と
なり、解析すべきノードの数が増大して回路回路方程式
の次元が高くなっても、定常解を得る可能性が従来に比
べて高くなる。
【0037】B.第2実施例: (B−1)基本的な考え方:図5はこの発明の第2の態
様にかかる回路シミュレーション方法を説明する工程図
である。回路シミュレータ34は解析対象となるCMO
S回路の動作をシミュレーションする部分であり、ハー
ドウェアで構成することも可能であるし、ソフトウェア
で構成することも可能である。回路シミュレータ34に
は回路における素子の接続関係等の情報を有する回路情
報30及び入力テストパターン31が与えられる。つま
り回路シミュレータ34は、回路情報30によって求め
られるところの解析対象たる回路が、入力テストパター
ン31で示される入力信号を受けた場合にどの様な動作
をするのかをシミュレーションする。そしてその結果は
シミュレーション結果35として出力される。ここで解
析対象となる回路はCMOS回路であるので、入力テス
トパターンは所定の時間が経過する毎に“H”、“L”
を繰り返す信号が用いられる。
【0038】回路シミュレータ34における解析には、
解析対象となる回路の各ノードのノード電圧を初期値と
して与えておく必要がある。そのノード電圧に関するノ
ード電圧情報33も回路シミュレータ34に与えられ
る。このノード電圧情報33を出力するのが収束率向上
装置32である。収束率向上装置32は回路シミュレー
タ34と同様にして回路情報30及び入力テストパター
ン31を受け、後述する手順に従ってノード電圧を求
め、ノード電圧情報33を回路シミュレータ34に与え
る動作を行う。
【0039】収束向上装置32は、入力テストパターン
31の最初の論理値を与えた場合に、解析対象となる回
路においてハイインピーダンス状態となるノードが、後
で解の収束が不安定となることが多いということに着目
し、かかるノードに対し、適切にノード電圧の初期値と
してノード電圧情報33を与えるものである。ハイイン
ピーダンスとならないノードの多くは、回路シミュレー
ションにおいて過渡解析の前に行われる定常解析におい
て安定に電圧を求めることができるので、収束向上装置
32においてこのようなノードの初期値を設定する必要
はない。
【0040】(B−2)ハイインピーダンス状態のノー
ドの検出:図6は第2実施例における収束向上装置32
の動作を示すフローチャートである。まずステップS4
0において、これ以降で用いられる配列highz-node,no
de,nodeset のクリア、回路解析の回数nを1とする、
などの初期設定が行われ、次にステップS41において
ハイインピーダンス状態となるノードが検出される。更
にステップS42においてハイインピーダンス状態とな
るノードに適切な初期値が与えられる。そしてステップ
S43によってハイインピーダンス状態となっていたノ
ードと、これに与えられるべき初期値としてのノード電
圧とが出力される。
【0041】ステップS41の中で、ステップS41a
は入力テストパターンの第1番目の定常値を用いて第n
(=1)回目の回路解析を行う。図7は入力テストパタ
ーン31の第k番目の定常値を説明する波形図である。
図7に示されるように、入力テストパターン31は
“H”、“L”の2値の間を遷移しており、この第k番
目の定常値とは、“H”、“L”いずれかの値の内、最
初から第k番目に当たる論理を指す。ここでは入力テス
トパターン31は最終的には第E番目の定常値を採る場
合を示している。入力テストパターン31が一つの信号
である場合には奇数番目の定常値と偶数番目の定常値と
は互いに相補的である。しかし入力テストパターン31
が複数の信号から構成されている場合もあり、その場合
には必ずしも奇数番目同士、あるいは偶数番目同士の論
理が複数の信号にわたって同一に現れるとは限らない。
【0042】ステップS41aにおいて行われる回路解
析の手法は、“H”、“L”、“Z”、“X”の4値を
扱う論理シミュレーションで行われる。ここで上記4値
はそれぞれ順に、2値論理の高い方、2値論理の低い
方、ハイインピーダンス状態、不定値(“H”、“L”
の両者に対応する電位間の値をとる場合)を表現してい
る。
【0043】図8はCMOS回路の接続例を示す回路図
である。高電位電源3から接地4へと順にPチャネルト
ランジスタ51a,51b、Nチャネルトランジスタ6
1a,61bが直列に接続されている。そしてこれら4
つのトランジスタのゲートは共通して入力端子1に接続
され、出力端子2がトランジスタ51b,61aのドレ
インに共通して接続されている。ノードM1 はトランジ
スタ51aのドレインとトランジスタ51bのソースが
接続された点であり、ノードM2 はトランジスタ61b
のドレインとトランジスタ61aのソースが接続された
点である。
【0044】このように構成された回路において、入力
端子1に第1番目の定常値として“H”を与えた場合に
は、トランジスタ61a,61bはオンしてノードM2
は“L”となる。しかしノードM1 は“Z”となる。ス
テップS41aではこのような“Z”となるようなノー
ドを検出する。
【0045】続いてステップS41bでは、ステップS
41aで求められたノードの名前を配列highz-nodeに格
納する。以上のようにして定常解が求まらない場合が多
いハイインピーダンス状態のノードがステップS41に
よって検出、格納される。
【0046】(B−3)ハイインピーダンス状態のノー
ドへのノード電圧の設定の仕方:一旦ハイインピーダン
ス状態のノードが検出されてしまえば、従来の技術の様
にしてここに同一の固定電位点0Vを与えて回路シミュ
レーションを行うことも可能である。しかし統一的に固
定電位を与えてノード解析をおこなっても定常状態にお
ける実際のノード電圧からかけ離れている場合があるの
で、回路方程式の解の収束性が悪いという問題点は残っ
てしまう。
【0047】このため、ステップS42において、ハイ
インピーダンス状態のノードへは単に同一の固定電位を
与えるのではなく、より実際の動作に近いノード電圧を
設定する。図9はステップS42の内容を説明する回路
図であり、回路構成は図8に示されたものと同一であ
る。
【0048】図8を用いて説明されたように、入力端子
1に第1番目の定常値“H”が与えられた場合にはノー
ドM1 は“Z”となっている。しかし第2番目の定常値
は“L”であり、入力端子1にこれが与えられると、ノ
ードM1 は“Z”から“H”へと変化する。この発明で
は、このようにしてハイインピーダンス状態のノードが
次に遷移する状態を用いてノード電圧の初期値とする。
この場合、ノードM2は“L”から“Z”へと遷移し、
ハイインピーダンス状態となるが、既に第1番目の定常
値に対してハイインピーダンス状態ではなかったので、
以後の処理において新たにノード電圧を設定されること
はない。
【0049】ステップS42aにおいて回路解析の回数
が1だけ増加される。これはステップS42lと共にル
ープを形成し、最終回数n=Eまでの間、ステップS4
2b〜S42mが繰り返される。その繰り返しは一応、
入力テストパターン31の第2番目の定常値を用いる場
合から始まって順次第3番目、第4番目と進められ、第
E番目の定常値を用いる場合で終了するが、後述するよ
うにステップS42mによって繰り返しから脱出するこ
ともある。
【0050】ステップS42bでは、第n番目(2≦n
≦E)の定常値を用いてステップS41aと同様にして
回路解析を行う。例えば図9の例で言えばノードM1
2がそれぞれ“H”,“Z”であることが解析され
る。この後、ステップS42cにおいて、配列highz-no
deの引数d、配列nodeの引数e、配列nodeset の引数s
のそれぞれに初期値“1”を与えられる。
【0051】そしてステップS42k及びステップS4
2lによってステップS42d〜S42jが繰り返さ
れ、この繰り返しによって、配列highz-nodeに格納され
たノード、即ちステップS41bによって第1番目の定
常値に対してハイインピーダンス状態であると判断され
た最初のノードから最後のノード迄の全てに対してステ
ップS42d〜S42jの処理が行われる。
【0052】ステップS42dは配列highz-nodeに格納
されたノードのうち、未だノード電圧の設定の済んでい
ないもののみを処理するための判断ステップであり、実
在しないノード名“0”が格納されている場合にはステ
ップS42e〜ステップS42jの処理が行われること
なくステップS42kに移る。ここで、実在しないノー
ド名“0”はノード電圧の設定の済んたノードの代わり
として、ステップS42iによって格納される。
【0053】ステップS42dによってノード電圧の処
理が未だであると判断される、highz-node(d)に格納
されたノードは、その解析値が“Z”であるか否かが判
断される。もし解析値が“Z”であるならば、highz-no
de(d)に格納されたノードは第1番目の定常値に対し
てハイインピーダンス状態であると判断されているので
あるから、第n番目まで引き続いてハイインピーダンス
状態にあることになる。入力テストパターン31が単一
の信号からなる場合には定常値は2種しか採りえないの
でn=2で十分であるが、複数の信号から構成される場
合、特にそのうちの一つがクロック信号である場合など
は、多くの定常値による解析が必要となる。
【0054】ステップS42eにより、今回の解析で初
めてハイインピーダンス以外の状態になったノードに対
し、ステップS42fによってその解析値が“X”か否
かが判断される。その解析値が“X”でない場合には
“H”又は“L”であり、図9で示した場合がこれに相
当する。そして現在着目しているノード(highz-node
(d)に格納されていたノード)がステップS42gに
よって配列 node の内のnode(e)に格納される。ま
た、ステップS42hによってその解析値が配列 nodes
etの内の nodeset(s)に与えられる。そしてステップ
S42iによって、もはや現在着目しているノードがこ
れ以降ハイインピーダンス状態であったことを考慮され
ないように、実在しないノード名“0”が代替して格納
される。また、ステップS42jによって引数e,sが
1増加して更新される。
【0055】一方、ステップS42fにおいて、解析値
が“X”であるとされたノードに対しては、ノード電圧
の設定を行う必要がないとして直ちにステップS42i
の処理が行われる。
【0056】ステップS42c〜S42kの各ステップ
が実行された後、ステップS41aでハイインピーダン
ス状態であると判断されたノードの全てに関して、ノー
ド電圧の設定がなされたか否かが判断される(ステップ
S42m)。そして全てに関して設定が終了していれ
ば、もはやこれ以上入力テストパターンの定常値による
解析は不要であるのでステップS43へと進む。もしこ
の設定が終了していなければステップS42nへ進み、
続いて回路解析を行うか否かが判断される。
【0057】多くの場合、回路シミュレーションで必要
な長さだけ入力テストパターン31は作成されており、
これから得られる第1乃至第E番目の定常値を用いれば
通常は必要なノード電圧の設定は全て終了する。よって
ステップS42nでは繰り返しをn=Eまでとしてい
る。
【0058】ステップS42によって、ハイインピーダ
ンス状態から“H”または“L”に遷移したノードが配
列配列 node に、またその解析値が配列 nodesetに、そ
れぞれ格納されているので、これらを出力することで図
5に示されたノード電圧情報が求められる。
【0059】(B−4)具体例:以上に示された手順を
具体的に回路に適用した場合について従来の技術との比
較において説明する。図10はCMOS回路の一例を示
す回路図であり、ノードP1 〜P11が設定されている。
この回路において論理“H”は5Vに、また論理“L”
は0Vに、それぞれ対応している。
【0060】この回路において、まず従来の技術を用い
た場合として、初期電圧設定を行わずにこの回路の入力
端であるノードP4 に入力テストパターンを与えて回路
シミュレーションを行う場合を考える。図11は回路シ
ミュレーションにおいて用いられる入力テストパターン
を示すグラフである。
【0061】この場合、各ノードP1 〜P11のノード電
圧V1 〜V11は、数2のようになり、この結果からノー
ドP11において不安定なノード電圧が得られることがわ
かる。
【0062】
【数2】
【0063】次に図6のフローチャートによって示され
た手順を用いて図10の回路に対して電圧の初期設定を
行う場合を説明する。まずステップS41aに従い、1
回目の回路解析を行う。この場合に用いられる定常値
は、図11のグラフに示された入力テストパターンが0
〜20nsにおいて採る電圧5Vであり、これは論理
“H”に対応する。よって各ノードP1 〜P11の論理Q
1 〜Q11は数3のようになる。
【0064】
【数3】
【0065】続いてステップS41bに従い、“Z”を
採るノードを全て配列highz-nodeに格納する。ここでノ
ードに対応してノードの添字の数を格納する。よって、
配列highz-nodeは数4に示されるように3つの元を持
つ。
【0066】
【数4】
【0067】ステップS42aによってn=2が得ら
れ、ステップS42bによって2回目の回路解析が行わ
れる。この場合に用いられる定常値は、図11のグラフ
に示された入力テストパターンが20〜50nsにおい
て採る電圧0Vであり、これは論理“L”に対応する。
よって各ノードP1 〜P11の論理Q1 〜Q11は数5のよ
うになる。
【0068】
【数5】
【0069】ステップS42cにおいてd=1となり、
highz-node(1)及びその解析値がステップS42dか
ら続く判断ステップにおいて吟味される。highz-node
(1)は数4からわかるように“7”であって“0”で
はないので、ステップS42eへと進む。highz-node
(1)の解析値は数5からわかるように“L”であり、
“Z”ではないのでステップS42fへと進む。また
“X”でもないのでステップS42gへと進む。
【0070】ステップS42cにおいてe=1とされて
いたので、ステップS42gにおいてnode(1)にhigh
z-node(1)の値“7”が格納される。またステップS
42cにおいてs=1とされていたので、ステップS4
2hにおいて nodeset(1)にhighz-node(1)の解析
値“L”が格納される。
【0071】この後、ステップS42iによってhighz-
node(1)には値“0”が格納され、ステップS42j
によってe=2,s=2となる。
【0072】ステップS42kにおいてhighz-node
(1)が配列highz-nodeの最後か否かが判断されるが、
配列highz-nodeの最後はhighz-node(3)であり、ここ
ではステップS42lへと進む。そしてステップS42
lによってd=2とされ、ステップS42dに戻り、hi
ghz-node(2)及びその解析値がステップS42dから
続く判断ステップにおいて吟味される。
【0073】結局、highz-node(1),highz-node
(2),highz-node(3)及びこれらの解析値について
の吟味が行われ、3回目にステップS42jが実行され
るときには数6の結果が得られている。
【0074】
【数6】
【0075】ステップS42kに進み、配列highz-node
の全ての元が“0”となるので、ステップS42nを経
由することなく(即ち3回目の回路解析を行うことな
く)、ステップS43へ進む。ステップS43では数6
で示されたnode(i), nodeset(i)(但しi=1〜
3)が出力される。ここで論理“H”,“L”はそれぞ
れ電圧5V,0Vに置換される。よって初期電圧設定と
しては、
【0076】
【数7】
【0077】が得られる。この初期電圧が図5に示され
たノード電圧情報33に相当する。これを用いて、図5
に示された回路シミュレータにおいて回路シミュレーシ
ョンを行うと、数8に示されるような各ノード電圧が求
められる。
【0078】
【数8】
【0079】数8においては、数2において不安定であ
ったノード電圧V11の値が5(V)となって安定してお
り、しかも図10に示された回路においては妥当な電圧
であることがわかる。
【0080】以上に述べたように、第2実施例では、初
期状態においてハイインピーダンス状態となるノードに
適切にノード電圧を設定できるので、その後の回路シミ
ュレーションにおいて解の収束率が向上し、解析時間の
短縮と人手作業の軽減を図ることが可能となる。
【0081】C.第3実施例:第2実施例においては、
ハイインピーダンス状態のノードを検出するのに入力テ
ストパターン31の第1番目の定常値を用いたが、他の
方法により求めることもできる。この第3実施例におい
てはハイインピーダンス状態のノードを検出するのに回
路の接続関係のみを考察することによりハイインピーダ
ンス状態のノードを検出する。但し、第3実施例の基本
的な工程図は図5に示されたものと同様である。
【0082】(C−1)基本的な流れの説明:図12は
第3実施例における収束率向上装置32の動作を示すフ
ローチャートである。図6に示された、第3実施例にお
ける収束率向上装置32の動作を示すフローチャートと
類似しており、第3実施例のステップS50〜S53は
それぞれ第2実施例のステップS40〜43に対応して
いる。
【0083】ステップS50ではステップS40と同様
にして、配列のクリア等が行われる。そしてステップS
51において、ハイインピーダンス状態のノードが検出
され、配列highz-nodeに格納される。ステップS51で
は、MOSトランジスタのソースまたはドレインの内、
電源(高い電位VDD,低い電位GND(接地))及び
ゲートのいずれとも接続されていないノードを検出する
ものである。このようなノードは初期状態においてハイ
インピーダンス状態に陥りやすいためである。
【0084】図13はMOSトランジスタのソースまた
はドレインの内、VDD,GND及びゲートのいずれと
も接続されていないノードを例示する回路図である。P
チャネルトランジスタ51とNチャネルトランジスタ6
1のソースはそれぞれVDD,GNDに接続され、また
互いのゲートは入力端子1aに共通して接続されてい
る。トランジスタ51,61のドレインは共通してPチ
ャネルトランジスタ52bのゲートに接続されており、
トランジスタ52bのソースはVDDに接続されてい
る。Pチャネルトランジスタ52aのソース及びドレイ
ンはそれぞれトランジスタ52bのソース及びドレイン
に接続され、ゲートはNチャネルトランジスタ62bの
ゲートと共通して入力端子1bに接続されている。トラ
ンジスタ62bのソースはGNDに接続され、またドレ
インはトランジスタ62aのソースに接続されている。
出力端子2はトランジスタ62a,52a,52bのド
レインに共通して接続されている。
【0085】ここでノードM3 ,M4 をそれぞれトラン
ジスタ51のソース及びドレインに、ノードM5 をトラ
ンジスタ61のソースに、そしてノードM6 をトランジ
スタ62bのドレインに、それぞれ設定した場合を考え
る。ノードM3 はVDDに接続されているのでハイイン
ピーダンス状態ではない。また、ノードM4 はトランジ
スタ62aのゲートに、ノードM5 はGNDに、それぞ
れ接続されているのでこれらもハイインピーダンス状態
ではない。しかし、ノードM6 はトランジスタ62aの
ソースに接続されているのみで、VDD,GND、ゲー
トのいずれにも接続されていない。第3実施例ではこの
ようなノードがハイインピーダンス状態に陥り易いとし
て検出し、適切なノード電圧を設定するものである。
【0086】(C−2)手順の詳細な説明:図14はス
テップS51の詳細を示すフローチャートである。ステ
ップS51はステップS51b〜S51jの繰り返し処
理から構成されており、各トランジスタのドレインとソ
ースに付されたノードの番号(ノード番号)iを変えて
この繰り返し処理が行われる。
【0087】まずステップS51aにおいて、ドレイン
又はソースのいずれかに接続されているノードの番号の
最小値をiとして代入する。そしてステップS51bに
おいて、着目しているノード(ノード番号i)がVDD
と接続されているのか否かが判断される。接続されてい
るのであれば、ハイインピーダンス状態とならないので
直ちにステップS51iに進む。ノード番号iで示され
るノードがVDDと接続されていない場合には、ステッ
プS51cによってGNDと接続されているか否かが判
断される。接続されているのであれば、ハイインピーダ
ンス状態とならないので直ちにステップS51iに進
む。ノード番号iで示されるノードがGNDと接続され
ていない場合にはステップS51dに進み、ゲートに接
続されているノードのノード番号の最小値をjに代入す
る。この後、ステップS51e〜51gによってゲート
と接続されているか否かが判断される。
【0088】ステップS51f,51gはゲートに対応
するノード番号jに関して走査を行う。現在着目してい
るノード(ノード番号i)がノード番号jに対応するノ
ードに一致すればハイインピーダンス状態とならないの
で、ステップS51eによってステップS51iに進
む。一方、全てのゲートに対してノード番号iのノード
が接続されていない場合には、ステップS51hによっ
て配列highz-nodeにノード番号iが格納される。ハイイ
ンピーダンス状態にあると判断される為である。
【0089】ステップS51iにおいて、iがドレイン
またはソースに接続されているノードのノード番号の最
大値か否かが判断され、そうでなければステップS51
jによって次に吟味すべき「ドレインまたはソースに接
続されているノード」に着目する。もしiがドレインま
たはソースに接続されているノードのノード番号の最大
値であれば、「ドレインまたはソースに接続されている
ノード」の全てに関して、VDD,GND、ゲートのい
ずれかに接続されているか否かの吟味が終了したのであ
るから、ステップS52へと進む。
【0090】図12に戻って、ステップS51において
配列highz-nodeに格納されたノード番号に対応するノー
ドへ、ステップS52によってノード電圧の設定が行わ
れる。第2実施例とは異なり、ハイインピーダンス状態
の検出には入力テストパターンの第1番目の定常値が用
いられないので、ステップS52においてはn=1〜E
めでの繰り返し処理が行われる。これ以外の手順につい
ては第2実施例に示されたステップS42と同一であ
る。ステップS53に関しても第2実施例に示されたス
テップS43と同一であるため、ここでは説明を繰り返
さない。
【0091】(C−3)具体例:図14に示された手順
を具体的に回路に適用した場合について説明する。ここ
でも(B−4)と同様にして図10に示されたCMOS
回路を用いて説明する。但し、ノード番号はノードP1
〜P11の添字に該当するものとする。
【0092】ステップS51aにおいてi=1が定ま
り、ステップS51bにおいては“Y”の結果が得られ
る。そして「ドレインまたはソースに接続されているノ
ード」はP11であり、そのノード番号は11であるの
で、ステップS51iにおいては“N”の判断がなされ
る。そしてステップS51jによって「ドレインまたは
ソースに接続されているノード」の内、そのノード番号
が1の次に小さいもの、即ち2以上のノード番号を持つ
ノードであって、ドレイン又はソースに接続されている
もののノード番号がiに代入される。図10に即してい
えば、i=2となる。
【0093】次にノードP2 に対して、VDDに接続さ
れているか否かの判断がステップS51bにおいて行わ
れる。その結果は“N”であり、ステップS51cにお
いてGNDに接続されているか否かの判断がなされる。
その結果は“N”であり、ステップS51dに進む。
【0094】ステップS51dにおいてj=2が定めら
れ、ステップS51eを経由してステップS51iに進
む。これによってノードP2 に対する吟味は終了し、ス
テップS51jによってノードP3 に対する吟味が開始
される。ノードP3 に関してもノードP2 と同じ手順を
辿る。
【0095】ノードP4 はドレインにもソースにも接続
されていないので、ノードP3 の次に吟味の対象となる
のはステップS51jによってノードP5 に決定され
る。そしてステップS51b,S51cのいずれにおい
ても“N”の判断がなされ、j=2に対するステップS
51eの判断も“N”となる。
【0096】そこでステップS51fに進み、ノードP
2 が、ゲートに接続されたノードの内、そのノード番号
が最も大きいものか否かが判断される。ゲートに接続さ
れたノードの内、そのノード番号が最も大きいものはP
4 であり、ステップS51fにおいて“N”の判断がな
されるので、ステップS51gに進み、j=3となる。
【0097】そしてステップS51e,S51f,S5
1gが繰り返され、j=4に対してもiはこれに等しく
ないので、ついにステップS51hに達する。これによ
って、ノードP5 はハイインピーダンス状態になる可能
性があると判断されるのである。そこで、ステップS5
1hにおいて、配列highz-nodeにおいてi=5が代入さ
れる。
【0098】以上のような手順の繰り返しにより、ノー
ドP1 ,P2 ,P3 ,P5 ,P6 ,P7 ,P8 ,P9
10,P11が、ゲートに接続されたノードP2 ,P3
4あるいはVDD,GNDのいずれかに接続されてい
るか否かが吟味される。その結果、配列highz-nodeは数
9に示されるように7つの元を備える。
【0099】
【数9】
【0100】この後は、第2実施例と同様にしてステッ
プS52において初期電圧値が次のように求まる。
【0101】
【数10】
【0102】この後、回路シミュレーションを行えば、
第2実施例と同様にして数8の結果が得られる。
【0103】以上に示されたように第3実施例において
も第2実施例と同様に、初期状態においてハイインピー
ダンス状態となるノードを検出し、これに適切にノード
電圧を設定するので第2実施例と同様の効果を得ること
ができる。
【0104】
【発明の効果】以上のようにこの発明の回路シミュレー
ション方法によれば、収束性の低いノードに適切な電圧
を設定し、これを初期値として回路方程式を解くので、
その収束性が向上し、定常解が得やすいという効果があ
る。
【図面の簡単な説明】
【図1】この発明の第1実施例を示すフローチャートで
ある。
【図2】この発明の第1実施例を説明する回路図であ
る。
【図3】この発明の第1実施例を説明する回路図であ
る。
【図4】この発明の第1実施例を説明する回路図であ
る。
【図5】この発明の第2実施例を説明する工程図であ
る。
【図6】この発明の第2実施例を示すフローチャートで
ある。
【図7】この発明の第2実施例を説明する波形図であ
る。
【図8】この発明の第2実施例を説明する回路図であ
る。
【図9】この発明の第2実施例を説明する回路図であ
る。
【図10】この発明の第2実施例を説明する回路図であ
る。
【図11】この発明の第2実施例を説明するグラフであ
る。
【図12】この発明の第3実施例を示すフローチャート
である。
【図13】この発明の第3実施例を説明する回路図であ
る。
【図14】この発明の第3実施例を示すフローチャート
である。
【図15】従来の技術を示すフローチャートである。
【図16】従来の技術を説明する回路図である。
【符号の説明】
1 〜M6 ,N1 〜N26 ノード 71〜73 インバータ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数の素子がノードにおいて互いに接続
    されて構成される回路である原回路の動作をシミュレー
    トする回路シミュレーション方法であって、 (a)前記ノードのうち、その電圧を求める際に解が収
    束しないものを非収束ノードとして検出する工程と、 (b)前記素子のうち、前記非収束ノードに接続される
    ものを論理素子に変換し、前記原回路から変換済回路を
    求める工程と、 (c)前記変換済回路の各ノードの電圧を求める工程
    と、 (d)前記工程(c)で求められた電圧を原回路用初期
    値として用い、前記原回路の回路方程式を解く工程と、
    を備える回路シミュレーション方法。
  2. 【請求項2】 前記工程(a)は、 (a−1)前記原回路の接続関係を求める工程と、 (a−2)前記ノードの内、前記原回路の接続関係から
    直ちに電圧が求められる第1のノードの電圧を求める工
    程と、 (a−3)前記第1のノード以外の前記ノードである第
    2のノードに同一の電圧を設定する工程と、 (a−4)前記第1及び第2のノードの電圧を第1の初
    期値として用い、前記原回路の回路方程式を解く工程
    と、 (a−5)前記工程(a−4)において解が収束しない
    ノードを、非収束ノードとして検出する工程と、を備え
    る、請求項1記載の回路シミュレーション方法。
  3. 【請求項3】 前記工程(c)は、 (c−1)前記変換済回路の接続関係を求める工程と、 (c−2)前記ノードの内、前記変換済回路の接続関係
    から直ちに電圧が求められる第3のノードの電圧を求め
    る工程と、 (c−3)前記第3のノード以外の前記ノードである第
    4のノードに同一の電圧を設定する工程と、 (c−4)前記第3及び第4のノードの電圧を第2の初
    期値として用い、前記変換済回路の回路方程式を解く工
    程と、を備える、請求項2記載の回路シミュレーション
    方法。
  4. 【請求項4】 定常値である2値の間を遷移する少なく
    とも一つの信号から成る入力テストパターンを、複数の
    素子がノードにおいて互いに接続されて構成される回路
    に与えて、前記回路の動作をシミュレートする回路シミ
    ュレーション方法であって、 (a)前記ノードのうちハイインピーダンス状態にある
    ものを、前記回路の接続関係から検出して第1のノード
    とする工程と、 (b)前記入力テストパターンに従って前記定常値を順
    次与え、前記第1のノードのうち、2値論理のいずれか
    に対応する電圧が求められたものを第2のノードとして
    検出する工程と、 (c)前記第2のノード及び前記第2のノードに対応す
    る電圧を初期値として前記回路の回路方程式を解く工程
    と、を備える、回路シミュレーション方法。
  5. 【請求項5】 前記工程(a)は、 (a−1)前記入力テストパターンの最初の前記定常値
    を前記回路に与えた場合においてハイインピーダンス状
    態となるノードを検出して前記第1のノードとする工程
    を有する請求項4記載の回路シミュレーション方法。
  6. 【請求項6】 前記回路はCMOSトランジスタ及び電
    源から構成され、前記工程(a)は、 (a−2)各々の前記トランジスタのドレイン及びソー
    スのうち、自身以外の前記トランジスタのゲート及び前
    記電源のいずれにも直接には接続されていないものを前
    記第1のノードとする工程を有する請求項4記載の回路
    シミュレーション方法。
JP5264847A 1993-10-22 1993-10-22 回路シミュレーション方法 Pending JPH07121578A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5264847A JPH07121578A (ja) 1993-10-22 1993-10-22 回路シミュレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5264847A JPH07121578A (ja) 1993-10-22 1993-10-22 回路シミュレーション方法

Publications (1)

Publication Number Publication Date
JPH07121578A true JPH07121578A (ja) 1995-05-12

Family

ID=17409045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5264847A Pending JPH07121578A (ja) 1993-10-22 1993-10-22 回路シミュレーション方法

Country Status (1)

Country Link
JP (1) JPH07121578A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140309A (ja) * 2007-12-07 2009-06-25 Fujitsu Ltd 電圧分布検出装置及び電圧分布検出方法
JP2014199604A (ja) * 2013-03-29 2014-10-23 富士通株式会社 解析支援装置、解析支援方法、および解析支援プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009140309A (ja) * 2007-12-07 2009-06-25 Fujitsu Ltd 電圧分布検出装置及び電圧分布検出方法
JP2014199604A (ja) * 2013-03-29 2014-10-23 富士通株式会社 解析支援装置、解析支援方法、および解析支援プログラム
US9026979B2 (en) 2013-03-29 2015-05-05 Fujitsu Limited Analysis support apparatus, analysis support method, and computer product

Similar Documents

Publication Publication Date Title
US7049865B2 (en) Power-on detect circuit for use with multiple voltage domains
US20190228691A1 (en) Circuit working state testing method and testing device
JP2007065538A (ja) 駆動回路のテスト方法及び表示装置の駆動回路
US6453437B1 (en) Method and system for performing transition fault simulation along long circuit paths for high-quality automatic test pattern generation
US20080313517A1 (en) Debug circuit
US7024345B1 (en) System and method for testing parameterized logic cores
JPH07121578A (ja) 回路シミュレーション方法
CN107844678B (zh) 包含IP/Memory时序路径的spice仿真方法
US20040044976A1 (en) Static timing analysis and performance diagnostic display tool
US7506284B2 (en) Event driven switch level simulation method and simulator
US6606733B2 (en) Method and system for finding static NAND and NOR gates within a circuit and identifying the constituent FETs each gate
JP4538714B2 (ja) テスタシミュレーション装置及びテスタシミュレーション方法
JP2010256175A (ja) 半導体集積回路装置の、検査装置および検査方法
JP2000111616A (ja) 論理回路のテスト方法および論理回路のテスト装置
Renovell et al. Improving defect detection in static-voltage testing
EP1730660A2 (en) Method for simulating a circuit in the steady state
JPH10247208A (ja) 集積回路の試験方法および試験装置
JP4548985B2 (ja) 回路解析装置
US20090106010A1 (en) Technique for digital circuit functionality recognition for circuit characterization
JP2006331212A (ja) 論理シミュレーション方法及びその装置
JPH1131164A (ja) 回路シミュレーション方法および装置
JPH0954145A (ja) 集積回路の故障診断装置
CN116011364A (zh) 晶体管的退化结果的提取方法、可靠性分析方法
Saleh et al. Benchmark circuits for mixed-mode simulators
JP2000250953A (ja) 回路検証用シミュレーション装置及び回路検証用シミュレーション方法