解析実行エラーの原因と対策(その2):SPICEの仕組みとその活用設計(7)(2/3 ページ)
第6回では、SPICE解析を行う際に問題になる「収束エラー」のうち、「回路の特性」を原因とするものについて説明した。第7回では、「理想化の問題」と「解析設定条件」に起因する収束エラーとその対策について解説する。
理想化の問題を原因とする収束エラーへの対策
ここでは電流源とインダクタの組み合わせ例を説明しました。同様に、キャパシタと理想電圧源の組み合わせでは異常電流が流れ、他の素子の動作点の大幅な変化を誘起します。この場合にはキャパシタに直列に微少抵抗を挿入します。
つまり、素子を理想化し過ぎると想定していない現象を引き起こすことになるので許容できる範囲で現実を加味した状態へ近づけてやることが対策になると言えるのです。
これらと同様に、不完全なSPICEモデルパラメータも問題になり得ます。遅れ時間生成のために半導体等価回路の寄生容量CJ*は設定されていても、モデル内部の等価直列抵抗RS*が設定されていないことが時としてあるのです。このようなモデルを使って過渡解析を行うと、部品を電源につないだだけで異常電流問題が発生することもあります。この種の問題が発生するモデルについては、モデルパラメータの内容を検証することをお勧めします(デバイスメーカー提供のモデルパラメータでも時として起こることがあります)。
また、SPICEモデルパラメータについては、各種書籍やインターネット情報の他、筆者のWebサイトでも紹介していますので参考にしてください。
解析設定条件を原因とする収束エラー
回路図の作成ミスはなく、回路特性にも理想化にも問題はない。つまり、回路図には何も問題がないのにもかかわらず、解析実行時に収束エラーが発生する場合、SPICE本来の解析設定条件が原因になっている可能性があります。
これまでの連載で述べてきたように、SPICEは動作点を求めるために繰り返しの収束計算を実行し、この計算が必要な精度に達したか否かを判定しています。しかし、無制限に計算を実行すると無限ループに陥る可能性があるために計算回数制限を行い、この回数内に必要な精度に到達しないとエラーとして以後の計算を打ち切るようになっています。この場合も収束エラーとして「ERROR -- Convergence problem…」が表示されます。
収束計算に多くの回数が掛かる要因としては、収束しにくい回路構成が挙げられます。例えば、連載第3回の記事で紹介したダイオードの動作点を求める計算では、収束するまでに12回の計算を必要としています。しかし、回数制限値が12回未満であれば、正常な計算途中であるにもかかわらず計算を打ち切り、「収束エラー」が表示されてしまうことになります。
Copyright © ITmedia, Inc. All Rights Reserved.