見出し画像

寄生成分抽出とポストレイアウトシミュレーション

MOSなどの素子は寄生成分を考慮してモデル化していますが,素子間の配線の寄生成分は配線の形状に依存するため,レイアウトが完成するまで値が決まりません.そのため,レイアウトが完成し,配線形状が確定した後に寄生成分を抽出します.この工程を LPE (Layout Parasitic Extraction) とか PEX (Parasitic Extraction) と呼び,抽出された寄生成分を考慮したシミュレーションをポストレイアウトシミュレーションと呼びます.ポストレイアウトシミュレーションの結果を受けて回路やレイアウトを修正し… というのを繰り返して性能を上げていきます.途中で心が折れそうになることもありますが.

1.Magic

寄生成分の抽出には Magic を使います.magic はレイアウトエディタで,skywater 130 nm でも使用されます.というかこちらが標準のような気がします.使用感が Virtuoso や Klayout とあまりに違うため,あまり使いこなしていません.

なお LPE のツールとしては UC San Diego の OpenROAD に組み込まれている OpenRCX も skywater 130 nm に対応しているようですが,まだ試していません.デジタル回路向けらしいですが…

magic を起動すると,下のようなウィンドウが立ち上がります.レイアウトを表示するウィンドウも立ち上がりますが,レイアウトを描くわけではないので,ここにコマンドを入力して LPE を行ないます.

magic 起動画面

GDSファイルは作成済みとして,magic に読み込みます.magic のコンソール上で

gds read filename.gds

もしくは

calma read filename.gds

です.GDSを読み込んだらトップセル名を指定してロードします.

load cellname

これでレイアウトウィンドウにレイアウトが表示されるはずです.ラベルの文字サイズが激しいことになっていますが,気にしないことにします.

load したところ

抽出するコマンドは extract です.オプションがいろいろありますが,とりあえずそのまま実行すればよいです.

extract を実行

これで .ext というファイルができます.このファイルは下のような内容で,SPICE にもっていくことはできません.

extファイルの中身

これを SPICEネットリストに変換するのは ext2spice ですが,そのまま実行すると 1 fF 以下の容量がすべて無視されるので,cthreth でしきい値を下げます.

ext2spice cthresh 0
ext2spice

1つ目の "ext2spice cthresh 0" が ext2spice のオプションの設定です.これはオプションの設定で,まだ変換は実行されていません.2つ目の ext2spice が変換の実行です.このあたり UNIXのコマンドとちょっと感じが違いますので注意しましょう.実行イメージは以下のようになります.

GDSの読み込みからネットリスト出力まで

これで cellname.spice  にネットリストが記録されます.

抽出&変換されたネットリスト

これを使ってポストレイアウトシミュレーションを行なうことができます.

2.TODO

抵抗の抽出 extresis のやり方,(UNNAMED).sim エラーの解決.
ポストレイアウトシミュレーションの手順.

この記事が気に入ったらサポートをしてみませんか?