集積回路設計
集積回路設計(しゅうせきかいろせっけい、英: Integrated circuit design)は、電子工学の一分野であり、集積回路 (IC) の設計に必要な論理設計技法や回路設計技法を指す。集積回路は、半導体ウェハー上にフォトリソグラフィ技術によって超小型の電子部品による電子回路を形成したものである。
分類
集積回路設計は、デジタルIC設計とアナログIC設計に大きく分けられる。デジタルIC設計は、マイクロプロセッサ、FPGA、メモリ(RAM、ROM、フラッシュメモリなど)、デジタルASICといった部品の設計を指す。デジタル設計で重要となるのは、論理的正しさ、回路密度の高さ、回路のレイアウトによるクロック/タイミング信号の効率化などである。アナログIC設計は、電源系統のICや高周波系統のIC設計が含まれ、オペアンプ、シリーズレギュレータ、位相同期回路、発振回路、アクティブフィルタなどの設計を指す。アナログ設計で重要となるのは、利得、インピーダンス、消費電力といった半導体装置としての物理特性である。アナログ信号の増幅とフィルタリングの忠実度が重要であるため、アナログIC内の能動素子はデジタルの場合よりも大きく、結果として回路の密度はそれほど重視されない。
現代のICは、膨大な数の素子を集積している。また、製造可能な限界の最小サイズを定めたデザインルールは非常に複雑化しており、2006年現在でルールは600項目以上になっている。さらに、製造結果は完全に予測することは不可能であるため、統計学的性質を考慮しなければならない。このような集積回路設計の複雑さと設計の迅速化を求める市場の圧力により、EDAの利用が拡大してきた。
概要
集積回路設計は、主にシリコンを使った半導体上に、トランジスタ、抵抗器、コンデンサといった部品を配置し、それらを金属の配線で接続する。シリコン基板は電導性があるため、個々の部品の絶縁を確保する方法(いわゆる素子分離)が必要とされる。集積回路の素子は一般の部品より非常に小さいため、トランジスタの電力消費、配線抵抗、配線における電流密度といったことに注意を払う必要がある。金属配線におけるエレクトロマイグレーションや極小素子の放電による破損なども考慮される。回路の物理配置も重要であり、性能やノイズの影響、発熱分布、ピン配置といったことと密接に関連する。
設計工程
一般的な集積回路設計工程は以下のような段階で進められる。
- 実現可能性の調査とダイサイズの見積もり
- 機能検証
- 回路設計
- 回路シミュレーション
- 配置計画
- 設計レビュー
- レイアウト
- レイアウト検証
- レイアウトのレビュー
- DFT(Design For Test)とATPG(Automatic Test Pattern Generation)
- DFM(Design for manufacturability)
- マスクデータ作成
- ウェハー製造
- ダイ評価
- パッケージング
- 特性の測定
- 調整(必要ならば)
- データシート作成
デジタル設計
大まかに言えば、デジタル集積回路の設計は以下の3つの工程に分けられる。
- ESL設計: ユーザー機能仕様を作成する工程。仕様記述には様々な言語が用いられる。例えば、C/C++モデル、SystemC、SystemVerilog、MATLABなどがある。
- RTL設計: ユーザー仕様をレジスタ転送レベル (RTL) の記述に変換する工程である。RTL は大まかに言えば、チップの各部がクロックサイクル毎にどう動作するかを記述するものである。
- 物理設計: RTL と利用可能な論理ゲートのライブラリを使ってチップデザインを生成する。どのゲートを使うか、それらをどう配置し、どう配線するかが決定される。
第二工程であるRTL設計が、チップが正しく機能するかどうかの鍵となっている。第三工程の物理設計は(間違いがなければ)機能に影響を与えることはないが、性能やコストに影響する。
RTL設計
仕様には「MP3フォーマットにエンコードする」とか「IEEE浮動小数点演算を実装」などと簡単に書かれているかもしれない。これらの簡単な記述の背後には数百ページにおよぶ仕様が存在し、数千行のコンピュータコードが存在する。従って、RTLであらゆる場合を想定して正しく機能するよう記述するのは非常に困難である。これに対して様々な技法が用いられている。それらは完全ではないが有効である。論理シミュレーション、形式手法、ハードウェアエミュレーション、lint的なコードチェックなどなどである。
ちょっとした間違いでもチップは使い物にならないことがある。Pentium FDIV バグ はごく稀なケースで除算結果を間違うというものであったが、発売後数ヶ月間まで誰もこれに気づかなかった。インテルはチップを無償交換することになったが、これに4億7500万ドルかかったという。
物理設計
以下に物理設計の主な工程を列挙する。これら工程は必ずしも上から下に一本道になっているわけではなく、様々な要求や目標を満たすまで繰り返される部分も多々ある。
- 配置計画: 大まかなダイ上の配置を決め、入出力ピンの配置を決定する。
- 論理合成: RTLから論理ゲートレベルの回路を生成する。
- 配置: 論理ゲートがダイ上で重ならないように配置する。
- 論理/配置の改善: 性能および電力消費が最適となるよう修正する。
- クロック供給の設計: 回路全体に遅延なくクロック信号が届くよう設計する。
- 配線: 素子間の配線を追加する。
- 配線後の最適化: 性能、ノイズ、歩留まりといった観点で問題があれば修正する。
- DFM: 製造工程で問題が発生しにくいように(必要ならば)設計を修正する。また、製造側の設定したデザインルールを守るよう修正を加える。
- 最終チェック: 間違いがあると後戻りにコストがかかるため、この段階で詳細なチェックを行う。形式等価判定やデザインルールチェックといった手法が採用されている。
- テープアウトとマスク生成: 設計データからフォトマスクが生成される。
アナログ設計
マイクロプロセッサとソフトウェアによる設計ツールが開発されるまで、アナログICは人間が手で計算して設計していた。オペアンプなどの基本的な回路がアナログICとして実装されるが、せいぜい10個のトランジスタを集積している程度であった。試行錯誤と余裕を持った設計(素子の配置)をすることでアナログICが製造可能となっていた。既存の設計を流用することで、より複雑なICが構築されていった。1970年代にコンピュータのコストが低くなると、回路設計のシミュレーションソフトウェアが書かれるようになり、人間が計算するよりも正確で実用的な手段となっていった。アナログIC用の最初の回路シミュレータはSPICE(Simulation Program with Integrated Circuits Emphasis)である。コンピュータによる回路シミュレーションツールが複雑なIC設計を可能にし、アナログASICの設計も実現されるようになった。また、製造前に間違いを検出することも容易になった。また、手で設計していた頃には困難だった洗練されたデバイスモデルや回路解析が可能となり、モンテカルロ法による解析などが実用化された。温度による特性変化や半導体プロセスによる特性変化のシミュレーションも容易となった。以上のように、コンピュータによる回路シミュレーションによってアナログ集積回路設計は格段の進歩を遂げた。
素子特性の多様性への対処
アナログIC設計で重要な問題として、IC上の個々の素子の特性にかなりばらつきがあることが挙げられる。個別部品で回路を組むときには、部品の特性を測定して選別することができるが、集積回路上の素子については制御できない。例えば、あるIC抵抗器の抵抗値は ±20% のばらつきがあり、バイポーラトランジスタのβ値は 20 から 100 までのばらつきを示す。同じ設計であってもウェハーが異なれば特性が変わるし、同じウェハーから切り出したICでも、不純物の拡散にばらつきがあるため、特性が違う。このばらつきの原因は、半導体製造工程に制御不能な無作為の分散があるためである。製造時のちょっとしたタイミングの変化でも、特性が変化する。
このようなばらつきの影響を減らす設計手法として以下のものがある。
- 抵抗の絶対値ではなく、抵抗の比率を中心として設計する。
- 部品配置を幾何学的にすることで分散の影響を減らす。
- 部品を大きくすることで確率的な影響を小さくする。
- 大きな部品を小さな部分に分け、それらを配線して同等な機能を持たせる。これにより全体としてばらつきの影響が相殺される。
- 密接に関連する素子をコモンセントロイド型の配置にすることでばらつきを相殺する(例えば、オペアンプでのトランジスタの差動ペアなど)。
一般にアナログICの特性の絶対値はそれほど重視されない。ただし、このようなばらつき問題に対応するため、アナログIC設計と通常の基板レベルの設計では手法がかなり異なる。
ツールとベンダー
主なEDAツールは、回路シミュレーション、論理合成、配置と配線、デザインルールチェックといった工程向けに存在する。EDAツールベンダーとしては、ケイデンス・デザイン・システムズ、シノプシス、メンター・グラフィックス、マグマ・デザイン・オートメーションがある。
関連項目
参考文献
- Electronic Design Automation For Integrated Circuits Handbook, by Lavagno, Martin, and Scheffer, ISBN 0-8493-3096-3 A survey of the field of electronic design automation, one of the main enablers of modern IC design.