0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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から取得します。

image.png

Download ZIPで良いかと思います。

KLayoutをインストールするとホームディレクトリにKLayoutのフォルダができています。

C:\Users\<ユーザー名>\KLayout

そのKLayoutのフォルダにsaltというフォルダを作ります。
その下に、先ほどダウンロードしたZIPを解凍した中にあるopenIP62の下のフォルダをまるごとコピーします。

KLayout
 └── salt
      |── AnagixLoader
      └── IP62

となるように配置します。

起動するとツールバーに

IP62

KLayout起動画面
が追加されれば成功です。


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の最後に貼り付け

XSCHEMを起動してサンプル画面が出ればO.K
XSCHEM起動画面


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を押すと
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

を追加します。
Gawk

確認はPowerShellを使って下記コマンドで確認します。

gawk --version

gawkバージョン確認

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を始めてみたい方の参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?