シミュレーション実行時、回路に初期の動作点を与える.nodesetコマンドについて説明します。
『.nodesetコマンド』とは
LTspiceではシミュレーション実行時、プログラムの繰り返し処理によって、各ノードの電圧や素子に流れる電流の初期状態(電圧や電流が安定する状態)を計算します。
.nodesetコマンドとは、シミュレーション実行時、回路に初期の動作点を与えることで、DC解析やtran解析の初期状態を計算しやすくするコマンドです。シミュレーション実行後、初期の動作点の制約が緩和され、プログラムの繰り返し処理により、回路の初期状態を計算します。『.nodesetコマンド』は初期の動作点を固定するわけではないため、回路の初期状態は『.nodesetコマンド』で与えた動作点と必ずしも一致するわけではありません。
フリップフロップ(flip-flop)のように複数の安定状態を持つ回路の場合、『.nodesetコマンド』で初期の動作点を与えることで回路をいずれかの状態にすることができます。
似たようなコマンドの1つに.icコマンドがあります。『.icコマンド』は初期状態を設定する(初期の動作点を固定する)コマンドです。また、『tran解析』でUICオプションが設定されている場合には、UICによる初期状態が優先されます。
補足
『.nodesetコマンド』の構文
『.nodesetコマンド』の構文は以下のようになっています。
構文において「<」と「>」で囲まれたパラメータは省略できません。また、「[」と「]」で囲まれたパラメータは省略できます。
『.nodesetコマンド』のコマンド例
- ノード1の電圧V(1)の初期の動作点を0.25Vに、ノード2の電圧V(2)の初期の動作点を5.0Vに設定する。
『.nodesetコマンド』のシミュレーション例
『.nodesetコマンド』の有無におけるシミュレーション結果の違い
NMOSを用いたフリップフロップ回路で『.nodesetコマンド』の有無におけるシミュレーション結果の違いを観測してみます。
シミュレーションでは、『tran解析』を実行後、ノードを右クリックした際に表示される『Place .op Data Labe』を選択する事で回路上に『op解析』の結果を表示しています。『op解析』とは、DC動作点解析のことで回路の安定状態における電圧値を回路上に表示する解析です。『tran解析』では0sでの値が回路の安定状態となります。
- 『.nodesetコマンド』を使用しない場合
- 『.nodesetコマンド』を使用した場合
直列接続されている2つのMOSFETは左右とも同じものを使用しています。そのため、回路の初期状態では、ノード1の電圧V(1)とノード2の電圧V(2)が等しくなります。
『.nodesetコマンド』で初期の動作点を与えると、フリップフロップはその動作点から回路の初期状態を計算します。そのため、ノード1の電圧V(1)とノード2の電圧V(2)が異なる値となっています。
『.icコマンド』と『.nodesetコマンド』の違い
抵抗1kΩとコンデンサ1uFで構成されたRC回路のシミュレーションで『.icコマンド』と『.nodesetコマンド』の違いについて観測してみます。シミュレーションでは、『tran解析』を実行後、ノードを右クリックした際に表示される『Place .op Data Labe』を選択する事で回路上に『op解析』の結果を表示しています。また、コンデンサにかかる電圧V(out)を観測します。
『.icコマンド』を使用した場合
シミュレーション実行時、プログラムの繰り返し処理によって、各ノードの電圧や素子に流れる電流の初期状態を計算します。『.icコマンド』は初期状態を設定するコマンドです。シミュレーションでは、
と記述しているため、シミュレーション開始時、『.icコマンド』によってノードoutの電圧V(out)は0Vとなっています。『tran解析』でも0sで0Vになっていることが確認できます。
『.nodesetコマンド』を使用した場合
『.nodesetコマンド』で初期の動作点を与えた後は、繰り返し処理によって初期状態(回路が安定する状態)を探します。シミュレーションでは、
と記述していますが、上図の回路の場合、初期状態はコンデンサに電荷が充電された後なので、初期状態でのノードoutの電圧V(out)は1Vとなります。『tran解析』でも0sで1Vになっていることが確認できます。