集積回路設計において、物理設計は回路設計の後に続く標準設計サイクルのステップです。このステップでは、設計のコンポーネント(デバイスと相互接続)の回路表現が形状の幾何学的表現に変換されます。この形状表現は、対応する材料層で製造されたときに、コンポーネントの必要な機能を保証します。この幾何学的表現は、集積回路レイアウトと呼ばれます。このステップは通常、レイアウトの設計と検証および妥当性確認の両方を含むいくつかのサブステップに分割されます。[1] [2]
現代の集積回路(IC)設計は、HDLを使用するフロントエンド設計とバックエンド設計または物理設計に分かれています。物理設計への入力は、(i)ネットリスト、(ii)設計の基本デバイスに関するライブラリ情報、および(iii)製造制約を含む技術ファイルです。物理設計は通常、レイアウト後処理で完了します。ここで、チップレイアウトの修正と追加が行われます。[ 3]その後、製造プロセスが続き、設計がシリコンダイに転送され、ICにパッケージ化されます。
上記の各フェーズには、関連する設計フローがあります。これらの設計フローは、そのフェーズのプロセスとガイドライン/フレームワークを規定します。物理設計フローは、製造会社が提供するテクノロジ ライブラリを使用します。これらのテクノロジ ファイルは、使用されるシリコン ウェーハの種類、使用される標準セル、レイアウト ルール ( VLSI のDRCなど) などに関する情報を提供します。

部門
通常、IC の物理設計は、フルカスタム設計とセミカスタム設計に分類されます。
- フルカスタム: デザイナーはレイアウト デザインに関して完全な柔軟性を持っており、事前定義されたセルは使用されません。
- セミカスタム: 事前に設計されたライブラリセル(DFMでテストされていることが望ましい)が使用され、設計者はセルの配置と配線を柔軟に行うことができます。[4]
フルカスタム設計にはASICを使用し、セミカスタム設計フローにはFPGAを使用することができます。その理由は、ASICではベンダーが提供するライブラリから設計ブロックを設計/変更できる柔軟性があるからです。[5]この柔軟性は、FPGA( Alteraなど)を使用したセミカスタムフローには欠けています。
ASIC物理設計フロー

