(57)【特許請求の範囲】
【請求項１】
線形回路を含む回路をシミュレーションする回路シミュレータであって、
線形回路の解析について、複数の擬似可変ステップ毎に、線形素子で構成される線形部に相当する線形回路行列のＬＵ分解の結果を対応させて記憶するＬＵ分解結果記憶領域と、
前記ＬＵ分解結果記憶領域を参照して、実行中の解析ステップと一致する前記擬似可変ステップの対応する前記ＬＵ分解結果を読み出すＬＵ分解結果読出手段と、
前記ＬＵ分解結果を用いて線形回路行列方程式を解く第一解析手段とを有する回路シミュレータ。
【請求項２】
所定基本ステップを用いて前記複数の擬似可変ステップを生成する擬似可変ステップ手段と、
前記複数の擬似可変ステップ毎に線形回路行列要素を算出する第一行列要素算出手段と、
前記線形回路行列要素に基づく前記線形行列に対してＬＵ分解を行うＬＵ分解手段と、
前記擬似可変ステップ手段によって生成された前記複数の擬似可変ステップ毎に、前記ＬＵ分解手段によって得られた前記ＬＵ分解を対応させて前記ＬＵ分解結果記憶領域に記憶させるＬＵ分解結果記憶手段とを有することを特徴とする請求項１記載の回路シミュレータ。
【請求項３】
前記擬似可変ステップ手段によって生成された前記複数の擬似可変ステップを記憶する擬似可変ステップ記憶領域と、
前記線形部をシミュレーションする次の解析ステップを前記擬似可変ステップ記憶領域を参照することによって決定する次の解析ステップ決定手段とを有することを特徴とする請求項２記載の回路シミュレータ。
【請求項４】
前記次の解析ステップ決定手段は、前回ステップを伸長した次のステップに最も近い前記擬似可変ステップを選択して前記次の解析ステップとして決定することを特徴とする請求項３記載の回路シミュレータ。
【請求項５】
前記回路が線形部と非線形部の混合で構成されている場合には、前記回路を線形部と非線形部とに分割する分割手段を有することを特徴とする請求項１記載の回路シミュレータ。
【請求項６】
前記分割手段は、
前記回路の回路行列を用いて前記線形部に相当する線形回路行列と、前記非線形部に相当する非線形回路行列とを生成することによって、前記回路を分割することを特徴とする請求項５記載の回路シミュレータ。
【請求項７】
前記非線形部に対して非線形回路行列方程式を解く第二解析手段と、
少なくとも前記第一解析手段による第一解析結果又は前記第二解析手段による第二解析結果が収束したか否かを判断する収束判断手段とを有することを特徴とする請求項１記載の回路シミュレータ。
【請求項８】
前記非線形部に対して非線形回路行列方程式を解く第二解析手段と、
少なくとも前記第一解析手段による第一解析結果又は前記第二解析手段による第二解析結果が収束したか否かを判断する収束判断手段とを有し、
前記収束判断手段によって前記第一解析手段による第一解析結果が収束しないと判断された場合、前記第二解析手段による第二解析結果を電圧源として前記非線形部に属する非線形外部端子に接続する第一外部端子接続手段を有することを特徴とする請求項１記載の回路シミュレータ。
【請求項９】
コンピュータが線形回路を含む回路をシミュレーションする回路シミュレーション方法であって、該コンピュータが、
線形回路の解析について、複数の擬似可変ステップ毎に、線形素子で構成される線形部に相当する線形回路行列のＬＵ分解の結果を対応させてＬＵ分解結果記憶領域に記憶するＬＵ分解結果記憶手順と、
前記ＬＵ分解結果記憶領域を参照して、実行中の解析ステップと一致する前記擬似可変ステップの対応する前記ＬＵ分解結果を読み出すＬＵ分解結果読出手順と、
前記ＬＵ分解結果を用いて線形回路行列方程式を解く第一解析手順とを実行する回路シミュレーション方法。
【請求項１０】
線形回路を含む回路をシミュレーションする回路シミュレーション処理をコンピュータに行わせるプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、該コンピュータに、
線形回路の解析について、複数の擬似可変ステップ毎に、線形素子で構成される線形部に相当する線形回路行列のＬＵ分解の結果を対応させてＬＵ分解結果記憶領域に記憶させるＬＵ分解結果記憶手順と、
前記ＬＵ分解結果記憶領域を参照して、実行中の解析ステップと一致する前記擬似可変ステップの対応する前記ＬＵ分解結果を読み出すＬＵ分解結果読出手順と、
前記ＬＵ分解結果を用いて線形回路行列方程式を解く第一解析手順とを実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路シミュレータに関し、特に、回路を構成する素子の特性に応じた処理を行うことによって回路シミュレーションを高速に行う回路シミュレータに関する。
【背景技術】
【０００２】
汎用の回路シミュレータは、回路を構成する素子の特性が線形的なもの（抵抗・容量・インダクタンスなど）と、線形的でないもの（ＭＯＳトランジスタ、ダイオードなど）を総括的にシミュレーションしている。回路のシミュレーションでは、データ量を大量に発生させ、処理時間がかかると言った問題があった。【０００３】
そのため、シミュレーション時間を短縮し、シミュレーション結果のデータ量を削減するために、例えば、特開２００３−３３７８４２号公報（特許文献１）は、基本動作を確認する第一回目のシミュレーションの結果を解析し、回路動作の詳細な解析が必要であると判断された場合に、解析ステップを細かく設定して第二回目のシミュレーションを行うことを提案している。【０００４】
また、設計者の解析時間を削減すると共に回路の収束性を向上させるために、例えば、特開２００２−１９７１３２号公報（特許文献２）は、本解析実施前に被試験回路における初期条件の直流特性値を求めるため、入力データに指定されている電源素子を緩起動特性を有し設定電位に到達後この設定電位を予め定めた収束判定時刻まで保持する緩起動電源素子に変更し、緩起動期間に予備過渡解析を実行し、収束判定時刻に到達した時点の被試験回路の各接点の電位をこの被試験回路の動作点として設定し、この動作点の設定後に本解析を実行することにより、予備過渡解析中に回路の各節点の変化を計算し、収束判定を行うので、入力データの動作点が求まったかどうかを自動的に判断することを提案している。【０００５】
更に、解曲線の追跡を高安定及び高精度とするために、例えば、特開２００２−３１８９９０号公報（特許文献３）は、誤差の推定値と誤差の許容値との比較結果に基づいて、小さなステップ幅を計算することによって、最適なステップ幅に制御することを提案している。
【特許文献１】特開２００３−３３７８４２号公報
【特許文献２】特開２００２−１９７１３２号公報
【特許文献３】特開２００２−３１８９９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
回路は線形素子と非線形素子とで構成され、線形素子の特性は、電流変化／電圧変化比が電圧に因らず一定であるが、非線形素子の特性は、電流変化／電圧変化比が一定でない。そのため、回路を解析する場合、非線形素子の特性によって縮められた解析ステップにて、線形素子に対しても同時に処理が行われるため、不要な解析ステップにて処理が行われると言った問題があった。【０００７】
上述したような従来の回路シミュレーションでは、線形素子の特性と、非線形素子の特性との違いを考慮したシミュレーション方法が提案されていないため、回路を構成する素子の特性を考慮した効率的な解析を行うことができない。【０００８】
本発明はこのような問題点に鑑みてなされたものであり、回路を構成する素子の特性に応じた処理を行うことによって回路シミュレーションを高速に行う回路シミュレータを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、上記課題を解決するため、本発明は、線形回路を含む回路をシミュレーションする回路シミュレータであって、線形回路の解析について、複数の擬似可変ステップ毎に、線形素子で構成される線形部に相当する線形回路行列のＬＵ分解の結果を対応させて記憶するＬＵ分解結果記憶領域と、前記ＬＵ分解結果記憶領域を参照して、実行中の解析ステップと一致する前記擬似可変ステップの対応する前記ＬＵ分解結果を読み出すＬＵ分解結果読出手段と、前記ＬＵ分解結果を用いて線形回路行列方程式を解く第一解析手段とを有するように構成される。
【００１０】
このような回路シミュレータでは、回路構成の線形部に対する解析ステップを解析処理の開始から終了まで、ユーザが指定した解析ステップに基づいて、予め想定したいくつかの解析ステップを用いて、また、予め算出したＬＵ分解結果を用いるため、解析処理を高速にて行うことが可能となる。従って、回路全体の解析処理を高速で行えるようになる。【００１１】
上記課題を解決するための手段として、本発明は、回路シミュレーション方法、また、回路シミュレーション処理をコンピュータに行わせるプログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【００１２】
本発明によれば、回路構成の線形部に対する解析ステップを解析処理の開始から終了まで、ユーザが指定した解析ステップに基づいて、予め想定したいくつかの解析ステップを用いて、また、予め算出したＬＵ分解結果を用いるため、解析処理を高速にて行うことが可能となる。従って、回路全体の解析処理を高速で行えるようになる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係るシミュレータのハードウェア構成を示すブロック図である。
【図２】本発明の実施形態に係る回路シミュレーション処理の概要を説明するためのフローチャート図である。
【図３】回路行列を用いた分割処理を説明するための略図である。
【図４】図２のステップＳ１２にて行われる線形回路を解析する第一解析処理を説明するためのフローチャート図である。
【図５】次の解析ステップ決定処理を説明するためのフローチャート図である。
【図６】図２のステップＳ３２にて行われる非線形回路を解析する第二解析処理を説明するためのフローチャート図である。
【図７】図２のステップＳ１３での収束判断処理を説明するためのフローチャート図である。
【符号の説明】
【００１４】
２０          回路行列
３０          線形回路行列
３１          線形要素部
３２          線形外部端子部
４０          非線形回路行列
４１          非線形要素部
４２          非線形外部端子部
５１          ＣＰＵ
５２          メモリユニット
５３          表示ユニット
５４          出力ユニット
５５          入力ユニット
５６          通信ユニット
５７          記憶装置
５８          ドライバ
５９          記憶媒体
７１          第一解析結果記憶領域
７２          第二解析結果記憶領域
７５          結合結果記憶領域
８０          擬似可変ステップ記憶領域
８１          ＬＵ分解結果記憶領域
１００        シミュレータ
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態を図面に基づいて説明する。【００１６】
本発明では、回路を構成する素子のうち、抵抗、容量、インダクタンスなどの特性が線形的な素子による構成部分を線形部とし、また、ＭＯＳトランジスタ、ダイオードなどの特性が非線形的な素子による構成部分を非線形部とし、線形部の線形回路と非線形部の非線形回路に対する解析処理を個別に行うことによって、回路シミュレーション処理をより高速に行うことを実現する。【００１７】
本実施形態におけるシミュレータ１００は、例えば、図１に示すようなハードウェア構成を有する。図１は、本発明の一実施形態に係るシミュレータのハードウェア構成を示すブロック図である。【００１８】
図１において、シミュレータ１００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）５１と、メモリユニット５２と、表示ユニット５３と、出力ユニット５４と、入力ユニット５５と、通信ユニット５６と、記憶装置５７と、ドライバ５８とで構成され、システムバスＢに接続される。【００１９】
ＣＰＵ５１は、メモリユニット５２に格納されたプログラムに従ってシミュレータ１００を制御する。メモリユニット５２は、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read-Only Memory）等にて構成され、ＣＰＵ５１にて実行されるプログラム、ＣＰＵ５１での処理に必要なデータ、ＣＰＵ５１での処理にて得られたデータ等を格納する。また、メモリユニット５２の一部の領域が、ＣＰＵ５１での処理に利用されるワークエリアとして割り付けられている。【００２０】
表示ユニット５３は、ＣＰＵ５１の制御のもとに必要な各種情報を表示する。出力ユニット５４は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット５５は、マウス、キーボード等を有し、利用者がシミュレータ１００で処理を行なうための必要な各種情報を入力するために用いられる。通信ユニット５６は、シミュレータ１００が例えばインターネット、ＬＡＮ（Local Area Network）等を介して外部装置と接続する場合に、シミュレータ１００と外部装置との間の通信制御をするための装置である。記憶装置５７は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム等のデータを格納する。【００２１】
シミュレータ１００よって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体５９によってシミュレータ１００に提供される。即ち、プログラムが保存された記憶媒体５９がドライバ５８にセットされると、ドライバ５８が記憶媒体５９からプログラムを読み出し、その読み出されたプログラムがシステムバスＢを介して記憶装置５７にインストールされる。そして、プログラムが起動されると、記憶装置５７にインストールされたプログラムに従ってＣＰＵ５１がその処理を開始する。尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本発明に係る処理を実現するプログラムは、通信ユニット５６によってネットワークを介してダウンロードし、記憶装置５７にインストールするようにしても良い。【００２２】
ＣＰＵ５１によって実行される本発明の実施形態に係る回路シミュレーション処理では、回路行列を用いて回路を線形部と非線形部とに分割し、線形部に対応する第一解析処理を行い、非線形部に対する第二解析処理を行い、それら解析結果を波形緩和法によって収束させる。【００２３】
図２は、本発明の実施形態に係る回路シミュレーション処理の概要を説明するためのフローチャート図である。【００２４】
図２に示すフローチャートにおいて、Ａ側での処理が線形部に対する処理であり、Ｂ側での処理が非線形部に対する処理である。ＣＰＵ５１は、ユーザの入力によって回路データを取得し（ステップＳ１）、回路行列を生成する（ステップ２）。ユーザは、素子間を接続するための結線情報と、解析ステップなどの解析制御情報を入力する。ＣＰＵ５１は、回路行列を用いて回路を線形部と非線形部とに分割する分割処理を行う（ステップＳ３）。【００２５】
まず、Ａ側の線形部に対する処理について説明する。ＣＰＵ５１は、回路行列内の非線形部に属する非線形外部端子をゼロ（０）に初期化して（ステップＳ１１）、線形回路を解析する第一解析処理を行う（ステップＳ１２）。【００２６】
波形緩和ループにおいて、初回解析であるか否かを判断する（ステップＳ１２−２）。初回の解析であるとき、ＣＰＵ５１は、線形回路の解析結果を、電圧源として非線形回路に属する線形外部端子に接続する（ステップ１５）
一方、波形緩和ループにおいて、２回目以降の解析であるとき、第一解析処理による解析結果に基づいて、収束判断処理を実行して非線形回路の非線形外部端子の電圧が収束したか否かを判断する（ステップＳ１３）、収束判断結果が未収束であることを示すか否かを判断する（ステップＳ１４）。【００２７】
ステップＳ１４にて収束判断結果が未収束であることを示す場合、ＣＰＵ５１は、非線形回路の解析結果を、電圧源として非線形回路に属する非線形外部端子に接続する（ステップＳ１５）。【００２８】
一方、ステップＳ１４にて収束判断結果が収束を示す場合、線形回路の解析結果と非線形回路の解析結果に基づいて結合した結合結果を結合結果記憶領域７５に出力して（ステップＳ１６）、回路シミュレーションを終了する。【００２９】
次に、Ｂ側の非線形部に対する処理について説明する。ステップＳ３の後、ＣＰＵ５１は、回路行列内の線形部に属する線形外部端子をゼロ（０）に初期化して（ステップＳ３１）、非線形回路を解析する第二解析処理を行う（ステップＳ３２）。【００３０】
波形緩和ループにおいて、初回解析であるか否かを判断する（ステップＳ３２−２）。初回の解析であるとき、ＣＰＵ５１は、非線形回路の解析結果を、電圧源として線形回路に属する非線形外部端子に接続する（ステップ３５）
一方、波形緩和ループにおいて、２回目以降の解析であるとき、第二解析処理による解析結果に基づいて、収束判断処理を実行して線形回路の線形外部端子の電圧が収束したか否かを判断する（ステップＳ１３）、収束判断結果が未収束であることを示すか否かを判断する（ステップＳ１４）。【００３１】
ステップＳ１４にて収束判断結果が未収束であることを示す場合、ＣＰＵ５１は、線形回路の解析結果を、電圧源として線形回路に属する線形外部端子に接続する（ステップＳ３５）。【００３２】
一方、ステップＳ１４にて収束判断結果が収束を示す場合、線形回路の解析結果と非線形回路の解析結果に基づいて結合した結合結果を結合結果記憶領域７５に出力して（ステップＳ１６）、回路シミュレーションを終了する。【００３３】
図２のステップＳ３における回路行列を用いて回路を線形部と非線形部とに分割する分割処理と、波形緩和ループによる結合処理とについて、図３に示す略図で説明する。図３は、回路行列を用いた分割処理を説明するための略図である。【００３４】
図３において、図２のステップＳ２によって生成された回路全体の回路行列２０に対して、例えば、非線形部がサブサーキットとして構成されている場合、ＣＰＵ５１は、回路構成を記述している回路構成データから非線形回路を呼び出しているサブサーキットを削除することによって、線形回路部分と非線形回路部分との分割を行う。【００３５】
例えば、回路がＰＣＢ（Printed Circuit Board）とＬＳＩ（Large Scale Integration）とが一体化した回路構成である場合、ＰＣＢ上に搭載されるＬＳＩ回路がサブサーキットとして定義されており、ＰＣＢの回路構成を記述した回路構成データからサブサーキットを呼び出すことによって、ＬＳＩと一体化してモデル化している。【００３６】
ＬＳＩ内部は、抵抗、容量、インダクタンスの他にｍｏｓｆｅｔなどの非線形素子によって記述されている。このような回路モデルにおいて、サブサーキットの外部端子がＰＣＢとの接続部分（パッケージのピンなど）である。ＰＣＢとＬＳＩの接続部分には、微小抵抗が直列接続されている。【００３７】
従って、サブサーキットを削除した回路構成から得られる回路行列を線形要素部３１とし、ＬＳＩに相当する部分を非線形要素部４１とすることによって、線形回路部分と非線形回路部分とを分割することができる。【００３８】
そして、非線形要素部４１と、非線形外部端子部４２と、線形端子部３２とによって、非線形回路行列４０が生成される。また、線形要素部３１と、非線形外部端子部４２と、線形端子部３２とによって、線形回路行列３０が生成される。【００３９】
このように生成された、すなわち回路行列２０から分離された線形回路行列３０と非線形回路行列４０とは、夫々所定の記憶領域に格納されて、第一解析処理及び第二解析処理と、波形緩和ループ（図２のステップＳ１２からステップＳ１５の繰り返し処理及びステップＳ３２からステップＳ３５の繰り返し処理）とによる処理の間使用される。【００４０】
図２のＡ側の線形部に対する処理では、線形回路行列３０が参照される。ステップＳ１１にて線形回路行列３０の非線形外部端子部４２が０Ｖ（電圧ゼロ）に初期化され、ステップＳ１２にて線形回路行列３０を用いて線形回路を解析する（第一解析処理）。また、ステップＳ１５にて、波形緩和ループによって線形回路行列３０の非線形外部端子部４２（非線形外部端子の電圧）が収束するまで、ステップＳ３２で取得した非線形回路の解析結果（非線形外部端子の電圧）が、線形回路行列３０の非線形外部端子部４２に設定される。【００４１】
同様に、図２のＢ側の非線形部に対する処理では、非線形回路行列４０が参照される。ステップＳ３１にて非線形回路行列４０の線形外部端子部３２が０Ｖ（電圧ゼロ）に初期化され、ステップＳ３２にて非線形回路行列４０を用いて非線形回路を解析する（第二解析処理）。また、ステップＳ３５にて、波形緩和ループによって非線形回路行列４０の線形外部端子部３２（線形外部端子の電圧）が収束するまで、ステップＳ１２で取得した線形回路の解析結果（線形外部端子の電圧）が、非線形回路行列４０の線形外部端子部３２に設定される。【００４２】
本実施例では、線形外部端子の電圧を折れ線電源として定義し、非線形外部端子に接続する。同様に、非線形外部端子の電圧を折れ線電源として定義し、線形外部端子に接続する。【００４３】
従って、互いに他方の解析結果を用いることによって、線形外部端子３２と非線形外部端子部４２の電圧が収束した時、線形回路行列３０と非線形回路行列４０とが結合したと見なすことができる。【００４４】
次に、図２のステップＳ１２にて行われる線形回路を解析する第一解析処理について図４で説明する。図４は、図２のステップＳ１２にて行われる線形回路を解析する第一解析処理を説明するためのフローチャート図である。【００４５】
線形部が電流変化に対する電圧変化の比は電圧に因らず一定である。従って、図４に示す第一解析処理では、予め数種類の解析ステップを擬似可変ステップとして用意しておき、解析ステップ毎に線形回路行列３０を計算して記憶領域に保存しておき、解析ステップに対応した線形回路行列３０を参照して回路方程式の解を求めることを繰り返す。【００４６】
先ず、ＣＰＵ５１は、ユーザに指定された解析ステップをΔｔとする（ステップＳ５１）。ＣＰＵ５１は、図２のステップＳ１にてユーザから取得しておいた解析制御情報からΔｔを取得して解析ステップとする。【００４７】
ＣＰＵ５１は、解析ステップΔｔを用いて、複数の擬似可変ステップΔｔ／２、Δｔ／４、・・・、２Δｔ、４Δｔ、・・・を決定して、擬似可変ステップ記憶領域８０に格納する（ステップＳ５２）。ユーザが指定した解析ステップΔｔに対して、その１／２、１／４、１／８、１／１６、・・・、２倍、４倍、８倍、１６倍、・・・のように等比数列的な倍数を擬似可変ステップとして予め決定しておいてもよい。また、ユーザが指定した解析ステップΔｔに対して、１／２、１／３、１／４、１／５、・・・、２倍、３倍、４倍、５倍、・・・のように等差数列的な倍数を擬似可変ステップとして予め決定しておいてもよい。このように複数の擬似可変ステップとして量子化しておく。【００４８】
そして、ＣＰＵ５１は、各擬似可変ステップに対応する回路行列要素を計算して、回路行列要素をＬＵ分解した結果としてＬＵ分解後の回路行列を擬似可変ステップと対応付けてＬＵ分解結果記憶領域８１に保存する（ステップＳ５３）。【００４９】
ＣＰＵ５１は、解析ステップΔｔを現在解析時刻ｔｉｍｅ＿ｐｒｅとに設定しておく。また、ユーザから取得した解析制御情報から解析を開始して終了するまでの時間を取得して最終解析時刻ｔｉｍｅ＿ｅｎｄに設定する。【００５０】
その後、ＣＰＵ５１は、現在解析時刻ｔｉｍｅ＿ｐｒｅが最終解析時刻ｔｉｍｅ＿ｅｎｄとなったか否かを判断する（ステップＳ５４）。【００５１】
現在解析時刻ｔｉｍｅ＿ｐｒｅが最終解析時刻ｔｉｍｅ＿ｅｎｄとなった場合、第一解析処理を終了する。一方、ステップＳ５４において、現在解析時刻ｔｉｍｅ＿ｐｒｅが最終解析時刻ｔｉｍｅ＿ｅｎｄとなっていない場合、ＣＰＵ５１は、ＬＵ分解結果記憶領域８１から解析ステップΔｔに一致する擬似可変ステップを検索し、その擬似可変ステップに対応するＬＵ分解結果を読み出す（ステップＳ５５）。【００５２】
そして、ＣＰＵ５１は、ＬＵ分解結果記憶領域８１から読み出したＬＵ分解結果を用いて回路方程式を、前進代入及び後退代入を行いながらニュートン反復処理を行うことによって収束解を得る（ステップＳ５６）。ＣＰＵ５１は、その収束解を第一解析結果として第一解析結果記憶領域７１へ出力する（ステップＳ５７）。【００５３】
その後、ＣＰＵ５１は、解析ステップΔｔを前回ステップΔｔ＿ｐｒｅに設定して、次の解析ステップ決定処理を行い（ステップＳ５８）、ステップＳ５４へと戻る。【００５４】
次の解析ステップ決定処理について図５で説明する。図５は、次の解析ステップ決定処理を説明するためのフローチャート図である。図５において、ＣＰＵ５１は、前回ステップΔｔ＿ｐｒｅの２倍を次のステップΔｔ＿ｎｅｘｔに設定する（ステップＳ６１）。【００５５】
そして、ＣＰＵ５１は、現在解析時刻ｔｉｍｅ＿ｐｒｅに次のステップΔｔ＿ｎｅｘｔを加えた値が、折れ線電源の次の定義時刻ｔｉｍｅ＿ｄｅｆを超えているか否かを判断する（ステップＳ６２）。折れ線電源の次の定義時刻ｔｉｍｅ＿ｄｅｆを超えていない場合、ステップＳ６４へと進む。【００５６】
一方、ステップＳ６２において、折れ線電源の次の定義時刻ｔｉｍｅ＿ｄｅｆを超えている場合、次のステップΔｔ＿ｎｅｘｔに、次の定義時刻ｔｉｍｅ＿ｄｅｆから現在解析時刻ｔｉｍｅ＿ｐｒｅを減算した値を設定する（ステップＳ６３）。【００５７】
このようなステップＳ６２の判断によって、波形変化のない状態での解析ステップを伸長させておくことができる。【００５８】
そして、ＣＰＵ５１は、擬似可変ステップ記憶領域８０を参照して、予め定義しておいた擬似可変ステップのうち、最も次のステップΔｔ＿ｎｅｘｔに近い値の擬似可変ステップを選択し、その擬似可変ステップを解析ステップΔｔに設定し（ステップＳ６４）、次の解析ステップ決定処理を終了する。【００５９】
次に、図２のステップＳ３２にて行われる非線形回路を解析する第二解析処理について図６で説明する。図６は、図２のステップＳ３２にて行われる非線形回路を解析する第二解析処理を説明するためのフローチャート図である。【００６０】
非線形部の電流変化に対する電圧変化の比は一定ではない。従って、図６に示す第二解析処理では、非線形部の電流変化に対する電圧変化の比が大きい状態では、解析ステップを細かくし、この比が小さい状態では解析ステップを大きくして、その解析ステップにて非線形回路行列の要素を算出し、ＬＵ分解を行い、そして回路方程式の解を求めることを繰り返す。【００６１】
先ず、ＣＰＵ５１は、ユーザに指定された解析ステップをΔｔとする（ステップＳ７１）。【００６２】
ＣＰＵ５１は、解析ステップΔｔを前回ステップΔｔ＿ｐｒｅと、現在解析時刻ｔｉｍｅ＿ｐｒｅとに設定しておく。また、ユーザから取得した解析制御情報から解析を開始して終了するまでの時間を取得して最終解析時刻ｔｉｍｅ＿ｅｎｄに設定する。その後、ＣＰＵ５１は、現在解析時刻ｔｉｍｅ＿ｐｒｅが最終解析時刻ｔｉｍｅ＿ｅｎｄとなったか否かを判断する（ステップＳ７２）。【００６３】
現在解析時刻ｔｉｍｅ＿ｐｒｅが最終解析時刻ｔｉｍｅ＿ｅｎｄとなった場合、第二解析処理を終了する。一方、ステップＳ７２において、現在解析時刻ｔｉｍｅ＿ｐｒｅが最終解析時刻ｔｉｍｅ＿ｅｎｄとなっていない場合、ＣＰＵ５１は、非線形回路行列４０の回路行列要素を計算し、ＬＵ分解を行う（ステップＳ７３）。【００６４】
そして、ＣＰＵ５１は、前進代入及び後退代入を行いながらニュートン反復処理を行うことによって収束解を得える（ステップＳ７４）。ニュートン反復処理によって変数値は修正される。ＣＰＵ５１は、その収束解を第二解析結果として第二解析結果記憶領域７２へ出力する（ステップＳ７５）。【００６５】
その後、ＣＰＵ５１は、次の解析ステップ決定処理を行い（ステップＳ７６）、ステップＳ７２へと戻る。【００６６】
次に、図２のステップＳ１３での収束判断処理について図７で説明する。図７は、図２のステップＳ１３での収束判断処理を説明するためのフローチャート図である。【００６７】
収束判断処理は、図２のステップ１２の第一解析処理の後に実行される場合には、第一解析結果記憶領域７１を参照し、図２のステップ３２の第二解析処理の後に実行される場合には、第二解析結果記憶領域７２を参照する。また、収束判断処理が使用する外部端子電圧記憶領域７７は、線形部に対する処理（図２のＡ側）に使用される領域と、非線形部に対する処理（図２のＢ側）に使用される領域とを有する。【００６８】
図７において、説明の便宜上、例えば、線形外部端子と非線形外部端子とを総称して外部端子とするなど、線形及び非線形を省略して説明する。【００６９】
ＣＰＵ５１は、外部端子電圧格納領域７７から前回の外部端子の電圧を取得する（ステップＳ８２）。また、ＣＰＵ５１は、第一解析結果記憶領域７１又は第二解析結果記憶領域７２を参照して、今回の解析結果から外部端子の電圧を取得して外部端子電圧格納領域７７に保存する（ステップＳ８３）。【００７０】
そして、ＣＰＵ５１は、今回の外部端子の電圧と、前回の外部端子の電圧との差分を算出し（ステップＳ８４）、その差分が許容誤差の範囲以内であるか否かを判断する（ステップＳ８５）。差分が許容誤差の範囲以内でない場合、ＣＰＵ５１は、収束判断結果として未収束を設定する（ステップＳ８５−４）。【００７１】
一方、ステップＳ８４にて差分が許容誤差の範囲以内であると判断した場合、ＣＰＵ５１は、収束判断結果として収束を設定する（ステップＳ８６）。【００７２】
上述より、本発明では、線形部に対する処理において、予め、設定されうる解析ステップを複数の擬似可変ステップとして作成し、各擬似可変ステップでの線形回路部に対するＬＵ分解結果を算出する。【００７３】
そのため、線形回路を解析する第一解析処理にて実際に解析ステップとして設定された擬似可変ステップでのＬＵ分解を、第一解析処理が実行される毎に行う必要がない。従って処理時間及びＣＰＵ５１の負荷を軽減させることができ、高速処理を実現できる。【００７４】
また、図３に示すように、回路行列２０から線形回路行列３０と非線形回路行列４０とを生成するため、線形回路に対する処理と非線形回路に対する処理とを個別に実行させることが可能となる。従って、線形回路に対する処理は、非線形素子の特性に因らず処理を行うことができる。【００７５】
本発明は、具体的に開示された実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図１】
0004486693.tif 000002
【図２】
0004486693.tif 000003
【図３】
0004486693.tif 000004
【図４】
0004486693.tif 000005
【図５】
0004486693.tif 000006
【図６】
0004486693.tif 000007
【図７】
0004486693.tif 000008