特定のノード電圧、特定のデバイス電流のみシミュレーション結果を保存するのが.saveコマンドです。
測定点が決まっているシミュレーションを行う際に、この『.save』コマンドを使用するとシミュレーション時間を削減することができます。
では、これからこのコマンドについて詳しく説明していきます。
.saveコマンドとは
LTspiceのシミュレーション(特に.tranコマンドを使用した時間領域のシミュレーション)では、全てのノード電圧とデバイス電流を保存するため、大量のデータが生成されます。
そこで、『.save』コマンドを使用すると、特定のノード電圧とデバイス電流のみを保存するので、シミュレーション結果のデータ量を削減することができます。
その結果、HDDへのアクセス回数削減、シミュレーション時に作成される拡張子が『.raw』のファイルの容量削減、シミュレーション時間の削減をすることができます。
しかし、デメリットとして、『.save』コマンドで指定したノード電圧とデバイス電流しか波形が観測できなくなります。
構文
『.save』コマンドのコマンドと例を以下の表に示します。
条件 | 構文 | 例 |
特定のノード電圧のみ保存する場合 | .save V(ノード名) | .save V(OUT) |
特定の素子に流れる電流のみ保存する場合 | .save I(素子名) | .save I(M1) |
特定の素子の特定の電流のみ保存する場合 | .save Id(素子名) | .save Id(M1) |
全ての電圧のみ保存する場合 | .save V(*) or .save V(?) | 左と同じ |
全ての電流のみ保存する場合 | .save I(*) or .save I(?) | .save Id(*),.save I(*) |
ダイアログボックスで選択した電圧・電流のみ保存する場合 | .save dialogbox | 左と同じ |
これらの構文は複数組み合わせることも可能です。例えば、
と記入すると、OUT端子のノード電圧とMOSFET(M1)のデバイス電流のみ保存します。
これから各構文について説明していきます。シミュレーション回路の題材として、LTC3864のサンプル回路を使用します。このシミュレーション回路は、『Select Component Symbol』→『LTC3864と入力』→『Open this macromodel’s test fixture』をクリックすると出てきます。
特定のノード電圧のみ保存する方法
構文 | 例 |
.save V(ノード名) | .save V(OUT) |
上記のようにコマンドを記入すると、出力部にあるノード(OUT)のみ電圧を保存します。このノード電圧しか保存されないため、他のノードをプローブしても、プローブカーソルが表示されません。追加でノード電圧とデバイス電流を測定したい場合には.saveコマンドを修正して、サイドシミュレーションを実行する必要があります。
特定の素子に流れる電流のみ保存する場合
構文 | 例 |
.save I(素子名) | .save I(M1) |
上記のようにコマンドを記入すると、MOSFET(M1)に流れる電流(ドレイン電流、ソース電流、ゲート電流)を保存します。
特定の素子の特定の電流のみ保存する場合
構文 | 例 |
.save Id(素子名) | .save Id(M1) |
I(M1)ではなくId(M1)と記入すると、MOSFET(M1)のドレイン電流のみ保存します。ソース電流を保存するときはIs(M1)、ゲート電流を保存するときはIg(M1)となります。
全ての電圧のみ保存する場合
構文 | 例 |
.save V(*) or .save V(?) | 左と同じ |
ワイルドカード(『*』や『?』)を使用することで、全ての電圧のみ保存します。電流を測定する必要がないシミュレーションで有効なコマンドです。
全ての電流のみ保存する場合
構文 | 例 |
.save I(*) or .save I(?) | .save Id(*),.save I(*) |
このようにId(*)と記入すると、全てのドレイン電流のみ保存します。
I(*)とすると全ての電流のみ保存します。電圧を測定する必要がないシミュレーションで有効なコマンドです。
ダイアログボックスで選択した電圧・電流のみ保存する場合
構文 | 例 |
.save dialogbox | 左と同じ |
ダイアログボックス(dialog box)を記入すると、シミュレーション実行後に保存可能な全てのノード電圧とデバイス電流のリストが表示されます。そこで指定した電圧と電流のみを保存することができます。
複数組み合わせて使用する場合
OUT端子のノード電圧とMOSFET(M1)のドレイン電流のみを保存したい場合には上記のように記入します。上記のコマンドは
.save Id(M1)
と分けて書いても大丈夫です。間違えやすいのが、以下のようにコマンドを記入することです。
上記ではOUT端子の電圧しか表示しなくなります。
実際にどれくらいシミュレーション時間が削減できるのか
LTC3864のサンプル回路において、『.save V(OUT)』と記入してOUT端子のノード電圧のみを保存した時と、『.saveコマンド』を用いないで全ての電圧と電流を保存した時の比較を行ってみます。
シミュレーション時間は以下の図のように『.save V(OUT)』を用いると5.16[s]、『.saveコマンド』を用いないと5.357[s]となっており、『.saveコマンド』を用いた方がシミュレーション時間が短いことが分かります。
またシミュレーション時に作成される拡張時が『.raw』ファイルの容量ですが、『.save V(OUT)』を用いると4[KB]、『.saveコマンド』を用いないと13974[KB]となり、ファイル容量が削減されていることも分かります。