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