ASIC物理設計フローの主な手順は次のとおりです。
- 設計ネットリスト(合成後)
- フロアプランニング
- パーティショニング
- 配置
- クロックツリー合成 (CTS)
- ルーティング
- 物理的検証
- マスクデータ生成によるレイアウト後処理
これらの手順は基本的なものです。使用するツールや方法論/テクノロジーに応じて、詳細な PD フローが使用されます。バックエンド設計で使用されるツール/ソフトウェアの一部は次のとおりです。
- Cadence (Cadence Encounter RTL コンパイラ、Encounter デジタル実装、Cadence Voltus IC パワー インテグリティ ソリューション、Cadence Tempus タイミング サインオフ ソリューション)
- Synopsys (Design Compiler、IC Compiler II、IC Validator、PrimeTime、PrimePower、PrimeRail)
- マグマ(BlastFusionなど)
- メンターグラフィックス(オリンパス SoC、IC-Station、Calibre)
ASIC の物理設計フローは、製造会社が提供するテクノロジ ライブラリを使用します。テクノロジは、一般的に最小フィーチャ サイズに従って分類されます。標準サイズは、小型化の順に、2 μm、1 μm、0.5 μm、0.35 μm、0.25 μm、180 nm、130 nm、90 nm、65 nm、45 nm、28 nm、22 nm、18 nm、14 nm などです。また、主要な製造方法 (n ウェル プロセス、ツイン ウェル プロセス、 SOIプロセスなど) に従って分類することもできます。
設計ネットリスト
物理設計は、合成プロセスの最終結果であるネットリストに基づいています。合成では、通常 VHDL または Verilog HDL でコード化された RTL 設計を、次のツール セットが読み取り/理解できるゲート レベルの記述に変換します。このネットリストには、使用されるセル、それらの相互接続、使用される領域、およびその他の詳細に関する情報が含まれています。一般的な合成ツールは次のとおりです。
- Cadence RTL コンパイラ/ビルド ゲート/物理的に知識のある合成 (PKS)
- シノプシス デザイン コンパイラ
合成プロセスでは、設計が必要な機能と速度 (仕様) を満たしていることを確認するために制約が適用されます。ネットリストは機能とタイミングが検証された後にのみ、物理設計フローに送られます。
手順
パーティショニング
パーティショニングとは、チップを小さなブロックに分割するプロセスです。これは主に、異なる機能ブロックを分離し、配置と配線を容易にするために行われます。パーティショニングは、設計エンジニアが設計全体をサブブロックに分割し、各モジュールの設計に進む RTL 設計フェーズで実行できます。これらのモジュールは、TOP LEVEL モジュールと呼ばれるメイン モジュールでリンクされます。この種のパーティショニングは、一般に論理パーティショニングと呼ばれます。パーティショニングの目的は、パーティション間の接続数が最小限になるように回路を分割することです。
フロアプランニング
物理設計フローの 2 番目のステップは、フロアプランニングです。フロアプランニングは、互いに近接して配置する必要がある構造を特定し、使用可能なスペース (チップのコスト)、必要なパフォーマンス、およびすべてを互いに近接させたいという要望など、時には相反する目標を満たすように、それらの構造にスペースを割り当てるプロセスです。
設計の領域と階層に基づいて、適切なフロアプランが決定されます。フロアプランニングでは、設計で使用されるマクロ、メモリ、その他の IP コアとその配置ニーズ、配線の可能性、および設計全体の領域が考慮されます。フロアプランニングでは、設計の IO 構造とアスペクト比も決定されます。不適切なフロアプランは、ダイ領域の無駄と配線の混雑につながります。
多くの設計手法では、面積と速度はトレードオフの対象です。これは、配線リソースが限られているためです。使用するリソースが多いほど、動作が遅くなります。面積を最小に最適化すると、設計で使用するリソースが少なくなり、設計セクションの近接性が向上します。これにより、相互接続距離が短くなり、使用する配線リソースが少なくなり、エンドツーエンドの信号パスが高速化され、配置配線時間がさらに高速で一貫性が高まります。正しく実行すれば、フロアプランニングにマイナス面はありません。
一般的なルールとして、データパス セクションはフロアプランニングから最も恩恵を受けますが、ランダム ロジック、ステート マシン、およびその他の非構造化ロジックは、配置配線ソフトウェアの配置セクションに安全に任せることができます。
データ パスは通常、複数のビットが並列に処理され、各ビットが同様に変更され、隣接するビットから何らかの影響を受ける可能性のある設計領域です。データ パスを構成する構造の例には、加算器、減算器、カウンター、レジスタ、およびマルチプレクサがあります。
配置
配置の最適化を開始する前に、すべてのワイヤ ロード モデル (WLM) が削除されます。配置では、仮想ルート (VR) からの RC 値を使用してタイミングを計算します。VR は、2 つのピン間の最短のマンハッタン距離です。VR RC は WLM RC よりも正確です。
配置は 4 つの最適化フェーズで実行されます。
- 配置前の最適化
- 配置最適化では
- クロックツリー合成 (CTS) 前の配置後最適化 (PPO)
- CTS 後の PPO。
- 配置前最適化は、配置前にネットリストを最適化し、HFN (高ファンアウト ネット) を縮小します。また、セルのサイズを縮小することもできます。
- インプレースメント最適化は、VR に基づいてロジックを再最適化します。これにより、セルのサイズ変更、セルの移動、セルのバイパス、ネットの分割、ゲートの複製、バッファの挿入、領域の回復を実行できます。最適化では、セットアップの修正、増分タイミング、および輻輳駆動配置の反復が実行されます。
- CTS が理想的なクロックでネットリスト最適化を実行する前に、配置最適化をポストします。セットアップ、ホールド、最大トランス/キャップ違反を修正できます。グローバル配線に基づいて配置最適化を実行できます。HFN 合成を再実行します。
- CTS 後の配置後最適化は、伝播されたクロックでタイミングを最適化します。クロック スキューを維持しようとします。
クロックツリー合成

