付録2: MOSFETからのレイアウト設計

実際のフルカスタム設計では、MOSFETのレイアウトを行う必要があるが、設計規則が複雑なため、慣れるまではパズルのようなものである(慣れれば簡単だが)。ここでは、2入力NANDを例として、MOSFETからのレイアウト手順を説明する。

  1. レイアウトの自動化設定

    PCELL(※1)およびQCELL(※2) ※1 PCELL(Parameterized Cell)は、プロパティ値を入力すると自動的にそのパラメータ値を満足し、また設計規則に合わせて変形するようにプログラムされたセルだ。MOSFETの場合は、L, W, Multiplierなどの寸法のプロパティ値をを指定すると、MOSFETのレイアウトパターンになる。抵抗や容量では、抵抗値や容量値を入力すると、その素子値になるようにレイアウトが生成される。vdecRO180PDKライブラリには、各種PCELLが用意されているので活用しよう。タップ(基板やWellへのコンタクト)、ポリシリコン・ゲートへのコンタクトは、VDECからは提供されていないため、自分で作成する。基本的なレイアウト要素は、QCELL(Quick Cell)という機能を使って自分で簡単に作成することが出来る。

    ※2 よく使用する構造をレイアウト設計者がQCELLとして登録しておき、レイアウトの時に呼び出して使用することができる。設計規則に違反しないように配置できるので、レイアウトの労力が減る。この設定方法の解説書は、実習の時に配布する。

  2. レイアウトの計画

    M0のドレインとM1のソースは、レイアウト上では共通のn型領域となるため、マージ(またはAbutmentと言う)させることができる。また、M0, M1間のノードは、他に接続する場所がないので、コンタクトも必要ない。M2, M3のドレインも共通であるため、アバトメントできる。

    Fig.9.1a

    Fig.9.2

    設計した回路は、MOSFETのプロパティで、Multiplier = 2 としたので、p-ch MOSFET 4個とn-ch MOSFET 4個を、それぞれアバトメントする必要がある。2つの並列な p-ch MOSFETのペアは、ソース同士およびドレイン同士が共通となるため、ソースかドレインのどちらかをアバトメントする(幾何学的に、ソースとドレインの両方同時にはアバトメントできない)。下の図では、M0, M1のペアを2組作成し、これらをアバトメントする。また、M3ペアと、M4ペアを作成して、これらをアバトメントしている。これは、ゲートの配線をしやすくするためである。各自、どのようなペアを作ると配線がしやすいか考えてみよう。

    (注意)上図では、ドレイン同士をアバットメントさせるように、MOSFETのレイアウトを左右反転させるように説明しているが、左右対称なレイアウトなので、実際には、左右反転の必要はない。

    Fig.9.1b

    Fig.9.3

  3. PCELLインスタンスの呼び出し

    Library Managaerで、NAND2に対するlayout viewを作成する。レイアウトエディタは、Workspace = Basic に設定し、メニューより、[Window] → [Assistants] → [World View]を選んで、World Viewを表示させておくと便利だ。

    Libraryic1
    CellNAND2
    Viewlayout
    Typelayout
    Open withLayout XL
    Always use this applicationCheckを入れる

    vdecRO180PDKライブラリから直接nmos18spやpmos18spセル(PCELL)のlayout viewをインスタンスとして呼び出してもよいが、ここでは、CADツールが回路図を参照して自動的に必要なものを用意してくれる機能を利用する。回路図に基づく自動化機能は、ネットリスト・ドリブン・レイアウトと呼ばれる。

    参照する回路図を設定するには、レイアウトエディタのメニューより、[Connectivity] → [Update] → [Connectivity Reference]を選んで、Upadate Connectivity ReferenceのSchematic View Definition 欄に参照するライブラリ、セル、ビューを設定する。新規にlayout viewを作成する場合には、作成したセルに含まれる、schematic viewがデフォルトで選択されている。ライブラリやセルをコピーした場合や、以前の設計を修正する場合には、レイアウトエディタが参照する回路図を確認しておく必要がある。

    参照するschematic viewを設定すると、以下の手順で、レイアウト要素の自動呼び出しが実行できる。レイアウトエディタの下部にあるツールバーから、Generate Selected From Sourceをクリックすると、Generate Selected Componentsフォームが現れる。Unplaced...ボタンをクリックすると、まだレイアウト上に配置されていないレイアウト要素のリストが表示される。この中から、Instance M0 〜 Instance M3の6個のMOSFETをSHIFT+クリックで全て選択し、OKボタンをクリックする。レイアウトエディタ上の適当な場所をクリックして、先ほど選択したMOSFETのレイアウトパターンを配置する。fキーで全体表示して、6個のMOSFETを確認したら、Generate Selected Componentsフォームは、ESCキーまたはHideボタンをクリックして消してよい。

    Fig.9.4

    Fig.9.5
    Generate Selected From SourceによるPCELLの自動配置

  4. MOSFETのアバトメント(Abutment)

    Multiplierにより分割されたMOSFETは、分割したまま隣に配置される。並列接続すべきMOSFETを横に移動して近い場所に置くと、アバトメントされる(合体する)。アバトメントしても、移動するときは別々なので、ツールバーよりGroupボタンをクリックしてアバトメント済みのMOSFET全体をドラッグして囲みグループ化しておくとよい。さらに、2つのアバトメントしたp-ch MOSFETを、もう一度アバトメントさせて並列接続する。n-ch MOSFETの場合は、M0とM1の直列接続であるため、中央のコンタクトは不要である。縦方向にゲート電極がが2本並ぶように移動させてアバトメントさせる。さらに、2つの直列接続済みn-ch MOSFET M0, M1ペアの片方を反転させ、アバトメントさせる。

    Fig.9.6
    アバトメントの前

    Fig.9.7
    アバトメントの後

    もし、下記のように、バツ印表示されていたら、CADツールは、接続すべきではないソースまたはドレインが重なっていると認識している(つまりアバトメントしていない)。この場合は、アバトメントしようとしているMOSFETのどちらかを左右反転させて、アバトメントをやり直す。

    Fig.9.8
    アバトメント失敗

  5. MOSFETの整列

    MOSFETなどのオブジェクトを縦または横にきっちり整列させたい場合は、ツールバーのAlignボタンを利用する。ここでは、左端のGATEの左端(中心でも良い)を縦に揃えてみる。Reference欄のLayerにチェックし、レイヤーをGATEにする。Align DirectionをVerticalにし、リストボックスからLeft Edgeを選ぶ。Align Using欄も同様に設定する。Reference欄のSet New Referenceボタンをクリックしてから、n-ch MOSFETの左端のゲートをクリックする。さらに、p-ch MOSFETの左端のゲートをクリックして、Applyボタンをクリックすると、n-ch MOSFETとp-ch MOSFETが縦に揃う。

    Fig.9.9

    Fig.9.10
    Alignフォームの設定例

  6. タップ(Wellおよび基板コンタクトのこと、回路図上ではB電極)とウエルの作成

    基板やWELLを電源に接続するための基板コンタクトやWELLコンタクトはなるべく多めに作成する。DRCやERCでエラーが出なくても、MOSFETの特性が大幅に違ってしまい、回路が動作しない場合があるので注意。

    コンタクトの配置には、MOSFETの一片に沿って配置するスタセル方式と、MOSFETの周辺を取り囲むように配置するガードリング方式が考えられるが、論理ゲートはスタセル方式、それ以外はガードリング方式を使用するよいだろう。

    ここでは、p-ch MOSFETの上側にNWELLタップを作成し、n-ch MOSFETの下側にp型基板タップを作成する。ツールバーのViaアイコンをクリックして、Create Viaフォームで、Via Definition = M1_NTAP, Rows = 2, Cols = 7 と設定して、レイアウトエディタのp-ch MOSFETの上部の空いた領域をクリックしてQCELLを呼び出す。同様に、Create Viaフォームで、Via Definition = M1_PTAP, Rows = 2, Cols = 7 と設定して、レイアウトエディタのn-ch MOSFETの下部の空いた領域をクリックして配置する。あまり、タップとMOSFETが近いと、ACTIVE間の最小距離の規則違反となる。

    p-ch MOSFETは、NWELLの中に作成する必要があるが、PCELL(自動配置)を用いた場合は、既にNWELLの中に入っている。しかし、先ほど作成したM1_NTAPは、NWELLの中に入っていないため、Wellタップの役割を果たしていない。このため、手動でM1_NTAPを囲むようにNWELLを描く。NWELLは、矩形により描く。LSWでNWELLを選択してから、Rectangle(bキー)を実行し、マウスで対角2点をクリックする。NWELLはACTIVEとの距離に設計規則があるので(設計規則参照)、ストレッチコマンドでNWELLを必要な大きさに広げる。また、MOSFETを囲むNWELLと隙間があると、NWELL間の最小距離の規則に抵触するので、MOSFETを囲むNWELLとくっつけてしまおう。

    Fig.9.11

  7. 配線

    配線は、MUX2と全く同様に出来るが、トランジスタレベルのレイアウトでは、GATEレイヤー(Gate Poly-Si)の配線があるため、設計規則が複雑になっており、METALの配線だけのときより多少難しい。ツールバーよりWireをクリックして(または CTRL+SHIFT+w)、インスタンスの配線をクリックすると、インスタンス内と同じ幅の配線が引き出される。右クリックで、別の配線層に接続することもできる。また、ネットリスト・ドリブン・レイアウトが働くため、マウスカーソルと接続すべき最寄りの端子との間に点線が表示される。また、CTRL+SHIFT+p で2点をクリックすると自動的に配線してくれるコマンドもある。

    Fig.9.12

    [参考] NAND回路のレイアウト例

  8. ネットリスト・ドリブン・レイアウト時のDRCとLVSのエラーについて

    MUX2の設計の時と全く同じようにDRCおよびLVSを行えばよいが、PCELLやQCELLを使用すると予期しないDRCエラーが発生することがあるので、先ずMOSFETを配置した段階で、DRCをかけ、エラーがない状態からレイアウトを始める。また、レイアウト中は、できるだけこまめにDRCをかけたほうが失敗が少ない。

    1. 身に覚えのないオフグリッドエラー(オブジェクトを配置できる座標ステップの制約違反)が出たら、配線を引き直してみるとよい。配線中に右クリックでvia up, via down を行うと、擬似的なオフグリッドエラーが発生することがあるが、オフグリッドエラーが出ている配線を削除して、同じ場所に配線を引き直すとエラーが無くなることが多い。
    2. Multiplierプロパティで、MOSFETを複数のフィンガーに分割している場合、ゲート配線をポリシリコンで接続せず、メタルで接続すると、MOSFET内部のレイアウトに疑似エラーが出ることがある。この問題は、ゲートポリシリコン電極間をメタルで接続すると、並列接続されていないMOSFETsと誤認識され、ドレイン、ソースの最小長の制約が適用されるためと思われる。この場合は、ゲートポリシリコン電極間をGATEレイヤーで接続する工夫をするか、全てのゲートをいったんGATEレイヤーで接続し、ゲート抵抗を下げるために、METAL1 を併走させて所々にGATE-METAL1間のコンタクトを置くようにすると、エラーを回避することができる。


[Table of Contents]


お問い合わせはこちらまで: kitagawa@is.t.kanazawa-u.ac.jp

Copyright (C) 2009- Akio Kitagawa, Kanazawa Univ.