(57)【要約】【課題】測定対象回路における信号の遅延時間を精度良く計算することができる回路解析方法、回路解析プログラム、及び回路シミュレーション装置を提供することにある。【解決手段】本発明による回路シミュレーション装置１０は、ネットリスト１０１に基づいて回路方程式１０２を生成する回路方程式生成部２２１と、解析時刻ｔにおける回路方程式１０２の解を求める回路方程式計算部２２２と、その解を用いて算出される第１の時間幅１０５と、固定値である第２の時間幅２３のどちらか一方を次の時間幅として選択するタイムステップ見積方式選択部２２３とを具備する。回路方程式計算部２２２は、選択された次の時間幅を用いて、次の解析時刻における回路方程式１０２の解を求める。【選択図】図２
2007328386.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて回路解析を行う方法であって、
（Ａ）ネットリスト情報を読み込んで回路方程式を生成するステップと、
（Ｂ）解析時刻における前記回路方程式の解を求めるステップと、
（Ｃ）前記解を用いて算出される第１の時間幅と、固定値である第２の時間幅のどちらか一方を次の時間幅として選択するステップと、
（Ｄ）前記次の時間幅を用いて、次の解析時刻における前記回路方程式の解を求めるステップとを具備する
回路解析方法。
【請求項２】
請求項１に記載の回路解析方法において、
前記ステップ（Ｃ）は、
前記ステップ（Ｂ）において求められた解が所定の値を超えるかどうかを判定するステップと、
前記解が前記所定の値を超える場合、前記第２の時間幅を次の時間幅として選択するステップとを備える
回路解析方法。
【請求項３】
請求項２に記載の回路解析方法において、
前記ステップ（ｃ）は、
前記解が前記所定の値を超えない場合、前記第１の時間幅を次の時間幅として選択するステップを更に備える
回路解析方法。
【請求項４】
請求項１から３いずれか１項に記載の回路解析方法において、
前記第２の時間幅は、前記第１の時間幅より小さい
回路解析方法。
【請求項５】
請求項１から４いずれか１項に記載の回路解析方法において、
目標値を設定するステップと、
第１の時刻における前記回路方程式の第１の解を算出するステップと、
前記第２の時間幅を用いた次の第２の時刻における前記回路方程式の第２の解を算出するステップと、
前記第１の解と、前記第２の解との間に前記目標値が存在する場合、前記第１の解と前記第２の解とを補完して前記目標値に対応する時間を算出するステップとを更に具備する
回路解析方法。
【請求項６】
請求項１から５いずれか１項に記載の回路解析方法において、
前記第１の時間幅は打ち切り誤差（Ｌｏｃａｌ  Ｔｒｕｃｔｉｏｎ  Ｅｒｒｏｒ）を判定基準として算出される
回路解析方法。
【請求項７】
請求項１から６いずれか１項に記載の回路解析方法をコンピュータに実行させる
回路解析プログラム。
【請求項８】
ネットリスト情報を読み込んで回路方程式を生成する回路方程式生成部と、
解析時刻における前記回路方程式の解を求める回路方程式計算部と、
前記解を用いて算出される第１の時間幅と、固定値である第２の時間幅のどちらか一方を次の時間幅として選択するタイムステップ見積方式選択部とを具備し、
前記回路方程式計算部は、前記次の時間幅を用いて、次の解析時刻における前記回路方程式の解を求める
回路シミュレーション装置。
【請求項９】
請求項８に記載の回路シミュレーション装置において、
前記タイムステップ見積方式選択部は、
前記回路方程式計算部において求められた解が所定の値を超えるかどうかを判定し、前記解が前記所定の値を超える場合、前記第２の時間幅を次の時間幅として選択する
回路シミュレーション装置。
【請求項１０】
請求項９に記載の回路シミュレーション装置において、
前記タイムステップ見積方式選択部は、前記解が前記所定の値を超えない場合、前記第１の時間幅を次の時間幅として選択する
回路シミュレーション装置。
【請求項１１】
請求項８から１０いずれか１項に記載の回路シミュレーション装置において、
前記第２の時間幅は、前記第１の時間幅より小さい
回路シミュレーション装置。
【請求項１２】
請求項８から１１いずれか１項に記載の回路シミュレーション装置において、
目標値を設定する入力装置と、
前記回路方程式計算部で算出される解を用いて、前記目標値に対応する時間を算出する遅延時間算出部とを更に具備し、
前記回路方程式計算部は、第１の時刻における前記回路方程式の第１の解と、前記第２の時間幅を用いた次の第２の時刻における前記回路方程式の第２の解とを算出し、
前記遅延時間算出部は、第１の解と第２の解との間に前記目標値が存在する場合、前記第１の解と前記第２の解とを補完して前記目標値に対応する時間を算出する
回路シミュレーション装置。
【請求項１３】
請求項８から１２いずれか１項に記載の回路シミュレーション装置において、
打ち切り誤差（Ｌｏｃａｌ  Ｔｒｕｃｔｉｏｎ  Ｅｒｒｏｒ）を判定基準として前記第１の時間幅を算出するタイムステップ計算部を更に具備する
回路シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路解析方法、回路解析プログラム、及び回路シミュレーション装置に関し、特に回路内にける信号の遅延時間を解析する回路解析方法、回路解析プログラム、及び回路シミュレーション装置に関する。
【背景技術】
【０００２】
回路シミュレータ（ｃｉｒｃｕｉｔ  ｓｉｍｕｌａｔｏｒ）は，電子回路のアナログ動作を模擬するＥＤＡ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ）ツールである。代表的な回路シミュレータとしてＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）がある。回路シミュレータには、回路内トランジスタレベルの接続情報と素子の電気的特性（モデルパラメータ（が入力され、回路内のノード電圧と素子に流れる電流の直流特性，時間応答，及び周波数応答を出力する。又、回路シミュレータは、トランジスタレベルの回路設計に使われる。特に、フルカスタムＬＳＩやメモリＬＳＩ、アナログＩＣの設計には不可欠なＥＤＡツールである。素子寸法や電気的パラメータのバラつきが回路特性に与える影響の解析や、配線やＳｉ基板を介した寄生雑音の影響の解析などにも活用されている。
【０００３】
現在、回路シミュレータでは、入力される条件情報やネットリストに基づきノード電圧や素子に流れる電流値を算出する。例えば、特開平１１−３３８８９６号公報に記載の回路シミュレータがある（特許文献１参照）。従来技術による回路シミュレータが解析を行う際、主に修正節点法と呼ばれる回路方程式の定式化方法が用いられる。又、解析式を使ったデバイスモデルが利用される。修正節点法では、回路内のノード電圧と電圧源素子に流れる電流を変数として、キルヒホッフの電流電圧法則に基づき行列式を生成する。デバイスモデルは、個々のトランジスタに流れる電流を計算するために、実測した電気特性（電流−電圧特性と容量−電圧特性（がモデル化されたデータファイルである。
【０００４】
このようにして生成された回路方程式は、連立非線形微分方程式となる。そこで、インプリシット法（例えば台形法）などを用いた数値積分法により差分化を行い、各時間刻みにおいて連立非線形代数方程式を得る。更にニュートン法による線形化によって、連立線形代数方程式が生成される。そして、その連立線形代数方程式をＬＵ分解法などの直接解法で解くことで、ノード電圧値や素子に流れる電流値が算出される。この際、従来技術による回路シミュレータでは、ＬＵ分解法によって求められた連立線形方程式の解がネットリストに設定される収束条件を満たすまで、同一時刻において連立線形代数方程式の生成処理及びその求解処理が繰り返し実行される。詳細には、連立線形方程式はＡｘ＝ＬＵｘ＝ｂと表される。ただし、解くべき連立線形方程式がｍ元連立方程式である場合、Ａはｍ行ｍ列の行列、ｘは１行ｍ列の未知数行列、ｂは１行ｍ列の行列、Ｌは下三角行列、Ｕは上三角行列を表す。ここで、収束条件とは、上述の求解処理を繰り返し、求められた未知数行列ｘの変位が一定の範囲内に収まることを示す。
【０００５】
ある時刻ｔｎ＋１における解が収束条件を満たすと、次の時刻ｔｎ＋２における解が計算される。詳細には、次の時刻ｔｎ＋２までの時間間隔をタイムステップｈｎ＋１とし、時刻ｔｎ＋２における未知数行列ｘｎ＋１、この１階微分をドットｘｎ＋１とすると、タイムステップｈｎ＋１は数１のように求められる。
【数１】
2007328386.tif 000003
ただし、ＤＤｋ〜ＤＤ１は数２となる。
【数２】
2007328386.tif 000004
ここで、数１のεｒ及びεａは、ユーザによって指定される許容誤差である。又、数２のｘｎは時刻ｔｎ＋１における未知数行列ｘである。
【０００６】
従来技術による回路シミュレータでは、通常、時刻ｔｎ＋２における解を求める際、時刻ｔ＋１におけるｘｎの解に応じてタイムステップｈｎ＋１を決定する。ここでは、打ち切り誤差による評価法（Ｌｏｃａｌ  Ｔｒｕｃｔｉｏｎ  Ｅｒｒｏｒ  Ｃｒｉｔｅｒｉａ）を用いて、算出されたタイムステップｈｎ＋１が評価される。詳細には、ｈｎ＋１≧０．９ｈｎであれば、時刻ｔｎ＋２におけるタイムステップｈｎ＋１は数１によって算出される。又、ｈｎ＋１＜０．９ｈｎであれば、前に算出したタイムステップｈｎを用いて、時刻ｔｎ＋１における計算をやり直す。
【０００７】
このように、従来技術による回路シミュレータは、前の時刻ｔｎ＋１における解（例えばノード電圧）と設定された許容誤差εｒ及びεａに基づいて、次のタイムステップｈｎ＋１が決定され、次の時刻ｔｎ＋２における解が算出される。図６は、従来技術による回路シミュレータによって解析されたノード電圧の応答特性の一例である。図６を参照して、従来の回路シミュレータよる遅延時間の解析動作が説明される。従来技術による回路シミュレータは、時刻ｔ＝０から、数１によって決定されるタイムステップｈ毎にノード電圧を計算する。ここで、従来技術による回路シミュレータが計算したノード電圧を計算値ＶＣＰとする。
【特許文献１】特開平１１−３３８８９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ノード電圧値が、ある値から目標電圧Ｖｏになるまでの時間を遅延時間として算出する。従来技術による回路シミュレータでは、初期電圧（時刻ｔ＝０における電圧値）から目標電圧Ｖｏとなるまでの時間が遅延時間ＴＬＣＰとして計算される。回路シミュレータは、ユーザによって指定された時間内におけるノード電圧を計算する。ここで、計算値ＶＣＰが目標電圧Ｖｏを越える算出点Ｂ２と、その直前の時刻における計算値ＶＣＰ（算出点Ｂ１）とが補完される。回路シミュレータは、算出点Ｂ１と算出点Ｂ２との補完曲線において目標電圧Ｖｏとなる補完点３の時刻を遅延時間（ＴＬＣＰ）として算出する。
【０００９】
ここで、図６を参照して、ノード電圧の理想値ＶＩが示される。遅延時間の理想値（ＴＬＩ）は、理想値ＶＩの曲線において目標電圧Ｖｏとなる理想点１の時刻である。すなわち、遅延時間の計算値（ＴＬＣＰ）と理想値（ＴＬＩ）との誤差は、ＴＬＣＰ−ＴＬＩ＝ＴＥＰとなる。
【００１０】
従来技術による回路シミュレータは、前の時刻ｔｎ＋１における解（例えばノード電圧）と設定された許容誤差εｒ及びεａとに基づいて、次のタイムステップｈｎ＋１を決定する。このため、遅延時間の理想値が得られる理想点１の近傍に算出点１又は算出点２が存在するとは限らない。すなわち、算出点Ｂ１と算出点Ｂ２とを補完した補完点３の時刻（ＴＬＣＰ）は理想点１の時刻（ＴＬＩ）から大きく外れ、大きな誤差ＴＥＰが生じやすい。
【課題を解決するための手段】
【００１１】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を括弧付きで用いて、［課題を解決するための手段］を説明する。この番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］の記載との対応関係を明らかにするために付加されたものであるが、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１２】
本発明による回路シミュレーション装置（１０）は、ネットリスト（１０１）に基づいて回路方程式（１０２）を生成する回路方程式生成部（２２１）と、解析時刻（ｔ）における回路方程式（１０２）の解（１０３、１０６）を求める回路方程式計算部（２２２）と、解（１０３）を用いて算出される第１の時間幅（１０５）と、固定値である第２の時間幅（２３）のどちらか一方を次の時間幅として選択するタイムステップ見積方式選択部（２２３）とを具備する。回路方程式計算部（２２２）は、選択された次の時間幅を用いて、次の解析時刻における回路方程式（１０２）の解（１０３、１０６）を求める。このように、計算によって求められる第１の時間幅（１０５）と固定値である第２の時間幅（２３）とを選択的に利用して回路方程式（１０２）を解くことで、解析速度及び解析精度を変化させることができる。
【００１３】
又、タイムステップ見積方式選択部（２２３）は、回路方程式計算部（２２２）において求められた解（１０６）が所定の値を超えるかどうかを判定し、解（１０６）が所定の値を超える場合、第２の時間幅（２３）を次の時間幅として選択する。又、タイムステップ見積方式選択部（２２３）は、解（１０６）が所定の値を超えない場合、第１の時間幅（１０５）を次の時間幅として選択する。ここで、所定の値として所定の範囲（２４）における下限値を指定することが好ましい。
【００１４】
更に、第２の時間幅（２３）は、第１の時間幅（１０５）より小さいことが好ましい。すなわち、第２の時間幅（２３）を用いて解析が行われることにより第１の時間幅（１０５）を用いての解析より精度良く回路解析を実行することができる。
【００１５】
本発明による回路シミュレーション装置（１０）は目標値（Ｖｏ）を設定する入力装置（１４）と、回路方程式計算部（２２２）で算出される解（１０６）を用いて、目標値（Ｖｏ）に対応する時間（１０４）を算出する遅延時間算出部（２２５）とを更に具備する。回路方程式計算部（２２２）は、第１の時刻（ｔｉ）における回路方程式の第１の解（Ａ１）と、第２の時間幅（２３）を用いた次の第２の時刻（ｔｉ＋１）における回路方程式の第２の解（Ａ２）とを算出する。遅延時間算出部（２２５）は、この第１の解（Ａ１）と第２の解（Ａ２）との間に目標値（Ｖｏ）が存在する場合、第１の解（Ａ１）と第２の解（Ａ２）とを補完して目標値（Ｖｏ）に対応する時間（１０４、ＶＬＣ）を算出する。このように本発明による回路シミュレーション装置（１０）は、目標値（Ｖｏ）に至る時間、すなわち解析対象回路における信号の遅延時間を、固定の第２の時間幅（２３）で解析することができる。
【発明の効果】
【００１６】
本発明による回路解析方法、回路解析プログラム、及び回路シミュレーション装置によれば、測定対象回路における信号の遅延時間を精度良く計算することができる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して、本発明による回路シミュレーション装置の実施の形態が説明される。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。本実施の形態では、解析対象回路内のノード電圧及びノード電圧の遅延時間を解析する回路シミュレータを搭載したコンピュータ装置（以下、回路シミュレーション装置１０と称す）を一例に説明される。
【００１８】
（構成）
図１は、本発明による回路シミュレーション装置１０の実施の形態における構成図である。図１を参照して、本発明による回路シミュレーション装置１０は、バス１６を介して相互に接続されるＣＰＵ１１と、ＲＡＭ１２と、記憶装置１３と、入力装置１４と、出力装置とを具備する。記憶装置１３はハードディスクやメモリ等の外部記憶装置である。又、入力装置１４は、キーボードやマウス等のユーザによって操作されることで、入力データ１０１をＣＰＵ１１に出力する。出力装置１５は、モニタやプリンタに例示され、ＣＰＵ１１から出力される回路解析の結果である出力データ１０３をユーザに対し視認可能に出力する。
【００１９】
ＣＰＵ１１は、入力装置１４からの入力データ１０１に応答して、記憶装置１３内の回路解析プログラム２２を実行し、回路解析処理を行う。この際、記憶装置１３からの各種データやプログラムはＲＡＭ１２に一時格納され、ＣＰＵ１１は、ＲＡＭ１２内のデータを用いて各種処理を実行する。
【００２０】
記憶装置１３は、ネットリスト２１、回路解析プログラム２２、設定タイムステップ２３、詳細解析範囲２４を格納している。ネットリスト２１は、回路の接続情報、素子の特性、解析情報を含んでいる。詳細には、ネットリスト２１は、解析対象の回路を構成する素子の接続や種類、サイズ（形状）等が記述されたエレメントカードと、その回路を構成する素子の内で、ダイオードやトランジスタなどの非線形能動素子のデバイスモデルのパラメータと、回路の解析方法を制御する条件情報を含む。回路解析プログラム２２は、ＣＰＵ１１によって実行され、解析対象回路内のノード電圧や素子内電流の遅延時間を解析する。
【００２１】
設定タイムステップ２３は、ユーザ（入力装置１４）によって設定され、ノード電圧を算出する解析時刻と次の解析時刻との間の時間間隔（タイムステップ）である。設定タイムステップ２３は、遅延時間の詳細解析時に用いられ、固定の値が好ましい。設定タイムステップ２３の大きさは、例えば０．１ピコ秒オーダであり、後述するタイムステップ計算部２２４によって算出される計算タイムステップ１０５に比べ、細かい時間間隔が設定される。又、設定タイムステップ２３は、回路規模や素子の特性、あるいは解析時間等の解析条件に対応付けられて複数設定されても良い。
【００２２】
詳細解析範囲２４は、回路解析処理における詳細解析の範囲を決定する条件となるノード電圧値である。詳細には、詳細解析範囲２４は、詳細解析を始める条件となるノード電圧値の上限値（詳細解析上限値Ｖｕ）と、詳細解析を終了する条件となる下限値（詳細解析下限値ＶＬ）を有する。詳細解析範囲２４は、ユーザ（入力装置１４）によって設定される。ここで、詳細解析範囲２４は、遅延時間１０４を解析する電圧（目標電圧Ｖｏ）が、詳細解析上限値Ｖｕ及び詳細解析下限値ＶＬの中心付近となるように設定されることが望ましい。又、回路規模や素子の特性、あるいは解析時間等の解析条件に対応付けられて複数設定されても良い。
【００２３】
図２は、本発明による回路シミュレーション装置１０における遅延時間解析を実行する際の機能ブロック図である。図２を参照して、ＣＰＵ１１は、回路解析プログラムを実行することで、回路解析部２２０としての機能を実現する。ここで、回路解析部２２０は、回路方程式生成部２２１、回路方程式計算部２２２、タイムステップ見積方式選択部２２３、タイムステップ計算部２２４、遅延時間計算部２２５を備える。
【００２４】
入力装置１４は、回路解析部２２０に入力データ１０１を入力する。ここで、入力データ１０１には、解析対象回路を指定する情報、遅延時間を求めるための電圧条件、解析する時間範囲等の情報が含まれる。
【００２５】
回路方程式生成部２２１は入力データ１０１に基づき、記憶装置１３からネットリスト２１を抽出する。この際、入力データ１０１によって特定された解析対象回路に対応するネットリスト２１が抽出される。回路方程式生成部２２１は、抽出したネットリスト２１を用いて回路方程式１０２を生成する。回路方程式生成部２２１は、従来技術と同様に修正節点法によって解析対象回路内のノードに関する回路方程式を生成する。ここで、解析対象回路内に係る回路方程式は、各ノード電圧と、各素子内を流れる電流を未知数とする連立非線形微分方程式となる。
【００２６】
回路方程式計算部２２２は、タイムステップ計算部２２４で決定されたタイムステップを用いて回路方程式１０２の解、すなわち、各ノードにおけるノード電圧や素子内の電流を求める。回路方程式計算部２２２は、計算したノード電圧を出力データ１０３としてタイムステップ見積方式選択部２２３に出力する。又、タイムステップ計算部２２４において、次の計算で用いるタイムステップが決定されると、回路方程式計算部２２２は、前回のタイムステップに基づいて計算したノード電圧１０６を遅延時間計算部２２５に転送する。
【００２７】
ここで、回路方程式計算部２２２における回路方程式１０２の求解方法について説明される。回路方程式計算部２２２は、従来技術と同様な方法で回路法定指揮１０２からノード電圧を算出する。すなわち、回路方程式計算部２２２は、台形法とニュートン法を組み合わせて、連立線形代数方程式を生成し、この連立線形代数方程式をＬＵ分解法でノード電圧を算出する。この際、ネットリストに設定される収束条件を満たすまで、同一時刻において連立線形代数方程式の生成処理及びその求解処理が繰り返し実行される。
【００２８】
タイムステップ見積方式選択部２２３は、出力データ１０３が詳細解析範囲内であるかどうかを判定し、その判定結果に応じてタイムステップの決定方法を選択する。詳細には、タイムステップ見積方式選択部２２３は、入力データ１０１に含まれる解析条件に対応する詳細解析範囲２４を記憶装置１３から抽出する。ここで、出力データ１０３が、詳細解析範囲２４外である場合、タイムステップ見積方式選択部２２３は、従来技術と同様に、打ち切り誤差による評価法（Ｌｏｃａｌ  Ｔｒｕｃｔｉｏｎ  Ｅｒｒｏｒ  Ｃｒｉｔｅｒｉａ）によってタイムステップを算出するようにタイムステップ計算部２２４を制御する。又、出力データ１０３が、詳細解析範囲２４内である場合、記憶装置２３から設定タイムステップ２３を取得するようにタイムステップ計算部２２４を制御する。
【００２９】
タイムステップ計算部２２４は、タイムステップ見積方式選択部２２３で決定された方式で、次の解析時刻までのタイムステップを決定する。ここで、ノード電圧を計算する時刻を解析時刻ｔｎとし、次の解析時刻ｔｎ＋１までの時間間隔をタイムステップｈｎとする。タイムステップ計算部２２４は、タイムステップｈｎ、解析時刻ｔｎ＋１によって算出された出力データ１０３が詳細解析範囲２４内である場合、タイムステップ２３を抽出し、これを次のタイムステップｈｎ＋１として回路方程式計算部２２２に転送する。この際、タイムステップ計算部２２４は、入力データ１０１に含まれる解析条件に対応するタイムステップ２３を抽出する。又、タイムステップｈｎ、解析時刻ｔｎ＋１によって算出された出力データ１０３が詳細解析範囲２４外である場合、タイムステップ計算部２２４は、従来技術と同様に、数１及び数２を用いて次のタイムステップｈｎ＋１を算出し、算出結果に基づいたタイムステップを算出タイムステップ１０５として回路方程式計算部２２２に出力する。この際、算出した次のタイムステップｈｎ＋１の値が、ｈｎ＋１≧０．９ｈｎであれば、この値（次のタイムステップｈｎ＋１）を算出タイムステップ１０５として回路方程式計算部２２２に出力する。ｈｎ＋１＜０．９ｈｎであれば、前に算出したタイムステップｈｎを算出タイムステップ１０５として回路方程式計算部２２２に出力する。
【００３０】
遅延時間計算部２２５は、回路方程式計算部２２２からの出力データ１０３に基づき遅延時間１０４を計算する。この際、遅延時間計算部２２５は、入力データ１０１内に含まれる遅延時間を解析するための電圧条件（目標電圧Ｖｏ）を利用して遅延時間１０４を算出する。出力装置１５は、出力された遅延時間１０４をユーザが視認可能に表示する。
【００３１】
以下に、図３から図５を参照して、本発明による回路シミュレーション装置１０の遅延時間解析処理の詳細が説明される。図３は、本発明による回路シミュレーション装置１０の解析処理の動作を示すフローチャートである。
【００３２】
図３を参照して、入力装置１４から入力データ１０１が入力されると、回路方程式生成部２２１によって、連立非線形微分方程式である回路方程式１０２が生成される（ステップＳ１）。ここでは、各ノードについてのキルヒホッフの第一法則と、独立電圧源についての関係式とから、回路方程式１０２が導出される。次に回路方程式計算部２２２によって、台形法による数値積分による差分化が行われ、連立非線形代数方程式が導出される（ステップＳ２）。詳細には、回路方程式計算部２２２は、タイムステップ計算部２２４で算出されたタイムステップｈｎと、１ステップ前の算出した解析時刻ｔｎにおけるノード電圧とを用いて、解析時刻ｔｎ＋１におけるノード電圧を未知数とした連立非線形代数方程式を導出する。次に回路方程式計算部２２２は、導出した連立線形代数方程式からニュートン法によって連立線形方程式を導出する（ステップＳ３）。ここで導出される連立線形方程式は従来技術と同様に、コンダクタンス行列Ａを用いて、Ａｘ＝ｂと表される。ただし、解くべき連立線形方程式がｍ元連立方程式である場合、Ａはｍ行ｍ列の行列、ｘは１行ｍ列の未知数行列、ｂは１行ｍ列の行列を表す。最後に回路方程式計算部２２２は、連立線形方程式を導出すると、Ａｘ＝ＬＵｘ＝ｂとし、ＬＵ分解法を用いて前進代入後退代入を行ない、解析時刻ｔｎ＋１におけるノード電圧を算出する（ステップＳ４）。ただし、Ｌは下三角行列、Ｕは上三角行列を表す。回路方程式計算部２２２は、ステップＳ４において算出された解（ノード電圧）が、ネットリスト２１に含まれる収束条件を満たすまでステップＳ２からステップＳ４の求解処理を繰り返す（ステップＳ５Ｎｏ）。ここで、収束条件を満たすとは、解の変位が一定の範囲内に収まることを指す。ステップＳ４において算出された解（ノード電圧）が収束条件を満たす場合、算出したノード電圧は出力データ１０３としてタイムステップ見積方式選択部２２３に転送される。
【００３３】
タイムステップ見積方式選択部２２３は、出力データ１０３が、詳細解析範囲２４内であるかを判定する（ステップＳ６）。出力データ１０３の値が詳細解析範囲２４外の場合、すなわち、出力データ１０３が示すノード電圧値が詳細解析下限値Ｖｌより小さい、又は、詳細解析上限値Ｖｕより大きい場合、タイムステップ見積方式選択部２２３は、計算タイムステップ１０５を算出するようにタイムステップ計算部２２４を制御する（ステップＳ６Ｎｏ）。一方、出力データ１０３の値が詳細解析範囲２４内の場合、すなわち、出力データ１０３が示すノード電圧値が詳細解析下限値ＶＬより大きい、又は、詳細解析上限値Ｖｕより小さい場合、タイム見積方式選択部２２３は、設定タイムステップ２３を抽出するようにタイムステップ計算部２２４を制御する（ステップＳ６Ｙｅｓ）。
【００３４】
タイムステップ計算部２２４は、出力データ１０３が詳細解析範囲２４外である場合（ステップＳ６Ｎｏ）、次のタイムステップｈｎ＋１を数１及び数２を用いて計算し、ＬＴＥ（Ｌｏｃａｌ  Ｔｒｕｃｔｉｏｎ  Ｅｒｒｏｒ）を判定基準として用いて次の解析時刻ｔｎ＋１におけるノード電圧を計算するためのタイムステップ１０５を決定する（ステップＳ７、Ｓ８）。ステップＳ８における誤差判定では、前のタイムステップｈｎに所定数（例えば０．９）を乗じた数と、タイムステップ計算部２２４で計算された次のタイムステップｈｎ＋１とが比較される。ここで、ｈｎ＋１≧０．９ｈｎである場合、計算タイムステップ１０５としてタイムステップｈｎ＋１が回路方程式計算部２２２に転送される（ステップＳ９）。回路方程式計算部２２２は、計算タイムステップ１０５、すなわち次のタイムステップｈｎ＋１を用いてステップＳ２からＳ５を繰り返し、解析時刻ｔｎ＋２におけるノード電圧を計算する。ステップＳ８において、ｈｎ＋１＜０．９ｈｎである場合、前回ノード電圧の計算に用いられたタイムステップｈｎが計算タイムステップ１０５として回路方程式計算部２２２に転送される（ステップＳ１０）。回路方程式計算部２２２は、転送されたタイムステップ１０５、すなわち前回のタイムステップｈｎを用いてステップＳ２からＳ５を繰り返し、解析時刻ｔｎ＋１におけるノード電圧を再度計算する。
【００３５】
ステップＳ６において、タイムステップ見積方式選択部２２３が、出力データ１０３が詳細解析範囲２４内であると判定すると、タイムステップ計算部２２４は、記憶装置１３から設定タイムステップ２３を取得し、これを回路方程式計算部２２２に転送する（ステップＳ９）。ここで、タイムステップ計算部２２４は、入力データ１０１に含まれる解析条件に対応した値（タイムステップｈａ）を選択し、設定タイムステップ２３として回路方程式計算部２２２に転送する。回路方程式計算部２２２は、設定タイムステップ２３、すなわち固定値であるタイムステップｈａを次のタイムステップｈｎ＋１として使用してステップＳ２からＳ５を繰り返し、次の解析時刻ｔｎ＋２におけるノード電圧を計算する。
【００３６】
ここで、ステップＳ９又はステップＳ１２において次のタイムステップｈｎ＋１が決定されると、回路方程式計算部２２２は、前回計算した解析時刻ｔｎ＋１におけるノード電圧１０６を遅延時間計算部２２５に転送する。
【００３７】
以上のように、本発明による回路シミュレーション装置１０は、ネットリスト２１に基づいて生成された回路方程式１０２を生成し、その解（解析時刻ｔにおけるノード電圧１０６）を、ステップＳ２からＳ１２を繰り返して算出する。この際、詳細解析範囲２４で設定された範囲内では、計算によって得られたタイムステップより細かな時間幅の設定タイムステップ２３によってノード電圧１０６が計算されるため、より詳細な解析が可能となる。すなわち、本発明による回路シミュレーション装置１０は、解析するタイムステップ（時間幅）が大きい通常解析モードと解析するタイムステップが小さい詳細解析モードを切り換えて実行することができる。
【００３８】
遅延時間計算部２２５には、ノード電圧１０６とともにその解析時刻ｔ（ここでは解析時刻ｔｎ＋１）も転送される。遅延時間計算部２２５は、転送されたノード電圧１０６及び解析時刻ｔと、入力データ１０１に含まれる解析条件（目標電圧Ｖｏ）とを用いて遅延時間１０４を計算し、出力装置１５に出力する。図４を参照して、本発明に係る遅延時間計算部２２５における遅延時間解析動作の詳細が説明される。
【００３９】
図４は、本発明の回路シミュレーション装置１０によって解析されたノード電圧の応答特性の一例である。図４には、回路シミュレーション装置１０が計算したノード電圧１０６が計算値ＶＣとして示され、ノード電圧の応答特性の理想曲線が理想値ＶＩとして示される。
【００４０】
遅延時間計算部２２５は、ノード電圧１０６が、ある値から目標電圧Ｖｏになるまでの時間を遅延時間として算出する。ここでは、初期電圧（時刻ｔ０＝０）から目標電圧Ｖｏとなるまでの時間が遅延時間ＴＬＣとして計算される。
【００４１】
先ず、遅延時間１０４を解析する際、回路シミュレーション装置１０はユーザによって指定された時間内におけるノード電圧１０６を計算する。回路シミュレーション装置１０は、解析時刻ｔ０からｔｎ＋２まで、数１によって算出された計算タイムステップ（ｈ１〜ｈｎ＋１）毎にノード電圧１０６を算出する（通常解析モード）。この際、ノード電圧１０６が、詳細解析範囲２４に示される詳細解析下限値ＶＬを越えると、回路シミュレーション装置１０は、設定タイムステップ２４（ｈａ）を利用したノード電圧１０６の計算（詳細解析モード）に切り換える。ここでは、解析時刻ｔｎ＋２におけるノード電圧１０６が、詳細解析下限値ＶＬを越えるものとする。この場合、回路シミュレーション装置１０は、解析時刻ｔｎ＋３におけるノード電圧１０６以降の計算を設定タイムステップ（ｈａ）を用いて実行する。詳細解析モードにおいて、算出したノード電圧１０６が詳細解析範囲２４に示される詳細解析上限値Ｖｕを越えると、回路シミュレーション装置１０は、計算タイムステップ２４（ｈｋ、ｈｋ＋１、・・・）を利用したノード電圧１０６の計算（通常解析モード）に再び切り換える。ここでは、解析時刻ｔｋにおけるノード電圧１０６が、詳細解析上限値Ｖｕを越えるものとする。この場合、回路シミュレーション装置１０は、解析時刻ｔｋにおけるノード電圧１０６以降の計算を数１を用いて算出する計算タイムステップ（ｈｋ、ｈｋ・・・）を用いて実行する。尚、タイムステップｈｋは、数１におけるｈｎに代えてｈａを用いて算出される。
【００４２】
ここで、遅延時間計算部２２５は、計算値ＶＣが電圧Ｖｏを越える算出点Ａ２（解析時刻ｔｉ＋１）と、その直前の時刻ｔｉにおける計算値ＶＣ（算出点Ａ１）とを補完する。遅延時間計算部２２５は、算出点Ａ１と算出点Ａ２との補完曲線において目標電圧Ｖｏとなる補完点２の時刻を遅延時間１０４（ＴＬＣ）として算出する。
【００４３】
図５は、本発明による回路シミュレーション装置１０が解析した遅延時間の測定誤差と従来技術による測定誤差との比較を示す図である。図５を参照して、本発明による回路シミュレーション装置１０が目標電圧Ｖｏ付近で算出したノード電圧１０６のタイムステップｈａは、従来技術に比べてはるかに小さい。このため、算出点Ａ１と算出点Ａ２を補完して得られた補完点２は、従来技術による算出点Ｂ１と算出点Ｂ２とを補完して得られた補完点３に比べて、理想値１近傍に得ることができる。すなわち、本発明によって算出されて遅延時間１０４（ＴＬＣ）と理想値（ＴＬＩ）との誤差ＴＥは、従来技術による誤差ＴＥＰに比べ格段に小さくできる。
【００４４】
以上のように、本発明による回路シミュレーション装置１０は、遅延時間を解析する付近を詳細に解析し、その他の部分は粗く解析することで、解析速度の低下を抑制しつつ、精度良く遅延時間を解析することができる。
【００４５】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【図面の簡単な説明】
【００４６】
【図１】図１は、本発明による回路シミュレーション装置の構成を示す構成図である。
【図２】図２は、本発明による回路シミュレーション装置の遅延時間解析を実行する際の機能ブロック図である。
【図３】図３は、本発明による回路シミュレーション装置の解析処理の動作を示すフローチャートである。
【図４】図４は、本発明の回路シミュレーション装置によって解析されたノード電圧の応答特性の一例である。
【図５】図５は、本発明による回路シミュレーション装置が解析した遅延時間の測定誤差と従来技術による測定誤差との比較を示す図である。
【図６】図６は、従来技術による回路シミュレーション装置によって解析されたノード電圧の応答特性の一例である。
【符号の説明】
【００４７】
１０：回路シミュレーション装置
１１：ＣＰＵ
１２：ＲＡＭ
１３：記憶装置
１４：入力装置
１５：出力装置
２１：ネットリスト
２２：回路解析プログラム
２３：設定タイムステップ
２４：詳細解析範囲
１０１：入力データ
１０２：回路方程式
１０３：算出ノード電圧
１０４：遅延時間
１０５：算出タイムステップ
２２０：回路解析部
２２１：回路方程式生成部
２２２：回路方程式計算部
２２３：タイムステップ見積方式選択部
２２４：タイムステップ計算部
Ａ１、Ａ２、Ｂ１、Ｂ２：算出点
１：理想値
２、３：補完値
【図１】
2007328386.tif 000005
【図２】
2007328386.tif 000006
【図３】
2007328386.tif 000007
【図４】
2007328386.tif 000008
【図５】
2007328386.tif 000009
【図６】
2007328386.tif 000010