とりあえず回路を開いて、シミュレーションしてみる(TR10編)
はじめに
前回セットアップした TR10(東海理化)PDK。
今回も深いことは考えません。
とりあえず回路を開いて、シミュレーションしてみる。
これだけです。
まだ理論は追いません。
まずは触る。
1. xschemを起動する
ターミナルから:
xschem &
2. サンプルのインバータを開く
メニューから:
File → Open
以下のディレクトリへ移動します。
~/OpenRule1umPDK_setupEDA/samples/inverter/TR10
開くファイル:
inverter.sch
TR10のNMOSとPMOSで構成されたシンプルなインバータです。
3. テストベンチを開く
このインバータをシミュレーションするための回路も用意されています。
inverter_tb.sch
4. Netlistをクリック
右上の Netlist ボタンをクリックします。
5. ノード名が変わった?
ここでちょっとした事件。
自分の環境では、Netlistを押した瞬間に
VDD → net6
のように、ノード名が変わる現象が起きました。
当然ながら、シミュレーションもエラーになります。
正直、この時点では原因はよく分かりません。
6. ノード名を直して保存
今回は深掘りしません。
このシリーズは
やりながら習う
がコンセプト。
ノード名を修正し、別名で保存します。
inverter_tb2.sch
7. 再度 Netlist → Simulate
改めて、
- Netlistをクリック
- Simulateをクリック
8. 波形が出た
波形ウィンドウに2つの波形が表示されました。
とりあえず、シミュレーションができて波形が出たことに満足。
9. 他のサンプルでシミュレーション
inverter_trans.sch
今回の学び
- TR10の回路はちゃんと動く
- xschem → ngspice連携は正常
- ノード名は重要
- 分からなくても、とりあえず触ってみるのは大事
ノード名が変わった理由は、今は深追いしません。
でも、
- ノード名って何?
- ラベルってどう扱われている?
という疑問が生まれました。
それだけで十分かと思います。
このシリーズの方針
この「オープンソースPDKで遊ぼう」は、
完璧に理解してから進むシリーズではありません。
- 触る
- 動かす
- つまずく
- 直す
- 後から理解する
その繰り返しです。
次回どうする?
- ノード名の仕組みを整理する?
- W/Lを変えてみる?
- TR10モデルを読んでみる?
少しずつ進めます。
おわりに
今回は、TR10 PDKで
- 回路を開き
- ネットリストを生成し
- シミュレーションを実行し
- 波形を確認する
という一連の流れを体験しました。
まずは「動いた」という成功体験。
そこから少しずつ理解を積み上げていきます。











