WGexで抵抗を作る
このページでは、LEDを光らすときの必需品、抵抗の描き方を説明します。
抵抗の設計
集積回路(IC(LSI))のパターンとして使える抵抗はいくつかありますが、今回はpolySi(ポリシリコン)を使った抵抗を作ります。 他にもN-Wellやアクティブ層で、抵抗を作ることができます。
小難しい話を抜きにして設計すると以下のようになります。
https://makelsi.github.io/images/docs/wgex_resistor/resistorPrtSc2.png
抵抗の単位
このような抵抗は製造工程上既定の厚みを持ち、その長さLに比例・幅Wに反比例した抵抗値を持ちます。また、単位長さ×単位幅の切片の抵抗(値)をシート抵抗といい、単位はΩ/□です。オームパースクエアやオームパーシートと呼びます。シート抵抗にL/Wを掛けるとその抵抗値が算出できます。ここではN-Selectで囲っていますので、294Ω/□です。シート抵抗はプロセス仕様書から確認できます。
ここでは具体的には、Lは2つのPolyコンタクトの中心間の距離でWはPolyの幅です。L=12μ・W=6μですので、(12μ/6μ)* 294Ω = 2.0 * 294Ω = 588Ωです。(※ Gndに接続しているPウェルは、周辺をシールドして安定させるため)
https://makelsi.github.io/images/docs/wgex_resistor/resistorPrtSc2-edited.png
注意点
MOSとして回路抽出されるため、シミュレーションをする前に手で抵抗に置き換える必要があります。
半導体の配線は細いため、蛇の目基板の配線に比べて、配線抵抗が大きくなります。アナログ回路を作る方は気をつけてください。
配線以外にも、wellやMOSのゲートも抵抗を持ちます。
SPICEネットリストへの反映
**注意** 実験中です。確立された手順ではありません。
wgex.exe と同じディレクトリの中にある gex.def を「メモ帳」などで編集し、先頭に L18 とある行の最後にある名前を L18 から RES に変更します(必須ではない)
ポリシリコンのうち、抵抗として扱いたい部分に18番のパターンを被せます(サンプル参照)
https://makelsi.github.io/images/docs/wgex_resistor/resistor_ptns.png
デザイン(gexファイル)と同じディレクトリにある cex.mdl の中の、以下の行の先頭にある ; を取り(アンコメントし)コマンドとして有効にします。
code:mdl
#define RES 18 ; Resister definition layer. #define SRES 24 ; Polysilicon resistor layer. #for (RES & POL) convert (POL) to (SRES) ; Polysilicon Resistor #for (SRES) make_res (POL) (POL) using 417 Ohm (最後の「417 Ohm」は今回使用するプロセスにおけるシート抵抗です(こちらはSelectに重なっていない場合の値))
レイヤ18のパターンは必ずコンタクトの中央に掛かるように、また、矩形の2端子の抵抗になるようにしてください(サンプルの左端の2列のように、途中が窄まっているパターンでは抵抗値がうまく設定されません)。