SPICEの小瓶(20) SPICEサブサーキットとシンボルを紐づけ、思ったより便利じゃん

Joseph Halfmoon

薄々知ってはいたのです。食わず嫌いでした。LTspiceのシンボルにシミュレーション用モデルを紐づけ。シンボルを配置すれば何も追加の記述することなくシミュレーション可能。いちいちシンボル作るのがメンドイと思っていたのですが、シンボルファイルはコピペでOK。それにLTspice、テキストのネットリストも編集できたのね。

※「SPICEの小瓶」投稿順インデックスはこちら

前回、掘り出した30年前の御本に載っていたオペアンプのマクロモデルを階層スケマティック化。これでマクロモデルの活用も大いに進むじゃろ、と思ったのです。しかし四角の素っ気ないシンボルだと盛り上がりに欠けます。やっぱりオペアンプは三角でなければね。ということでシンボルだけ3角にしてみたのです。そこでまた不満が。階層構造だと中身がもろ見え。マクロモデルを普通の部品みたいに扱いたくなりました。

いままでテキストベースのサブサーキット・モデルを引用して使うということはままあり、以下のような手順でやってました。

    1. サブサーキットのファイルを mylib(どこでもよいですが)に配置
    2. 回路図上に、.include 文をおいて上記のファイルを取り込むようにする。
    3. テキトーなシンボル(端子の数と順番が適合しているもの)を回路図上に配置。そのアトリビュートを開き以下を編集
      • プリフィックスをサブサーキットを示すXにする
      • バリューにインクルードしたサブサーキット名を記入

まあ、1度きりで何度も使わないモデルであれば上記のシーケンスでよいですが、毎度使うのであれば、そのモデル「専用」のシンボルを用意してそのシンボルとサブサーキットを紐づけてしまう方がお楽、と今回ようやく思い知りました。こんな感じ。

シンボルはコピペでもよい、ともかくアトリビュートの編集

シンボルの絵を編集するのにとても抵抗があったのですが、コピペで済ませればいいじゃん、ということに今頃気づきました。だから必要なことはアトリビュートの設定だけです。OA741SYM_ATTR

上のアトリビュートエディタの項目のうち、最後の行以外は回路図エディタでも見える項目なのですが、最後のModelFileの行はシンボルファイルの中でしか現れない行みったいっす。そこにサブサーキットを記載したファイル名へのパスを書くと。あと忘れずに Prefix を X にして、サブサーキットが分かるように Value も記載しました。

LTspiceはテキストベースのネットリストも編集可能

LTspiceがテキストベースのネットリストを出力可能なことは知ってましたが(まず使いはしませんが。)実はテキストエディタも含んでいたのでした。もちろんSPICEの文法にのっとり色を変えたりしてくれてます。こんな感じ。OA741LIB

 

なんだ、普通に「昔風」のSPICEネットリスト記述もLTspiceの中でできるんじゃん。上記は前回練習した、30年前の御本から引用させていただいたOA741と称するモデルです。

回路図に配置してシミュレーション確認

前回の回路図の階層ブロックを削除して上で作ったシンボルに置き換えてみました。こんな感じ。OA741DUT_new

 

シミュレーション結果は以下に。OA741DUT_newSIM

サブサーキットは、専用のシンボルに紐づけた方が便利。

SPICEの小瓶(19) LTspice階層化、簡単じゃん。マクロモデル活用開始 へ戻る

SPICEの小瓶(21) POLYって何よ?非線形従属電源の多項式定義、なんじゃそりゃ へ進む