RISC-V 已迅速成為全球處理器設(shè)計和實現(xiàn)領(lǐng)域的領(lǐng)先標(biāo)準(zhǔn)指令集架構(gòu)(ISA)。與私有架構(gòu)不同,RISC-V 是一種開放給所有人的處理器設(shè)計標(biāo)準(zhǔn),為行業(yè)帶來了前所未有的創(chuàng)新。RISC-V 的重要性、其對科技行業(yè)的影響在促進(jìn)科技領(lǐng)域增長和發(fā)展的作用,涵蓋了從小型輕量級處理器到強大高性能處理器的整個計算領(lǐng)域。從跨國公司的深度投資到與初創(chuàng)公司的風(fēng)險投資合作,從大學(xué)課堂到國家層面,RISC-V 正在不斷擴大其市場份額。如今,RISC-V 社區(qū)擁有來自全球 70 個國家和地區(qū)的數(shù)萬名工程師的貢獻(xiàn)。
截至目前,玄鐵已發(fā)布多款產(chǎn)品線,覆蓋從低功耗到高性能的多個應(yīng)用場景。其中包括為節(jié)能設(shè)計、適用于物聯(lián)網(wǎng)設(shè)備等領(lǐng)域的 E 系列;實時處理能力和高度可靠性的 R 系列;極致性能表現(xiàn)的 C 系列高端處理器和剛發(fā)布致力于解決多集群間高效互聯(lián)的 XT-link 系列。以 C 系列為例:該系列包含多個分支,包括專注于實現(xiàn)最佳能效比的 C908 處理器,強化人工智能計算能力的 C907 處理器;早期發(fā)布的旗艦級 C910 處理器與后續(xù)升級版本 C920 處理器;后續(xù)即將發(fā)布的更高性能 C930處理器等,每一款產(chǎn)品都有其獨特的市場定位和 PPA 需求。
本文將由玄鐵團隊技術(shù)專家寇博華分享關(guān)于玄鐵設(shè)計與交付在 PPA 優(yōu)化中的實踐:波形激勵在數(shù)字設(shè)計功耗優(yōu)化中的全面解析。

