FrontPage

2021年7月25日 KiCadのシミュレータngspiceについて

  • http://ngspice.sourceforge.net/ngspice-eeschema.html
    • KiCad 5.1.10 に入っているのはngspice-34
    • 「ngspice-(バージョン) document」で調べればドキュメント(PDFなど)は簡単に見つかる。
    • バージョンの確認はEeschemaでテキストを下のように書いて実行するとグラフの下のコンソールに表示される。これ以外に簡単に表示させる方法が見つからなかった。
       .control
       version
       .endc
  • .measディレクティブ使うときのLTspiceとの相違点(Ver. ngspice-32)
    • 電圧取りたいときのノード名の指定はv("nodename")とする。Eeschemaで付けたノード名の直前に\をつけることを忘れずに。ネットリストを出力して、そのネットリストと同じ名前をnodenameにすれば良い。例:v("/Vgs")
       ' 'または囲まないはエラーが出る。LTspiceでは囲まないor" "で囲むがOKで' 'で囲むはNG。
       https://sourceforge.net/p/ngspice/discussion/133842/thread/c11cab4d/
    • 導関数はderiv()。LTspiceではd()。平方根はどちらもsqrt()。
    • .measで出力させたい値はある1つのノードの電圧といったものならLTspiceと同じように.meas 〜 find 〜 when 〜 というディレクティブを書ける。しかし、計算式を書くならngspiceではletを使う必要があるみたい。関数を使う場合も同様。計算式を記述するためのpar(' ')というコマンドもあるみたいだが、.meas内では使えないとのこと。
    • ngspiceには電流を計算式に使えない?I("Vxxxx")が使えない。グラフなどは出せる。
       print @M1[id]
       とかでMOSFETのドレイン電流などを出力することはできるので、計算したいなら実行後に他のツールで?

2021年7月14日

  • VIS 0.5umのPDKに入っているSPICEモデルファイルはMOSFETのモデルがLevel=28と49で2種類それぞれファイルで分けられているものがあった。
  • level=28はLTspice, ngspiceに対応していないが、Level=49の方はLTspiceで実行できた。LTspiceと互換性のあるngspiceでは、一部、モデルの最後の)のみの記述の行を+)にすることで実行できる。

2021年7月11日

  • メモ書きをここに整理する。
  • ネットリストのMOSFETの端子の並びについて。KLayoutのLVSかけたときに気づいたこと。
    • LTspice, KiCad Eeschema : D G S B
    • KLayout : S G D B
    • D, Sを入れ替えれば良いが、レイアウト設計の上では区別する必要はないのでこういったこともあり得る。

2021年7月8日 Cadence Spectreは独自のSPICEモデルファイル記述あり

VDECのRohm0.18umのPDKには.scsのSPICEモデルファイルのみがあった。しかし、このモデルファイルはCadence Spectre専用でLTspiceなどでは使えない(記述方法がSpectre専用になっている)。LTspice, HSPICE, ngspiceなどで使うSPICEモデルファイルはたいてい.libで記述方法は同じ。ちなみにSpectreはどちらも対応しているっぽい。

https://spiceman.net/ltspice-spicemodel-knowledge/