Synopsys
Ansys

什麼是「低功耗設計 」?

戈德溫·馬本

2020年6月8日 / 閱讀時間 12 分鐘

定義

低功耗設計 是一套旨在降低系統整體動態與靜態功耗的技術與方法論集合 積體電路 (IC)。

觀察圖 1 中方程式所示的各功率分量,低功耗設計 的目標在於盡可能降低各功率分量,從而降低整體功耗。該功耗方程式包含動態功耗與靜態功耗兩部分。動態功耗由開關功耗與短路功耗組成;而靜態功耗則由洩漏功耗組成,即在無任何活動時流經電晶體的電流。 各功耗成分的數值與以下任一因素有關:

  • 活動
  • 頻率
  • 過渡期
  • 電容性負載
  • 電壓
  • 漏電流
  • 峰值電流

舉例來說,電壓越高,各元件的功耗就越大,導致整體功耗隨之增加;反之,電壓越低,整體功耗就越低。為了在最低功耗下達到最佳性能,會透過各種低功耗技術與方法,對這些不同因素進行反覆測試與權衡。

功率元件與方程式 | 新思科技

對……的需求低功耗設計

各家公司持續在全新功能與性能方面突破極限,並將這些功能整合至便攜式、手持式及電池供電的裝置中。對於這類產品而言,透過降低功耗來延長電池續航力,不僅是重要的差異化優勢,對終端使用者的應用場景也至關重要。縮短裝置從「關機/休眠」狀態切換至「開機/活躍」狀態所需的時間同樣重要,因為終端使用者不僅希望擁有更長的電池續航力,更期待獲得無縫的使用體驗。

對於「插電式」產品而言,功耗同樣至關重要,因為它會因需配備散熱片和複雜的冷卻系統,以及增加電費等原因,進而影響系統的整體成本。例如,在採用大規模並行系統的伺服器農場中,單一晶片的功耗降低便能帶來顯著的節能效果,因為該晶片會廣泛應用於整個系統中。透過採用更新且更具能源效率的積體電路來升級這些系統,所節省的電力與成本將十分可觀。

低功耗設計 技巧

目前有許多低功耗設計 技術可供使用,其中有些操作非常簡單,而有些則較為繁瑣且複雜。

 

時脈閘控:

此技術通常在邏輯合成階段執行,此時會將使能觸發器優化為時鐘閘控結構,藉此節省多工器面積並降低時鐘網路的整體切換活動(參見圖 2)。

在不需使用時關閉時脈,便能輕鬆降低動態電流。與其使用 AND/NOR 閘極,不如採用基於鎖存器的時脈關斷機制,以避免任何額外的功耗。關閉 IC 特定區域的時脈訊號,可大幅降低功耗,因為這些區域的電晶體將不會進行切換並消耗電力。

這是一種非常簡單且易於實現的技術,可降低功耗與佔用面積。不過,此技術確實仰賴邏輯合成工具來執行此項優化。所幸,這項技術廣為人知,且在大多數工具與流程中均獲得良好支援。

時脈閘控 | 新思科技

多電壓:

這是一種根據效能特性將晶片功能進行區隔的技術——例如,如圖 3 所示,其中一個區塊可能具備高效能,而晶片的其餘部分則為較低效能。為了達成高效能區塊的目標,通常需要較高的電壓;而為了在較低效能的區塊上節省功耗,則可採用較低的電壓。此做法取代了將整個區塊設計為高電壓的方案,後者雖然較為簡單,但功耗更高。 在功耗方程式中,降低電壓可減少所有靜態與動態功耗成分。採用多電壓設計時,會面臨設計獨立電壓島的複雜性,由於電壓島之間的電壓轉換可能需要「電平轉換器」(LS)單元,因此必須根據各區塊不同的電壓特性來實作與分析。

多電壓 | 新思科技

電源閘控:

