見出し画像

LTspiceで電子回路のお勉強:はじめに


電気回路の講義を受けて電子回路の講義に進んだときに何が変わるか,というと非線形デバイスがでてくるところが大きな点だと思います.これを小信号等価回路で線形近似して解くわけですが,これだと非線形性で何が起こるか分かりにくい.でも非線形の解析なんてやってられない.ということでそういうことは計算機にやらせましょう.

1.SPICEファミリー

回路シミュレータと言えば SPICE.1973年に UC Berkeley で開発されました.ちなみに世界で最初のマイクロプロセッサ (Intel 4004) が発売されたのが1971年.スパコン (CDC 7600) でも クロック周波数 36.4 MHz,10 MFLOPS という時代に SPICE を作った Nagal と Pederson に敬意を表しましょう.私の師匠はSPICEのプログラムを苦労して入手したとか,シミュレーションを実行するためにパンチカードの束をもって計算機センターの列に並んだとかよく話していました.

http://bwrcs.eecs.berkeley.edu/Classes/IcBook/SPICE/

論文のタイトルにあるように SPICE は Simulation Program with Integrated Circuit Emphasis の略で,Integrated Circuit が入っていることから分かるように集積回路の設計が主眼に置かれています.つまり,トランジスタのような非線形デバイスを大量に含む大規模な回路を数値計算で解く必要があるわけですが,この問題を解決した SPICE はあまりにも優秀で現在まで"SPICE" の名前が続くことになります."Original SPICE" とか "Berkeley SPICE" とか呼ばれる UC Berkeley による SPICE は1993年のバージョン 3f5 で終了しましたが,商用・非商用を問わず現在も多数の派生物が利用できます.

1.1 Ngspice

Berkeley SPICE の後継であるオープンソースの SPICE です.

頭に冠している "NG" は Next Generation と言われることが多いですが,公式は "The NG prefix has lot of meanings: Next Generation, New Good, etc. Choose or invent the one you prefer." と言っているので,決まった語源はありません.

メインのインターフェースがテキストベースなので,単体で使おうとすると最初はとっつきにくいです.Ngspice を解析エンジンとして使うツールが多数あるので,それを使うのがよいでしょう.そのようなツールの一つ Xschem については別記事に書いています.

1.2 LTspice

この記事で使うのはこの LTspice です.

https://www.analog.com/jp/design-center/design-tools-and-calculators/ltspice-simulator.html

無償で利用可能でありながらほとんど利用制限がなく,機能も豊富.その結果ユーザーも多く,解説などもネット上に豊富.ということで非常に使いやすいです.ただし,無償で利用できますがオープンソースではないのでオープンソースにこだわりがある人は他のツールを使いましょう.

頭に冠している LT は Linear Technology の略.かつては Linear Technology という会社が作っていたんですが,Analog Devices に買収されました.

1.3 PSpice

OrCAD (現在は Cadence Design Systems が買収) の作っていた SPICE で,基本は有償ですが学生は無償で使えました.使用制限が LTspice よりは厳しいので気軽に使うには LTspice の方が… という状況だったんですが,2020年に TI (Texas Instruments) が PSpice for TI を無償提供開始しました.LTspice と真っ向勝負の様相? ちなみに TI はICベンダーとして(圧倒的に)世界トップ,LTspice をもっている Analog Devices が2位で追撃中なので,たぶんガチ勝負です.

https://www.ti.com/tool/ja-jp/PSPICE-FOR-TI

なお筆者はまだ PSpice for TI は使ってないので詳しいことは分かりません.あと,頭の "P" が何なのかも分かりません.

1.4 その他

他にもたくさんあります.商用ツールで代表的なものは Synopsys の HSPICE とか.また,SPICE と名前に入っていなくても解析エンジンが SPICEベースのものも多数あります (というか回路シミュレータで SPICE から独立しているものってあるの?).

2.使用上の注意

SPICE ははっきり言って超強力です.ただし SPICE は所詮はプログラムであって知性をもっているわけではないので,利用者の望んだ動作をするのではなく,利用者が入力した通りにしか動きません.プログラムを勉強するときに「プログラムは思った通りに動くのではない.書かれた通りに動くのだ」と言われるのと同じことです.つまり,入力した回路が正しいか,使っているデバイスのモデルは妥当なものか,解析条件は適切か,などは使う人間が判断するしかないのです.変な条件を設定しても SPICE はエラーを出しません.変な結果を出すだけです.SPICEを使うときは,まず頭の中や紙の上でどういう結果になるかを予想し,SPICE の出した結果をその予想とつきあわせて検証しましょう.

それをせずにひたすら SPICE を実行しつづける人を "SPICE Monkey" と呼びます.この「猿」は無限の猿の定理で何も考えずにひたすらキー (SPICE) を叩き続ける猿のことです.ごく低い確率でシェイクスピアの一節がでてくるかも知れませんが…

3.LTspiceサンプルファイル

LTspice の入力ファイルを一から作るのは面倒とか,エラーで動かないので正しい入力ファイルが欲しい,ということがあると思うので,github に入力ファイルを置いてあります.ライセンスは CC0 (パブリックドメイン) なので好きに使ってください.



この記事が気に入ったらサポートをしてみませんか?