KLayout による階層設計

レイアウト設計ツール KLayout には設計の階層を管理する専用ツールがないので、Cadence Virtuosoに慣れた設計者は少し戸惑うかもしれません。KLayoutで過去の設計データやサードパーティのIPを使いまわして、効率よく設計を行なうための操作方法を備忘録としてまとめておきます。

基本操作

  1. セル(Cell)の階層表示と呼び出し
    • レイアウトデータは、セル(Cell)単位で管理される。設計データ(GDSファイル)に含まれているセルのリストは、左ペインのCell欄に階層表示される。
    • Cell欄からセル名をレイアウト画面にドラッグすると、Cellのレイアウトデータをインスタンスとして呼び出すことができる。
  2. セルの作成
    • メニュー:File – New Layout で、新規設計を開始すると、TOPというセルが作成される。通常、最上位階層のセルはTOPという名称にするので、このまま最上位階層として使用するとよい。
    • メニュー:Edit – Cell – New Cell で、新規セルが作成され、左ペインのCell欄に、TOPと同じ階層で(インデントなしで)、作成時に指定したセル名が表示される。
      • 現在選択しているセル(レイアウトが表示されているセル)は、左ペインでボールド表示されている。レイアウト表示する階層を変更する場合は、表示したいセル名を右クリックして、ショートカットメニューから、Show As New Top を選択する。
      • Cell欄で、セル名を右クリックして、ショートカットメニューから、Rename Cell を選ぶと、セル名を変更できる。
      • 過去の設計資産を再利用する場合は、メニュー:File – Open in New Panel により、対象データを開き、新規に作成した空セルのレイアウト画面にコピペし、セルとして登録してから使用する。
      • 現在設計しているレイアウトの一部をセル化したい場合は、セルにする部分を選択(左ドラッグ)して、メニュー:Edit – Selection – Make Cell により、Cell 化する。
  3. 階層の管理
    • セル内に別のセルを呼び出すと、階層化され、左ペインのCell欄のリストも、TOP階層と同列だったセルが、自動的にアコーディオンメニューの中に入り、階層表示される。呼び出したセルを削除すると、トップ階層と同列に戻る。
    • 再帰的な呼び出しを行なうと、警告が表示されて、実行できない。
    • 不要となったセルは、セル名を右クリックして、ショートカットメニューから、Delete Cell により削除できる。デフォルト設定では、削除対象の下の階層のセルを削除するかどうか問い合わせてくる。

ライブラリの利用

  1. ~/.klayout/libraries にGDSファイルを置くと、KLayout の左ペイン Libraries欄のドロップダウンリストから選択することができる。
  2. ライブラリ内のセルを呼び出して使えるので、共通ライブラリ用のGDSファイル(layoutLib等)に、基本的なレイアウトパターンをセルとして登録しておくとよい。
    • ライブラリのセルも、Libraries欄のセル名をレイアウト画面にドラッグすることにより呼び出せる。
    • 私の経験では、Pcell (Parameterized Cell) はパラメータの設定が煩雑で、思った通りの形状になりにくいので、ライブラリに、基本サイズ(相補特性)の単体MOSFET、2段~4段程度の直列接続MOSFET、単位容量キャパシタ、コンタクト、ビアなどを用意したほうが設計効率がよい。
    • Pcellは、使用しているテクノロジの参考レイアウト例として有用である。