解析実行エラーの原因と対策(その2):SPICEの仕組みとその活用設計(7)(3/3 ページ)
第6回では、SPICE解析を行う際に問題になる「収束エラー」のうち、「回路の特性」を原因とするものについて説明した。第7回では、「理想化の問題」と「解析設定条件」に起因する収束エラーとその対策について解説する。
解析設定条件を原因とする収束エラーへの対策
対策としては、打ち切り条件の変更を考えます。SPICEにはOPTIONSコマンドで指定できるいくつかの設定項目があり、最近のツールでは専用のウィンドウで設定できます。その中でも、収束・精度に関する主な設定項目と内容について、表2に簡単に示します。
表2は、SPICE2とSPICE3共通のものですが、デフォルト値がバージョンやツールによって異なっていたり、SPICEのバージョン特有のもの、ツール特有の拡張項目があったりしますのでお手持ちの資料を確認して下さい。ツールのバージョンアップや変更時には注意が必要です。
表2の補足
ABSTOLとVNTOL
SPICEは解が相対精度(RELTOL)の範囲内に収まったか、あるいはABSTOL、VNTOLの各許容範囲内に収まったか、否かを式(5)で判定しています(RELTOLだけでは真値が0に近い場合に判定値が小さくなり過ぎるためです)。
電流の収束判定も同様です。
また、これらのABSTOLやVNTOLは値を大きくしすぎると正しい値に収斂(しゅうれん)しなくなるので収束エラーが多発することがあります。次ページのコラム記事に精度の考え方を示しておきますので、上限値から著しく逸脱しないようにしてください。
RELTOL
RELTOLは電圧、および電流値の相対収束度を判定する値です。解が振動して真値に近寄らない場合にはこの値を調整することで収束したと判定させることができます。しかし、この場合も上記と同じく正しい値に収斂しなくなりますので上限値は表2程度に留めておいてください。
GMIN
GMINは、素子の等価コンダクタンスが異常に小さい場合の下限を与えます。筆者のSPICE2G6の環境では、
- SPICEのSWモデルを使った時の“RON or ROFF<1/GMIN”の規制項目
- 半導体の逆漏れ電流値(Is)が異常に小さい場合
- インダクタに自動付加される並列抵抗
などで影響を確認しています(SPICE3F5では少し作用が異なるようです)。
しかし、インターネットでGMINについて検索すると、“各節点に自動で付加される”とか、“ツールが判定する最小値”など、RSHUNTやGMINSTEPSと混用されたと思われる説明が見つかることがありますので、お手持ちの資料の内容をご確認ください。なお、RSHUNT、GMINSTEPSはSPICE3F5のDC解析用のオプションです。
注意点
(1)ITLは繰り返し回数(Iteration)の上限値です。必ずこの回数分の計算を実行するものではなく、精度が所定値内に収まれば計算ループから抜けて次の条件に移ります。従って、正常に解が得られる場合は、大きな繰り返し回数を設定しても著しく実行時間がかかることはありません。ただし、500回以上に設定してダメな場合は、それ以上の値でもダメなケースがほとんどです。
(2)表2の補足の「ABSTOLとVNTOL」、「RELTOL」の項で説明したように、RELTOLの影響は広範囲に及びます。解析結果によっては誤差が累積していくケースがあります。もしこの値を調整する場合には、慎重に選択するとともに、第三者に解析者の意図が伝わるように表記しておくことが求められます。この値の調整は最終手段と考えて他の対策を優先してください。
(3)RELTOLなどのOPTIONSパラメータを調整すると回路図上のミスをカバーできる時がありますが、正しい結果が得られるはずがありません。まずは、回路図が正しく描けていることが解析の前提条件です。
なお、これらのOPTIONSコマンドの中に、SPICE3や一部のSPICE2で使える“Method”パラメータがあります
このパラメータは、連載第4回と第5回の解説で触れた数値積分法を、デフォルトの「trapezoidal(台形法)」から「Gear法(予測子修正法)」に切り替えるものです。筆者は効果を確認していませんが、計算時間と引き換えに収束性が良くなり、パワーエレクトロニクス解析に向くといわれています。
AC解析は、微小線形解析なので収束エラーは発生しません。従って、表1のモードには含めていません。問題になるのは回路の動作点で、これは収束エラーではなく、設定の問題です。予測と異なる結果が得られた場合はDC解析の結果を踏まえてバイアス条件を見直してください。
伝達関数解析(Transfer-Function)は、実態は指定された節点間のDC利得を計算するものでLやCの値は無視されますから非線形静解析です。収束に関するエラーはほとんど発生しないと言ってもよいでしょう。
SPICEの有効桁数
SPICE内部で扱う数字の有効桁数は12桁程度が主力です。従って、ABSTOLをデフォルト(1pA=10−12A)のままで使うと、大きいほうの数字は1Aまでとなり、この範囲を超えると解析値に誤差が含まれてきてしまいます。これでは最近のパワーエレクトロニクスの解析には使えません。
ちなみにツールによっては8〜9桁程度が推奨されるケースもあります。従って、パワーエレクトロニクス関連のように最大電流が100A程度になる場合には、ABSTOLは10−6A程度、すなわち1μA程度まで大きくしておいた方がよいでしょう(8桁の場合)。
また、電圧に関しても、VNTOL(1μV)とRELTOL(0.1%)が等しくなるのは1mVです。しかし、上記と同様にパワーエレクトロニクスの解析で1mVを有効数字の問題にすることは通常ありません。従ってこの場合、VNTOLを1mV程度に設定しても精度に影響はないと言えるでしょう。上限は105Vになりますので充分な範囲だと言えます。
これらの値は、元々SPICEがIC開発に適用することを目的として開発されたためであり、「最小数字をどの程度にするか」は、有効桁数、解析対象の信号のレベル範囲を考慮しながら充分な事前検討を行うべきものなのです。
次回は、理想化を意識したモデルの陥り易い問題について紹介するとともに、筆者の経験を基にしたモデルを使った解説を行います。
執筆者プロフィール
加藤 博二(かとう ひろじ)
1951年生まれ。1972年に松下電器産業(現パナソニック)に入社し、電子部品の市場品質担当を経た後、電源装置の開発・設計業務を担当。1979年からSPICEを独力で習得し、後日その経験を生かして、SPICE、有限要素法、熱流体解析ツールなどの数値解析ツールを活用した電源装置の設計手法の開発・導入に従事した。現在は、CAEコンサルタントSifoenのプロジェクト代表として、NPO法人「CAE懇話会」の解析塾のSPICEコースを担当するとともに、Webサイト「Sifoen」において、在職中の経験を基に、電子部品の構造とその使用方法、SPICE用モデルのモデリング手法、電源装置の設計手法、熱設計入門、有限要素法のキーポイントなどを、“分かって設計する”シリーズとして公開している。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- >>SPICEの仕組みとその活用設計
- 解析実行エラーの原因と対策(その1)
SPICEの解析を実際に行う際に問題になるのが「解析実行エラー」だ。第6回では、解析実行エラーの原因の切り分けや、主因である「収束エラー」について説明する。 - SPICEの過度解析(その1):キャパシタンス素子の場合
過度解析とは、いわゆる時間的に変化する特性についての解析である。SPICEを用いた回路解析では、時間的に電圧や電流が変化する部品としては、キャパシタンス素子とインダクタンス素子がある。第4回では、キャパシタンス素子使う場合の過渡解析を取り上げる。