top of page

以 Innovus 釋放 PPA 潛力:全新功能與應用之道

Jun 24
6 min read

Cadence Blog / Vinod Khera

開發低功耗晶片的設計團隊,面臨永無止境的 PPA 壓力:降低動態與漏電功耗、維持或縮減面積,還要在不規則的平面規劃(floorplan)上滿足時序要求。最新版 Cadence Innovus Implementation System 透過擺置(GigaPlace)、最佳化(GigaOpt)、時脈(CCOpt)、繞線與收斂(New PRO)以及 AI 輔助(Innovus+ AI)的全面升級,將這些壓力轉化為可預期的成果。

從功耗與時序現實出發的擺置技術(GigaPlace)

最新版 Innovus Implementation System 為 GigaPlace 大幅強化了多項 PPA 導向能力。

  • 起點 TNS 方法(Startpoint TNS Method):GigaPlace 不再只計算終點(endpoint)成本,也將 Q 端 slack 劣於 D 端 slack 的關鍵發射正反器(launch flop)納入考量,把起點 slack 加入成本計算。

  • 總成本 = ∑endpoint_WNS + ∑startpoint_WNS

此方法為不平衡的正反器重新調整時序力道,讓發射與擷取(launch–capture)配對更早收斂;請留意,較強的時序力道可能移動元件實例,改變局部繞線長度分布。

  • 與此互補的是不平衡路徑式 SKP(Unbalanced Path-Based SKP),它評估每個正反器兩側的關鍵程度,並在整條關鍵路徑上套用比例式時序權重,透過 GlobalPlace/GlobalOpt 改善 WNS/TNS。

  • GigaPlace 也新增了進階管線擺置(Advanced Pipeline Placement),可自動收集純正反器管線,並平衡各級間距與點對點繞線長度。它消除了偏斜的管線結構,產生更平滑的點對點繞線長度,帶來更佳的資料路徑對稱性與更高的可達成頻率。

  • 另一項重要新增功能是整合式壅塞導向擺置(Integrated Congestion-Driven Placement, ICDP),取代了先前以填塞(padding)為主的方法。填塞主要只能改善局部流量;ICDP 則將長線網的源點與汲點移出熱點區域,使跨越巨集(macro)與阻擋區(blockage)的穿越流量,比單靠填塞更可靠地獲得紓解。

  • 最後是切換功耗擺置(Switching Power Placement, SPP),它將活動加權繞線長度直接整合進擺置成本函數,縮短高切換率(high-toggle)線網的繞線長度,有助於降低整體切換功耗。此方法對活動分布高度偏斜的設計特別有效。

這些升級使 GigaPlace 對時序更敏銳、對壅塞更有意識、對功耗更聰明,為現代高密度設計帶來可觀的 PPA 提升。

移動元件實例、而不只是數字的最佳化(GigaOpt)

為達成目標 PPA,Innovus Implementation System 提供多種選項,包括涵蓋全新路徑壓縮(path compaction)等功能的 mega options,詳述如下。

  • Mega options 提供簡單明確的方式,建立能大幅改善 PPA 的流程配方。時序、功耗與面積的最佳化強度,可在 LUI 與 CUI 兩種介面層級設定,透過明確的參數設定力道與投資報酬預期:

時序最佳化強度(Optimization effort):

LUI:  setOptMode -opt_timing_effort
CUI:  set_db opt_timing_effort: standard/high

功耗強度(Power effort):

LUI:  setOptMode -opt_power_effort
CUI:  set_db opt_power_effort: none/low/high/ultrahigh

面積強度(Area effort):

LUI:  setOptMode -opt_area_effort
CUI:  set_db opt_area_effort: standard/high
  • 全新路徑壓縮(局部擺置細調)透過調校 CPR 求解器,為移動機率較高的元件實例指派權重,同時將對旁支路徑的影響降至最低。整合式元件實例移動轉換,兼顧組合與循序路徑平衡,協助關鍵時序路徑獲得更好的擺置。改良後的路徑壓縮可執行:

    • 更佳的關鍵路徑探索與工作集建立

    • 以權重為基礎排定工作集中元件實例的優先順序以引導 CPR 移動

    • 改良的核心 CPR 引擎,為局部細調提供更好的成本計算

  • Innovus Implementation System 不再只於末段套用時脈偏斜(skew),而是在整個流程中普遍套用全域偏斜,以最大化有效偏斜(useful skew)、降低前期功耗,並為功耗回收創造餘裕,同時將時序反覆震盪降至最低。

    Innovus Implementation System-Flow
  • 全新保持時間最佳化器(hold optimizer)改善 hold TNS、面積與功耗,並帶來額外的效能提升,自動改善 QoR,其效益從所評估的設計中清楚可見。

    Innovus Implementation System-Designs considered

功耗最佳化方面,XOR 樹閘控(XOR-tree gating)在資料穩定時關閉時脈;資料閘控(data-gating)則在高活動正反器上,將 D 接腳與 ICG 致能訊號進行 AND 運算。請注意,CTS 後的功耗回收需要搭配時序恢復(GlobalOpt),才能保住功耗改善成果。

時脈:更早介入的智慧、一致的行為、更低的功耗(CCOpt)

時脈並行最佳化(Clock Concurrent Optimization, CCOpt)是整合於 Innovus Implementation System 的技術。

早期時脈流程第二版(Early Clock Flow, ECF V2):ECFV2 改善了原版 ECF 的問題,例如擺置後才進行去複製(de-cloning)以及缺乏時序感知。它將去複製移至擺置之前,並加入實體感知以更好地引導增量擺置。此外,ECFV2 強化了時脈叢集與解叢集(clustering/de-clustering),改善時脈相關性。

