SPICE(Simulation Program with Integrated Circuit Emphasis)[ 1 ] [ 2 ]は、汎用的なオープンソースのアナログ電子回路シミュレータです。集積回路や基板レベルの設計において、回路設計の整合性をチェックし、回路の動作を予測するために使用されるプログラムです。
個別部品で構成される基板レベルの設計とは異なり、集積回路は製造前にブレッドボード上で試作することは現実的ではありません。さらに、フォトリソグラフィマスクやその他の製造に必要な材料費が高額であるため、集積回路を実際に製造する前に、回路をできる限り完璧な状態に設計することが不可欠です。
SPICE を使用した回路のシミュレーションは、集積回路の製造に着手する前にトランジスタレベルで回路の動作を検証するための業界標準の方法である。SPICE シミュレータは、さまざまな電圧および電流レベル、温度変化、ノイズなどのさまざまな動作条件下での IC の動作を予測するのに役立つ。[ 3 ]
基板レベルの回路設計は、多くの場合、ブレッドボード上でテストできます。しかし、ブレッドボードを使用した場合でも、寄生抵抗や寄生容量など、最終的なプリント配線基板と比較して回路特性が正確でない場合があります。これらの影響は、シミュレーションを使用することでより正確に推定できることがよくあります。また、設計者は、単一のモックアップから得られる以上の回路情報を必要とする場合があります。たとえば、回路の性能は、部品の製造公差の影響を受けます。このような場合、部品のばらつきが性能に及ぼす影響をモンテカルロシミュレーションで評価するためにSPICEを使用するのが一般的です。これは、ある程度の複雑さを持つ回路の場合、手計算でこの作業を行うのは非現実的です。
SPICEとその派生版が最も代表的な回路シミュレーションプログラムは、回路要素(トランジスタ、抵抗、コンデンサなど)とその接続を記述したテキスト形式のネットリストを受け取り、この記述を解くべき方程式に変換します[ 4 ]。生成される一般的な方程式は非線形微分代数方程式であり、陰解法、ニュートン法、疎行列法を用いて解かれます。
SPICEは、カリフォルニア大学バークレー校の電子工学研究所で、ローレンス・W・ネーゲルが研究指導教官ドナルド・ペダーソン教授の指導のもと開発した。SPICE1は、ネーゲルがロナルド・A・ローラー教授の下で取り組んでいたCANCERプログラム[ 5 ]の派生版である。CANCERは「Computer Analysis of Nonlinear Circuits, Excluding Radiation」の頭文字をとったものである[ 6 ] 。当時、多くの回路シミュレータは、回路の耐放射線性を評価する機能を必要とする米国国防総省との契約に基づいて開発されていた。ネーゲルの最初の指導教官であるローラー教授がバークレーを去ると、ペダーソン教授が彼の指導教官となった。ペダーソンは、独自のプログラムであるCANCERを、制限を解除してパブリックドメインにできる程度に書き換えるべきだと主張した[ 7 ]。
SPICE1は1973年の会議で初めて発表されました。[ 1 ] SPICE1はFORTRANでコーディングされており、回路方程式の構築にはノード解析を使用していますが、インダクタ、浮動電圧源、およびさまざまな形式の制御電源の表現には制限があります。[ 8 ] SPICE1は利用できる回路要素が比較的少なく、固定タイムステップの過渡解析を使用しています。SPICEが真に普及したのは1975年のSPICE2からです。[ 2 ] SPICE2もFORTRANでコーディングされており、回路要素が増え、台形積分法(2次アダムス・モールトン法)またはギア積分法(BDFとしても知られる)を使用した可変タイムステップの過渡解析、修正ノード解析による方程式の定式化(ノード解析の制限を回避)、[ 9 ]および革新的なFORTRANベースのメモリ割り当てシステムを備えた大幅に改良されたプログラムです。[ 10 ] エリス・コーエンは、バージョン 2B から業界標準の SPICE 2G6 (最後の FORTRAN バージョン) までの開発を主導し、1983 年にリリースされました。[ 11 ] [ 12 ] SPICE3 は、トーマス・クォールズ ( A. リチャード・ニュートンがアドバイザー)によって 1989 年に開発されました。C言語で記述され、同じネットリスト構文を使用し、X Window Systemプロット機能が追加されています。[ 13 ]
ソースコードが公開されている初期のパブリックドメインソフトウェアプログラムとして、[ 14 ] SPICEは広く配布され、使用されました。その普及度から、「回路をSPICEする」は回路シミュレーションと同義語となっています。[ 15 ] SPICEのソースコードは、当初からUCバークレー校によって名目上の料金(磁気テープの費用を賄うため)で配布されていました。ライセンスには当初、米国に友好的ではないと見なされる国への配布制限が含まれていましたが、ソースコードは現在BSDライセンスでカバーされています。
SPICEの誕生は2011年にIEEEマイルストーンに選ばれ、その項目にはSPICEが「世界標準の集積回路シミュレータへと進化した」と記されている。[ 16 ]ナゲルはSPICEの開発により、2019年のIEEEドナルド・O・ペダーソン固体回路賞を受賞した。[ 17 ]
Berkeley SPICE は、1993 年のバージョン 3f5 以降、新しいバージョンはリリースされていません。[ 18 ]それ以降、SPICE のオープンソースまたは学術的な継続版には、次のものがあります。
子孫ではないが、互換性がある:
Berkeley SPICE は、学術界、産業界、商用製品において、他の多くの回路シミュレーション プログラムに影響を与え、その基礎となりました。SPICE の最初の商用バージョンは ISPICE [ 26 ]で、タイムシェア サービスNational CSSのインタラクティブ バージョンです。SPICE の最も有名な商用バージョンには、HSPICE (元々はMeta Software のAshawna と Kim Haileyによって商用化されましたが、現在はSynopsysが所有) とPSPICE (現在はCadence Design Systemsが所有) があります。集積回路業界は SPICE をすぐに採用し、商用バージョンが十分に開発されるまでは、多くの IC 設計会社が SPICE の独自バージョンを持っていました。[ 27 ]
今日では、少数のICメーカー、特に大手企業には、SPICEベースの回路シミュレーションプログラムの開発を継続しているグループが存在する。その中には、
LTspiceとTINA-TIはどちらも、それぞれの会社から提供されたモデルが同梱されています。[ 30 ] [ 31 ]
他の企業も、SPICEに直接基づいていない独自の回路シミュレータを保有しており、その中にはIBMのPowerSpice 、Infineon TechnologiesのTITAN 、Intel CorporationのLynx 、NXP SemiconductorsのPstarなどがある。[ 32 ]
SPICEは、当時の集積回路の設計に必要な解析とモデルを備え、実用的に使えるほど堅牢かつ高速であったため、人気を博しました。[ 33 ] SPICEの前身となるプログラムは、多くの場合、単一の目的を持っていました。たとえば、BIAS [ 34 ]プログラムはバイポーラトランジスタ回路の動作点のシミュレーションを行い、SLIC [ 35 ]プログラムは小信号解析のみを行いました。SPICEは、動作点解析、過渡解析、およびさまざまな小信号解析を、多くの回路を正常にシミュレーションするために必要な回路要素とデバイスモデルと組み合わせました。
SPICE2には以下の解析が含まれています。
Since SPICE is generally used to model circuits with nonlinear elements, the small signal analyses are necessarily preceded by a quiescent point calculation at which the circuit is linearized. SPICE2 also contains code for other small-signal analyses: sensitivity analysis, pole-zero analysis, and small-signaldistortion analysis. Analysis at various temperatures is done by automatically updating semiconductor model parameters for temperature, allowing the circuit to be simulated at temperature extremes.
Other circuit simulators have since added many analyses beyond those in SPICE2 to address changing industry requirements. Parametric sweeps were added to analyze circuit performance with changing manufacturing tolerances or operating conditions. Loop gain and stability calculations were added for analog circuits. Harmonic balance or time-domain steady state analyses were added for RF and switched-capacitor circuit design. However, a public-domain circuit simulator containing the modern analyses and features needed to become a successor in popularity to SPICE has not yet emerged.[33]
It is very important to use appropriate analyses with carefully chosen parameters. For example, the application of linear analysis to nonlinear circuits should be justified separately. Also, application of transient analysis with default simulation parameters can lead to qualitatively wrong conclusions on circuit dynamics.[36]
SPICE2 includes many semiconductor device compact models: three levels of MOSFET model, a combined Ebers–Moll and Gummel–Poon bipolar model, a JFET model, and a model for a junction diode. In addition, it had many other elements: resistors, capacitors, inductors (including coupling), independent voltage and current sources, ideal transmission lines, active components and voltage and current controlled sources.
SPICE3では、半導体技術の進歩に伴い必要とされた、より高度なMOSFETモデルが追加されました。特に、カリフォルニア大学バークレー校で開発されたBSIMファミリーのモデルが追加されました。
商用および産業用 SPICE シミュレータは、技術の進歩に伴い、以前のモデルでは不十分になったため、他の多くのデバイス モデルを追加してきました。一連のモデル パラメータをさまざまなシミュレータで使用できるように、これらのモデルの標準化を試みる目的で、標準モデルの選択、維持、および使用促進を行う業界ワーキング グループであるCompact Model Council [ 37 ]が設立されました。現在の標準モデルには、 BSIM3、BSIM4、BSIMSOI、PSP、HICUM、およびMEXTRAMが含まれます。
Spiceは、ファウンドリPDKのデバイスモデルを使用できます。
SPICE2はテキスト形式のネットリストを入力として受け取り、1975年当時のコンピューティング環境に適したラインプリンタ形式のリストを出力します。これらのリストは、計算された出力(通常は電圧または電流)に対応する数値の列、またはラインプリンタ文字の「プロット」のいずれかです。SPICE3は回路記述にネットリストを使用しますが、 Cシェルに似たコマンドラインインターフェースから解析を制御できます。また、 UNIXやエンジニアリングワークステーションが普及するにつれて、 SPICE3では基本的なXプロット機能も追加されました。
ベンダーや様々なフリーソフトウェアプロジェクトによって、SPICEに回路図キャプチャフロントエンドが追加されました。これにより、回路図を描画し、ネットリストを自動的に生成して様々なSPICEバックエンドに転送することが可能になりました。また、実行するシミュレーションの選択や、電圧および電流出力ベクトルの操作を行うためのグラフィカルユーザーインターフェースも追加されました。さらに、波形やパラメータ間の依存関係を示すグラフを表示するための非常に高機能なグラフ作成ユーティリティも追加されています。これらの拡張プログラムの無料版がいくつか利用可能です。
SPICEは一般的に非線形微分代数方程式を解くため、電気分野以外のシミュレーションにも応用できる可能性がある。
最も単純なケースでは、SPICE は他の流れのシミュレーションに使用できます。たとえば、システム内の熱の流れは、理想的な電気回路要素と同様の挙動を示します。温度は電圧に対応し、熱容量は静電容量に対応し、(熱)伝導率は(電気)伝導率に対応し、熱の流れは電流に対応します。[ 38 ] )。したがって、SPICE は回路の電子的挙動と放熱要件の両方を同時にシミュレーションできます。[ 39 ]同様に、マイクロ流体回路は、流体力学的アナロジーを通じて SPICE でモデル化されています。[ 40 ] SPICE は、オペレーションズリサーチで摂動されたサプライチェーンを評価するために使用され、[ 41 ]合成生物学の規制ネットワーク にも使用されています。[ 42 ]
しかし、輸送ダイナミクスは SPICE シミュレーションの必須要件ではありません。回転機械では、トルクは電圧、角速度は電流、粘性摩擦は抵抗、慣性はインダクタンスに対応します。[ 43 ] [ 44 ] SPICE は、スピーカー、イヤホン、ヘッドホンのモデリングに使用されています。[ 45 ] このような電気機械トランスデューサは、多くの場合、複雑な入力インピーダンスを持ち(たとえば、「ダイナミックスピーカーの電気的特性」を参照)、それらを駆動するように設計された回路に困難をもたらします。両方のコンポーネントを統合的にモデリングすることで、この問題に対処できます。
電磁モデリングは、 PEEC(部分要素等価回路)法を介してSPICEシミュレータで利用可能です。 [ 46 ]マクスウェル方程式、RLC、表皮効果、誘電体または磁性材料、入射または放射電界がマッピングされています。ただし、2019年現在、回路が強い量子効果を示す場合、SPICEは任意のフォトニックダイナミクスをシミュレートできません。[ 47 ]