クロック ツリー合成( CTS )の目標は、スキューと挿入遅延を最小限に抑えることです。図に示すように、クロックは CTS より前には伝播されません。CTS 後はホールド スラックが改善されるはずです。クロック ツリーは、.sdc で定義されたクロック ソースで始まり、フロップのストップ ピンで終わります。ストップ ピンには、無視ピンと同期ピンの 2 種類があります。フロント エンド (論理合成) の「タッチしない」回路とピンは、バック エンド (物理合成) では「無視」回路またはピンとして扱われます。「無視」ピンはタイミング解析では無視されます。クロックが分割されている場合は、別のスキュー解析が必要です。
- グローバル スキューは、ロジック関係を考慮せずに 2 つの同期ピン間のゼロ スキューを実現します。
- ローカル スキューは、ロジック関係を考慮しながら、2 つの同期ピン間のゼロ スキューを実現します。
- セットアップ スラックを改善するためにクロックが意図的にスキューされる場合、それは有用スキューと呼ばれます。
剛性は、制約の緩和を示すために Astro で造られた用語です。剛性が高いほど、制約は厳しくなります。
クロック ツリー最適化(CTO)では、クロックをシールドしてノイズが他の信号に結合されないようにすることができます。ただし、シールドによって面積が 12 ~ 15% 増加します。クロック信号は本質的にグローバルであるため、電源ルーティングに使用されるのと同じメタル レイヤーがクロックにも使用されます。CTO は、バッファーのサイズ調整、ゲートのサイズ調整、バッファーの再配置、レベル調整、および HFN 合成によって実現されます。配置前、配置、および CTS ステージ前の配置後最適化でセットアップ スラックの改善を試みますが、ホールド スラックは無視します。CTS 後の配置後最適化では、ホールド スラックが改善されます。CTS の結果、多くのバッファーが追加されます。一般に、100k ゲートに対して約 650 個のバッファーが追加されます。
ルーティング
物理設計プロセスには、グローバル ルーティングと詳細ルーティングの 2 種類のルーティングがあります。グローバル ルーティングは、接続に使用されるルーティング リソースを割り当てます。また、特定のネットの割り当てを追跡します。
詳細配線は実際の接続を行います。配線中に考慮する必要があるさまざまな制約には、DRC、配線長、タイミングなどがあります。
物理的検証
物理検証では、生成されたレイアウト設計の正確性をチェックします。これには、レイアウトが
- すべての技術要件に準拠 - 設計ルールチェック (DRC)
- 元のネットリストと一致している – レイアウトと回路図 (LVS)
- アンテナ効果はありません – アンテナルールチェック
- これには、チップ全体の密度検証も含まれます...クリーニング密度は、下位の技術ノードでは非常に重要なステップです。
- すべての電気要件に準拠 - 電気規則チェック(ERC)[6]
レイアウト後処理
レイアウト後処理はマスクデータ準備とも呼ばれ、多くの場合、物理的な設計と検証を完了します。これは、物理的なレイアウト(ポリゴン)をマスクデータ(フォトマスクライターへの指示)に変換します。これには[3]が含まれます。
- チップの仕上げ、例えば会社/チップラベルの挿入や最終構造(シールリング、フィラー構造など)
- テストパターンとアライメントマークを含むレチクルレイアウトを生成する。
- レイアウトデータをグラフィックス操作(例:解像度向上技術、RET)で拡張し、データをマスク製造装置(フォトマスクライタ)に合わせて調整するレイアウトからマスクへの準備。
参照
参考文献
- ^ N. Sherwani、「VLSI 物理設計自動化のためのアルゴリズム」、Kluwer (1998)、ISBN 9780792383932
- ^ A. Kahng、J. Lienig、I. Markov、J. Hu:「VLSI物理設計:グラフ分割からタイミングクロージャまで」、Springer(2022)、doi:10.1007 / 978-90-481-9591-6、ISBN 978-3-030-96414-6、pp. 6-10。
- ^ ab J. Lienig、J. Scheible ( 2020)。「第3.3章:マスクデータ:レイアウト後処理」。電子回路のレイアウト設計の基礎。Springer。p. 102-110。doi :10.1007 / 978-3-030-39284-0。ISBN 978-3-030-39284-0. S2CID 215840278。
- ^ セミカスタム設計フロー
- ^ Mehrotra, Alok; Van Ginneken, Lukas PPP; Trivedi, Yatin. 「50M ゲート ASIC の設計フローと方法論」、IEEE カンファレンス出版物、ISBN 0-7803-7659-5
- ^ A. Kahng、J. Lienig、I. Markov、J. Hu:「VLSI物理設計:グラフ分割からタイミングクロージャまで」、Springer(2022)、doi:10.1007 / 978-3-030-96415-3、ISBN 978-3-030-96414-6、p.26。