它也強化了活動導向時脈樹合成(activity-driven CTS),縮短高活動線網的繞線長度,並透過迭代式功耗導向調整(power-driven resizing)最佳化時脈網路的元件尺寸。這些進展帶來更有效率的時序、功耗管理與整體設計效能。

Innovus Implementation System-Early Clock Flow
活動導向 CTS V2 與時脈閘上推(Clock-Gate Push-Up)

活動導向 CTS V2 搭配時脈閘上推,可削減時脈樹最熱區段的活動加權電容。做法是在邏輯與實體條件允許的範圍內,將 ICG 往上游推移,讓高切換率的區段變短,並由更少、更低電容的元件驅動。即使較安靜的分支因此變長,整體活動加權繞線長度仍會下降,切換功耗隨之改善。

活動導向 CTS V2 接著以活動加權成本進行元件尺寸調整,只要能降低高活動區域的功耗,便接受總繞線長度的小幅增加。

Innovus Implementation System-Activity-driven CTS V2

兩者搭配,可在副作用極小的情況下,穩定降低時脈功耗。

H 樹合成新功能:更多元件選擇、更低功耗。

最新版 Innovus Implementation System 為 H 樹(H-tree)合成帶來重大改善,聚焦於降低時脈分配網路的功耗並改善插入延遲(insertion delay)。新的 H 樹功能支援在樹幹(trunk)區段使用來自同一元件家族的多種樹幹元件,這些元件的驅動強度可低於或等於原始參考 H 樹,讓工具在維持時序完整性的同時,打造更省電的樹幹。

Innovus Implementation System-H-tree synthesis

同樣地,Innovus Implementation System 現在也支援末端(leaf)元件的多重選擇,在極性(polarity)限制允許時,設計師可以反相器(inverter)取代傳統緩衝器(buffer)。這項彈性可減少一層樹級,在不影響正確性的前提下改善整體插入延遲。

最佳實務建議:使用來自同一家族、驅動強度等於或低於參考樹幹的多種樹幹元件;在極性允許時,於末端使用反相器以減少一層樹級。指令範例:

create_flexible_tree -trunk_cell {INVX24 INVX16 INVX8} -final_cell BUFX24
create_flexible_tree -trunk_cell {INVX24 INVX16 INVX8} -final_cell {BUFX24 INVX24}

繞線後最佳化:全面重塑(New PRO)

New PRO 功能徹底翻新繞線後的收斂流程,先解決後期不穩定的根本原因,再導入分階段、時序精確的最佳化階梯。舊有流程受限於繞線前後相關性不佳、粗略的壅塞/SI/拓撲估算、有限的 trackOpt 轉換集合,以及繞線器與最佳化器之間幾乎沒有互動,導致 PPA 損失、時序「跳動」與 ecoRoute DRC 反覆震盪,拉長收斂時間。

新版 PRO 的解法是從軟線(soft wire)與具備 dRoute 等級精確度(eDR)的全域繞線,逐步過渡到硬線(hard wire,即最終細部繞線),讓最佳化器能在看到接近最終寄生參數的情況下,嘗試更大膽、更聰明的變更。具體而言,它分四個階段執行:

  • Init 階段回收低效率的緩衝器鏈與不佳的繞線層指派,以紓解壅塞並建立更好的拓撲

  • Soft 階段使用 eDR(細部繞線等級)全域繞線搭配 SI 時序,安全地套用大型、非合法化的轉換

  • Medium 階段收斂至中等規模的轉換

  • Hard/ECO 階段最後僅以合法的緩衝與尺寸調整收尾。

Innovus Implementation System-Post‑Route Optimization

這降低了繞線後的時序跳動與 ecoRoute DRC 反覆震盪,並改善繞線前後的相關性。

Innovus+ AI:引擎層級的智慧與累積學習

Innovus AI 將學習與搜尋能力直接帶入實現引擎,以改善 PPA 與可預測性。整合於 GigaOpt 的 AI(-ai)可跨擺置、時脈、繞線與 signoff 平行評估候選轉換方案,挑選投資報酬率更高的變更,且多執行緒擴充性優於基準版本。

Innovus Implementation System-AI

累積學習(Accumulated Learning,透過 Cadence JedAI)會將元件選擇與繞線層指派的經驗延續至後續執行,避免使用無益的元件、避開問題區域的繞線層,藉此在多次迭代間持續改善 PPA 與周轉時間(TAT)。

Innovus Implementation System-JedAI

在易用性與資料科學工作流程方面,Innovus Implementation System 內建 Python UI,讓您能直接在即時資料庫上呼叫 Python AI 函式庫(並連接 Cadence JedAI),挖掘元件實例與接腳資訊、快速驗證啟發式方法,並將學習到的策略落實到流程中。

Innovus Implementation System-Python UI

實務成效

在近期的客戶設計案例(25.12 版)中,啟用 -ai 的執行展現了密度與總功耗/動態功耗的下降,代價是探索性 TAT 較長,但隨著配方趨於穩定,此開銷通常會逐漸縮小。

Innovus Implementation System-Customer designs

設計一的密度降低 1.8%,動態功耗改善 2.7%,總功耗下降 5.8%,TAT 改善約 1.7 倍。設計二的密度降低 0.23%,動態功耗微增 0.9%,總功耗下降 2.1%,TAT 改善約 1.4 倍(隨著配方穩定,探索開銷通常會縮小)。

Comments


bottom of page