胖友們大家好,太久不見,大家都還好嗎?發量減少了多少?脂肪堆積了多少?核酸碼綠著嗎?股票紅著嗎?
大部分驢友都深陷在口罩圍起的囹圄之中,輾轉徘徊無可奈何卻又不得不逆來順受,接受這時代落下的粒粒灰塵,背負著轉圈或是前行。遙想三年之前,我們踏海攀山遠渡重洋去欣賞歷史遺留的美好跟自然贈予的壯闊,跟陌生人聚在一起喝酒聊天暢想無盡的未來。
如今,核酸碼禁錮了一切,“病毒”擾亂了一切的秩序,每個人都成了“餓漢”只能顧著眼前,似乎今天的碼還綠著就已是最大的幸運跟恩賜,連回家探親這么理所應當的事都成了大逆不道貪得無厭,得謝深刻嚴肅真誠的謝!

閑篇兒扯完,回到今天的主體,給大家推薦一個Joules 里十分好用的小功能—— Xreplay. Joules 誕生于2015 年誕生之初是奔著RTL 功耗去的,而驅動RTL 功耗分析變得重要的原因是AI / GPGPU / 5G 這類運算量巨大的設計的興起。也是因為這類設計,使得動態功耗優化成了繼timing, leakage, Congestion 之后需要從綜合開始考慮并優化的另一個對象,而實現工具優化動態功耗需要有精確且場景典型的波形文件予以驅動,如何得到典型場景的波形需要架構師跟設計師根據設計真實應用場景確定,如何得到精確的波形則需要借助于EDA 工具。

設計團隊會提供給實現團隊RTL 跟RTL 對應的仿真波形,而RTL 仿真波形中只有 “state points” 的信息<所謂state point 包括時序邏輯輸出、primary input, primary output>,從綜合到PR 的每一步,設計的邏輯都會發生變化,包括時序邏輯跟組合邏輯,如果每優化一步就拿去做后仿得到一個精確的波形再接著優化顯然不現實,所以這部分工作必須由工具自己去完成。在最早期,實現工具會用自己的算法去推導每一個邏輯節點的toggle 信息,而為了runtime 實現工具內部toggle rate 的推導算法都相對簡單,精度也差強人意,不精確的toggle 信息一定會誤導工具的優化方向。因此Joules 的Xreplay 功能應求而生。

Xreplay 的思路非常簡單,Joules 從RTL 波形里得到state points 的toggle 信息,有了state points 的信息,Joules 調用仿真器Xcelium 對剩余沒有標上的邏輯做仿真,因為state points 將整個設計切分成了一個個的邏輯錐,使得仿真“區域” 變得很小,所以使得Xreplay 的仿真比對整個網標做門級仿真的時間短得多,更關鍵的是Xreplay 是直接集成在Genus 跟Innovus 中的,只需要在Genus 跟Innovus 中配置參數就可以,數據的交互工具會獨立完成,這樣就避免了flow 的中斷。

Xreplay 使用也非常簡單,需要的輸入文件有:
library 仿真模型:所有用到的std cell的仿真模型,如果是pg netlist 用帶pg 的仿真模型,否則用不帶pg 的仿真模型。不需要memory 跟hard macro的仿真模型,因為Xreplay 不需要跨memory 跟hard macro 仿真。
netlist:被仿真的netlist, Joules支持對GTECH netlist 跟mapped Gate netlist.
RTL 仿真波形:Joules 需要從RTL波形中抓取state point 的波形信息,對于沒有反標上的primary input joules 會根據default toggle或user 指定的toggle 去仿真,對于沒標上的寄存器工具會根據寄存器的輸入去仿其輸出的toggle.
mapping file: RTL2gate 的mapping file, 如果是對綜合的netlist 做Xreplay 直接用Genus 寫出的mapping file 就可以,如果是對PR 之后的netlist 做Xreplay 則需要將綜合跟PR 的mapping file 做個合并,在Joules 21.15 之后的版本直接用merge_mapping_file 這個命令去merge 就可以。Joules 可以自動做stim mapping 但因為stim_auto_mapping 無法得知phaseinversion 的信息,所以仍需要mapping file。
SDC:Joules 需要從SDC 中得到clock 的信息。
SDF / SPEF:Xreplay 支持Zero-delay 跟delay 的仿真,如果要做delay 模式的仿真需要讀入SDF 或SPEF。

