0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

推薦一個Joules里十分好用的小功能—Xreplay.Joules

陌上風騎驢看IC ? 來源:陌上風騎驢看IC ? 作者:陌上風騎驢 ? 2022-11-25 17:44 ? 次閱讀

胖友們大家好,太久不見,大家都還好嗎?發(fā)量減少了多少?脂肪堆積了多少?核酸碼綠著嗎?股票紅著嗎?

大部分驢友都深陷在口罩圍起的囹圄之中,輾轉(zhuǎn)徘徊無可奈何卻又不得不逆來順受,接受這時代落下的粒粒灰塵,背負著轉(zhuǎn)圈或是前行。遙想三年之前,我們踏海攀山遠渡重洋去欣賞歷史遺留的美好跟自然贈予的壯闊,跟陌生人聚在一起喝酒聊天暢想無盡的未來。

如今,核酸碼禁錮了一切,“病毒”擾亂了一切的秩序,每個人都成了“餓漢”只能顧著眼前,似乎今天的碼還綠著就已是最大的幸運跟恩賜,連回家探親這么理所應(yīng)當?shù)氖露汲闪舜竽娌坏镭澋脽o厭,得謝深刻嚴肅真誠的謝!

30a191ac-6c99-11ed-8abf-dac502259ad0.png

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

30f5c60a-6c99-11ed-8abf-dac502259ad0.png

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

312b5324-6c99-11ed-8abf-dac502259ad0.png

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