寇博華
阿里巴巴達(dá)摩院玄鐵團隊技術(shù)專家
阿里巴巴達(dá)摩院玄鐵處理器設(shè)計團隊技術(shù)專家;擁有豐富的低功耗設(shè)計經(jīng)驗,與前端和后端團隊緊密協(xié)作,專注于優(yōu)化 PPA,并加速設(shè)計收斂的進(jìn)程。
在芯片設(shè)計中,功耗、性能和面積(PPA)是衡量產(chǎn)品競爭力的三大關(guān)鍵指標(biāo)。其中,功耗指標(biāo)直接影響到產(chǎn)品的能效、熱管理和電池壽命。為了優(yōu)化功耗,從架構(gòu)設(shè)計到代碼實現(xiàn),再到后端實現(xiàn)的每一個環(huán)節(jié)都需要精心打磨。然而,要準(zhǔn)確分析和優(yōu)化功耗,正確的波形激勵是不可或缺的。
波形激勵本質(zhì)上是對設(shè)計中每一個信號翻轉(zhuǎn)信息的描述,它能夠幫助我們理解信號在不同時間點的狀態(tài)變化。只有使用了正確的波形激勵輸入,我們才能獲得有意義的信號翻轉(zhuǎn)數(shù)據(jù),進(jìn)而得到準(zhǔn)確的功耗分析結(jié)果。本文將深入波形激勵在功耗優(yōu)化中的各個方面,包括波形記錄格式、波形場景定義、波形生成方法以及反標(biāo)率的確認(rèn),旨在為讀者提供全面的技術(shù)解析和實用指南。
一 波形的記錄格式
在數(shù)字設(shè)計中,信號的翻轉(zhuǎn)信息是功耗分析的關(guān)鍵。通常,信號的翻轉(zhuǎn)可以通過兩個參數(shù)來描述:toggle rate 和 static probability。
Toggle rate:表示信號在一個時鐘周期內(nèi)的平均翻轉(zhuǎn)次數(shù)。如果一個信號的 toggle rate 為 1,表示該信號在每一個時鐘周期都有一次翻轉(zhuǎn)(即從 0 到 1 或從 1 到 0)。如果 toggle rate 為 0,則表示該信號在整個時間窗口內(nèi)沒有發(fā)生任何翻轉(zhuǎn)。對于時鐘信號,由于在一個時鐘周期內(nèi)會有上升沿和下降沿,所以其 toggle rate 最大為 2。
Static probability:表示一個信號在整個時間窗口中為 1 的占比。例如,如果一個信號在 50% 的時間內(nèi)為 1,則其 static probability 為 0.5。
信號的翻轉(zhuǎn)信息通常記錄在特定的波形文件格式中,常見的有 SAIF、VCD 和 FSDB:
SAIF (Switching Activity Interchange Format):由于僅記錄每個信號在整個時間窗口內(nèi)的平均翻轉(zhuǎn)狀態(tài),即 toggle rate 和 static probability,所以 SAIF 文件僅能用來分析平均功耗。
VCD (Value Change Dump):以 ASCII 格式記錄信號在每個時鐘周期的具體翻轉(zhuǎn)變化。VCD 文件可以直接用文本編輯器打開閱讀,但由于其詳細(xì)記錄了每個時鐘周期的變化,文件體積較大。
FSDB (Fast Signal Database):和 VCD 格式一樣, FSDB 文件也記錄了每個時鐘周期信號的變化,但是由于采用二進(jìn)制格式記錄,雖然不能直接以文本方式打開,但文件體積最小。FSDB 文件可以通過工具腳本轉(zhuǎn)換成其他格式,如 VCD 或 SAIF。
二 波形場景的定義
在功耗分析過程中,我們需要針對架構(gòu)功能定義不同的功耗場景。這些場景可以幫助我們評估和分析整體與各個功能的功耗和能效。以下是一些常見的場景介紹:
場景分類 | 場景介紹 |
基準(zhǔn)測試 | 以CPU為例,以下是一些典型的基準(zhǔn)測試: Dhrystone:經(jīng)典的整型運算基準(zhǔn)測試 Whetstone:用于評估浮點計算的功耗 Sgemm:用于評估向量計算的功耗 Memcpy:用于評估數(shù)據(jù)在緩存之間搬運的功耗 |
功耗建模 | 在功耗建模中,可以靈活運用不同的指令組合搭建各種測試用例,用來激活設(shè)計中主要的數(shù)據(jù)通路。這種方法有助于構(gòu)建和驗證功耗模型。 |
時鐘門控分析 | 需要使用豐富的波形激勵來不同程度的激活各個功能單元,用來觀測和完善在 RTL 插入的時鐘門控使能和葉級寄存器使能。 |
綜合和后端工具 | 對于綜合和后端工具,我們會提供合適的波形激勵,以便工具更好地優(yōu)化動態(tài)功耗。 |
特殊功耗場景 | 還有一些有特殊需求的功耗場景,例如 Max Power 和 di/dt 用來幫助后端團隊分析和保證芯片系統(tǒng)和電源網(wǎng)絡(luò)的可靠性。 |
三 波形的形態(tài)和生成
以下是常用的幾種波形激勵形態(tài)及其生成方法:1. 基于 RTL 的波形激勵
最常見的波形激勵是通過 RTL 驗證前仿生成的。這些波形激勵對應(yīng)的是 RTL 級別中各個信號的翻轉(zhuǎn)情況。通過 RTL 仿真,我們可以詳細(xì)記錄每個信號在不同時間點的狀態(tài)變化,從而為后續(xù)的功耗分析提供基礎(chǔ)數(shù)據(jù)。
2. 基于網(wǎng)表級別的波形激勵
后仿生成:常規(guī)的網(wǎng)表級波形激勵是通過跑后仿來生成的。如果不帶線(wire)和實例(instance)的延遲信息,得到的后仿波形激勵通常稱為零延遲(zero-delay)波形。另一種需要帶延遲信息的波形稱為 SDF 延遲(sdf-delay)波形。為了獲取延遲信息,后端工具需要抽取寄生參數(shù),并在時序工具(如PrimeTime)中進(jìn)行反標(biāo),計算出實際的延遲,然后將這些延遲/轉(zhuǎn)換時間等信息寫入 SDF 文件。跑后仿時可以帶著 SDF 文件生成更準(zhǔn)確的波形。
replay 生成:由于后仿通常在項目后期才調(diào)通,而我們希望盡早獲得更準(zhǔn)確的功耗數(shù)據(jù),因此在項目中期,當(dāng)綜合和后端實現(xiàn)完成后,我們會使用 EDA 工具將 RTL 波形、綜合產(chǎn)生的映射文件(mapping file)、SDF 文件以及實際的網(wǎng)表結(jié)合,生成一個網(wǎng)表級的波形激勵。
通過這些不同階段的波形激勵生成方法,我們可以在整個設(shè)計流程中逐步細(xì)化和校準(zhǔn)功耗數(shù)據(jù),確保最終產(chǎn)品的功耗性能達(dá)到預(yù)期目標(biāo)。
四 波形的反標(biāo)率
在將波形的翻轉(zhuǎn)信息反標(biāo)到設(shè)計(RTL 代碼或網(wǎng)表)上時,確保反標(biāo)的準(zhǔn)確性至關(guān)重要。導(dǎo)致反標(biāo)率低的常見錯誤有:
波形和設(shè)計不匹配
層級映射錯誤
MDA 選項未啟用
反標(biāo)的信息一般分為兩個維度:
緯度1 | Primary Input:設(shè)計的輸入輸出 |
Sequential:時序邏輯,通常為寄存器 | |
Combinational:組合邏輯 | |
Memory:存儲器 | |
緯度2 | From Activity File:波形文件 |
From SCA/SSA:設(shè)置的翻轉(zhuǎn)約束 | |
Propagated/implied:工具自動分析得到的翻轉(zhuǎn)信息,主要用于組合邏輯信號 | |
Default/Not-Annotated:兩者都表示沒有有效的來源,區(qū)別在于default會給一個默認(rèn)翻轉(zhuǎn)率;而Not-Annotated不會給任何翻轉(zhuǎn)率 |
在檢查反標(biāo)率時,有些參考指標(biāo)是通用的:
Memory:memory macro 上的反標(biāo)應(yīng)該100%來自 Activity File。
Primary Input:功能性接口信號應(yīng)該從 Activity File 來,個別約束可以從 SCA/SSA 來。
而有些則根據(jù)波形和設(shè)計的階段有所不同:
RTL波形反標(biāo)到網(wǎng)表:
在有 mapping file 的情況下,時序邏輯(sequential)大部分需要來自 Activity File。
組合邏輯(combinational)反標(biāo)率不會太高,所以這部分的功耗與實際值會有明顯差距。
網(wǎng)表級波形反標(biāo)到對應(yīng)的網(wǎng)表:所有信號都應(yīng)該100%來自 Activity File。
通過仔細(xì)檢查這些指標(biāo)和要求,可以確保波形反標(biāo)操作的準(zhǔn)確性和有效性,從而提高功耗分析的精度和可靠性。
五 波形激勵在不同階段的使用
在玄鐵團隊,波形激勵的生成和使用貫穿于整個設(shè)計流程的不同階段,以確保功耗優(yōu)化的有效性和準(zhǔn)確性:

項目初期:RTL 前仿
在項目的早期階段,我們主要基于 RTL 前仿真生成波形。這些波形用于初步的功耗分析,特別是在分析時鐘動態(tài)門控和存儲器翻轉(zhuǎn)效率方面。另外,通過使用 RTL 功耗工具讀取這些波形,我們也可以得到功耗數(shù)據(jù)的早期評估,分析潛在的功耗瓶頸。
優(yōu)化中期:RTL 前仿+ Replay
在優(yōu)化的中期階段,我們會選擇具有代表性的波形,提供給后端團隊用于綜合和后端實現(xiàn),幫助工具更有效地優(yōu)化動態(tài)和靜態(tài)功耗。此外,我們還會使用 replay 工具生成網(wǎng)表級別的零延遲(zero-delay)和帶延遲(sdf-delay)波形激勵。這有助于盡早評估和分析各個場景下更真實的功耗水平,并進(jìn)行相應(yīng)的優(yōu)化。
PPA優(yōu)化后期:后仿真
到了 PPA 優(yōu)化的后期,驗證團隊會調(diào)通后仿,生成基于后仿真的網(wǎng)表級波形激勵。我們將這些后仿波形與之前通過 replay 機制生成的數(shù)據(jù)進(jìn)行對比,以獲得最真實的功耗數(shù)據(jù)。這種對比也可以幫助我們驗證前期優(yōu)化的效果。
后續(xù)探索:性能建模與仿真平臺
為了進(jìn)一步提高功耗分析的準(zhǔn)確性和全面性,我們還可以嘗試在更早期基于性能建模產(chǎn)生的信號激勵來進(jìn)行功耗建模。此外,我們也可以利用 FPGA 和 Emulator 仿真平臺自帶的激勵和功耗分析工具,對更復(fù)雜和完整的系統(tǒng)級場景進(jìn)行功耗分析。這種方法能夠更好地模擬實際工作環(huán)境,從而提供更為精確的功耗數(shù)據(jù)。
六 結(jié) 語
玄鐵的每一款產(chǎn)品都有其獨特的市場定位,同時需要滿足不同市場細(xì)分下的性能和PPA要求。玄鐵團隊不僅需要面對不同產(chǎn)品線的常規(guī)迭代升級、大規(guī)模的架構(gòu)升級,還要緊跟上市發(fā)布時間節(jié)點,時間緊任務(wù)重,對于PPA快速迭代需求變高。通過這些不同階段的波形激勵使用方法,玄鐵能夠在整個設(shè)計流程中持續(xù)優(yōu)化和分析功耗,確保最終產(chǎn)品的高效能和競爭力。
-
數(shù)字設(shè)計
+關(guān)注
關(guān)注
0文章
47瀏覽量
22454 -
PPA
+關(guān)注
關(guān)注
0文章
21瀏覽量
7567 -
RISC-V
+關(guān)注
關(guān)注
46文章
2461瀏覽量
48000
發(fā)布評論請先 登錄
相關(guān)推薦
RFID洗滌標(biāo)簽在數(shù)字化工廠中的應(yīng)用

RFID標(biāo)簽在數(shù)字化工廠中的應(yīng)用

酷芯AR8032S入選2025玄鐵優(yōu)選芯片
嵌入式系統(tǒng)中的代碼優(yōu)化與壓縮技術(shù)
預(yù)告|思爾芯邀您共聚2025玄鐵RISC-V生態(tài)大會

如何實現(xiàn)藍(lán)牙模塊的功耗優(yōu)化?

VirtualLab Fusion應(yīng)用:光波導(dǎo)系統(tǒng)中光柵幾何結(jié)構(gòu)的優(yōu)化
卡諾圖在數(shù)字電路中的應(yīng)用
如何使用 UCC28056x 優(yōu)化離線應(yīng)用中的效率和待機功耗

光波導(dǎo)系統(tǒng)中光柵幾何結(jié)構(gòu)的優(yōu)化
HarmonyOS Web開發(fā)性能優(yōu)化指導(dǎo)
如何優(yōu)化單片機項目的功耗
優(yōu)化電視應(yīng)用中的負(fù)載釋放特性

評論