SPICEのよくある癖と回避法
"Garbage in, garbage out." —Anonymous
SPICEは信頼できるシミュレーションエンジンですが、経験豊富なユーザーでさえつまずく特有の癖がいくつかあります。この記事では、SPICEが強制する微妙なファイル形式と回路トポロジのルールに焦点を当て、誤った結果を生むバグについては扱いません。これらの癖の多くはSPICE 2g6特有のものですが、新しいリリースでも現れることがあります。
適切なファイル開始
すべてのSPICEネットリストは、コンポーネントカードではない行(通常はタイトル、コメント、または空行)で始めなければなりません。最初の行がコンポーネントカードだと、SPICEは「深刻なエラー」で停止し、しばしばノード接続の問題と誤って報告されます。単純な改行やコメントでパーサを満足させられます。
末尾はクリーンに
最後の .end カードは改行文字なしで書く必要があります。.end とタイプしたら、カーソルを「d」の直後に止め、[Enter] を押さないでください。そうしないと「.endカードが見つからない」エラーが出ます。これはシミュレーション自体には影響しませんが、出力を乱雑にします。
ノード0を含める
ノード0はすべての電圧記述の参照グラウンドです。すべての有効なネットリストはノード0を含まなければなりません。そうでないとSPICEは電圧スケールを解決できません。例えばDC解析ではノード0を基準に電圧がリストされます:
node voltage node voltage ( 1) 15.0000 ( 2) 0.6522
ここでノード1はグラウンドより15V高く、ノード2は0.6522V高いです。
開放回路を残さない
開放回路——特に開放電圧源——はSPICEの電流パス探索を破綻させます。電圧源を従属源(例:オペアンプモデル)の入力に接続する際は、最小負荷を提供してシミュレーションを継続させるため、高抵抗値の抵抗(しばしば rbogus と呼ばれる)を挿入します。
アンデッドな電圧源/インダクタループを避ける
SPICEはDC解析時にインダクタを短絡、コンデンサを開放として扱います。したがって、インダクタまたは電圧源のみの連続ループ、またはDCパスのない直列コンデンサは、ソルバーを失敗させます。典型的な違反パターン:
netlist l1 2 4 10m l2 2 4 50m l3 2 4 25m
netlist v1 1 0 dc 12 l1 1 0 150m
netlist c1 5 6 33u c2 6 7 47u
対処法:インダクタには低抵抗シャント、コンデンサには高抵抗シャントを挿入。例:
original netlist l1 2 4 10m l2 2 4 50m l3 2 4 25m
fixed netlist rbogus1 2 3 1e-12 rbogus2 2 5 1e-12 l1 3 4 10m l2 2 4 50m l3 5 4 25m
rbogus 抵抗は実質的な短絡(1 pΩ)で、インダクタループがソルバーに完璧な短絡として見えなくなる。コンデンサの場合:
original netlist c1 5 6 33u c2 6 7 47u
fixed netlist c1 5 6 33u c2 6 7 47u rbogus 6 7 9e12
9 TΩのシャントでDCパスを確保しつつAC特性には影響しない。
SPICEでの電流測定
電圧プローブは簡単——2ノードを参照するだけ。しかし電流プローブには電圧源参照が必要。回路にそんな源がない場合、ゼロ電圧の「ボガス」源を挿入して測定をアンカーする:
c1 4 7 22u vbogus 6 4 dc 0 .print ac i(vbogus)
AC解析が適用されるため、ゼロ電圧源はシミュレーションを変えない。
SPICEはDC源の電流極性を従来の方向とは逆に割り当てることに注意。簡単な直列回路:
example v1 1 0 r1 1 2 5k r2 2 0 5k .dc v1 10 10 1 .print dc i(v1) .end
SPICEは –1 mA を報告する。v1 の負極から出る電流を負と見なすため。ゼロ電圧源を再配向すれば正の読み取りを強制できる。
フーリエ解析のヒント
フーリエ(周波数領域)解析を実行するとき、対象波形を必ず出力またはプロットすること。そうしないとSPICEは「初期過渡解」表示後に一時停止して中断する。矩形波を生成するパルス源には、現実的な立上り/立下り時間を与えること。理想的な矩形波(瞬間的エッジ)は、SPICEのフーリエ変換で誤って偶数高調波を導入する。
産業技術
- 4ドルのソーラーライトをスマートワイヤレスセンサーノードに変身: MSP430 + nRF24L01+で庭園監視
- SPICE入門:テキストベースの回路シミュレーションツール
- SPICEの進化:CANCERから現代の回路シミュレーションへ
- SPICEでのコマンドラインインターフェースの使い方
- SPICEネットリスト構文マスター:コンポーネント命名、受動・能動素子、電源定義
- 決定論と耐障害性:産業制御ネットワークの必須設計原則
- SPICEにおける半導体デバイスモデリングの総合ガイド
- JFETの癖を解読:よくある落とし穴とマスターする方法
- 一般的なIGFETの癖とその緩和策
- SPICEで電気回路シミュレーションをマスター:設計者と学生のための実践ガイド
- Googleスタイルのリアルタイムオートコンプリート構築:アーキテクチャ、設計、ベストプラクティス