Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

CISOSE26 本地 AI UG26
政治大學 AQI 19 29°C

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

軟體與 EDA
軟體與 EDA

佈局與繞線(P&R)

把幾十億個元件擺進晶片、再用密如蛛網的金屬線接通。

佈局與繞線(P&R) 概念示意插圖
概念示意插圖(AI 生成,僅供輔助理解,非精確技術圖示)
研究所  ·  約 19 分鐘  ·  佈局繞線P&REDA

從合成網表到實體版圖:P&R 的問題定義

邏輯合成(synthesis)輸出的是一份閘級網表(gate-level netlist):一張由標準單元(standard cell)與連線構成的拓樸圖,但其中沒有任何幾何座標。佈局與繞線(Place & Route,P&R)的任務,是把這張抽象圖映射到二維晶片平面上——決定每個單元的實體位置、再用多達 10~15+ 層的金屬互連把它們接通——同時滿足時序、功耗、面積、訊號完整性與可製造性等彼此衝突的約束。

現代 SoC 一顆可能含 數十億個電晶體、上千萬個標準單元。把這麼多元件擺進晶片本質上是 NP-hard 的組合最佳化問題,無法求全域最佳解,只能靠啟發式(heuristic)演算法逼近。P&R 因此是整個數位設計流程中最吃計算資源、迭代最久的階段,動輒數十小時到數天。

佈局(Placement):最小化線長的數學最佳化

目標函數與 HPWL

佈局的核心目標是最小化總線長,因為線長直接決定寄生 RC 延遲繞線壅塞。業界最常用的線長估計是 HPWL(Half-Perimeter Wire Length,半周長線長):對每條網路(net)取其所有接腳的外接矩形(bounding box),線長近似為矩形的半周長。整體目標可寫成:

$$\text{minimize} \quad \sum_{\mathrm{net}} \mathrm{HPWL}(\mathrm{net})$$

受限於:單元不重疊(non-overlap)、單元落在合法 row/site 上(legalization)、時序約束(setup/hold slack $\geq 0$)、繞線壅塞密度 $< 1.0$。

三階段流程

現代 placer(如解析式佈局 analytical placement)分三階段:

  • Global placement(全域佈局):放鬆不重疊約束,把問題鬆弛成連續最佳化。常用二次規劃(quadratic placement,把線長近似為 $\sum w_{ij}(x_i-x_j)^2$ 的二次型,解大型稀疏線性系統)或非線性最佳化(以 log-sum-exp 平滑 HPWL,再加密度懲罰項,用共軛梯度法求解)。
  • Legalization(合法化):把重疊的單元推開、對齊到合法位置,盡量不破壞全域結果。
  • Detailed placement(細部佈局):局部交換、滑動單元,進一步壓低線長與壅塞。

近年 AI 輔助佈局(強化學習擺放巨集 macro placement)開始進入商用工具,但解析式方法仍是主力。

時鐘樹合成(CTS):對抗時鐘歪斜

佈局後、繞線前要做 CTS(Clock Tree Synthesis,時鐘樹合成)。時鐘訊號必須同時到達數十萬個正反器(flip-flop),任何到達時間差稱為時鐘歪斜(clock skew)。CTS 插入緩衝器(buffer)與反相器建立平衡樹(如 H-tree 或多級 mesh),把 skew 壓到數十 ps 以內。

代價是顯著的功耗:時鐘網路常占整顆晶片動態功耗的 20~40%,因為它在每個週期翻轉。先進設計改用 clock meshmulti-source CTS 來換取更低 skew,但繞線資源與功耗成本更高,這是典型的取捨。

繞線(Routing):在多層金屬間找通路

全域繞線與細部繞線

