胖友們大家好,太久不見,大家都還好嗎?發(fā)量減少了多少?脂肪堆積了多少?核酸碼綠著嗎?股票紅著嗎?
大部分驢友都深陷在口罩圍起的囹圄之中,輾轉(zhuǎn)徘徊無可奈何卻又不得不逆來順受,接受這時代落下的粒粒灰塵,背負(fù)著轉(zhuǎn)圈或是前行。遙想三年之前,我們踏海攀山遠(yuǎn)渡重洋去欣賞歷史遺留的美好跟自然贈予的壯闊,跟陌生人聚在一起喝酒聊天暢想無盡的未來。
如今,核酸碼禁錮了一切,“病毒”擾亂了一切的秩序,每個人都成了“餓漢”只能顧著眼前,似乎今天的碼還綠著就已是最大的幸運(yùn)跟恩賜,連回家探親這么理所應(yīng)當(dāng)?shù)氖露汲闪舜竽娌坏镭澋脽o厭,得謝深刻嚴(yán)肅真誠的謝!
閑篇兒扯完,回到今天的主體,給大家推薦一個Joules 里十分好用的小功能—— Xreplay. Joules 誕生于2015 年誕生之初是奔著RTL 功耗去的,而驅(qū)動RTL 功耗分析變得重要的原因是AI / GPGPU / 5G 這類運(yùn)算量巨大的設(shè)計(jì)的興起。也是因?yàn)檫@類設(shè)計(jì),使得動態(tài)功耗優(yōu)化成了繼timing, leakage, Congestion 之后需要從綜合開始考慮并優(yōu)化的另一個對象,而實(shí)現(xiàn)工具優(yōu)化動態(tài)功耗需要有精確且場景典型的波形文件予以驅(qū)動,如何得到典型場景的波形需要架構(gòu)師跟設(shè)計(jì)師根據(jù)設(shè)計(jì)真實(shí)應(yīng)用場景確定,如何得到精確的波形則需要借助于EDA 工具。
設(shè)計(jì)團(tuán)隊(duì)會提供給實(shí)現(xiàn)團(tuán)隊(duì)RTL 跟RTL 對應(yīng)的仿真波形,而RTL 仿真波形中只有 “state points” 的信息<所謂state point 包括時序邏輯輸出、primary input, primary output>,從綜合到PR 的每一步,設(shè)計(jì)的邏輯都會發(fā)生變化,包括時序邏輯跟組合邏輯,如果每優(yōu)化一步就拿去做后仿得到一個精確的波形再接著優(yōu)化顯然不現(xiàn)實(shí),所以這部分工作必須由工具自己去完成。在最早期,實(shí)現(xiàn)工具會用自己的算法去推導(dǎo)每一個邏輯節(jié)點(diǎn)的toggle 信息,而為了runtime 實(shí)現(xiàn)工具內(nèi)部toggle rate 的推導(dǎo)算法都相對簡單,精度也差強(qiáng)人意,不精確的toggle 信息一定會誤導(dǎo)工具的優(yōu)化方向。因此Joules 的Xreplay 功能應(yīng)求而生。
Xreplay 的思路非常簡單,Joules 從RTL 波形里得到state points 的toggle 信息,有了state points 的信息,Joules 調(diào)用仿真器Xcelium 對剩余沒有標(biāo)上的邏輯做仿真,因?yàn)閟tate points 將整個設(shè)計(jì)切分成了一個個的邏輯錐,使得仿真“區(qū)域” 變得很小,所以使得Xreplay 的仿真比對整個網(wǎng)標(biāo)做門級仿真的時間短得多,更關(guān)鍵的是Xreplay 是直接集成在Genus 跟Innovus 中的,只需要在Genus 跟Innovus 中配置參數(shù)就可以,數(shù)據(jù)的交互工具會獨(dú)立完成,這樣就避免了flow 的中斷。
Xreplay 使用也非常簡單,需要的輸入文件有:
library 仿真模型:所有用到的std cell的仿真模型,如果是pg netlist 用帶pg 的仿真模型,否則用不帶pg 的仿真模型。不需要memory 跟hard macro的仿真模型,因?yàn)閄replay 不需要跨memory 跟hard macro 仿真。
netlist:被仿真的netlist, Joules支持對GTECH netlist 跟mapped Gate netlist.
RTL 仿真波形:Joules 需要從RTL波形中抓取state point 的波形信息,對于沒有反標(biāo)上的primary input joules 會根據(jù)default toggle或user 指定的toggle 去仿真,對于沒標(biāo)上的寄存器工具會根據(jù)寄存器的輸入去仿其輸出的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 但因?yàn)閟tim_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 波形會有一點(diǎn)區(qū)別,VCD 波形里會save zero delay glitch toggle 而FSDB 波形里不會save 這部分信息。讀回VCD 計(jì)算功耗時可以加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 相關(guān)參數(shù),第二部分執(zhí)行Xreplay。
說一千道一萬,工程上的事還是得用數(shù)據(jù)說話,Xreplay 的精度如何呢?這里有一組Xreplay 后的波形跟后仿真波形讀到Joules 或第三方工具中功耗計(jì)算的數(shù)據(jù)對比。
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 做的事情其實(shí)很簡單就是根據(jù)已有的RTL 波形通過仿真的手段得到Gate level 波形, 而有了Gate level 波形就可以去做:
更精確的功耗優(yōu)化
在設(shè)計(jì)早期去分析Glitch power
在設(shè)計(jì)早期做PI 分析
審核編輯:劉清
-
VCD
+關(guān)注
關(guān)注
0文章
37瀏覽量
34762 -
RTL
+關(guān)注
關(guān)注
1文章
385瀏覽量
59875
原文標(biāo)題:Joules Xreplay
文章出處:【微信號:MoShangFengQiLv,微信公眾號:陌上風(fēng)騎驢看IC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論