付録1: MOSFETからの回路設計

MOSFETの寸法(LとW)の決定方法について講義を行ったが、実際のMOSFETの特性は理想的ではないため、半導体メーカから提供されるMOSFETのシミュレーションモデルを用いたシミュレーションによりMOSFETの寸法を決定する。ここでは、2入力NANDを例として、MOSFETの寸法決定手順を説明する。

  1. 回路図入力

    Library Managerのメニューから、[File] → [New] → [Cell View...]で、下記のセルを作成し、回路図エディタで2入力NANDの回路を入力する。MOSFETのプロパティ値のうち、先ずは設計規則の最小値である L(Gate Length) = 180n を入力する。L は小さいほどMOSFETの性能は高いが、製造ばらつきが発生しやすくなる。CMOS論理回路は、ノイズマージンが大きいため(即ち、製造ばらつきに対するマージンも大きいため)、L として設計規則の最小値を使用するのが普通である。W (Width) は、まだ決まっていないので、適当に W(Width) = 8u としておく。通常はn-ch MOSFET で、WはLの10倍程度あればよいが、Wを大きくすると大きいファンアウト数(後章で説明)に対応できるため、少し大きめにWの値を設定してみよう。

    セルの作成情報
    Libraryic1
    CellNAND2
    Viewschematic
    Typeschematic
    Open withSchematics XL
    Always use this application for this type of fileCheckを入れる

    Fig.8.1
    2入力NAND回路

    使用するインスタンス
    LibraryCellViewProperty
    vdecRO180PDKnmos18hspiceD Gate Length = 180n
    Width = 8u
    vdecRO180PDKpmos18hspiceD Gate Length = 180n
    Width = 8u
    analogLibvddsymbol 
    analogLibvsssymbol 

    インスタンスとして使用できるようにsymbol viewも作成しておく。回路図エディタのメニューより、[Create] → [Cellview] → [From Cellview...] を選び、Cellview From Cellviewフォームで、Library = ic1, Cell Name = NAND2, From View Name = schematic, To View Name = symbol となっていることを確認して、OKをクリック。Symbol Generation Options フォームが起動するので、Left Pins = A B, Right Pins = X となっていることを確認して、OKをクリックすると、シンボルエディタに四角いシンボルが表示される。形が気に入らなければ編集する。保存してシンボルエディタと回路図エディタを終了する。

  2. テストベンチの作成

    Library Managerにより、テストベンチ tb_NAND2 のセルを作成する。配線が完了したら、NAND2の入力と出力に配線に、それぞれ IN, OUT の配線名(ラベル)を付けておくこと。

    Libraryic1
    Celltb_NAND2
    Viewschematic
    Typeschematic
    Open withSchematics XL
    Always use this application for this type of fileCheckを入れる

    Fig.8.2
    2入力NAND回路のテストベンチ

    使用するインスタンス
    LibraryCellViewProperty
    ic1NAND2symbolなし
    analogLibcapsymbolCapacitance = 10f
    analogLibvddsymbolなし
    analogLibvsssymbolなし
    analogLibgndsymbolなし
    kanazawaSUPPLYsymbolVDD = 1.8
    VSS = 0
    analogLibvdcsymbolDC voltage = 0

  3. シミュレーション条件の設定と実行

    テストベンチの回路図エディタのメニューより、[Launch] → [ADE XL]を選ぶ。Launch ADE XLフォームが表示されるので、Create New View にチェックを入れて、OKボタンをクリック。Create new ADE XL viewフォームが起動するので、View 欄が adexl となっていることを確認してOKボタンをクリックすると、ADE XL (Analog Design Environment XL)が起動し、Library Managerにadexl viewが作成される。

    ツールバーより、Create Test(歯車アイコン)または adexlタブの中に記載された、click hereの文字をクリックする。Choosing Designフォームが表示されたら、tb_NAND2の文字色が反転しているのを確認して、OKボタンをクリック。ADE XL Test Editor が起動するので、下記のように設定を行う。

    1. Setupメニュー
      [Setup] → [Simulator...] を選択し、Simulator欄でhspiceDを選択し、OKボタンをクリック。[Setup] → [Model Libraries...]を選ぶと、Model Library Setupフォームが表示されるので、>Click here to add model file<という文字の右側の...ボタンをクリックすると、ファイルの選択画面になる。modelsディレクトリの中へ入り、bu40n1.mdl というファイルを選んでOPENボタンをクリック。さらに、bu40n1.skw というファイルを選ぶ。bu40n1.skw は2個(2行)用意すること。2個のbu40n1.skwのSection欄で、1個は、NTを選択、もう1個は、PTを選択する。
    2. Choose Analyses...ボタン(右側のAC, DCなどと書かれたアイコン)
      Choosing Analyses フォームで、下記の設定を行う。この設定により、NAND2の入力に接続された電圧源が、0V〜1.8Vまで電圧掃引される。

      Analysisdc
      Sweep VariableSelect Componentボタンをクリック
      回路図エディタがフォーカスされるので、入力に接続された電圧源(V0)をクリック
      Sweep RangeStart = 0, Stop = 1.8, Step Size = 0.01
      EnabledCheckを入れる

    3. Setup Outputs...ボタン
      Setting Outputsフォームで、From Schematicボタンをクリックすると、回路図エディタが表示されるので、nand2の入力と出力に繋がる配線を順次クリックしていく。青色の配線部分をクリックするように注意すること。選択し終わったら、ESCキーで、選択モードを解除し、Setting OutputsフォームのOKボタンをクリックして終了。
    4. 出力フォーマットの指定
      ADE XL Test Editor のメニューより、[Simulation] → [Analog Options] → [Interface Options ...] を選択し、POST = ASCII(2)として、OKボタンをクリック。
    5. ネットリストの出力
      ここまでの設定で、シミュレーションを実行し、回路が正しく動作することを確認する。メニューより、[SImulation] → [Netlist] → [Create] を実行し、新規ウインドウにネットリストが表示されたら、[File] → [Save As...] で保存する。ファイル名は、例えば、nand2.sp とする。保存ディレクトリを、作業ディレクトリ/sim とする。
    6. ネットリストの修正
      保存したネットリストをテキストエディタで開いて、.OPTIONコマンドの下の、ARTIST=2, PSF=2 の2行を削除する。
    7. シミュレーションの実行とシミュレーション結果の表示
      HSPICEとCosmosScopeで、回路の動作確認を行う。
      vlsi> cd  ~/i/sim
      vlsi> hspice nand2.sp (&なし)
      vlsi> cscope &
      

  4. パラメータ・スイープ

    まだ、MOSFETのゲート幅は最適化されていない。ここでは、MOSFETのゲート幅Wを W = 4um に固定して、最適な並列接続数Mを求める。W = 2um または W = 1um にしてもよい。

    1. ADE XLのtb_NAND2タブをクリックし回路図を表示し、[Edit] → [Hierarchy] → [Descend Edit...]を選び、NAND2のシンボルをクリックすると、Descendフォームが起動するので、OKボタンをクリック。NAND2の中のトランジスタレベルの回路が表示される。
    2. 各MOSFETMOSFETのシンボルを選択し、qキーを押すとプロパティ設定フォームが表示されるので、下記のようにパラメータを設定する。全てのMOSFETのパラメータ設定が終わったら、回路図を保存する。
      MOSFET typeGate LengthWidthMultiplier
      p-ch MOSFET180n4uMp
      n-ch MOSFET180n4u2

    3. ADE XL Test Editor のメニューより、[SImulation] → [Netlist] → [Create] を実行し、新規ウインドウにネットリストが表示されたら、[File] → [Save As...] で保存する。ファイル名は、例えば、nand2dc.sp とする。
    4. ネットリスト nand2dc.spを下記のように編集する。
      .PARAM, + ARTIST, + PSF の行頭にそれぞれ*を付けてコメントアウト
      *.PARAM mp
      
      .DC v0 0.0 1.8 10e-3
      
      .TEMP 25
      .OPTION
      *+    ARTIST=2
      +    INGOLD=2
      +    PARHIER=LOCAL
      +    POST=2
      *+    PSF=2
      

      .END行の前に、.ALTER, .PARAMを下記のように追加
      .ALTER
      .PARAM Mp=1
      .ALTER
      .PARAM Mp=2
      .ALTER
      .PARAM Mp=3
      .ALTER
      .PARAM Mp=4
      .END
      

      .ALTERは、シミュレーションの繰り返しディレクティブである。各.ALTERに対して、.PARAMで、p-ch MOSFETの並列接続数に設定した変数 Mp の値を変更している。以上で、p-ch MOSFET のMultiplierを1〜4まで変更してシミュレーションが行われる。

    5. 回路シミュレーションを実行し、出力電圧の変化をグラフに表示する。
      vlsi> cd  ~/i/sim
      vlsi> hspice  nand2.dc (&なし)
      vlsi> cscope &
      
    6. cscopeで、DC解析のシミュレーション結果ファイル nand2dc.sw1, nand2dc.sw2, nand2dc.sw3, nand2dc.sw4 を読み込む。4回分のパラメータスイープの結果が、別々のファイルに保存されているため、上記のように4個のファイルを読み込む必要がある。
    7. 各ファイルに対する信号選択フォームで、v(out)をクリックしてから、Plotボタンを押すと、出力DC特性が表示される。4つのケースで、最も、"入力電圧 = 出力電圧" となる電圧が、VDD/2 = 0.9V に近いグラフがどれか確認する。

  5. 最適値の設定

    パラメータ・スイープの結果から、入力電圧 = 出力電圧 = VDD/2 の条件に最も近い p-ch MOSFET のMpは、2または3となるはずである。この時、論理ゲートのノイズマージンが最大となる。NANDゲートの回路図を開き、各p-ch MOSFETについて Multiplier = 2 に設定し、保存しておく。

    [解説] Multiplier = 2 というプロパティは、2個のMOSFETを並列接続することを意味している。従って、W = 8um の MOSFET 1個と等価である。ゲート電極が、L = 180nm に対して、W = 8um とするとゲート電極が細長い形状となるため、ゲートのpoly-Siの抵抗が無視できなくなる。ゲートpoly-Siの抵抗は回路の性能に影響するため、ゲート電極があまり細長くならないように W の小さなMOSFETを複数使用して等価的に W の大きいMOSFETを実現する(分割されたMOSFETはフィンガーと呼ばれる)。経験的にW/L > 60 とならないようにMOSFETを分割する。また、Drain diffusion area, Source diffusion area は、それぞれMOSFETの上から見たドレインの面積とソースの面積を表す。ドレインやソースの面積が大きいと、ドレインやソース領域底面と側面のpn接合容量が大きくなり、回路の動作速度に影響するため、できるだけドレインとソースの面積が小さくなるようにレイアウトを行う。また、Drain diffusion periphery, Source diffusion periphery はドレインとソースの周辺長を表す。pn接合は辺(側面)にもあるので、この値も小さい方がよい。

    下記に同じNAND機能を持つ等価なCMOS回路の形式を示す。Multiplier = 2 とした場合、レイアウトエディタは、2番目の2-finger NANDの形式と理解するようだ。Balanced NANDも、2-finger NANDの一種と考えられるが、M1とM0の対称性がよいため、より高性能であり、レイアウトの対称性も良い。本実習では、2番目の2-finger NANDの形式を採用する。

    Fig.8.4
    1-finger NAND (Multiplier = 1)

    Fig.8.5
    2-finger NAND (Multiplier = 2)

    Fig.8.6
    Balanced NAND


[Table of Contents] [Next]


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

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