NETLIST STUDIO GUIDE
SPICE解析
1 kΩ/100 nFのRC回路でOP、AC、TRANを実行します。
解析を選ぶ
| 解析 | ディレクティブ | 何を固定/変化させるか | 主な用途 |
|---|---|---|---|
| OP | .op | 1つの直流動作点 | 分圧、bias、node電圧 |
| DCスイープ | .dc | DC電源を範囲内で変化 | 入出力特性、動作範囲 |
| TRAN | .tran | 時間を進める | RC立上り、PWM、過渡応答 |
| AC | .ac | 小信号周波数を掃引 | filterの振幅と位相 |
OPで時間波形は得られません。ACは設定した小信号振幅を使い、TRANは電源部品の時間波形を使います。目的と異なる解析を選ぶと、正常な回路でも期待したGraphになりません。
電圧分割回路でOPを確認する
- 回路エディタで保存した分圧Projectを開きます。
解析でOPを選びます。- SPICE入力プレビューに
.opが1行だけ含まれることを確認します。 - ngspice解析を実行します。
VP001が約5 V、各値がfiniteであることを確認します。
計算値と一致しない場合は、解析を変える前に回路のGND、抵抗値、probe netを修正します。
練習2: RCローパス回路を作る
分圧Projectを名前を付けて保存…でrc-low-pass.netgrid.jsonへ複製してから、次の回路へ作り替えます。
V001(+) ──┬── R001 1k ──┬── VOUT
│ ├── VP_OUT(GND基準)
VP_IN │
(GND基準) C001 100n
│
V001(-) ────────────────┴── GND
| 部品 | 値/設定 | 役割 |
|---|---|---|
AC電源V001 | AC小信号振幅1、位相0° | AC解析の入力 |
抵抗R001 | 1k Ω | series抵抗 |
コンデンサC001 | 100n F | 高周波をGNDへ流す |
VプローブVP_IN | 入力net | 入力の基準系列 |
VプローブVP_OUT | 出力net | filter出力 |
| GND | 0 V | 共通基準 |
VプローブのRefIDは実際の自動採番と異なる場合があります。学習中はlabelを入力電圧、出力電圧にするとGraphで識別しやすくなります。
この回路の時定数と遮断周波数は次のとおりです。
τ = R × C = 1k × 100n = 100 µs
fc = 1 / (2πRC) ≈ 1.59 kHz
- RC回路: 入力、1 kΩ、100 nF、入力・出力プローブ、GNDを接続します。
- 解析種別: ACまたはTRANを目的に合わせて選びます。
- 解析条件: sweep範囲やstep/stop timeを確定してから実行します。
RCローパスのAC解析
- 解析種別を
ACにします。 - sweepを
dec、1 decadeあたりの点数を100にします。 - 開始周波数を
10Hz、終了周波数を100kHzにします。 - AC電源の小信号振幅が
1、位相が0°であることを再確認します。 - プレビューの
.ac dec 100 10 100k相当と、VP_IN/VP_OUTの保存対象を確認します。 - ngspice解析を実行し、振幅
dBと位相を表示します。
同じ部品値と理想モデルなら、次を目安にします。
- 低周波の
VP_OUT / VP_INは約0 dB。 - 約1.59 kHzで約-3.01 dB、位相は約-45°。
- 遮断周波数より十分高い領域では、おおむね-20 dB/decadeで減衰。
- 位相は0°付近から-90°へ近づく。
値が合わない場合は、AC電源の通常波形値ではなくAC小信号振幅、コンデンサの単位、probe位置を確認します。
- 系列: 入力電圧と出力電圧の両方が表示対象になっていることを確認します。
- 減衰曲線: 低周波では約0 dB、遮断周波数以降は低下する形を読みます。
- 測定パネル: A/Bの実周波数と差分を数値で確認します。
画面例ではAが1584.893 Hzへsnapされています。理論値1.59 kHzとの差はsweepの離散点によるもので、表示された実X値を結果記録へ残します。
RCローパスのTRAN解析
AC解析用Projectをもう一度名前を付けて保存…で複製し、AC電源を矩形波電源へ置き換えます。
| 矩形波設定 | 値 |
|---|---|
| low/high | 0 V/1 V |
| delay | 100us |
| rise/fall | 1us/1us |
| width | 800us |
| period | 2ms |
TRANはstep timeを2us、stop timeを1.2msにします。use initial conditionsは最初は無効のままにします。
立上りが100 µsから始まるため、理想RCの出力はおおよそ次の値になります。
| 時刻 | step後の経過 | 出力の目安 |
|---|---|---|
| 200 µs | 1τ | 約0.632 V |
| 330 µs | 約2.3τ | 約0.90 V |
| 600 µs | 5τ | 約0.993 V |
矩形波の有限rise timeと数値刻みがあるため、完全一致ではなく傾向と許容差で確認します。
- 入力系列: 0 Vから1 Vへ変化する時刻を基準にします。
- RC出力: 指数的に立ち上がり、入力が下がると指数的に減衰します。
- 2点測定: A/Bの実時刻、
Δt、1/|Δt|を同じパネルで確認します。
画面例のデータ点へsnapしたΔtは9.671e-5 sです。理論値100 µsと比較し、B側の出力が約0.62 Vであることも同時に確認します。
ngspice解析を実行する
- 右ペインの
シミュレーションを開きます。 - 解析種別と条件を確定します。
- 推定解析点数と警告を確認します。
- ngspice実行を開始し、完了表示を待ちます。
波形を開きます。
結果がGraphに表示されれば完了です。大量データの詳細解析は別windowへ遅延読込されます。解析点数が多いという警告がある場合は、必要な時間/周波数範囲とstepを見直します。上限を回避するためだけに意味のない粗いstepへ変更しないでください。
ngspiceが見つからない場合は、設定から実行ファイルを選択します。実行に失敗した場合は、SPICE入力プレビューと最初に表示されたngspice診断を確認してください。
SPICE入力を書き出す
- 右ペインの
Netlistを開きます。 ngspiceまたはltspiceを選びます。- OP、DCスイープ、TRAN、ACのいずれかを選びます。
- 解析条件とプレビューを確認します。
SPICE入力一式を書き出すを実行し、Projectとは別の保存先を選びます。
出力フォルダーには対象別の.cir、LTspice用の補助ファイル、manifest.jsonが含まれます。LTspiceの.rawと.logはシミュレーター実行時に生成されます。書き出し後にProjectを変更した場合は、古い.cirを現在のProjectの成果物として扱わず、再生成します。
完了チェック
- OP、AC、TRANの違いを説明できる。
- 分圧回路で約5 VのOPを確認した。
- 1 kΩ/100 nFのRC回路を作り、
τ=100 µsとfc≈1.59 kHzを計算した。 - ACで約-3 dB/-45°の点を確認した。
- TRANで1τ、約2.3τ、5τの立上りを確認した。
- ProjectとSPICE書き出し成果物を別に管理した。