315c4772-6c99-11ed-8abf-dac502259ad0.png

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 會根據(jù)default toggle或user 指定的toggle 去仿真,對于沒標上的寄存器工具會根據(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 但因為stim_auto_mapping 無法得知phaseinversion 的信息,所以仍需要mapping file。

SDC:Joules 需要從SDC 中得到clock 的信息。

SDF / SPEF:Xreplay 支持Zero-delay 跟delay 的仿真,如果要做delay 模式的仿真需要讀入SDF 或SPEF。

31848700-6c99-11ed-8abf-dac502259ad0.png

Xreplay 輸出的波形是VCD, 從Joules 21.16 開始也可以直接輸出FSDB 波形。VCD 波形跟FSDB 波形會有一點區(qū)別,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 相關(guān)參數(shù),第二部分執(zhí)行Xreplay。

31b1988a-6c99-11ed-8abf-dac502259ad0.png

32005d30-6c99-11ed-8abf-dac502259ad0.png

說一千道一萬,工程上的事還是得用數(shù)據(jù)說話,Xreplay 的精度如何呢?這里有一組Xreplay 后的波形跟后仿真波形讀到Joules 或第三方工具中功耗計算的數(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 做的事情其實很簡單就是根據(jù)已有的RTL 波形通過仿真的手段得到Gate level 波形, 而有了Gate level 波形就可以去做:

更精確的功耗優(yōu)化

在設(shè)計早期去分析Glitch power

在設(shè)計早期做PI 分析






審核編輯:劉清


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • VCD
    VCD
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    34604
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    384

    瀏覽量

    59534

原文標題:Joules Xreplay

文章出處:【微信號:MoShangFengQiLv,微信公眾號:陌上風騎驢看IC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPC軟板二維碼標識功能?簡直是黑科技!

    現(xiàn)在的黑科技是越來越多了,板子上印二維碼用手機掃下就能將 將二維碼變成你的電子產(chǎn)品說明書,用來介紹產(chǎn)品功能;呈現(xiàn)教學視頻, 個人覺得圖文二維碼的功能
    發(fā)表于 08-07 17:46

    小白求LLC大神幫忙分析問題十分感謝?。?/a>

    藍色 LLC下管Vds波形,粉色上管Vds波形,黃色是諧振電容上的電流波形,為什么我的這個電流波形在上半周期會有平滑再爬升的過程,并且我的下管Vds也有類似掉的現(xiàn)象呢!麻煩大
    發(fā)表于 08-07 10:51

    設(shè)計求助:設(shè)計小功率MOS管感應(yīng)加熱電路

    設(shè)計求助:設(shè)計小功率MOS管感應(yīng)加熱電路, 功率約200W左右。有設(shè)計師可以做這個設(shè)計嗎? 請聯(lián)系。謝謝!
    發(fā)表于 07-12 16:13

    Hi512E小功率差并聯(lián)DMX512解碼恒流驅(qū)動規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《Hi512E小功率差并聯(lián)DMX512解碼恒流驅(qū)動規(guī)格書.pdf》資料免費下載
    發(fā)表于 07-09 16:40 ?0次下載

    數(shù)控程序的最小功能單元是什么

    數(shù)控程序的最小功能單元是指令。指令是數(shù)控程序的基本構(gòu)成元素,用于控制數(shù)控機床的各個動作和操作。在數(shù)控編程中,指令是實現(xiàn)加工過程自動化的關(guān)鍵。本文將詳細介紹數(shù)控程序的最小功能單元——指令的相關(guān)知識
    的頭像 發(fā)表于 07-01 14:15 ?276次閱讀

    如何讀取XIP的spi-flash的唯ID?

    以前在其它單片機系統(tǒng),讀取spi-flash的唯ID是很輕松的事。但現(xiàn)在發(fā)現(xiàn)在idf+esp32上十分困難,idf沒有提供這個功能函數(shù);自己也很難不改動idf而實現(xiàn)。由于esp32在spi-flash
    發(fā)表于 06-21 08:05

    STM8 SET后發(fā)現(xiàn)中斷實現(xiàn)不了,為什么?

    我就用了EXTI外設(shè)。發(fā)現(xiàn)在中斷函數(shù)寫了條中斷確認語句 ==SET后發(fā)現(xiàn)中斷實現(xiàn)不了。刪除==SET。或者改成!=RESET就可以了。這是為什么?。?b class='flag-5'>十分困惑。求解答
    發(fā)表于 05-07 06:18

    用stm32cubemx的串口中斷接收時,過段時間串口中斷不進了怎么解決?

    我用stm32cubemx建的工程本來跑的挺好的,最近發(fā)現(xiàn)有bug。 我用uart1 在TIM3邊 1s定時發(fā)送數(shù)據(jù),采用問答式通訊,對端收到了之后發(fā)送8字節(jié)的應(yīng)答。問題是跑了幾十分鐘之后或者
    發(fā)表于 04-17 06:48

    能用stm32h7為主做絕大部分的功能實現(xiàn),用stm32f1為輔實現(xiàn)小功能嗎?

    請問能用stm32h7為主做絕大部分的功能實現(xiàn),用stm32f1為輔實現(xiàn)小功能嗎?
    發(fā)表于 03-20 07:09

    凌臣科技:在運動控制領(lǐng)域不斷創(chuàng)新的突破者

    根據(jù)去年的市場發(fā)展情況,目前工業(yè)機器人和電子制造業(yè)的擴張影響,可以預計2024年運動控制市場仍將保持增長趨勢,方面來自于海外電子制造業(yè)設(shè)備需要來自于中國的設(shè)備制造商助力,另外就是隨著國內(nèi)光伏、3C產(chǎn)業(yè)的需求,將對設(shè)備制造商來說是十分
    的頭像 發(fā)表于 01-25 11:13 ?319次閱讀

    Find My資訊|AirTag 2或推遲上市,F(xiàn)ind My功能十分強大

    蘋果于 2021 年4月推出了初代 AirTag。蘋果已將第二代 AirTag 的推出推遲到 2025 年,目前蘋果官方并不急于推出AirTag 2的原因還有AirTag所搭載的搜尋定位功能非常
    的頭像 發(fā)表于 01-12 11:23 ?410次閱讀
    Find My資訊|AirTag 2或推遲上市,F(xiàn)ind My<b class='flag-5'>功能</b><b class='flag-5'>十分</b>強大

    鋰電池回收企業(yè)間的競爭變得十分激烈

    2023年隨著鋰鹽價格大幅下跌及鋰電池回收行業(yè)的產(chǎn)能大幅度增長,鋰電池回收企業(yè)間的競爭變得十分激烈。
    的頭像 發(fā)表于 12-29 10:26 ?1155次閱讀
    鋰電池回收企業(yè)間的競爭變得<b class='flag-5'>十分</b>激烈

    迄今世界最靈敏力傳感器問世,可測量電子重量的十分之一

    ? 據(jù)英國《新科學家》網(wǎng)站11月2日報道,法國科學家利用極冷的銣原子,制造出了迄今最靈敏的力傳感器,其可測量拎起單個電子所需力十分之一大小的力,未來有望揭示全新力的存在。相關(guān)論文已經(jīng)提交預印本
    的頭像 發(fā)表于 11-07 08:45 ?300次閱讀

    zip():Python 中最好用的內(nèi)置類型之

    zip() 是 Python 中最好用的內(nèi)置類型之,它可以接收多個可迭代對象參數(shù),再返回迭代器,可以把不同可迭代對象的元素組合起來。 我之前寫迭代器系列的時候,在《 Python
    的頭像 發(fā)表于 10-30 14:21 ?3253次閱讀
    zip():Python 中最<b class='flag-5'>好用</b>的內(nèi)置類型之<b class='flag-5'>一</b>

    求推薦免費好用的流程圖軟件?

    大家推薦免費好用的流程圖軟件
    發(fā)表于 10-30 07:51