連載
» 2013年10月23日 11時30分 UPDATE

SPICEの仕組みとその活用設計(6):解析実行エラーの原因と対策(その1) (1/3)

SPICEの解析を実際に行う際に問題になるのが「解析実行エラー」だ。第6回では、解析実行エラーの原因の切り分けや、主因である「収束エラー」について説明する。

[加藤博二(Sifoen),MONOist]
SPICEの仕組みとその活用設計

 前回までは線形/非線形の静解析、および過渡解析がSPICEの中でどのように扱われているかを中心に説明してきました。しかし、実際に解析を行う際に問題になるのが解析実行エラーです。

 しかし、この解析実行エラーは、“公開できない開発途中の新回路”で起こりやすく、“SPICE紹介セミナー”や“SPICE解説サイト”などで情報が公開されることはありません。従って、筆者の経験(主としてパワーエレクトロニクス、アナログICなど)が中心にはなりますが、今回から数回にわたって、解析実行エラーが発生する原因と対策を説明していきます。

実行エラーの原因を切り分ける

 解析が実行できない“実行エラー”の原因は大まかに分けて2つあります。

  • 回路図が正しく描けていない。
  • 解析(計算)が収束しない

 しかし今回は、

  • 解析は実行されるが、解析条件の設定次第で得られる波形が異なる(正しい結果が分からない)

実行エラーの範疇(はんちゅう)として取り上げます。これは、設計案を正しく評価できなくては、本連載の「分かって設計する」という目的を達成できないからです。

回路図が正しく描けていない場合

 それではまず、回路図が正しく描けていない場合から説明します。

 回路図の問題点を修正するには、エラー内容を把握する必要があります。そのためには、SPICEが出力する解析条件やファイルの依存関係が記録されたlog(もしくはout)ファイルを最初に確認することになります。このファイルには、解析条件のみならず、図1(b)に示すように計算を中断させた原因を特定するのに役立つ情報も記録されています。簡単な英文のテキストファイルですが、問題箇所の特定が容易になります。

図1 図1 配線が浮いているフローティングエラーの例(クリックで拡大)
例

*1)SPICEでは、過渡解析の初期動作点計算時に、キャパシタは開放、インダクタは短絡として計算するモードがあります。このため、見た目に問題がなくてもこの種のメッセージが出力されることがあります。

 この種の問題の他に、同じ解析用ファイル(cirファイル)を使っても、ツールを変えると解析が止まるといった問題があります。これはデフォルト条件がツールごとに異なるためで、logファイル中のエラーメッセージを読むことができさえすれば問題箇所の特定は難しくありません。

 しかし、SPICEの解析実行エラーの原因としては、このような回路図の作図に関するケースはあまり多くありません。以降に述べるような、“回路図が正しく描けているにもかかわらず計算を実行できない”場合がほとんどです。

収束エラーの原因は3つ

 回路図の見た目に問題がない、あるいは回路図チェック機能を使っても修正すべき箇所が見つからないのに、解析を「イザ実行!!」しても、“Convergence problem in ***** analysis”といったメッセージが表示され、計算を開始しない、あるいは計算途中でSTOPしてしまうケースがあります。いわゆる「収束エラー」「収束問題」と呼ばれる現象で、「解析エラーと言えばこれ!!」といっても過言ではありません。

 収束エラーは、回路全体の問題として発生するもので、その原因となる箇所は大まかに分けて3つあります。

  • 回路の特性
  • 理想化の問題
  • 解析設定条件

 まずは、「回路の特性」を原因とする収束エラーから説明しましょう。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.