講義テキスト・カリキュラム一覧
オープンソースEDA(xschem、ngspice、magic、netgen、klayout)とSkyWater 130nm PDKを用いて、CMOSインバータ1個を回路図からGDSまで設計します。LibreLane入門で自動配置配線ツールが並べていた標準セルを、本講座では自分で描きます。設計の工程は7つ、人が選択を行う判断点は7箇所です。判断点ごとに、AIに渡した内容・返答・決定・検証結果を記録し、第7章で集計します。
本講座に掲載する数値、コマンド、画面出力は、AIが構築した検証環境で実行して得たものです。第2章・第3章は、コンテナを実際に起動し、人の手で最後まで通した実機検証を行っています。第4章以降は、この実機検証をまだ行っていません。
実際に手を動かし、掲載どおりに進むかを確かめてください。詳細は第0章に記載しています。
第0章:5本の道具
xschem、ngspice、magic、netgen、klayoutが、それぞれ何を受け取り何を出すかを示します。5本をつなぐファイルの流れと、どの章でどれを使うかをまとめます。
この章を学習する第2章:環境の構築
Dockerイメージ IIC-OSIC-TOOLS を導入し、5本のツールと SkyWater 130nm PDK が使える状態にします。導入するソフトは Docker Desktop の1本のみです。作業ファイルの置き場所と、エラー時の切り分け手順も扱います。
この章を学習する第3章:回路図の作成
xschem で NMOS と PMOS を1個ずつ配置し、CMOSインバータの回路図を作成します。テストベンチを別途作成し、SPICEネットリストを出力します。判断点 D01「使用するトランジスタ」を扱います。
この章を学習する第4章:回路図の自動生成
第3章で手作業により作成した回路図を、今度はPythonスクリプトで生成します。座標とラベルをコードで書き、ネットリスト出力で機械的に検証する、手作業に依らない進め方を扱います。
この章を学習する第5章:特性の測定
ngspice でDC伝達特性と過渡応答を測定します。スイッチング閾値と遷移時間を数値で取得し、PMOSとNMOSの幅の比を決定します。判断点 D02「幅の比」と D03「チャネル長」を扱います。
この章を学習する第6章:実行手順の自動化
測定をネットリストに記述し、バッチ実行できるようにします。Makefile を作成し、コーナー5種と温度3種の計15条件を一括実行して合否を出力します。判断点 D04「合格の基準」を扱います。
この章を学習する第7章:レイアウトとDRC
magic でシリコン上の図形を描きます。拡散層とポリシリコン、コンタクト、ウェルタップと基板タップを配置し、設計規則検査(DRC)に合格させます。判断点 D05「配置」と D06「修正順」を扱います。
この章を学習する第8章:抽出・LVS照合・GDS出力
レイアウトから回路を抽出し、第3章の回路図と照合(LVS)します。寄生成分を含めて特性を再測定し、GDSファイルを出力します。判断点 D07「不一致の原因」を扱い、全7箇所の集計を行います。
この章を学習する本テキストをご利用になる前に
このテキストは、半導体の設計が、かつてのように大きな組織や多額の費用を前提とせずとも、個人の手で扱える時代になったことを、実際に手を動かしながら体感してもらいたいという思いで公開しています。執筆にあたっては内容の正確さに努めましたが、それでも誤りや説明の不足が残っている可能性があります。また、扱うソフトウェア(xschem、ngspice、magic、netgen など)やPDK、Dockerイメージの内容は時とともに変化し、お使いの環境やバージョンによっては、本文の手順通りに動作しないことも起こり得ます。
本テキストの内容を試した結果として生じたいかなる損害・不都合(データの消失、費用の発生、製造したチップの不具合など)についても、著者は責任を負いかねます。実際に作業される際は、各ツールおよびPDK提供元が公開する最新の公式情報を必ずご自身で確認し、自己の判断と責任のもとで進めてください。
こうした限界をお断りしたうえで、それでも本テキストが、チップの中身に手を伸ばそうとする誰かの理解の一助となれば、これに勝る喜びはありません。お気づきの誤りや改善点があれば、ぜひお知らせいただけると幸いです。