這是一種將積體電路(IC)上的功能進行區隔的技術,與多電壓技術類似,但此次各電源域的電源供應會如圖 4 所示,連接至電源開關。電源閘控能有效完全切斷某個功能區塊的電源。在電源方程式中,此舉會使電壓歸零並切斷電源,從而使該功能區塊在關閉期間同時實現靜態與動態的節能效果。 電源閘控通常能提供最顯著的節能效果,因此,在維持功能性的前提下,盡可能頻繁地關閉盡可能多的電源域,是理想的目標。為了透過電源閘控實現此節能效果,設計中必須實作電源開關,這需要隔離閘極,以在關閉時將電源域的邊界電壓鉗位至已知值。必須考量設計的電源狀態,以及特定電壓下各種開/關狀態的組合。 最後,必須實作一個用於控制電源開關及隔離啟用訊號的電源管理單元(PMU)。在關機與開機過程中,這些訊號的順序必須正確,以確保關機期間的數值能在正確的時間被鉗制為正確的值。

電源閘控 | 新思科技

採用電源關斷技術的資料保留:

保持(或稱寄存器保持)是一種與電源閘控技術併用之技術。在此技術中,每個關機區塊在處於關閉狀態時,該區塊內的部分或全部邏輯單元(flops)都會將其先前值儲存下來。 當區塊通電時,先前儲存的值將會被恢復。保存區塊在關機時的狀態至關重要,如此一來,區塊便能迅速恢復其先前狀態,而非必須從初始化(INIT)狀態逐步循環至當前狀態。此舉透過減少恢復儲存狀態所需的時間與步驟來節省電力,同時也縮短整體恢復時間,使區塊能更快恢復先前功能。 除了電源閘控所需的一切之外,庫中還必須存在可映射至 RTL 中所需寄存器的保留觸發器。除了用於電源閘控的信號外,還需在 PMU 中新增 SAVE/RESTORE 信號,並控制這些信號的序列(參見圖 5)。

利用電源閘控實現資料保留 | 新思科技

進階技巧:

針對低功耗設計 ,還有許多更先進的技術,包括前述技術的組合。 在許多現代晶片中,常見到採用較低電壓、具備電源閘控功能,並具有隔離、資料保留及電平轉換器的元件。此外,業界還廣泛應用其他先進的低功耗技術,例如:井式偏壓、零引腳資料保留觸發器、專用的低功耗庫單元、動態電壓與頻率調整(DVFS)、自適應電壓與頻率調整(AVFS),以及客製化設計等。 

低功耗設計 研究方法

靜態功驗證與探索:

在靜態驗證中,第一步是確保設計流程(RTL、UPF 和 SDC)的輸入在結構和語法上均正確無誤。根據定義,靜態驗證不使用測試向量,因此這是在進入模擬或實作流程之前審查輸入資料的一種非常有效的方式。Lint 和 CDC 檢查對於確保您的 RTL 乾淨無誤至關重要。 UPF 檢查可獨立進行,亦可與對應的 RTL 一同進行,以確保其無誤;SDC 同樣可與 RTL 一併進行靜態檢查。在功耗探索階段,可透過預估的開關狀態或模擬所得的實際波形,對 RTL 進行早期功耗估算。透過及早執行 RTL 功耗分析,可在設計初期便做出決策,從而優化整體設計架構。

 

動態功耗驗證與分析:

在動態功耗驗證中,有幾個重要方面需要檢查。首先,PMU 控制訊號的序列是否能正確執行關機、隔離鉗位、儲存、恢復、解除隔離鉗位以及上電等操作。這是一項極為重要的檢查,需結合設計 RTL 與 UPF 一起進行,以確保設計運作正常。 其次,設計中會出現何種波形與閹位活動?這將決定動態功耗的數值,因為功耗取決於活動因子。活動因子越高,功耗就越大。因此,無論在設計流程的早期或後期,產生的波形對於準確估算功耗都至關重要。

 

軟體驅動的功耗分析:

對於基於仿真的低功耗流程而言,能夠準確捕捉設計功耗曲線中的正確峰值區間至關重要。透過仿真,可以檢視範圍更廣泛的數據集,從而選擇最具參考價值的區間來生成波形,藉此估算功耗。

 

電源實現:

基於 RTL 的預測功耗估算、邏輯合成、DFT 插入以及物理實現,在低功耗設計中均扮演著重要的專屬角色。基於 RTL 的預測功耗估算,可讓設計人員在極早階段便依據初步功耗估算結果對 RTL 進行修改。在邏輯合成階段,經過靜態與動態全面驗證的 RTL、SDC 及 UPF,將被映射至製程閘極。 針對功耗優化的隔離單元、電平轉換器及保留單元同樣會映射至閘極,此時時序、面積與功耗皆是生成網表(Netlist)及相關 UPF’ 的成本函數組成部分。DFT 插入亦會在此階段進行,且通常與上述流程同步進行。一旦網表與 UPF’ 完成,便會在此層級進行另一輪靜態與動態檢查——確認無誤後,結果將輸入至物理實現階段。 在物理實作階段,會考量巨集佈置與電源佈線,進行佈局規劃 。接著執行佈置,並在其中物理插入與放置電源開關;隨後反覆進行佈置、佈線估算、邏輯優化及時鐘樹合成,以再次在時序、面積與功耗之間取得平衡。 最後進入佈線階段,首先對優先級訊號(時鐘、電源啟用訊號、開關連接)進行預佈線,隨後對設計的其餘部分進行詳細佈線——所有這些步驟都著重於更細緻地降低功耗,同時仍力求滿足時序與面積目標。

 

簽核:

在簽核階段應再次檢查 UPF 的一致性。不過,這次應將「網表與 UPF’」(來自邏輯合成)以及「PGNetlist 與 UPF”」(來自物理實現)納入比對。此舉可確保網表與 UPF 所做的連接與變更既一致又乾淨,並能維持電源意圖。透過比較 RTL 與 UPF、邏輯閘與 UPF’,以及 PGNetlist 與 UPF” 來進行邏輯等效性檢查,可確保邏輯功能得以保留。 最後, 靜態時序分析 應針對 UPF 進行時序分析,以確保設計符合時序要求;並進行包含詳細波形行為的功耗分析,以提供準確的功耗估算結果。

低功率設計挑戰

設計用於低功耗運作的積體電路時,會面臨若干複雜的挑戰,必須仔細處理這些挑戰,以確保可靠的性能與效率,其中包括:

  • 電壓降 利潤空間變得非常緊湊,特別是在超低電壓設計中。這種演進使得電壓(IR)降的簽核驗證,成為所有現代積體電路設計中不可或缺的一部分。
  • 低供電電壓會使路徑時序更容易受到動態電壓降 (DVD)的影響。此外,要以足夠的覆蓋率來分析DVD,以捕捉所有可能的切換情境,是一項極具挑戰性的任務。仔細進行電壓降 分析,對於將DVD對時序的影響降至最低,並避免因意外的IR drop影響而導致頻率損失,至關重要。
  • 多電壓區域需要謹慎管理,以確保不同電壓區域之間的訊號轉換與訊號完整性 正常運作。UPF 是一項旨在協助解決此項挑戰的標準。
  • 再次開啟區塊時,電源閘控會帶來具挑戰性的轉換現象,且涵蓋電氣與邏輯層面。
  • 時脈閘控若能盡可能靠近時脈分配網路的源頭處實施,效果最佳;但這取決於使能訊號能否及時送達,而這又受到時序可行性的限制。這導致必須在達成的功耗效率與設計優化所付出的努力之間取得權衡。

