(1)SPICEのlog(あるいはout)ファイルには、エラーメッセージ、エラー時の回路コンディション、収束状況、問題素子名などが記載されていますので大いに参考になります。しかし、ここに記載されている内容は、最初に検出された素子のみが対象となっており、この素子が本当にエラーの原因になっているのかは、回路図とエラーメッセージを対比しながら総合的に判断しなければなりません。他の素子の影響でこの素子に過大電流が流れているケースもあり得ることを理解しておいてください。
問題の素子を見つけたら以下の対応に進みます。
(2)回路の不要な振動については、解析目的に影響がなければ抑えた方が良いのは言うまでもありません。巨大な並列抵抗、微小な直列抵抗を挿入して収束性を改善します。しかしこの場合、付加した素子の影響を確認することが必要です。また、資料によっては「CRスナバの付加」を振動対策としているものもありますが、回路動作に影響を与え、解析目的にズレを生じるので、安易に用いない方が良いでしょう。本来の特性が変わってしまっては本末転倒です。
(3)先述した定電力負荷のような負荷については、確実に負荷線と交差させるために、解析に影響のない目的範囲外の入出力条件では、定電圧もしくは定電流になるように特性に制限をかける。
(4)正しい初期電圧の設定も重要です。交点が複数考えられる負荷の過渡解析では、初期値を確実に反映させます。
回路の初期動作点を計算する場合に、スタート値としての値を与えます。初期値の繰り返し計算時には、計算結果の影響を受けて値が変わっていきます。
初期動作点値を求める計算期間中は常に設定値を保ちます。ICを使用する際の値の指定方法は次の方法がありますが、部品のプロパティで設定した初期値は過渡解析でUIC(Use-Initial-Condition)が指定された時のみ有効になります。ICコマンド文での指定と優先順位が異なりますので注意が必要です。
SPICEは自動的に設定されたIC値を使用して計算しますが、IC値が設定されていない素子はUICの有無によって表Aのように扱われます。なお、UICの主な指定方法は次の2つです。詳しくはお手持ちの資料をご確認ください。
ICの指定に限っては直接指定した方が確実です。しかし、このICのパラメトリック指定機能はSPICE3Fに該当コマンドがないので、自身で使用しているツールの動作をご確認ください。
図4や図5のように、交点が複数存在する場合は与えた初期値によって結果が変わってきてしまいます。
つまり解が得られたとしても、その解の妥当性は設計者自身が検証する必要があるということです。
そのためにはむやみにシミュレーションに頼るのではなく、回路がどのような動作をするのかあらかじめ予測し、結果と比較することが大事なのです。
シミュレーション≠設計とはそのような意味も含まれているのです。
次回は、残る収束エラーの原因である「理想化の問題」と「解析設定条件」について、対策を含めて説明します。
加藤 博二(かとう ひろじ)
1951年生まれ。1972年に松下電器産業(現パナソニック)に入社し、電子部品の市場品質担当を経た後、電源装置の開発・設計業務を担当。1979年からSPICEを独力で習得し、後日その経験を生かして、SPICE、有限要素法、熱流体解析ツールなどの数値解析ツールを活用した電源装置の設計手法の開発・導入に従事した。現在は、CAEコンサルタントSifoenのプロジェクト代表として、NPO法人「CAE懇話会」の解析塾のSPICEコースを担当するとともに、Webサイト「Sifoen」において、在職中の経験を基に、電子部品の構造とその使用方法、SPICE用モデルのモデリング手法、電源装置の設計手法、熱設計入門、有限要素法のキーポイントなどを、“分かって設計する”シリーズとして公開している。
Copyright © ITmedia, Inc. All Rights Reserved.