(57)【特許請求の範囲】
【請求項１】
回路シミュレータを用いた非線型回路の解析工程に含まれる新たな動作点ベクトルでの非線型素子の特性値計算工程で使用する非線型素子の特性値計算方法であって、
前記新たな動作点ベクトルと、記憶された動作点ベクトルとの差が許容値の範囲内にあるか否かを判定し、
前記新たな動作点ベクトルと前記記憶された動作点ベクトルとの差が許容値の範囲内にある場合には、前記記憶された動作点ベクトルと、前記記憶された動作点ベクトルと共に記憶された特性値ベクトル及び偏微係数行列から、新たな特性値ベクトルを線型化された特性値計算式により計算し、
前記新たな動作点ベクトルと前記記憶された動作点ベクトルとの差が許容値の範囲内にない場合には、非線型モデル式を使用して前記新たな動作点ベクトルでの特性値ベクトル及び偏微係数行列を計算し、前記新たな動作点ベクトルと、計算された特性値ベクトル及び偏微係数行列を記憶する工程を有することを特徴とする非線型素子の特性値計算方法。
【請求項２】
回路シミュレータを用いた非線型回路の解析工程に含まれる新たな動作点ベクトルでの非線型素子の特性値計算工程で使用する非線型素子の特性値計算装置であって、
前記新たな動作点ベクトルと、記憶された動作点ベクトルとの差が許容値の範囲内にあるか否かを判定する第１の手段と、
前記新たな動作点ベクトルと前記記憶された動作点ベクトルとの差が許容値の範囲内にある場合には、前記記憶された動作点ベクトルと、前記記憶された動作点ベクトルと共に記憶された特性値ベクトル及び偏微係数行列から、新たな特性値ベクトルを線型化された特性値計算式により計算する第２の手段と、
前記新たな動作点ベクトルと前記記憶された動作点ベクトルとの差が許容値の範囲内にない場合には、非線型モデル式を使用して前記新たな動作点ベクトルでの特性値ベクトル及び偏微係数行列を計算する第３の手段と、
前記新たな動作点ベクトルと、計算された特性値ベクトル及び偏微係数行列を記憶する第４の手段を有することを特徴とする非線型素子の特性値計算装置。
【請求項３】
コンピュータを非線型回路の解析工程に含まれる新たな動作点ベクトルでの非線型素子の特性値計算手段として機能させるためのプログラムであって、
前記新たな動作点ベクトルと、記憶された動作点ベクトルとの差が許容値の範囲内にあるか否かを判定する第１の手段、
前記新たな動作点ベクトルと前記記憶された動作点ベクトルとの差が許容値の範囲内にある場合には、前記記憶された動作点ベクトルと、前記記憶された動作点ベクトルと共に記憶された特性値ベクトル及び偏微係数行列から、新たな特性値ベクトルを線型化された特性値計算式により計算する第２の手段、
前記新たな動作点ベクトルと前記記憶された動作点ベクトルとの差が許容値の範囲内にない場合には、非線型モデル式を使用して前記新たな動作点ベクトルでの特性値ベクトル及び偏微係数行列を計算する第３の手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、回路シミュレータを用いて非線型回路の解析を行う場合に使用する非線型素子の特性計算方法及び装置に関する。
【０００２】
【従来の技術】
図７は回路シミュレータを用いた従来の非線型回路の過渡解析方法の一例を示す流れ図である。この非線型回路の過渡解析方法では、まず、非線型回路の過渡解析に必要なデータ（回路構成データや解析条件）を入力し（ステップ７ａ）、解析時刻Ｔの初期値を設定し（ステップ７ｂ）、非線型回路の動作点ごとに線型回路方程式ＪＶ＝Ｕを作成する（ステップ７ｃ）。但し、Ｊはヤコビアン行列、Ｖはノード電圧ベクトル、Ｕは等価電流ベクトルである。
【０００３】
次に、作成した線型回路方程式ＪＶ＝Ｕを解いてノード電圧ベクトルＶを求め（ステップ７ｄ）、求めたノード電圧ベクトルＶに対してニュートン法の収束判定を行い（ステップ７ｅ）、ノード電圧ベクトルＶが非収束の場合にはステップ７ｃに戻り、ノード電圧ベクトルＶが収束している場合には、ノード電圧ベクトルＶを外部ファイルに出力し（ステップ７ｆ）、過渡解析が終了時刻ＴＥＮＤに達したか否かを判定し（ステップ７ｇ）、終了時刻ＴＥＮＤに達していない場合には、新しい解析時刻（Ｔ＋ΔＴ）を設定してステップ６ｃに戻り（ステップ７ｈ）、終了時刻ＴＥＮＤに達している場合には、過渡解析を終了とする。
【０００４】
この非線型回路の過渡解析方法では、回路シミュレータで非線型回路の動作点ごとに線型回路方程式を作成し、それを繰り返し解くことによって目的とする非線型回路の動作を計算するとしているが、動作点ごとに線型回路方程式を作成する際に、半導体素子などの非線型素子については、電流や電荷などの非線型な素子特性値を計算する必要がある。図８に非線型２端子素子の特性例を示す。
【０００５】
非線型素子であるトランジスタやダイオードなどの半導体素子では、非線型モデル式やルックアップテーブルによって電流や電荷などの非線型な素子特性値を計算するのが一般的である。非線型モデル式による計算は、物理的あるいは経験的な非線型モデル式を使用して計算するというものであるが、半導体素子であるＭＯＳトランジスタでは、ＳＰＩＣＥレベル１〜３、ＢＳＩＭ１〜３などの非線型モデル式が知られている。
【０００６】
また、ルックアップテーブルによる計算は、予め非線型素子の全てのバイパス値に対して適当なグリッド間隔で素子特性値のテーブルを作成しておき、過渡解析実行時には、補間計算により素子特性値を計算する方法である。図９に非線型４端子素子であるＭＯＳトランジスタの特性値のルックアップテーブルの例を示す。
【０００７】
ところで、図７に示すように、非線型回路の過渡解析では、時間積分のループ毎にニュートン法が実行され、ニュートン法のループ毎に非線型素子の特性値が計算される。この場合、非線型素子の特性値の計算は、前回の計算と近い動作点で計算されることが多く、このことは、回路シミュレーションにおける潜伏性と呼ばれている。図１０は回路シミュレーションにおける潜伏性の様子を示す図であり、図１０Ａはニュートン法のイタレーションにおける解の潜伏性の様子の例、図１０Ｂは時間領域における解の潜伏性の様子の例を示している。
【０００８】
そこで、非線型モデル式による非線型素子の特性値の計算を効率的に行うために、回路シミュレーションにおける解の潜伏性を利用して非線型素子の特性値を計算するバイパス法と呼ばれる計算方法が提案されている。図１１はバイパス法による非線型素子の特性値計算方法を示す流れ図である。
【０００９】
バイパス法による非線型素子の特性値計算方法では、新たな動作点ベクトルＶＥと前回の非線型モデル式計算時の動作点ベクトルＶＥ０との差の絶対値が許容値ＶＴＯＬの範囲内にあるか否かを判定し（ステップ１１ａ）、許容値ＶＴＯＬの範囲内にある場合には、前回の非線型モデル式計算時に記憶された特性値ベクトルＹ０を新たな特性値Ｙに代入し（ステップ１１ｂ）、図７に示す線型回路方程式の作成ステップに戻る。
【００１０】
これに対して、新たな動作点ベクトルＶＥと、記憶されている前回の動作点ベクトルＶＥ０との差の絶対値が許容値ＶＴＯＬの範囲内にない場合には、非線型モデル式を使い、新たな動作点ベクトルＶＥでの特性値ベクトルＹを計算し（ステップ１１ｃ）、計算した動作点ベクトルＶＥと、計算した特性値ベクトルＹを記憶し（ステップ１１ｄ）、図７に示す線型回路方程式の作成ステップに戻る。
【００１１】
【発明が解決しようとする課題】
半導体集積回路の回路シミュレーションを行う場合、実際の半導体集積回路と良く合う高精度な信号波形を得るためには、計算された非線型素子の特性値が実際の非線型素子の特性値と良く合うことが必要である。
【００１２】
ここで、非線型モデル式を使用した非線型素子の特性値計算方法では、高精度な素子特性値の再現には複雑な非線型モデル式を使う必要があり、その計算には多くの処理時間を必要とするという問題点があった。
【００１３】
また、ルックアップテーブルを使用した非線型素子の特性値計算方法では、高精度な素子特性値を定義するために、予め計算されるテーブルのグリッド間隔を十分に小さくする必要があると共に、トランジスタの素子特性値を定義する場合には、一般的には３次元のテーブルが必要となるため、記憶容量の非常に大きなメモリが必要になるという問題点があった。
【００１４】
また、図１１に示すバイパス法による非線型素子の特性値計算方法では、計算効率を上げるために動作点誤差の許容範囲ＶＴＯＬを大きくすると、計算される素子特性値の誤差が大きくなり、回路シミュレーションの精度やニュートン法の収束性が十分に確保できないという問題点があった。この問題は、特に、非線型な電荷特性の計算などに適用した際に顕著となる。そこで、多くの場合、バイパス法の適用での動作点誤差の許容範囲ＶＴＯＬの値として、ニュートン法の収束誤差と同程度の値が使われることになり、これが計算効率を上げる妨げとなっていた。
【００１５】
本発明は、かかる点に鑑み、処理時間の短縮化を図り、しかも、ルックアップテーブルを使用する場合のように大規模な記憶領域を必要としない非線型素子の特性値計算方法及び装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明は、回路シミュレータを用いた非線型回路の解析工程において、新たな動作点ベクトルでの非線型素子の特性値計算を行う際に、新たな動作点ベクトルと、記憶された動作点ベクトルとの差が許容値の範囲内にあるか否かを判定し、新たな動作点ベクトルと、記憶された動作点ベクトルとの差が許容値の範囲内にある場合には、記憶された動作点ベクトルと、記憶された動作点ベクトルと共に記憶された特性値ベクトル及び偏微係数行列から、新たな特性値ベクトルを線型化された特性値計算式により計算し、新たな動作点ベクトルと、記憶された動作点ベクトルとの差が許容値の範囲内にない場合には、非線型モデル式を使用して新たな動作点ベクトルでの特性値ベクトル及び偏微係数行列を計算し、新たな動作点ベクトルと、計算された特性値ベクトル及び偏微係数行列を記憶する、というものである。
【００１７】
本発明によれば、新たな動作点ベクトルと、記憶された動作点ベクトルとの差が許容値の範囲内にある場合には、記憶された動作点ベクトルと、記憶された動作点ベクトルと共に記憶された特性値ベクトル及び偏微係数行列から、新たな特性値ベクトルを線型化された特性値計算式により計算するとしているので、複雑な非線型モデル式による計算を行う必要がない。したがって、処理時間の短縮化を図ることができる
【００１８】
また、新たな動作点ベクトルと、記憶された動作点ベクトルとの差の許容値の範囲を大きくしても、計算される素子特性値は偏微係数により補正されるため、計算精度を保つことができる。したがって、新たな動作点ベクトルと、記憶された動作点ベクトルとの差の許容値の範囲を大きくすることにより計算効率を高めることができ、この点からも、処理時間の短縮化を図ることができる。
【００１９】
また、記憶領域には、動作点ベクトルと特性値ベクトルと偏微係数行列を記憶するだけで良い。したがって、ルックアップテーブルを使用する場合のように大規模な記憶領域を必要としない。
【００２０】
【発明の実施の形態】
図１は本発明の非線型素子の特性値計算方法の一実施形態を使用する非線型回路の過渡解析方法を示す流れ図である。本発明の一実施形態を使用する非線型回路の過渡解析方法では、まず、非線型回路の過渡解析に必要なデータ（回路構成データや解析条件）を入力し（ステップ１ａ）、非線型素子が局所的には線型特性を有するものとする局所線型モデルの初期化を行い（ステップ１ｂ）、解析時刻Ｔの初期値の設定を行い（ステップ１ｃ）、非線型回路の動作点ごとに線型回路方程式ＪＶ＝Ｕを作成する（ステップ１ｄ）。
【００２１】
次に、作成した線型回路方程式ＪＶ＝Ｕを解いてノード電圧ベクトルＶを求め（ステップ１ｅ）、求めたノード電圧ベクトルＶに対してニュートン法の収束判定を行い（ステップ１ｆ）、ノード電圧ベクトルＶが非収束の場合にはステップ１ｄに戻り、ノード電圧ベクトルＶが収束している場合には、ノード電圧ベクトルＶを外部ファイルに出力し（ステップ１ｇ）、過渡解析が終了時刻ＴＥＮＤに達したか否かを判定し（ステップ１ｈ）、終了時刻ＴＥＮＤに達していない場合には、新しい解析時刻（Ｔ＋ΔＴ）を設定してステップ１ｄに戻り（ステップ１ｉ）、終了時刻ＴＥＮＤに達している場合には、過渡解析を終了とする。
【００２２】
図２は図１に示す非線型回路の過渡解析手順のステップ１ｂで実行する局所線型モデルの初期化の手順を示す流れ図である。局所線型モデルの初期化を行う場合には、非線型素子ｉについて、非線型モデル式を使い、動作点ベクトルＶＥ（ｉ）＝０での特性値ベクトルＹ（ｉ）とその偏微係数行列Ａ（ｉ）を計算し（ステップ２ａ）、計算した特性値ベクトルＹ（ｉ）とその偏微係数行列Ａ（ｉ）を次回以降に使用する線型化された特性値計算式を設定するものとして記憶する（ステップ２ｂ）。これらの処理をそれぞれの非線型素子に対して行う。図３は局所的に線型化された素子特性を非線型２端子素子の場合について示す図である。
【００２３】
図４は図１に示す非線型回路方程式の過渡解析手順のステップ１ｄで実行する線型回路方程式の作成手順を示す流れ図である。線型回路方程式の作成を行う場合には、後述するように非線型素子の特性値の計算を行い（ステップ４ａ）、計算した特性値より等価電流ベクトルＵの設定を行い（ステップ４ｂ）、ヤコビアン行列Ｊを設定する（ステップ４ｃ）。
【００２４】
図５は図４に示す線型回路方程式の作成手順のステップ４ａで実行する非線型素子の特性値計算手順（本発明の非線型素子の特性値計算方法の一実施形態）を示す流れ図である。非線型素子の特性値の計算を行う場合には、新たな動作点ベクトル（素子の端子間電圧）ＶＥ（ｉ）と記憶されている前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）との差の絶対値が許容値ＶＴＯＬの範囲内にあるか否かを判定し（ステップ５ａ）、許容値ＶＴＯＬの範囲内にある場合には、記憶されている前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）と特性値ベクトルＹ０（ｉ）と偏微係数行列Ａ０（ｉ）から、新しい特性値ベクトルＹ（ｉ）を線型化された特性値計算式Ｙ（ｉ）＝Ｙ０（ｉ）＋Ａ０（ｉ）・［ＶＥ（ｉ）−ＶＥ０（ｉ）］で算出する（ステップ５ｂ）。
【００２５】
これに対して、新たな動作点ベクトルＶＥ（ｉ）と記憶されている前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）との差の絶対値が許容値ＶＴＯＬの範囲内にない場合には、非線型モデル式を使い、新たな動作点ベクトルＶＥ（ｉ）での特性値ベクトルＹ（ｉ）とその偏微係数行列Ａ（ｉ）［＝ｄＹ（ｉ）／ｄＶＥ（ｉ）］を計算し（ステップ５ｃ）、動作点ベクトルＶＥ（ｉ）と、計算された特性値ベクトルＹ（ｉ）と、その偏微係数行列Ａ（ｉ）を記憶する（ステップ５ｄ）。
【００２６】
図６は本発明の非線型素子の特性値計算装置の一実施形態を示すブロック回路図である。図６中、１０は非線型素子の特性値計算工程において、新たな動作点ベクトルＶＥ（ｉ）と記憶されている前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）との差の絶対値が許容値ＶＴＯＬの範囲内にあるか否かを判定する判定手段である。
【００２７】
２０は判定手段１０による判定の結果、新たな動作点ベクトルＶＥ（ｉ）と記憶されている前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）との差の絶対値が許容値ＶＴＯＬの範囲内にある場合に、記憶されている前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）と特性値ベクトルＹ０（ｉ）と偏微係数行列Ａ０（ｉ）から、新しい特性値ベクトルＹ（ｉ）を線型化された特性値計算式Ｙ（ｉ）＝Ｙ０（ｉ）＋Ａ０（ｉ）・［ＶＥ（ｉ）−ＶＥ０（ｉ）］で計算する計算手段である。
【００２８】
３０は判定手段１０による判定の結果、新たな動作点ベクトルＶＥ（ｉ）と記憶されている前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）との差の絶対値が許容値ＶＴＯＬの範囲内にない場合に、非線型モデル式を使い、新たな動作点ベクトルＶＥ（ｉ）での特性値ベクトルＹ（ｉ）とその偏微係数行列Ａ（ｉ）を計算する計算手段である。
【００２９】
４０は計算手段３０で使用した動作点ベクトルＶＥ（ｉ）と、計算手段３０で計算された特性値ベクトルＹ（ｉ）とその偏微係数行列Ａ（ｉ）を記憶する記憶領域である。なお、判定手段１０及び計算手段２０、３０はプログラムによってコンピュータに実現させることができる。
【００３０】
以上のように、本発明の非線型素子の特性値計算方法の一実施形態は本発明の非線型素子の特性値計算装置の一実施形態により実施することができ、本発明の非線型素子の特性値計算方法の一実施形態によれば、新たな動作点ベクトルＶＥ（ｉ）と記憶されている前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）との差の絶対値が許容値ＶＴＯＬの範囲内にある場合には、記憶されている前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）と特性値ベクトルＹ０（ｉ）と偏微係数行列Ａ０（ｉ）から、新しい特性値ベクトルＹ（ｉ）を線型化された特性値計算式Ｙ（ｉ）＝Ｙ０（ｉ）＋Ａ０（ｉ）・［ＶＥ（ｉ）−ＶＥ０（ｉ）］で算出するとしているので、複雑な非線型モデル式による計算を行う必要がない。したがって、処理時間の短縮化を図ることができる。
【００３１】
また、新たな動作点ベクトルＶＥ（ｉ）と前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）との差の許容値ＶＴＯＬの範囲を大きくしても、計算される素子特性値Ｙ（ｉ）は偏微係数Ａ（ｉ）により補正されるため、計算精度を保つことができる。したがって、新たな動作点ベクトルＶＥ（ｉ）と前回の非線型モデル式計算時の動作点ベクトルＶＥ０（ｉ）との差の許容値ＶＴＯＬの範囲を大きくすることにより計算効率を高めることができ、この点からも、処理時間の短縮化を図ることができる。
【００３２】
また、本発明の非線型素子の特性値計算方法の一実施形態によれば、記憶領域には、動作点ベクトルＶＥ０と特性値ベクトルＹ０と偏微係数行列Ａ０を記憶するだけで良い。したがって、ルックアップテーブルを使用する場合のように大規模な記憶領域を必要としない。なお、本発明は、非線型回路の定常状態解析方法にも使用することができる。
【００３３】
【発明の効果】
以上のように、本発明によれば、新たな動作点ベクトルと、記憶された動作点ベクトルとの差が許容値の範囲内にある場合には、記憶された動作点ベクトルと、記憶された動作点ベクトルと共に記憶された特性値ベクトル及び偏微係数行列から、新たな特性値ベクトルを線型化された特性値計算式により計算するとしているので、処理時間の短縮化を図り、しかも、ルックアップテーブルを使用する場合のように大規模な記憶領域を必要としない。
【図面の簡単な説明】
【図１】本発明の非線型素子の特性値計算方法の一実施形態を使用する非線型回路の過渡解析方法を示す流れ図である。
【図２】図１に示す非線型回路の過渡解析手順で実行する局所線型モデルの初期化の手順を示す流れ図である。
【図３】局所的に線型化された素子特性を非線型２端子素子の場合について示す図である。
【図４】図１に示す非線型回路の過渡解析手順で実行する線型回路方程式の作成手順を示す流れ図である。
【図５】図４に示す線型回路方程式の作成手順で実行する非線型素子の特性値計算手順（本発明の非線型素子の特性値計算方法の一実施形態）を示す流れ図である。
【図６】本発明の非線型素子の特性値計算装置の一実施形態を示すブロック回路図である。
【図７】回路シミュレータを用いた従来の非線型回路の過渡解析方法の一例を示す流れ図である。
【図８】非線型２端子素子の特性例を示す図である。
【図９】ＭＯＳトランジスタの特性値のルックアップテーブルの例を示す図である。
【図１０】回路シミュレーションにおける潜伏性の様子を示す図である。
【図１１】バイパス法による非線型素子の特性値計算方法を示す流れ図である。
【符号の説明】
１０…判定手段
２０…計算手段
３０…計算手段
４０…記録領域
【図１】
0004051937.tif 000002
【図２】
0004051937.tif 000003
【図３】
0004051937.tif 000004
【図４】
0004051937.tif 000005
【図５】
0004051937.tif 000006
【図６】
0004051937.tif 000007
【図７】
0004051937.tif 000008
【図８】
0004051937.tif 000009
【図９】
0004051937.tif 000010
【図１０】
0004051937.tif 000011
【図１１】
0004051937.tif 000012