(57)【要約】【課題】既存のGminステッピング法は全ノードに一律の仮想コンダクタンスを挿入するため、仮想コンダクタンスを小さくして最終解を得る繰り返しの処理の過程で得る、この仮想コンダクタンスでの暫定解が次の仮想コンダクタンスの値での初期値として、解からはずれる、といった危険性を防止する。【解決手段】付加する仮想コンダクタンスの値をノード毎に独立した値をとることができるようにし、さらに、個々の仮想コンダクタンスの値を、回路方程式を解く際のそのノードの安定性を基準に変更する機能を有することにより、回路中で回路方程式の導出が困難なノードに対して集中的に大きな既成コンダクタンスを挿入でき、前記ノード以外は早期に最終的な回路状態にすることができ、これにより、暫定解が続く仮想コンダクタンスの値での暫定解導出の初期値としてより解に近いものとする可能性を高めることができる。【選択図】図１
2006178872.tif 000002
【特許請求の範囲】
【請求項１】
全ノードについて独立した値をとり得る仮想コンダクタンスの値を初期化する工程と、前記仮想コンダクタンスを、回路方程式を立てる前に対応したノードに付加する工程と、各ノードの仮想コンダクタンス値を変更する工程と、前記仮想コンダクタンス値を付加した回路から回路方程式を立て、暫定解を導出する工程からなることを特徴とする回路シミュレーション方法。
【請求項２】
暫定解導出時のノードの電圧の変化を基準として、電圧を算出しやすいノードの仮想コンダクタンスは早期に０に近づくように、電圧を算出しにくいノードの仮想コンダクタンスは安定性の高いノードの仮想コンダクタンスの値に比べて大きく保つように、各ノードの仮想コンダクタンスの値を変更することを特徴とする請求項１記載の回路シミュレーション方法。
【請求項３】
請求項１または請求項２記載の回路シミュレーション方法を実行させる制御手段を有することを特徴とする回路シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを用いたシミュレーション方法およびシミュレーション装置に関するもので、特に、大規模回路に対して円滑な解を導出する回路シミュレーション方法に関するものである。
【背景技術】
【０００２】
回路シミュレータは、修正節点解析法を元に回路中にあるノードの電圧、素子を流れる電流についての連立方程式を立て、これを解くことにより回路全体の電圧、電流の値を得る。解の導出はニュートン・ラプソン法と呼ばれる、非線形方程式を線形近似し、繰り返し法により最終解を導出するアルゴリズムを基本としている。
【０００３】
解の導出に失敗する場合は、解の発散、振動の２種類に分類される。解の発散とは、繰り返し計算の過程で求める暫定解が繰り返しを続けるに従って無限大になっていく状況を指す。解の振動とは、同じく繰り返し計算の過程で求まる暫定解が２世代以上前に求めた暫定解と一致し、それ以降の暫定解が一定周期で過去の暫定解と一致し続ける状況を指す。
【０００４】
これらの課題を解決するため、従来の回路シミュレーション方法は、繰り返し計算の過程で解の振動を検証し、振動していると判定された場合には乱数を用いて計算により導出された値からずらすことで解の振動を回避している（例えば、特許文献１参照）。
【０００５】
また、先の手法とは別に回路シミュレータには解を円滑に導出するためにニュートン・ラプソン法と組み合わせて適用するいくつものアルゴリズムが備えられている。代表的な手法としてGminステッピング法、ソース・ステッピング法、擬似過渡解析法がよく知られている。
【０００６】
Gminステッピング法は、回路の全ノードに一律の仮想コンダクタンス（以下、Gminと称する）を挿入するものである。
【０００７】
図２はGminステッピング法による従来のシミュレーション方法を示すフローチャートであり、まず、Gminの値を初期化する（工程１−１）。次に、回路方程式にGminによる寄与分を加味する（工程１−２）。そして、回路方程式をニュートン・ラプソン法で解き、回路の暫定解を得る（工程１−３）。ここで、暫定解が正常に得られたかどうかを判定する（工程１−４）。暫定解の導出に失敗した場合（工程１−４のNo）、Gminの再設定を行い、Gminの値を元の値よりも小さくする（工程１−５）。ここで、Gminの縮小幅が、基準値εrよりも小さな値であるかどうか判定する（工程１−６）。真と判定された場合、解の導出に失敗したと見なし、処理を終了する。偽と判定された場合は、Gminを設定しなおして工程２へ戻る。
【０００８】
暫定解の導出に成功していれば（工程４のYes）、Gmin値が基準値ε以下かどうかを検査する（工程１−７）。これが真と判定された場合は、今得られている暫定解を最終解として解の導出を正常に得られたとして終了する。偽と判定された場合は、Gminを小さな値にして、工程１−２へ戻る（工程１−８）。
【０００９】
始めはGminの値を十分に大きな値にしておくと、回路の状態がGminにより支配的になるため安定して暫定解が求められる。以下Gminの値を小さくし、かつ直前の繰り返しで得られた暫定解を次の繰り返し計算での電圧、電流値の初期値として計算を行い、次の繰り返しでの暫定解を得る。Gminの値が十分小さいと判定された時点での暫定解を回路の最終解とする。
【００１０】
これらは、ニュートン・ラプソン法において、解に十分近い初期値を与えると必ず解を計算できるという定理に基づいて組み込まれている。
【特許文献１】特開２００２−１９７４０１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、Gminステッピング法で挿入するGminは、すべてのノードに一律に挿入されるため、繰り返しの過程では全ノードがGminによる影響を受け、前の繰り返しでの暫定解とは異なる暫定解を得る。
【００１２】
このことは各繰り返し計算での初期値が全ノード、電流について変わっていくことを意味しており、安定して解を導出できる回路に対しては影響が小さいものの、解の導出が困難な回路では初期値が暫定解に対して大きく異なる値をとり、ニュートン・ラプソン法による暫定解の導出が失敗する危険性を高めることになる。
【００１３】
本発明は、このような暫定解導出を悪化させる状況を回避し、暫定解を安定して導出できるようにすることを実現した回路シミュレーション方法および回路シミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
前記目的を達成するため、本発明の回路シミュレーション方法は、全ノードについて独立した値をとり得る仮想コンダクタンスの値を初期化する工程と、前記仮想コンダクタンスを、回路方程式を立てる前に対応したノードに付加する工程と、各ノードの仮想コンダクタンス値を変更する工程と、前記仮想コンダクタンス値を付加した回路から回路方程式を立て、暫定解を導出する工程からなることを特徴とする。
【００１５】
また本発明の回路シミュレーション方法は、暫定解導出時のノードの電圧の変化を基準として、電圧を算出しやすいノードの仮想コンダクタンスは早期に０に近づくように、電圧を算出しにくいノードの仮想コンダクタンスは安定性の高いノードの仮想コンダクタンスの値に比べて大きく保つように、各ノードの仮想コンダクタンスの値を変更することを特徴とする。
【００１６】
また本発明の回路シミュレーション装置は、前記回路シミュレーション方法を実行させる制御手段を有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、回路中で電圧の算出が容易なノードは早期に仮想コンダクタンスが挿入されていない、回路の本来の状態になり、電圧の算出が困難なノードに仮想コンダクタンスが集中して加えられ、繰り返し計算における初期値としてより最終解に近い値を提供することを可能にする。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００１９】
図１は本発明の回路シミュレーション方法の実施形態における解の導出工程を示すフローチャートである。
【００２０】
始めに、全ノードに付加するGminの値Gmin(n)とGminの変化係数Gminratio(n)を初期化する。Gmin(n)には、それぞれのノードでの接地に対するインピーダンスに比べて十分に小さな値を指定する。Gminratio(n)には、１よりも大きな値を設定する（工程１）。
【００２１】
次に、回路方程式にGmin(n)による寄与分を加味する（工程２）。そして、回路方程式をニュートン・ラプソン法で解き、回路の暫定解を得る（工程３）。ここで、暫定解が正常に得られたかどうかを判定する（工程４）。暫定解の導出に失敗した場合（工程４のNo）、Gmin(n)の各々を直前に暫定解の導出に成功した際の値に戻す。そして、Gminratio(n)を元の値よりも小さくする（工程５）。ここで、基準値εrよりも小さな値のGminratio(n)がひとつでもあるかどうか判定する（工程６）。真と判定された場合、解の導出に失敗したと見なし、処理を終了する。偽と判定された場合は、改めてGmin(n)にGminratio(n)を掛けてGmin(n)を設定しなおして工程２へ戻る。
【００２２】
暫定解の導出に成功していれば（工程４のYes）、全ノードのGmin値が基準値ε以下かどうかを検査する（工程７）。これが真と判定された場合は、今得られている暫定解を最終解として解の導出を正常に得られたとして終了する。偽と判定された場合は、Gmin(n)のそれぞれの値を対応するGminratio(n)を使って以前よりも小さな値にして、工程２へ戻る。
【００２３】
このような工程を行うような機能を果たすコンピュータ制御手段が本発明の回路シミュレーション装置に備えられている。
【００２４】
図３は図１の工程５の詳細を示すフローチャートであり、全ノードについて回路方程式を解く際の非収束項に該当するかどうか判定する。該当しないノードについてはそのまま工程６に移行する。該当するノードについてはGminratio(n)の値を縮小して工程６に移行する。
【００２５】
図４は図１に示すシミュレーション方法を説明するための対象回路の一例を示す回路図である。この回路は、２入力ＮＯＲ回路２つで構成されたＳＲフリップフロップであり、net１〜net7の７つのノードがある。入力はnet1とnet5、出力はnet2とnet3である。また、電源ノードはnet7である。
【００２６】
本実施形態では、net1，net5，net７に５Ｖの電圧源を印加した際のＤＣＯＰ解の導出を例とする。回路方程式は電圧だけでなく素子を流れる電流成分についても式を立てるが、本実施形態ではノード電圧に着目して定性的に説明する。
【００２７】
３つの電圧源により、net1，net5，net７は５Ｖに固定される。また、２つのNMOSFET素子M4，M8はゲート電圧がnet1，net5で与えられるため、ドレイン・ソース間は低インピーダンスとなる。したがって、net4，net6はほぼ０Ｖになる。PMOSFET素子M2，M6はそのゲートにソースと同じ５Ｖが印加されているのでドレイン・ソース間はハイ・インピーダンスになる。したがって、これら２素子はnet2，net3の電圧決定する要因にはならない。残るnet2，net3の電圧だけが未確定なままになる。
【００２８】
はじめに、図１において、工程１でnet1〜net7にそれぞれ仮想コンダクタンスGmin(1)〜Gmin(7)と変化係数Gminratio(1)〜Gminratio(7)を定義する。ここでは、Gmin(n)には１ジーメンスを、Gminratio(n)には9を割り当てるものとする。
【００２９】
次に、工程２、工程３でGmin(n)を加えた回路方程式を解き、暫定解を導出する。Gmin(n)が１の際には、net2ではGmin(2)とM5のドレイン・ソース間のインピーダンス、net3ではGmin(3)とM2のドレイン・ソース間のインピーダンスにつりあう電圧が暫定解となる。MOSFETのドレイン・ソース間電流Idは、（数１）の式に表される。
【００３０】
【数１】
2006178872.tif 000003
ただし、Zは素子のチャネル幅、Lは素子のチャネル長、μnはチャネル内での電子の移動度、Coxは単位面積当たりのゲート酸化膜の容量、Vgsはゲート・ソース間電圧、Vdsはドレイン・ソース間電圧を表わす。この式を解くことにより、１ジーメンスのGmin(n)につりあうゲート電圧は０Ｖに近い値になることがわかる。
【００３１】
この時点では、すべてのノードは電圧源、または接地に対するインピーダンスが小さいので安定して暫定解を得られる。収束後、工程７でGmin(1)〜Gmin(7)の値を評価する。
【００３２】
ここでは基準値εとして１×１０-12を設定する。評価の結果、いずれも基準値εには達していないので全Gmin(n)を変化係数Gminratio(n)を用いて小さな値にする。本実施形態では、
【００３３】
【数２】
2006178872.tif 000004
とする。
【００３４】
（数２）の式より、全ノードについて、Gmin(n)は、０.１へ更新される。この後、新しいGmin(n)の値で工程２へ戻る。この繰り返しを続けることで、Gmin(n)は次第に小さな値になる。
【００３５】
net2で、Gmin(2)がM6のドレイン・ソース間インピーダンスと同程度または小さな値になり、net3でGmin(3)がM1のドレイン・ソース間インピーダンスと同程度または小さな値になると、net2の電圧とnet3の電圧は本来の状態である互いに相手の論理反転した電圧になろうとする。しかしながら、それまでの暫定解を得る繰り返し計算において、Gmin(2)、Gmin(3)の寄与によりnet2とnet3は同じ電圧になっている。そのため、この２つのノードはここでの繰り返しでは発振に近い不安定な状態になる。すなわち、工程３のニュートン・ラプソン法による暫定解導出の際にこれら２つのノードが収束しないために繰り返し演算をこれまでよりも多く必要とする。
【００３６】
工程３で暫定解の導出に失敗すると、工程５に進む。ここでGminratio(n)を小さくして、前の繰り返しで得た暫定解からあまり大きく状態を変えないようにしてニュートン・ラプソン法での暫定解の導出可能性を高める。ここで、Gminratio(n)の値を変更する基準に工程３でのノードの不安定性を加味し、不安定ならばより小さな値に設定する。Gminratio(n)が小さくなると、他のノードに比べてGmin(n)が小さくなる比率が減少し、相対的に大きな値Gmin(n)をとるようになる。
【００３７】
これにより、Gmin(2)とGmin(3)は他のGmin(n)に比べ大きな値をとるようになる。この更新されたGmin(n)値で工程２へ戻る。これらの流れを繰り返すことで、最終的にすべてのGmin(n)が基準値εよりも小さい場合の暫定解を得た時点で、その暫定解を最終回として処理を終了する。
【産業上の利用可能性】
【００３８】
本発明にかかる回路シミュレーション方法および回路シミュレーション装置は、大規模回路、または高インピーダンスノードや高い増幅利得を持つ回路ブロックを有する回路のシミュレーションにおいて、より安定して解を導出する手法として有用である。
【図面の簡単な説明】
【００３９】
【図１】本発明の回路シミュレーション方法の実施形態における解の導出工程を示すフローチャート
【図２】Gminステッピング法による従来のシミュレーション方法を示すフローチャート
【図３】図１の工程５の詳細を示すフローチャート
【図４】図１に示すシミュレーション方法を説明するための対象回路の一例を示す回路図
【符号の説明】
【００４０】
net１〜net7  ノード
M1，M2，M5，M6  PMOSFET素子
M3，M4，M7，M8  NMOSFET素子
Gmin(1)〜Gmin(7)  仮想コンダクタンス
Gminratio(1)〜Gminratio(7)  変化係数
【図１】
2006178872.tif 000005
【図２】
2006178872.tif 000006
【図３】
2006178872.tif 000007
【図４】
2006178872.tif 000008