繞線把每條 net 實際接通,分兩層次:

  • Global routing(全域繞線):把晶片切成網格(gcell),決定每條 net 大致走哪些網格與哪幾層金屬,目標是讓壅塞(congestion)均勻、不超過各邊的繞線容量。常建模為多商品流(multi-commodity flow)問題。
  • Detailed routing(細部繞線):在金屬層的合法軌道(track)上指定確切幾何路徑與通孔(via),必須遵守所有設計規則。底層演算法源自 Lee maze routing(迷宮繞線)A* 搜尋,並以 ripup-and-reroute(拆線重繞)迭代消除違規。

金屬堆疊與層指派

先進製程的 BEOL 有 10~15+ 層金屬:底層(M1~M3)線細、間距小,走局部短線;上層(如 redistribution 與 power)線粗、電阻低,走長距離與電源。層指派要平衡:長 net 拉到上層降低 RC,但通孔切換本身有電阻與面積代價。

寄生效應與時序收斂

RC 延遲的物理

互連延遲主要來自寄生電阻 R 與電容 C 的乘積。一段導線的延遲近似 Elmore delay $\approx R\cdot C$,對分布式 RC 線則正比於長度平方($t \propto \frac{1}{2}RCL^2$)。隨製程微縮,導線變細使 R 上升、間距變小使耦合 C 上升,互連延遲已超越閘延遲成為主導。這正是 P&R 必須極力壓低線長的根本原因。

STA 與時序收斂

繞線後做靜態時序分析(STA, Static Timing Analysis)驗證每條路徑:

# setup(建立時間)檢查:資料要在時鐘邊緣前穩定
slack_setup = T_clk - (T_launch + T_logic + T_net - T_capture - T_setup)
# hold(保持時間)檢查:資料不能太早改變
slack_hold  = (T_launch + T_logic + T_net) - (T_capture + T_hold)
# 全部 net 都要 slack ≥ 0 才算時序收斂(timing closure)

達不到時,工具會自動緩衝器插入、上尺寸(upsizing)、調整佈局反覆迭代。時序收斂往往是 tape-out 前最痛苦、最耗時的環節。

訊號完整性、功耗網路與失效模式

P&R 還要處理多種第二序效應與失效模式:

  • 串擾(crosstalk):相鄰平行長線的耦合電容造成雜訊與延遲變化,需加 spacing 或 shielding。
  • IR drop(電壓降):電源網路(PDN)電阻造成局部電壓不足,使單元變慢甚至失效;需足夠寬的 power rail 與密集 via。
  • 電遷移(electromigration):長期大電流使金屬原子遷移、導線斷裂,是可靠度殺手,需限制電流密度。
  • 天線效應(antenna effect):製程中累積電荷打穿閘氧化層,需加 antenna diode 洩流。
約束維度 衝突對象 典型取捨
線長/延遲 面積 拉近單元 vs. 壅塞爆掉
時鐘 skew 功耗 mesh 低 skew vs. 高功耗
繞線層數 成本 多層好繞 vs. 光罩變貴
IR drop 面積 寬電源軌 vs. 訊號繞線空間

前沿現況

當前 P&R 的前沿集中在幾個方向:機器學習用於壅塞預測與巨集擺放、雲端大規模平行化縮短迭代、以及配合 GAA 電晶體背面供電(BSPDN)的新繞線範式——把電源網路搬到晶圓背面後,正面訊號繞線資源大增,但 P&R 工具需重新建模雙面互連。隨著設計規模逼近數百億電晶體,P&R 的執行時間與品質仍是限制晶片上市速度的關鍵瓶頸。

延伸閱讀:〈RTL 與邏輯合成〉、〈從 RTL 到 GDSII:數位設計流程〉、〈設計規則與可製造性設計(DFM)〉。

接著問 AI 助教

點一下複製提問,到 ClassroomGPT、優學伴(AIDA)或你的 UeduGPTs 頻道貼上,AI 會引用本專區內容回答。

AI 共讀助教正在陪你讀:佈局與繞線(P&R)
嗨!我是這篇文章的共讀助教,只根據〈佈局與繞線(P&R)〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。