電源設計の技術情報サイト

技術資料ダウンロード

2018.10.30 シミュレーション

SPICEシミュレーションの収束性と安定性

電子回路シミュレーションの基礎

  • Facebookでシェア
  • Twitterでシェア

近年、SPICEベースのシミュレータのシミュレーション結果は、実際の特性にかなり近づいています。場合によってはそれを現実的な理想特性として、実際の回路特性をそれに近づける調整を行うなど、かなり「使える」ツールになっています。しかしながら、解析アルゴリズムや条件設定、デバイスモデルによっては、収束性や安定性に課題がないわけではありません。シミュレーションの収束性と安定性という課題を理解することで、より有効にシミュレーションを利用できます。

SPICEシミュレーションの収束性と安定性

シミュレーションにおける収束性の問題とは、実行しても計算を開始しない、途中で止まるといったものから、わずかな条件変更で大幅に結果が変わる、なるはずがない結果になるなどがあります。簡単に言えば、解析エラーや結果が安定しないということになります。

これにはいくつかの原因がありますが、デバイスモデルに起因した例を示します。以下は、直列に接続した抵抗とダイオードのI-V(電流-電圧)特性ですが、ダイオードのような非線形デバイスのシミュレーションは、抵抗のような電流と電圧が単純に比例する線形デバイスに比べ複雑になります。抵抗のI-V特性の計算式は誰もが簡単に立式できると思いますが、ダイオードの順方向特性の式はすぐには思い浮かばないと思います。下記の例はSPICEではよく知られたニュートン法を用い、負荷線と非線形負荷(この場合はダイオード)の交点である動作点の近似解を繰り返し求めて行く方法を示しています。このデバイスモデルの特性が、不連続であったり、変曲点を持つような複雑な特性の場合、右側の図のように「なるはずがない」、収束しない結果になることがあります。

SPICEベースシミュレータのニュートン法と収束に問題がある場合

収束性や安定性が悪い場合の対処方法

収束性や安定性が悪い場合にはいくつかの対処方法があります。これはシミュレータによって違いがあるので、一例としとらえてください。シミュレータの設定項目に、収束性や安定性に関係する項目があり、それらを変更してみます。この例では、アルゴリズムに3つの選択肢があり、現状の選択を変更してみます。また、精度や誤差などの収束条件も変更してみます。

①アルゴリズムをGearに変更してみる
   ・trapezoidal(台形法):計算速度と精度は高いが収束性に難あり。
   ・modified trap(台形法改良版):台形法の収束性を改善。
   ・Gear(予測子修正法):収束しやすいが計算速度、精度面では劣る。

②収束条件を緩和する
   ・Abstol:電流精度。図の場合は1pA以内。
   ・Reltol:相対誤差。図の場合は0.1%以内。
   ・Chgtol:電荷精度。図の場合は10fC以内。
   ・Vlottol:電圧精度。図の場合は1uV以内。
精度を上げる(値を下げる)と、計算速度は落ちるが収束性は上がる。

SPICEベースシミュレータでの収束と安定性確保のための設定変更例1

③Maximum Timestepを設定する。ここを空欄にしていてもシミュレーションすることは可能だが、Timestepを大きくとりすぎてエラーとなることがある。

④Tran(過渡解析)の最初のDCポイントの収束が悪い場合は、「skip dc」にすると効果あり。

SPICEベースシミュレータでの収束と安定性確保のための設定変更例2

上記は、ユーザーサイドでシミュレータの設定などの変更により収束や安定性の問題を回避可能な場合のアプローチですが、中にはデバイスモデルが欠陥を持っている場合があります。この場合は、シミュレーションエラーをユーザーの側で解決するのは非常に困難です。

もし、デバイスモデルを作ることがあるのならば、まずは精度より収束性と安定性を重視して、動作するデバイスモデルを作ることが重要になります。

キーポイント:

・SPICEベースのシミュレータで、解析エラーや結果が安定しない場合は、収束性や安定性の問題が考えられる。

・収束性や安定性はSPICEシミュレータの設定を変更することで回避できる場合がある。

・デバイスモデルに欠陥がある場合は、ユーザーサイドで解決するのは困難である。

SPICEモデルのダウンロードはこちら