この講座で作るもの、設計の工程、扱う範囲と扱わない範囲を説明します。第2章以降の作業に必要な前提を、ここでまとめて示します。
1.1 作るもの
本講座に掲載する数値、コマンド、画面出力は、AIが構築した検証環境で実行して得たものです。ツールはIIC-OSIC-TOOLSと同一バージョンを個別に導入していますが、コンテナを起動して人の手で通した確認は行っていません。実際に手を動かし、掲載どおりに進むかを確かめてください。詳細は第0章に記載しています。
使用するツールと、それぞれが何を受け取り何を出すかは第0章で示しました。本章では講座全体の進め方を示します。
この講座で作るのは、CMOSインバータ1個です。入力が0のとき1を、1のとき0を出力する回路で、NMOSとPMOSを1個ずつ、合計2個のトランジスタを使います。
これを、回路図の作成、シミュレーション、レイアウト、設計規則の検査、回路図との照合、製造データの出力まで、一通り自分で行います。
回路図に現れるトランジスタは2個ですが、レイアウト(第6章)ではこのほかに、ウェルタップ、基板タップ、コンタクトを描きます。回路図に描かれていない要素が、レイアウトには必要になります。詳細は第6章で扱います。
ここで作るインバータは、基礎03「LibreLane入門」で自動配置配線ツールが並べていた標準セルと同じものです。
| 項目 | LibreLane入門(基礎03) | 本講座(基礎04) |
|---|---|---|
| 入力 | Verilog | トランジスタの寸法 |
| 標準セル | 既存のものを使う | 自分で描く |
| 配置 | ツールが行う | 自分で行う |
| 規模 | 数千〜数万個 | 2個 |
| 出力 | GDS | GDS |
半導体工場に渡す図形データの標準形式です。どの層にどの形の図形をどこに置くかが座標で記述されており、工場はこれをもとにフォトマスクを製造します。プリント基板のガーバーデータに相当します。
本講座は単独で読めます。FPGA入門やLibreLane入門を読んでいなくても、第1章から順に進めば最後まで到達できます。
1.2 到達点
本講座の到達点は、設計規則検査(DRC)と回路図照合(LVS)に合格したGDSファイルを出力するところまでです。
製造に出すかどうかは読者の判断です。費用と手順は第7章に記載しますが、製造しなくても本講座の内容はすべて学べます。
| 項目 | 内容 |
|---|---|
| PC | Dockerが動作する環境(Windows / macOS / Linux) |
| ディスク空き容量 | 20GB以上 |
| メモリ | 8GB以上を推奨 |
| マウス | 3ボタンマウス。レイアウトエディタで左・中・右を使い分けます |
| ネットワーク | 初回の環境構築時のみ。数GBのダウンロードが発生します |
| 費用 | 0円 |
1.3 設計の工程
アナログ設計は7つの工程に分かれます。
| # | 工程 | 内容 | ツール | 章 |
|---|---|---|---|---|
| 1 | 回路図 | 部品と配線を決める | xschem | 第3章 |
| 2 | シミュレーション | 特性を数値で得る | ngspice | 第4章 |
| 3 | レイアウト | シリコン上の図形を描く | magic | 第6章 |
| 4 | DRC | 製造可能な形状かを検査する | magic | 第6章 |
| 5 | 抽出 | 図形から回路を取り出す | magic | 第7章 |
| 6 | LVS照合 | 抽出した回路と回路図を照合する | netgen | 第7章 |
| 7 | GDS出力 | 製造データを書き出す | magic | 第7章 |
第2章は環境構築、第5章はシミュレーションを繰り返し実行できるようにする作業で、いずれも上の7工程には含まれません。
図1-1は第2章以降の各章の冒頭に掲載し、その章が扱う工程を示します。
デジタル設計との違い
LibreLane入門では、Verilogを入力すると合成からGDS出力までをツールが連続して実行しました。アナログ設計ではこれができません。
| 項目 | LibreLane入門 | 本講座 |
|---|---|---|
| 工程の連結 | ツールが連続実行する | 工程ごとに人が実行する |
| 人が行うこと | 設定ファイルの記述 | 各工程の実行と、結果を見ての修正 |
回路図を描いたらシミュレーションを実行し、結果を見て回路図に戻る。レイアウトを描いたら抽出と照合を実行する。工程間の判断は人が行います。
1.4 作業の分担
本講座では、作業を3つに分けて進めます。
| 担当 | 内容 | 例 |
|---|---|---|
| 機械が計算する | 答えが一意に決まる処理 | シミュレーション、DRC、LVS、条件を変えた繰り返し実行 |
| AIが判断を助ける | 選択肢の列挙、根拠の整理、エラーログの解読 | 「W/L比の候補を3つ、得失とともに」 |
| 人が決める | 選択 | 「12にする」 |
本講座では、人が選択を行う箇所を判断点と呼び、通し番号を付けます。全部で7箇所です。
| 番号 | 決めること | 選択肢 | 章 |
|---|---|---|---|
| D01 | 使用するトランジスタ | 標準/低しきい値/高耐圧 | 第3章 |
| D02 | PMOSとNMOSの幅の比 | 2倍から4倍程度の範囲 | 第4章 |
| D03 | チャネル長 | 最小/余裕を持たせる | 第4章 |
| D04 | 合格の基準 | どの数値を、どの範囲で | 第5章 |
| D05 | レイアウトの配置 | 縦積み/横並び/分割 | 第6章 |
| D06 | DRCエラーの修正順 | 層/囲み/間隔/寸法 | 第6章 |
| D07 | LVS不一致の原因 | 回路図側/レイアウト側 | 第7章 |
これ以外の作業は、手順に従って実行するか、機械に任せるかのいずれかです。
1.5 AIを使う範囲
AIの回答には誤りが含まれます。本講座がそれでもAIを使うのは、回答が正しいかどうかを短時間で機械的に確認できるためです。
たとえばAIが「W/L比を3倍にする」と回答した場合、シミュレーションを実行すればしきい値と遅延が数値で得られます。誤った回答であれば、その場で判明します。
回答の正誤を、短時間で機械的に確認できるか。確認できる場合は相談してよい。確認できない場合は、回答を検証する手段がない。
| 問い | 確認の手段 | 相談 |
|---|---|---|
| W/L比をいくつにするか | シミュレーションで数値が出る | する |
| このDRCエラーの意味 | 修正して再実行すれば分かる | する |
| LVS不一致の原因 | 修正して再照合すれば分かる | する |
| この仕様が妥当か | なし | しない |
| この回路を作る意味があるか | なし | しない |
1.6 判断点の記述形式
7箇所の判断点は、いずれも次の6項目で記述します。
| 項目 | 内容 |
|---|---|
| 決めること | 選択肢は何か |
| 材料 | 判断の根拠とするデータ |
| 相談 | AIに渡したものと、聞いた内容 |
| 返答 | AIの回答 |
| 決定 | 選んだ結果と理由 |
| 検証 | 実行結果と、判断が正しかったか |
AIに渡した内容は、要約せず実際の文面を掲載します。同じ手順を再現できるようにするためです。
質問の形式は次のものを使います。
「候補を3つ、それぞれ何を犠牲にするかとともに挙げてください」
回答を1つだけ求めると、比較の材料が残りません。候補を複数挙げさせることで、選択は人が行います。
判断点ごとに、決定内容・検証結果・判断の正誤を記録します。判断が誤っていた場合も記載します。第7章で7箇所を集計します。
1.7 操作の記述形式
判断点以外の箇所、すなわちツールを操作する手順は、次の6項目で記述します。
| 項目 | 内容 |
|---|---|
| 目的 | その操作で何を得るか |
| 前提 | 直前までに完了している必要のあること |
| 入力 | 打ち込む内容、または画面での操作 |
| 画面 | 実行後に表示される内容 |
| 読み方 | 表示のどこを見るか、それが何を示すか |
| 確定したこと | その操作で決まったことと、まだ決まっていないこと |
「画面」には実際の出力を掲載します。表示の形式はツールごとに異なるため、想定と違う表示が出たときに、それが誤りなのか正常なのかを判別できるようにするためです。
想定と異なる結果になった場合の対処は、本文中に別枠で示します。
1.8 扱わない範囲
本講座では半導体の物理を扱いません。バンド構造、キャリア、pn接合、酸化膜、製造工程は対象外です。
理由は2つあります。第一に、これらは独立した講座に相当する分量があること。第二に、既存の教材が多数存在することです。
本講座がトランジスタについて前提とするのは、次の4点だけです。
- 端子は4つある(ゲート、ドレイン、ソース、バックゲート)。ゲートには電流が流れない
- ゲート電圧がしきい値を超えると、ドレインとソースの間に電流が流れる
- 電流の量は、チャネル幅Wと長さLの比でおおよそ決まる
- しきい値および特性の詳細はPDKのモデルに含まれる。数値は導出せず、モデルから取得する
4番目は設計の実務で行われている方法です。本講座も同じ方法を取ります。
ブラウザ上で動作する教材として SiliWiz(tinytapeout.com/siliwiz/)があります。抵抗、容量、NMOS、CMOSインバータの順に、断面図を操作しながら確認できます。インストールは不要です。本講座と並行して読むことも、読まずに進めることもできます。
1.9 章の構成
| 章 | 内容 | 工程 | 判断点 | 所要時間 |
|---|---|---|---|---|
| 第0章 | 5本の道具 | — | — | 20分 |
| 第1章 | 本章。講座の範囲と進め方 | — | — | 30分 |
| 第2章 | 環境の構築(IIC-OSIC-TOOLS、sky130A) | — | — | 1〜2時間 |
| 第3章 | 回路図の作成 | 1 | D01 | 2時間 |
| 第4章 | 特性の測定 | 2 | D02, D03 | 3時間 |
| 第5章 | 実行手順の自動化 | — | D04 | 2時間 |
| 第6章 | レイアウトとDRC | 3, 4 | D05, D06 | 4時間 |
| 第7章 | 抽出・LVS照合・GDS出力 | 5, 6, 7 | D07 | 3時間 |
所要時間は目安です。第2章はダウンロード時間が大半を占めるため、回線速度により変動します。
・作るのはCMOSインバータ1個、使用するトランジスタは2個
・到達点はDRCとLVSに合格したGDSの出力。費用は0円
・設計の工程は7つ。工程間の判断は人が行う
・機械が計算し、AIが判断を助け、人が決める
・AIに相談するのは、回答の正誤を短時間で機械的に確認できる場合に限る
・判断点は7箇所。6項目の形式で記述し、第7章で集計する
・操作は目的・前提・入力・画面・読み方・確定したことの6項目で記述する
・半導体の物理は扱わない。前提とするのは4点のみ