Vol.1 回路シミュレーションの完全マップ

第1回 回路シミュレーターSPICEの全体像を知る:生い立ち~商用化まで

 

SPICE (Simulation Program with Integrated Circuit Emphasis, スパイス)は、Berkeley SPICE とも呼ばれ、1973年にカリフォルニア大学バークレー校(UC Berkeley)で開発された回路シミュレータです。その歴史と変遷を見ていきます。

 

回路シミュレーターSPICEの全体像を知る:生い立ち~商用化まで

 

図1 SPICEの歴史と変遷

 

図1にSPICEの歴史と変遷を簡単に表しています。一番最初のバージョンであるSPICEは、FORTRANで記述されていました。FORTRANは数値計算プログラム作成に適しているという特徴を持つ、プログラミング言語の1つです。FORTRANを用いて作成されたSPICEのシリーズは、改良と機能追加を経てSPICE2G6で現役を退きます。これが代表的な商用版SPICE(PSpice、HSPICE等)のベースになっています。SPICE2G6の後継機として作成されたものがSPICE3であり、今までとは変わってC言語で作製されました。その後、SPICE3F5が最後のC言語版SPICEとなりました。

 

Berkeley SPICEから派生したSPICEの親戚たち

 

この章ではBerkeley SPICEから派生したいくつかのSPICEを紹介します。前述のように、現在の無償・有償のSPICEのベースとなっているのは、Berkeley SPICEでした。

例えば、アナログ・デバイセズ社のLTspiceは、Berkeley SPICEの1つであるSPICE3F4/5が元になっています。なお、現在のつまり、Berkeley SPICEと、現在使われているPSpiceやLTspiceは親戚の関係にあります。しかし困ったことに、これらの親戚の間柄にある各シミュレータは相性が悪く、各SPICEシミュレータの間では完全に互換性がある訳ではありません。基本的な機能は共通なのですが、内部演算処理のアルゴリズムは各社で個別に最適化を施されています。さらに、特定のSPICEにしか実装されていない機能だったり、互換性のない素子もあります。例えば、LTspiceのキャパシタ(C)とインダクタ(L)は、アナログ・デバイセズ社が独自に拡張を施しており、LTspice以外のシミュレータでは使うことができません。このことから、特に電源IC向けのシミュレーションを意識して最適化されているこだわりを感じることができます。その他、LTspiceのビヘイビア電源、有損失伝送線路、MESFET、均一なRC線路は、元となっているBerkeley SPICEの1つであるSPICE2G6とは互換性がありません。

 

結果的に各社が独自のSPICEを発展させていったことにより、現在では各SPICEネットリストの構文は元となったSPICEが同じであるにも関わらず、方言のように違いが大きくなっています。基本的にはオリジナルのBerkeley SPICEの構文を引き継いでいるのですが、独自の構文を導入しているケースもあり、シミュレータを切り替えた際に「過去に作った回路図のシミュレーションを掛けられない」なんてことが発生します。最悪の場合、シミュレーション結果が異なることさえあります。以上のことより、過去に作成したモデルを異なる回路シミュレータで流用しようとした場合、仮にエラーなく動作した場合も注意が必要となります。

そこで様々なSPICEに精通した弊社の出番となります。弊社は様々なSPICEシミュレータのモデリングに熟知しているため、各種差分を意識したモデリングを実践しています。回路シミュレータの切り替え等による、回路図やモデルの最適化に関してお困りのことがございましたら、お気軽にこちらよりお問い合わせください。弊社エキスパートよりご対応させていただきます。