任何功耗分析的有效性,在很大程度上取決於電路活動狀況。然而,要建立一個既貼近現實又具代表性的活動情境,以涵蓋所有運作模式下實際使用中可能出現的各種功耗狀態,並非易事。一個常見的錯誤是使用功能驗證 活動向量來計算功耗;這些向量不僅容易誤導人,對功耗分析而言也毫無意義。優質的活動向量可以透過手動生成、由功耗分析工具自動生成(「無向量」模式),或是透過執行真實應用的硬體模擬器來產生。

低功耗設計 工具

此方法論各階段所需的低功耗設計 工具如下:

  1. 靜態功耗驗證與探索:靜態驗證需要Lint和 CDC 工具,以確保 RTL 設計無誤。至於 UPF,則需要 UPF 檢查工具來確保 UPF 設計無誤。至於功耗探索,則需要 RTL 功耗估算工具。
  2. 動態功耗驗證與分析:必須使用具備功耗感知能力的模擬器來驗證功耗序列並產生波形。此外,還需要具備功耗感知能力的除錯工具,以及能夠利用 RTL 模擬資料並將其轉換為閘極層級模擬資料的工具,因為這對於節省時間並為功耗分析提供極其精確的波形至關重要。
  3. 軟體驅動的功耗分析:透過仿真技術,不僅能產生以時脈週期為基礎的功耗數據,還能觀察更長期的行為表現,並為功耗分析選擇合適的功耗/時序觀察區間。
  4. 功耗實現:要實現低功耗設計 ,必須進行基於RTL的預測性功耗估算、邏輯合成、DFT插入(掃描插入、MBIST、邏輯BIST等)以及物理實現(佈局規劃、元件配置、時鐘樹合成、佈線)。
  5. 簽核:「針對網表(Netlist)及 PG 網表(PGNetlist)進行 UPF 檢查」對於確保電源設計意圖正確無誤,並在整個流程中得以維持至關重要。具備電源感知能力的邏輯電源網表(等效性檢查 )對於確保邏輯功能在整個流程中得以維持同樣至關重要。電源網表(靜態時序分析 )與電源分析工具對於驗證時序並提供準確的電源估算結果至關重要。

低功耗設計 以及 新思科技

新思科技 提供了一套經過驗證的低功耗流程與方法論解決方案,涵蓋了低功耗設計 與驗證流程的所有面向,如下圖 6 所示。

新思科技 低功率流與方法論 | 新思科技

靜態功驗證與探索

 

功能驗證

  • VCS 提供具功耗意識的模擬功能
  • Verdi 節能式除錯 提供一個具功耗意識的除錯環境
  • VC Replay 提供從 RTL FSDB(波形)到 Gate/PG FSDB(波形)的映射功能,無需執行 Gate/PG 模擬

 

軟體驅動的功耗分析

  • ZeBu 提供具功耗意識的模擬功能
  • ZeBu 功率分析儀 提供基於週期的功率估算,並能產生用於詳細功率分析的波形

 

電源實現

  • RTL Architect 提供預測性 RTL 設計收斂功能
  • Design Compiler 該產品系列提供具備功耗意識的邏輯合成功能
  • TestMAX 該產品系列提供具功耗意識的測試插入、BIST 及 ATPG 解決方案
  • IC Compiler II 提供具功耗意識的硬體實作
  • Fusion Compiler 提供具備功耗意識的 RTL 至 GDSII 實作

 

簽核

  • VC LP 「提供在 Netlist 和 UPF 以及 PGNetlist 和 UPF 層級的 UPF 檢查」
  • Formality 等效性檢查 提供具功耗意識的邏輯等效性檢查
  • PrimeTime 提供節能功能靜態時序分析
  • PrimePower 提供功率分析與估算
  • Redhawk-SC 提供數位電源完整性 簽核服務

節能系統單晶片 (SoC)

silicon to software 提供的低功耗設計 端到端解決方案、驗證及 IP。

繼續閱讀

Ask BETA This experience is in beta mode. Please double check responses for accuracy.

結束聊天

關閉此視窗將清除您的聊天紀錄並結束本次會話。您是否確定要結束這次聊天? ```