在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

分析那些對仿真速度影響較大的編碼風(fēng)格

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-08-11 09:26 ? 次閱讀

做動態(tài)仿真驗證通常會遇到要等待仿真結(jié)果的情況,特別是在調(diào)試某個測試用例的時候。很多時候,工程師們會自然地認為仿真速度大部分依賴于跑仿真任務(wù)的服務(wù)器本身的性能,以及EDA仿真工具的能力。而實際上,高效的驗證環(huán)境以及代碼質(zhì)量也是影響仿真速度的關(guān)鍵因素。

另一方面,提高仿真速度這回事,對于芯片工程師來說本身就是“求人不如求己”。提高服務(wù)器機器性能意味著更大的資金投入,更高性能的仿真工具也不是一時半會能達成的。而探索更高效的驗證方法學(xué),構(gòu)建更高執(zhí)行效率的代碼是當下就能做的事情。

本文的主要內(nèi)容參考來自于Cliff Cummings在2019年DVCon會議上發(fā)表的文章:Yikes! Why is My SystemVerilog Still So Slooooow. 這篇文章主要探討了SystemVerilog仿真速度跟Coding風(fēng)格之間的關(guān)系,文章中有詳細的實驗?zāi)繕恕⒎椒ê蛿?shù)據(jù)結(jié)果呈現(xiàn)。本文將摘錄和分析那些對仿真速度影響較大的編碼風(fēng)格。

使用向量操作代替單bit操作

仿真器在做完整向量計算的速度比單bit計算要高。根據(jù)參考文獻的數(shù)據(jù),在某款仿真工具下,最高提速可以達到3倍以上。 下面是一個例程,分別呈現(xiàn)不同的代碼實現(xiàn)風(fēng)格。

8fa84634-190e-11ed-ba43-dac502259ad0.png

避免在循環(huán)中實例化對象

這個技巧關(guān)系到內(nèi)存的分配和回收。低效的內(nèi)存管理會導(dǎo)致嚴重的cache miss、堆棧管理開銷和垃圾回收開銷,盡管這些都是操作系統(tǒng)幫我們做的。 當我們需要一種新的數(shù)據(jù)結(jié)構(gòu)時,可以使用結(jié)構(gòu)體struct就不用class,類的例化和垃圾回收都是開銷。創(chuàng)建一個對象的時候,不要上來就是一個new,可以考慮是否可以重用之前創(chuàng)建過的對象。 如下例程,應(yīng)用這個技巧在三款主流仿真工具上都能帶來仿真速度收益,最高有超過一半的速度提升。

8fcb1038-190e-11ed-ba43-dac502259ad0.png

條件判斷字符串處理

在仿真過程中不斷地打印信息或者讀寫文件會導(dǎo)致仿真速度非常慢,畢竟調(diào)用計算機IO效率并不高。在UVM中有健全的report管理機制,可以根據(jù)設(shè)定的verbosity等級來判斷是否需要打印信息出來。 除了信息打印,字符串的格式處理也是很大的開銷。如果借用report的管理機制來判斷是否有必要進行字符串格式處理,可以非常有效地提高仿真速度。 如下例程,帶有條件判斷的代碼在三款主流仿真工具上都能帶來仿真速度收益,而且這個收益非常大,達到了33倍~100倍。

8ff502b2-190e-11ed-ba43-dac502259ad0.png

減少不必要的端口采樣或驅(qū)動

這是另一種減少不必要操作的技巧。要知道在UVM中,操作TLM analysis port是開銷比較大的,因為端口的驅(qū)動行為,都會通過回調(diào)機制來執(zhí)行關(guān)聯(lián)到該端口的所有consumer的端口動作。理解這個實現(xiàn)機制,其實還得看看UVM的源碼,這里就不做展開解析了。 此外,某些個analysis port是否連接到其他component是依賴于當前的驗證環(huán)境的,如果根據(jù)analysis port的狀態(tài)判斷是否進行端口驅(qū)動,可以減少一些不必要的操作。 如下例程,在monitor的run_phase中根據(jù)其analysis port狀態(tài)來進行端口采樣和廣播給其他組件,可以帶來一部分的仿真速度收益。

901ac16e-190e-11ed-ba43-dac502259ad0.png

用回調(diào)函數(shù)代替低效的隨機約束

