前言#
簡単な概要#
OpenROAD によるフロアプランの粗い概要:
- フロアプランの内容は、チップ内部インターフェースの完全な計画と設計を含みます:
- チップサイズ (
ifp
):- フロアプラン制約、ダイ / コア面積を初期化し、トラックを作成します。
- チップ IO(
ppl
,pad
)- ピン配置:ネットワイヤ長を最小限に抑えるために、トラックグリッドのダイの境界にピンを配置します。
- チップレベルの接続:IO リングをチップの境界に配置し、ワイヤボンドパッドまたはバンプアレイで接続します。
- マクロ配置 (
mpl
,mpl2
)- マクロプレースは、ハロー、チャネル、セル行の「スナッピング」を尊重してマクロ / ブロックを配置します。
- 電源計画 (
pdn
)- PDN 生成:設計に適用される小さなセットの電源ネットワーク戦略を指定します。例えば、使用する層数、ストライプの幅と間隔を指定し、実用プログラムに実際の金属ストリップを生成させます。
- チップサイズ (
- フロアプランはチップのタイミング収束、配線のスムーズさ、電源の安定性、及び良品率に関係します。
- フロアプランから配置完了までには、一般的に物理実装の1/3の時間を占めます。
用語#
- ボンドパッドは、チップと外部パッケージとの電気接続の重要な接触点であり、電気信号の伝送と電源分配を確保します。そのレイアウトは、パッケージングプロセス、信号の完全性、チップサイズに直接影響を与え、フロアプラン設計の重要な要素です。
- バンプアレイは、チップとパッケージ基板または PCB との電気的、機械的、熱的接続の重要な構造であり、フリップチップや3D ICパッケージに広く使用されています。フロアプラン段階では、信号性能、電源の完全性、熱管理を最適化するために、バンプアレイの位置、密度、分布を正確に計画する必要があります。
フロアプランの内容と目標#
フロアプランはチップの物理設計の第一歩であり、コア領域、マクロユニット、IO ユニットの位置、配線リソースと電源計画を決定して、チップの性能と面積を最適化します。
フロアプランの目標は主に以下を含みます:
- 面積:配線を保証しつつ、製品コストをできるだけ節約します。
- タイミング収束:チップの遅延を予測し、最終的に SDC 要件を満たすかどうかを考慮し、タイミング収束を実現します。
- 安定性:チップ内部の電源分配が均一で、供給が十分であることを保証します。
- 配線性:配線のスムーズさを保証しつつ、配線の長さをできるだけ短くし、すなわち相互接続線の遅延を減少させ、チップの性能を効果的に向上させます。
I/O インターフェースユニットの配置と電源供給#
- TODO
フロアプラン計画と遅延予測#
フロアプランを作成する前に、ゼロライン負荷モデルを使用して合成後のネットリストに対して遅延分析を行い、タイミングを評価します。タイミングが悪い場合は、ネットリストを最適化する必要があります。
フロアプラン段階のタイミングと遅延予測方法は、チップ設計方法に依存します。すなわち、1. 自下から上へのフラットなシリコン仮想プロトタイピング(SVP, silicon virtual prototyping);2. 自上から下への階層設計方法(hierarchical)。
PS: デザインが 500 万ゲート程度のときは、階層設計方案を採用することを検討します。
フラットデザイン#
フラットデザインでは、複数のフロアプランを配置した後、STA を使用してチップ全体の遅延を推定し、タイミング違反(negative slack)を使用して異なるフロアプランの効果を評価します。
この段階ではまだ相互接続線が確立されていないため、のみWLM を使用して遅延を推定することができます(書籍での「のみ」は疑問が残ります。WLM は統計モデルであり、負荷容量および線長を推定し、初歩的に線の遅延を予測します)。
WLM(ワイヤ負荷モデル)は、RTL-to-GDSII プロセスの初期段階(合成段階など)で信号ネットワークの線の容量、抵抗、遅延を推定するためのモデルであり、主に回路規模、ネットワークのファンアウト、統計データに基づいています。
階層化設計#
階層化設計は大きく分けて三つのステップに分かれます:チップのトップレベル設計計画、サブモジュールの分割(partition)と実装、及びチップのトップレベル組み立て実装。
タイミング予算(time budgeting)では、まずチップ全体のタイミングを分析する必要があります。
- TODO
モジュール配置と配線チャネル#
モジュール配置位置はフロアプラン計画に基づいており、モジュールレイアウトの結果は前期フロアプラン計画の期待目標に直接影響を与えます。その中で、配線の完了を保証できるかどうかは、配線チャネルの分析によって行われます。
routing channelは、2 本以上のトラックの間のスペースであり、チャネル上には標準セルを配置できません。また、マクロの周囲には通常、標準セルを配置できないハローが予留されています(専用の配線用)。
- Routing Channel:レイアウトにおいて予留された配線チャネルのスペースであり、通常はマクロユニットやユニット間の隙間に現れます。
- Routing Track:配線層上の規則的なグリッドラインであり、各トラックは信号線を配置できる位置を示します。
階層化設計では、チャネルは形状に応じてT形とL形の二種類に分かれます。二つのサブモジュールが大きく離れている場合、タイミングと配線要件を満たすためにフィードスルーチャネルを定義する必要があります。
階層化設計では、行ベースの配線方法が導入されており、図 b の無チャネル分割法(channel-less)が示されています。図 a はチャネルベースの分割であり、図 c は混合法です。