サブサーキットの作成方法
以下の順番で行うと、サブサーキットを作成し使用することができます。
- サブサーキットの回路図ファイル(*.ascファイル)を作成する。
- サブサーキットのシンボルファイル(*.asyファイル)を作成する。
- サブサーキットの回路図ファイルとシンボルファイルを同じ名前(SubCircuitTest.asc, SubCircuitTest. asyなど)にして、サブサーキットを呼び出す回路図ファイルと同じディレクトリに置く。
- サブサーキットを呼び出す回路図ファイルでサブサーキットを使用する。
では、各項目について詳しく説明します。
サブサーキットの回路図ファイル(*.ascファイル) を作成する
- LTspiceを開いて、「File→New Schematic」を選択し、回路図編集画面を開き、ツールバーのLabel Netを選択します。
- Net Nameが開きます。Port TypeをInputにして、VIN(名前の付け方は自由です)と入力し、OKボタンを押します。
- VINラベルを回路図に配置します。
- 同様に、ツールバーのLabel Netを選択し、Port TypeをOutputにして、VOUT(名前の付け方は自由です)と入力し、OKボタンを押し、VOUTラベルを回路図上に配置します。
- 回路図を作成する。今回は抵抗値100kΩ、容量値10uのRCフィルタを作成しました。後でサブサーキット内の容量値を可変できるように{10u*CV}としています。このサブサーキットは、VINとVOUTの2つのラベルがあります。
- File→Save Asを選択し、保存をする。今回はSubCircuitTest.ascという名前にしました。
シンボルファイル(*.asyファイル) を作成する
- LTspiceを開いて、File→New Symbolを選択し、シンボル編集画面を開き、DrawのLine(線),Rect(四角)等を使用してシンボルを描きます。シンボルの形はシミュレーション結果に影響を与えないので、好きなように描いてください。
- 「Edit→Add Pin/Port」を選択し、Pin/Port Propertiesを開きます。
- Labelにラベル名を入力して、OKボタンを押します。ここでの注意点はここで入力するラベル名は先ほどのサブサーキットの回路図ファイルで設定したラベル名と一致していなければなりません。今回はVINと入力しています。
- シンボルにピンを与えます。Pin Label JustificationにおいてRIGHTにチェックを入れているので、ラベル名の右側にピンが配置されます。NONEにチェックをすると、ラベル名が表示されないのでオススメはしません。Netlist Orderは1のままで大丈夫です。これは、メーカーなどからダウンロードするテキストベースのサブサーキットモデルを使用する時にNetlist Orderをそのモデルに合わせて設定します。Offsetはピンとラベルの距離を変更する際に使用します。
- 同様にシンボルにラベル名がVOUTのピンを与えます。
- File→Save Asを選択し、保存します。今回はSubCircuitTest.asyという名前にしました。
サブサーキットの回路図ファイルとシンボルファイルを同じディレクトリに置く
サブサーキットの回路図ファイルとシンボルファイルを同じ名前(SubCircuitTest.asc, SubCircuitTest. asyなど)にして、サブサーキットを呼び出す回路図ファイルと同じディレクトリに置きます。
サブサーキットを呼び出す回路図ファイルでサブサーキットを使用する
- サブサーキットを呼び出す回路図ファイルを開き、ツールバーからComponentを選択して、Select Component Symbolを開く。
- Top Directoryのプルダウンにはサブサーキットを呼び出す回路図ファイルが入っているディレクトリのパスと、LTspiceがインストールされているディレクトリのパスが表示されます。サブサーキットを呼び出す回路図ファイルが入っているディレクトリのパスを選択します。
- 同じフォルダに保存されているシンボルファイルがリストに表示されます。それを選択してOKボタンを押します。
- サブサーキットを回路図上に配置します。
- 回路図を変更します。今回は入力にパルス信号を与えたときの出力の波形を観測します。
- サブサーキット内のパラメータを可変するように設定をします。シンボルファイルを右クリックします。
- Navigate/Edit Schematic Block内のPARAMSにチェックを入れて、容量値を可変するためにCV=5uと入力します。このように入力することで、サブサーキット内の容量を変えることができます。なお、この設定はサブサーキットの回路図ファイルで容量値を可変できるように{10u*CV}としたためです。容量値を10uと入力した場合にはこの設定は必要ありません。この設定を行わない場合でもシミュレーションを実行することはできますが、シミュレーション実行時にエラーが出ます。
- シミュレーションを実行します。
【補足】サブサーキット内の変数をstep関数で変える方法
Navigate/Edit Schematic Block内のPARAMS でCV=5uと記入していたのを、CV={X}と記入します。「.step param X 1u 10u 1u」と入力し、シミュレーションを実行します。
【補足】サブサーキットを2つ使用することもできます
サブサーキットは1つの回路で複数呼び出すことができます。各サブサーキットでPARAMを変更してシミュレーションを実行することができます。