WindowsだけでTR-1um(IP62)を動かす(KLayout・XSCHEM・Ngspice)
はじめに
これまで「オープンソースPDKで遊ぼう」ではLinux環境を中心に紹介してきました。
一方で、
「ちょっと試してみたい」
「教育用途でまずはCMOSインバータを動かしたい」
という場合には、Linux環境の構築が少しハードルになることがあります。
そこで今回は、東海理化が公開している TR-1um(IP62) を参考に、
Windows 11だけでEDA環境を構築し、CMOSインバータのシミュレーションまで行います。
今回は WSL2もDockerも使用しません。
もちろんLinuxも使いません。
今回構築する環境
| ソフトウェア | バージョン |
|---|---|
| KLayout | 0.30.9 |
| XSCHEM | 3.4.4 |
| Ngspice | 41 |
| Gawk | 5.4.0 |
| PDK | TR-1um(IP62) |
最終的に
- CMOSインバータ回路図作成
- SPICEシミュレーション
- 波形表示
まで行います。
KLayout
Windows版の最新版を使用しました。
ダウンロードページ
Windows (32 and 64 bit)
0.30.9 (current)
klayout-0.30.9-win64-install.exe
初回起動
私の環境では初回起動時に
Application Crashed
となりました。
原因は以前の設定ファイルでした。
Windowsの
C:\Users\<ユーザー名>\KLayout
を削除して、再インストールすると正常起動しました。
TR-1um(IP62)
GitHubから取得します。
Download ZIPで良いかと思います。
KLayoutをインストールするとホームディレクトリにKLayoutのフォルダができています。
C:\Users\<ユーザー名>\KLayout
そのKLayoutのフォルダにsaltというフォルダを作ります。
その下に、先ほどダウンロードしたZIPを解凍した中にあるopenIP62の下のフォルダをまるごとコピーします。
KLayout
└── salt
|── AnagixLoader
└── IP62
となるように配置します。
起動するとツールバーに
IP62
XSCHEM
続いてXSCHEMをインストールします ダウンロード先は https://xschem.sourceforge.io/stefan/index.html
ページの真ん中あたりにDownload Windows Binaryがあり、今回はxschem-3.4.4-win64.zipを使用しました。
また、このあとのEDAツールは環境設定を自力でやるところがあり、わかりやすくするためホームディレクトリにEDAというフォルダを作り、そこに解凍しています。
C:\Users\<ユーザー名>\EDA
最新版(3.4.7)では
Unable to open
0_examples_top.sch
というメッセージが表示されました。
3.4.4では正常にサンプル画面が表示されたため、今回は3.4.4を採用しました。
XSCHEM設定
起動すると
C:\Users\<ユーザー名>\EDA\xschem-3.4.4-win64\bin\XSchem.exe をダブルクリック
(ショートカットを作っておいたほうがよさそう)
C:\Users\<ユーザー名>\xschem\userConf
が作成されます。
ここから、東海理化のマニュアルに従ってxschemrcを修正します。(マニュアルのありか
C:\Users<ユーザー名>\KLayout\salt\IP62\Technology\doc\OS01_インストールマニュアル_rev1.pdf)
xschemrcの修正方法
C:\Users\<ユーザー名>\KLayout\salt\IP62\Settings\xschemrc追加.txtの中身をコピーして
C:\Users\<ユーザー名>\xschem\userConf\xschemrcの最後に貼り付け
Ngspice
続いて、Ngspiceのダウンロード
https://sourceforge.net/projects/ngspice/files/ng-spice-rework/old-releases/41/
ngspice-41_64.7zをダウンロードしてEDAの下に解凍します
C:\Users\<ユーザー名>\EDA\ngspice-41_64
解凍後、C:\Users<ユーザー名>\EDA\ngspice-41_64\Spice64\binをPATHへ追加します。
システムのプロパティを開いて追加します
Win + R
↓
SystemPropertiesAdvanced
詳細設定のタブにある環境変数をクリック
PATHを選択して編集ボタンをクリック
新規ボタンをクリックして下記PATHを追加
C:\Users\<ユーザー名>\EDA\ngspice-41_64\Spice64\bin
ここで設定完了となりますが、そのままだと新しい設定が反映されないので、PCを再起動して確認します。
XSCHEMを起動して、画面右上にあるNetlistを押すと

C:\Users\hotak\xschem\userConf\simulations
untitled.spiceが生成されている。こうなればO.K
Gawk
最後にGawkの設定。
東海理化マニュアルでは5.3.0を使用していますが、ダウンロード先に5.3.0が見つからなかったので、
gawk-5.4.0-w32-bin.zip
を使用しました。
C:\Users\<ユーザー名>\EDA\gawk-5.4.0-w32-bin\bin
これも同様にEDAフォルダの下に展開します。
また、マニュアルに記載がありました
libgcc_s_dw2-1.dll
も最初から同梱されていたため、追加DLLのコピーは不要でした。(マニュアルに記載ありましたが、このバージョンでは不要。)
Ngspiceと同様にPATHへ
...\gawk-5.4.0-w32-bin\bin
確認はPowerShellを使って下記コマンドで確認します。
gawk --version
GNU Awk 5.4.0
となれば成功です。お疲れさまでした。
CMOSインバータ作成
回路図は最も基本的なCMOSインバータです。
使い方はLinux版と同じなので、XSCHEMを起動して、回路図を入力していきます。
なお、今後設計すると回路図などが増えてくるので、
C:\Users\<ユーザー名>\Design
のような設計用フォルダを作成し、その下にプロジェクトごとに保存することをおすすめします。
シミュレーション設定値
| デバイス | W | L |
|---|---|---|
| PMOS | 3.4µm | 1µm |
| NMOS | 3.4µm | 1µm |
としました。
入力電圧は
PULSE(0 5 1n 100p 100p 5n 10n)
負荷容量は
10fF
としています。
code_shown
XSCHEMには code_shown.sym という便利なシンボルがあります。
ここにSPICEコマンドを書いておくと、
- モデル読込み
- シミュレーション
- 波形表示
まで自動で実行できます。
code_shown.symには次のように設定しました。
.include C:/Users/<ユーザー名>/KLayout/salt/IP62/Technology/tech/models/ip62_models
.save all
.tran 100p 20n
.control
run
plot vin vout
.endc
.end
これで、Netlistボタンを押した後に
Simulate
ボタンを押すだけで
- モデル読込み
- シミュレーション
- 波形表示
まで自動で実行されます。
シミュレーション結果
シミュレーションを実行すると
- 緑:Vin
- 赤:Vout
が表示されます。
入力(Vin)がHighになると出力(Vout)はLowになり、
入力(Vin)がLowになると出力(Vout)はHighになります。
CMOSインバータの基本動作が確認できました。
また、負荷容量があるため、
立ち上がり・立ち下がりに少し丸みが付いているのも確認できます。
WindowsだけでEDA環境完成!
今回構築できた環境は
- KLayout
- XSCHEM
- Ngspice
- Gawk
- TR-1um(IP62)
です。
しかも
WSL2もDockerも使用していません。
Windowsだけで
- 回路図作成
- SPICEシミュレーション
- 波形表示
まで実行できました。
おわりに
今回はWindowsだけでオープンソースEDA環境を構築し、CMOSインバータのシミュレーションまで行いました。
Windowsだけでも十分にIC設計を学べる環境が整いました。
これからオープンソースPDKを始めてみたい方の参考になれば幸いです。