SystemVerilog提供了很多種隨機化變量和添加隨機約束的方法,具體可以參考公眾號的另外兩篇文章《暗藏玄機的SV隨機化》《五花八門的SystemVerilog隨機約束》。在設(shè)計隨機約束的時候,除了要確保約束不沖突(即約束有解)之外,還需要避免產(chǎn)生無效的約束解。 其實,SV已經(jīng)提供了pre_randomize() / post_randomize()兩個分別在求解隨機值前后會執(zhí)行的回調(diào)函數(shù)。靈活使用這兩個函數(shù)可以避免一些非常低效的約束行為。 如下例程,使用post_randomize對隨機后的數(shù)列進行排序,可以避免在約束中使用循環(huán)去限制每一個數(shù)列元素,從而獲得數(shù)十倍的仿真速度提升。

903fb50a-190e-11ed-ba43-dac502259ad0.png

審核編輯 :李倩

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

    關(guān)注

    51

    文章

    4207

    瀏覽量

    135033
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1027

    瀏覽量

    84624
  • bit
    bit
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    32281

原文標題:SystemVerilog高效仿真技巧

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    概倫電子電路類型驅(qū)動SPICE仿真器NanoSpice X介紹

    NanoSpice X是概倫電子推出的高精度、大容量并行SPICE仿真器,旨在解決電路仿真中的最具挑戰(zhàn)性任務(wù)。相較于上一代NanoSpice仿真器,NanoSpice X將平均仿真速度
    的頭像 發(fā)表于 04-23 15:30 ?93次閱讀
    概倫電子電路類型驅(qū)動SPICE<b class='flag-5'>仿真</b>器NanoSpice X介紹

    貼片電容容值較大偏差的原因分析

    問題,還可能受到測試條件、環(huán)境因素和使用方式等多方面的影響。本文將從多個角度深入分析貼片電容容值較大偏差的原因。 一、制造和材料因素 電介質(zhì)材料 : 貼片電容的內(nèi)部電介質(zhì)材料具有特定的介電常數(shù),該常數(shù)直接決定了電容
    的頭像 發(fā)表于 03-28 14:40 ?200次閱讀
    貼片電容容值<b class='flag-5'>較大</b>偏差的原因<b class='flag-5'>分析</b>

    MATLAB仿真在直流電機雙閉環(huán)調(diào)速系統(tǒng)中的應(yīng)用

    分析了直流調(diào)速系統(tǒng)原理的基礎(chǔ)上,在MATLAB/SIMULINK 仿真環(huán)境下對轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng)建模并進行了仿真分析仿真結(jié)果表明,
    發(fā)表于 03-20 13:03

    編碼器在手持噴碼機上的作用

    速度、換向、位置等的反饋。噴碼機的底部一般會裝一個滾輪,滾輪上面安裝磁編碼器,兩者同步運動,編碼器提供脈沖信號,把機械運動轉(zhuǎn)為電信號控制部分根據(jù)該電信好做出精準的控制指令。 優(yōu)點有那些
    發(fā)表于 03-04 16:52

    MATLAB中的simulink中仿真速度過慢,狀態(tài)量數(shù)值很小可以忽略,怎么忽略較小數(shù)值,加快仿真進度呢?

    10^-6s),導(dǎo)致我仿真10s要用特別久的時間。 在仿真的過程中,很多的狀態(tài)量其實可以看作零,但是MATLAB都有帶入計算,怎么才能設(shè)置其最小計算單位,減小計算量呢? 所以想請教一下大佬,怎么可以加快仿真速度呢,還是我在計算的
    發(fā)表于 02-23 23:08

    替換AD2S1210,旋變轉(zhuǎn)換芯片SC2167應(yīng)用于編碼仿真

    替換AD2S1210,旋變轉(zhuǎn)換芯片SC2167應(yīng)用于編碼仿真
    的頭像 發(fā)表于 02-05 10:01 ?516次閱讀
    替換AD2S1210,旋變轉(zhuǎn)換芯片SC2167應(yīng)用于<b class='flag-5'>編碼</b>器<b class='flag-5'>仿真</b>

    車載總線監(jiān)控分析仿真工具 - VBA

    INTEWORK-VBA(Vehicle Bus Analyzer)車載總線監(jiān)控分析仿真工具,是由經(jīng)緯恒潤自主研發(fā)的一款專業(yè)、易用的車載總線工具。VBA集監(jiān)控分析、節(jié)點仿真、測量標定
    的頭像 發(fā)表于 01-02 17:00 ?478次閱讀
    車載總線監(jiān)控<b class='flag-5'>分析</b>及<b class='flag-5'>仿真</b>工具 - VBA

    這些電源常用仿真軟件,你都知道嗎?

    應(yīng)用的器件建模和分析模組,配合MATLAB的其他工具可進行復(fù)雜的建模和數(shù)理分析。軟件仿真精度高但仿真速度較慢,適合復(fù)雜數(shù)字控制與邏輯功能的實現(xiàn)。 ▍ Pspice Pspice是由美國
    發(fā)表于 10-25 14:20

    如何提升Pspice仿真速度

    OrCAD PSpice A/D和高級分析技術(shù)(A/A)結(jié)合了業(yè)界先進的模擬、模數(shù)混合信號以及分析工具,以提供一個完整的電路仿真和驗證解決方案。
    的頭像 發(fā)表于 10-09 15:15 ?1290次閱讀
    如何提升Pspice<b class='flag-5'>仿真速度</b>

    OPA820同樣的建波電路mutisim仿真與TINA輸出結(jié)果差異較大,原因是什么?

    同樣的建波電路 mutisim 仿真與TINA 輸出結(jié)果差異較大,原因是什么?如何調(diào)整電路才能讓兩個軟件仿真結(jié)果一致,實現(xiàn)檢波?
    發(fā)表于 08-07 07:45

    旋轉(zhuǎn)編碼器控制電機速度

    旋轉(zhuǎn)編碼器控制電機速度
    發(fā)表于 06-24 09:16 ?4次下載

    怎么用編碼器控制變頻器速度

    編碼器控制變頻器速度是一種常見的工業(yè)自動化控制方式,它通過編碼器實時監(jiān)測電機的轉(zhuǎn)速、位置等信息,并將這些信息反饋給變頻器,從而實現(xiàn)對電機的精確控制。本文將詳細介紹編碼器控制變頻器
    的頭像 發(fā)表于 06-23 15:22 ?3820次閱讀
    怎么用<b class='flag-5'>編碼</b>器控制變頻器<b class='flag-5'>速度</b>?

    怎么用編碼器控制變頻器速度

    編碼器控制變頻器速度是一種常見的工業(yè)自動化控制方式,它通過編碼器實時監(jiān)測電機的轉(zhuǎn)速、位置等信息,并將這些信息反饋給變頻器,從而實現(xiàn)對電機的精確控制。本文將詳細介紹編碼器控制變頻器
    的頭像 發(fā)表于 06-17 15:11 ?1934次閱讀

    基于PSpice System Option接口的直流電機控制系統(tǒng)設(shè)計

    概述基于仿真速度和結(jié)果精度之間的權(quán)衡,在設(shè)計的第一階段使用高精度模型不是一種有效的方法。高精度模型會使仿真速度變的非常慢,建議在設(shè)計過程中的每個階段使用合適的模型。可能會發(fā)現(xiàn),合適的模型會更容易優(yōu)化
    的頭像 發(fā)表于 04-29 08:12 ?857次閱讀
    基于PSpice System Option接口的直流電機控制系統(tǒng)設(shè)計

    CAE熱仿真中的芯片物性等效建模方法分析

    的特性、精度和仿真速度有著不同要求。因此,根據(jù)需求提供滿足一定要求的仿真模型是建模工作的關(guān)鍵。 本文在于研究用 ANSYS icepak/Flotherm建模的時候,主要探討對芯片等材料屬性的選取與設(shè)置,以及本體模型如何構(gòu)建。文中給出相關(guān)
    的頭像 發(fā)表于 04-28 09:25 ?1569次閱讀
    CAE熱<b class='flag-5'>仿真</b>中的芯片物性等效建模方法<b class='flag-5'>分析</b>
    主站蜘蛛池模板: 婷婷成人丁香五月综合激情 | 天天干天天狠 | 久久久久久久成人午夜精品福利 | 人人操天天射 | 五月天婷婷在线观看视频 | 国产美女亚洲精品久久久综合 | 天天爱综合| 久久99热精品这里久久精品 | 丁香六月激情网 | 狠狠ri| 亚偷熟乱区视频在线观看 | 亚洲视频欧美视频 | 美女被拍拍拍拍拍拍拍拍 | 欧美性喷潮 | 恨恨操 | 好男人社区www在线资源视频 | 永井玛丽亚中文在线观看视频 | 午夜视频在线观看一区 | 国模在线观看 | 日本黄色片www | 深夜视频免费在线观看 | 五月天婷婷在线播放 | 开心色99×xxxx | 美女喷白浆 | 香蕉视频一级 | 免费高清特级毛片 | 日本不卡在线观看免费v | 国内精品久久影视 | 午夜一级毛片 | 亚洲成人激情电影 | 啪啪免费网站 | 亚洲欧美啪啪 | 四虎国产精品永久免费网址 | 成人亚洲网站www在线观看 | 一级做a爰片久久毛片免费看 | 午夜伦理片在线观看 | 特黄日韩免费一区二区三区 | 色老头成人免费视频天天综合 | 人与牲动交bbbbxxxx | 国产精品 视频一区 二区三区 | 久久伊人精品青青草原高清 |