前書き#
この記事の前提:
- デジタル IC 設計フローの主要なステップにのみ焦点を当てる。
- 難解な用語をできるだけ避ける。
IC 設計フローとは#
集積回路設計フローは、集積回路の設計図が完成し、半導体工場で製造できるまでの一連のステップを含む体系的なアプローチです。
IC 設計フローの主要ステップ#
典型的な IC 設計サイクルは、いくつかのステップで構成されています:
以下のフローは wiki から引用されています:
- システム仕様
- 実現可能性調査とダイサイズの見積もり
- 機能分析
- アーキテクチャまたはシステムレベルの設計
- 論理設計
- アナログ設計、シミュレーション、レイアウト
- デジタル設計とシミュレーション
- システムシミュレーション、エミュレーション、検証
- 回路設計
- デジタル設計合成
- テストのための設計 および 自動テストパターン生成
- 製造性のための設計
- 物理設計
- フロアプランニング
- 配置と配線
- 寄生抽出
- 物理検証と サインオフ
- 静的タイミング
- コシミュレーションとタイミング
- マスクデータ準備 (レイアウト後処理)
- チップ仕上げと tape out
- レチクルレイアウト
- レイアウトからマスクへの準備
- レチクル製造
- フォトマスク製造
- ウェハ製造
- パッケージング
- ダイテスト
- ポストシリコン検証 および統合
- デバイス特性評価
- 調整(必要に応じて)
- チップ展開
さらに以下の主要なステップに要約できます。
仕様とアーキテクチャ設計#
この段階では、設計エンジニアは次の質問に答えることができる必要があります:
- IC は何のために作られていますか?
- IC が提供しなければならない機能は何ですか?
- 必要な速度と消費電力は何ですか?
- 目標コストは何ですか?
簡単に言えば、この段階は高レベルのトップダウンアーキテクチャ設計です。
設計エントリー – 論理 / 回路設計#
アーキテクチャ設計を完了し、実現する機能を決定した後、エンジニアは RTL を使用して論理機能を実現し、論理合成を通じて RTL からゲートレベルネットリストへの変換を行います。一般的に、論理設計は IC のフロントエンド、物理設計は IC のバックエンド、論理合成は橋渡しを行い、物理設計に必要なテク依存ネットリストを提供します。
物理設計#
物理設計段階の重点は、回路の論理表現を製造に適した物理レイアウトに変換することです。これには、フロアプランニング、配置、配線などのステップが含まれ、面積、消費電力、タイミングなどの厳格な設計制約条件を遵守する必要があります。
物理検証#
物理検証段階は、設計の正確性と堅牢性を確保するために繰り返し行われるプロセスです。集積回路の物理効果(抵抗、クロストークなど)をシミュレーションし、設計欠陥を検出し、特定の要件を満たしていることを確認するために、さまざまな技術を使用します。
言い換えれば、この段階は設計者が回路がシリコンウェハ上にどのように配置されるかを想像し、回路がストレス下でどのように機能するかを測定するのに役立ちます。
サインオフ (DFM – DFT および製造)#
サインオフは、設計プロセスの異なる段階でチップを確認し承認することを指します。通常、サインオフには複数の段階と複数の側面の確認が含まれ、設計が仕様要件を満たし、期待される性能指標に従って正常に機能することを保証します。
- 前シミュレーション(機能シミュレーション)
設計された回路がレイアウト配線に入る前に、その機能が設計要件を満たしているかを確認する必要があります。このシミュレーション検証は、最初のサインオフと呼ばれます。
- 後シミュレーション(タイミングシミュレーション)
設計がレイアウト配線を経た後、EDA ツールを使用して寄生パラメータ抽出を行い、正確なポストレイアウト回路ネットリストを形成し、このネットリストに対してタイミングシミュレーションを行い、タイミング動作が要件を満たしているかを確認します。このプロセスは、第二のサインオフと呼ばれます。その後、ファウンドリでの流片生産に入ることができます。
サインオフ分析が完全であるかどうかは IC 製品の品質にとって非常に重要です。この段階で問題を見つけて修正することは、生産段階でのコストよりもはるかに安価です。そのため、各 IC 会社はこのプロセスを非常に重視しており、EDA ベンダーもサインオフ用のツールセットを持っています。
適切な方法は、サインオフ分析をIC 設計プロセスに統合し、主な設計作業と反復的に行うことで、設計の品質を保証することです。サインオフ段階でチェックするチェックリストには、タイミング、信号の完全性、消費電力、IR 降下、電気移動、寄生パラメータ抽出、DRC(設計ルールチェック)、LVS(レイアウトと回路図の一致チェック)、ノイズ、チップ上の熱分析などが含まれます。これらの項目のチェック分析は、Virtuoso や Customer Designer などの統合環境で行うことができます。これを社内サインオフと呼ぶ人もいます。
全体的に見ると、
チップのテープアウト前にさまざまなチェックを行います。これらのチェックがすべて合格した場合にのみ、チップがスムーズに流片され、その後設計がファブに送られます。チップの性能や製造性に影響を与える重要なパラメータは、"golden signoff" 品質ツール(DFM および DFT を含む)の結果に基づいて検証される必要があります。
- DFM: 製造のための設計
- DFT: テストのための設計
検証が完了した後、最終設計データは半導体ファウンドリに送られ、製造が行われます。設計ファイルとファウンドリ特有のガイドラインおよび要件が半導体工場に送信されます。設計が完了すると、半導体製造プロセスが開始され、ウェハ加工、光刻、エッチング、パッケージングが行われ、シリコンウェハが集積回路に変換されます。
まとめ#
ざっくり言えば、デジタル集積回路設計は三つの部分に分けられます。
- 電子システムレベル 設計:このステップでは、ユーザー機能仕様が作成されます。ユーザーは、さまざまな言語やツールを使用してこの説明を作成できます。例としては、 C/C++ モデル、 VHDL、 SystemC、 SystemVerilog トランザクションレベルモデル、 Simulink、および MATLABが含まれます。
- RTL 設計:このステップでは、ユーザー仕様(ユーザーがチップに何をさせたいか)を レジスタ転送レベル (RTL)記述に変換します。RTL は、チップ上のデジタル回路の正確な動作と、入力および出力への相互接続を記述します。
- 物理回路設計:このステップでは、RTL と利用可能なロジックゲートのライブラリ(スタンダードセル ライブラリ)を使用して、チップ設計を作成します。このステップでは、IC レイアウトエディタ、レイアウトおよびフロアプランニングを使用し、どのゲートを使用するかを決定し、それらの場所を定義し、配線(クロックタイミング合成、ルーティング)を行います。⭐
注:RTL はチップが正しいことを行うことを担当します。一方、PD は機能に影響を与えません(設計が正しければ)が、チップの動作速度とコストを決定します。