Xreplay 輸出的波形是VCD, 從Joules 21.16 開始也可以直接輸出FSDB 波形。VCD 波形跟FSDB 波形會有一點區別,VCD 波形里會save zero delay glitch toggle 而FSDB 波形里不會save 這部分信息。讀回VCD 計算功耗時可以加option:-filter_zero_delay 將Zero delay glitch toggle 過濾掉。
What iszero delay glitch ? What is purpose to have this glitch in this waveform?
LV >> Signalhaving two values at same time stamp. This is from race condition.
Did thisglitch is added by Joules when doing replay? How can Joules do it? it do nothave delay information and we did the zero_delay simulation when replay, whythis zero delay will be invoked?LV>>No this is not added by Joules, Joules run simulation based on input stim andnetlist, Joules follows the input waveform unless directed to do otherwise.
Andthese zero_delay information can only be recognized by Cadence tool, Synopsystool will auto filter these glitch.
LV>> Thisis waveform and not tool specific. There are no zero-delay glitches in FSDB.
Whyjoules include this zero_delay glitch by default? which is difficult forcustomer to debug the difference between different power calculation tool?
LV>> Defaultis changed from 22.x. By default Joules will filter zero-delay glitches.
Xreplay 的流程非常簡單,包括兩部分,第一部分配置Xcelium 相關參數,第二部分執行Xreplay。


說一千道一萬,工程上的事還是得用數據說話,Xreplay 的精度如何呢?這里有一組Xreplay 后的波形跟后仿真波形讀到Joules 或第三方工具中功耗計算的數據對比。
| Xreplay | gate level stim | Power correlation | |
| case1 | 379.7mW | 379.4mW | -0.08% |
| case2 | 42.98mW | 42.8mW | -0.42% |
| case3 | 159.06mW | 159.35mW | 0.18% |
| case4 | 212.8mW | 214.04mW | 0.58% |
| case5 | 147.4mW | 149.9mW | 1.6% |
Joules Xrelay 做的事情其實很簡單就是根據已有的RTL 波形通過仿真的手段得到Gate level 波形, 而有了Gate level 波形就可以去做:
更精確的功耗優化
在設計早期去分析Glitch power
在設計早期做PI 分析
審核編輯:劉清
-
VCD
+關注
關注
0文章
37瀏覽量
36472 -
RTL
+關注
關注
1文章
394瀏覽量
62656
原文標題:Joules Xreplay
文章出處:【微信號:MoShangFengQiLv,微信公眾號:陌上風騎驢看IC】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
即時零售 “十分鐘送達” 不翻車?RFID 才是幕后穩控手
電力調整器與PLC通訊掉線?三步定位,十分鐘恢復
小功率變頻器中電壓電流傳感器應用
一體成型電感:電源工程師的“小方塊”,卻決定著你的電源好不好用
【「高速數字設計(基礎篇)」閱讀體驗】 + 書籍評測第一篇
一個提升蜂鳥E203性能的方法:乘除法器優化
STM32CubeProgrammer怎么才能在cubeprogrammer上實現部分升級?
HarmonyOS實戰:Tab頂部滑動懸停功能實現
HarmonyOS實戰:3秒實現一個自定義輪播圖
樹莓派復古游戲,你會選哪一個?
以一抵十的高效連接:12 孔航空插頭的多線路集成優勢
HarmonyOS實戰:高德地圖定位功能完整流程詳解
【高云GW5AT-LV60 開發套件試用體驗】開箱及IDE與開發板基礎功能測評
超級新品!中廣歐特斯熱泵地暖空調一體機,好用是一種“境界”
恒壓模式可調線損補償小功率電源芯片U6215A
推薦一個Joules里十分好用的小功能—Xreplay.Joules
評論