サブサーキットの使用法

2003年9月27日更新
サンプルファイルのダウンロード

回路の説明

LTspiceで、サブサーキットをLTspiceの回路図エディタを使用して 利用する方法の一例です。 肝心なことは、サブサーキットにしたい回路図ファイル(*.ascファイル) とそのシンボルファイル(*.asyファイル)を同じ名前(sub.asc, sub.asy 等) にして親回路図ファイルと同じディレクトリに置く、ということです。 LTspice のヘルプでは Schematic Capture - Hierarchy として説明されています。 以下、具体的に使用例を述べます。

サブサーキットファイルの準備

以下のようなLPF回路図を作成し、sub01.asc (拡張子 .asc はデフォルトで設定されます) というファイル名で保存します。 このサブサーキットは、IN と OUT とラベルされた2個の端子をもちます。
サブサーキット回路図

つぎに、シンボルの準備をします。メニューのFileから、New Symbol を選択し、 シンボル編集画面を開きます。
シンボル編集画面

このシンボル編集画面では、メニューの、Edit と Draw を非常に良く使います。
メニューバー

早速、メニューの Draw から Rect を選択し、 シンボルの外形用に四角を描きます。 描き方は、Rectを選択した後、 左上のコーナーとおぼしき位置で左クリック、 そのあと、右下のコーナーとおぼしき位置でまた左クリック、 Escキーもしくは右クリックで Rect モードから抜ける、となります。
描き終わった四角の例です。
四角

つぎに、端子となるべき、線を2本加えます。Draw から Line を選択して 線を2本引いてください。Line は Esc キーもしくは右クリックで抜けるまで 折れ線を引こうとしますが、右クリックにて抜けると続けて Line が引けます。 Esc キーで抜けるともう一度メニューから Draw-Line となります。 描き終わったシンボルの例です。
四角と線

もし描き間違えた場合は、 ハサミアイコンを使うことで間違った部分を削除できます。 ただ、シンボルの形そのものはシミュレーション結果に 影響を与えませんのであまり神経質になる必要は無いかと思います。
次に端子名を与えます。この端子名は先の回路図で使った端子名と 一致していなければなりません。メニューの Edit から Add Pin/Port を 選択します。まず、端子 IN からはじめます。
端子名作成

Label に IN と入力し、Pin Label Position をお好みで選びます。 NONE はお勧めしません。Netlist Order は、テキストベースの サブサーキットモデルのときに意味を持ちます。 もし、ご自身のSPICEモデルライブラリなど利用したい場合は、 Netlist Order をそのモデルに合わせて設定してください。 さて、Okを左クリックして IN を向かって左側の端子の先に置きます(左クリック)。 同様に、端子 OUT を作成します。 シンボル

とりあえずこれでシンボルの準備が整いました。 メニューの File から Save As にて sub01.asy (拡張子 .asy はデフォルトで設定されます)として、 先の回路図ファイル sub01.asc と同じフォルダに保存します。 これで、サブサーキットの準備が整いました。 では、説明のため、いったん LTspice を終了してください。

サブサーキットファイルの使用

LTspice を起動し、 アイコン新規作成アイコンを左クリックして 新規回路図ファイルを開きます。次に、メニューの File - Save As にて、 先ほど作成したサブサーキットファイルがあるフォルダに、top.asc とでも(任意です)して何も無い回路図をとりあえず保存します。
名前を付けて保存

アイコン部品アイコンを左クリックして 部品リストウィンドウをひらきます。 このとき、一番上の Top Directoryプルダウンメニューの下矢印を 左クリックすると、回路図ファイルを保存したディレクトリへのパスと、 LTspiceのインストールされているディレクトリへのパスが表示されます。 ファイルの保存されているパスは個々の環境によるため、以下の例では、 大部分を塗りつぶしてありますのでご了解ください。
プルダウンメニュー

このプルダウンメニューで、リストの一番上の回路図ファイルが 保存されているパスを選択します。すると、同じフォルダに保存されている 先ほど作成したサブサーキットの名前がリスト上にあらわれます。 それを選択すれば、先ほど作成したシンボルが部品選択ウィンドウに あらわれます。
部品選択画面

Ok をクリックすれば、サブサーキットが利用できます。 トップ回路図

とりあえずシミュレーション

入力にステップ電圧信号を与え、出力の波形を見てみます。 シミュレーション設定( .Tran )も含めた回路図は以下のようになります。
トップ回路図

シミュレーション結果(V(TST))は以下のようになります。
シミュレーション結果

では、説明のため、いったん LTspice を終了してください。

パラメータの利用

サブサーキットの便利な利用法としてパラメータ( .PARAM ) の活用があります。たとえばこの例でいくと、LPFの時定数 などが挙げられます。 とりあえず、sub01.ascをもう一度開きます。 (ファイルをダブルクリックか、LTspice を起動してから File - open など)
抵抗 R1 とコンデンサ C1 の値を以下のように変更します。
回路図

特に、R1は本来 100k と数値のあったところを、"{ 100k * FT }" となっています。なお、このような式を数値のところに入力する場合は、 部品の上で右クリックをして値を変更するより、100k と値のあるその上で 右クリックをして値のみを変更するほうが楽です。
値の変更

若干、この"{ 100k * FT }"について説明します。
{ } は、これに囲まれた式、表記をシミュレーション時に評価(計算) しなさいという指示をシミュレータに与えます。したがって、パラメータ などを部品の値として使いたい場合は、これでくくります。
FT は とくにシミュレータで特別な意味をもったものではありませんので、 パラメータとして使用されていることになります。ちなみに PI だと円周率の意味を持ちます。
回路全体として、時定数が、R1 * C1 = FT [sec] となるように R1の値が設定されます。
さて、ついでにシンボルのほうもちょっと手を加えて、 メニューの Draw - Text によりシンボルに LPF というテキストを加えます。
シンボル

全てのファイルをセーブしていったん LTspice を終了します。

再度シミュレーション

もう一度、回路図 top.asc ファイルを開きます。
回路図

すでに、自動的にシンボルの変更が反映されています。
このままシミュレーションを走らせると、 結果表示直前でエラーがでます。 今回は、サブサーキットに対して FT というパラメータを 定義しなければなりません。LPF のシンボル上で右クリックし、 サブサーキットへのパラメータ編集画面を表示します。 以下のように PARAMS: フィールドを設定した後、 Okを左クリックしウィンドウを閉じます。
設定画面

FT=1 が非常に見にくい位置にいきますので、 アイコンにて見やすい位置に 移動してやってください。出来上がった回路図はこんな感じになります。
回路図

こんどはシミュレーションが問題なく走るはずです。 なお、出力にある抵抗 R1 が 1Meg オームと LPF 内で使用している 抵抗値に対して十分大きくない値のため出力電圧が 入力の 1V からだいぶ落ちています。 100Meg くらいにすると多分問題ないと思います。
シミュレーション結果

なお、サブサーキットは、ひとつの回路図内でいくつも呼び出せ、 基本的にそれぞれが独立な回路となりますので、 PARAMS を利用することで、ひとつのサブサーキットに 以下のように異なる特性を持たせることも可能です。
回路図

シミュレーションの結果(V(TST1), V(TST2))はこうなります。 シミュレーション結果

戻る