国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

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

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-08-11 09:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

條件判斷字符串處理

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

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

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

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    54

    文章

    4482

    瀏覽量

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

    關(guān)注

    14

    文章

    1051

    瀏覽量

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

    關(guān)注

    0

    文章

    48

    瀏覽量

    32829

原文標(biāo)題:SystemVerilog高效仿真技巧

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    麥歌恩磁編碼器異常信號(hào)分析與定位方法

    在伺服電機(jī)、云臺(tái)、機(jī)器人關(guān)節(jié)及高速吸塵器電機(jī)等應(yīng)用中,麥歌恩磁編碼器因體積小、抗干擾強(qiáng)、可靠性高被廣泛使用。但在實(shí)際裝配、運(yùn)行與環(huán)境影響下,常會(huì)出現(xiàn)角度抖動(dòng)、速度波動(dòng)、通信丟幀、波形畸變等異常信號(hào)
    的頭像 發(fā)表于 02-28 16:09 ?100次閱讀
    麥歌恩磁<b class='flag-5'>編碼</b>器異常信號(hào)<b class='flag-5'>分析</b>與定位方法

    更快抵達(dá)終點(diǎn)線:Questa One如何加速整體仿真周轉(zhuǎn)時(shí)間

    編碼風(fēng)格,SmartCompile實(shí)現(xiàn)了更高效的設(shè)計(jì)流程,能夠直接應(yīng)對(duì)現(xiàn)代數(shù)字設(shè)計(jì)開發(fā)所面臨的挑戰(zhàn)。議程序言傳統(tǒng)仿真流程SmartCompile概述-主要功能Sm
    的頭像 發(fā)表于 02-11 11:29 ?369次閱讀
    更快抵達(dá)終點(diǎn)線:Questa One如何加速整體<b class='flag-5'>仿真</b>周轉(zhuǎn)時(shí)間

    Linux內(nèi)核編碼風(fēng)格權(quán)威總結(jié):從縮進(jìn)到底層設(shè)計(jì),讓你的代碼更“內(nèi)核味”

    作為全球最龐大的開源項(xiàng)目之一,Linux 內(nèi)核的代碼量早已突破千萬行。要讓來自世界各地的開發(fā)者高效協(xié)作,一套統(tǒng)一、嚴(yán)謹(jǐn)?shù)?b class='flag-5'>編碼風(fēng)格必不可少 —— 這不僅是 “代碼顏值” 的要求,更是可讀性、可維護(hù)性的核心保障。
    的頭像 發(fā)表于 02-09 16:29 ?120次閱讀
    Linux內(nèi)核<b class='flag-5'>編碼</b><b class='flag-5'>風(fēng)格</b>權(quán)威總結(jié):從縮進(jìn)到底層設(shè)計(jì),讓你的代碼更“內(nèi)核味”

    HFSS仿真鈮酸鋰電光調(diào)制器T型電極損耗較大

    在HFSS仿真鈮酸鋰電光調(diào)制器T型電極時(shí),盡管電極設(shè)為了完美電導(dǎo)體,介質(zhì)的介質(zhì)損耗角正切設(shè)為0,dB(S21)仍然有比較大的損耗,導(dǎo)致用ABCD矩陣計(jì)算時(shí)損耗較大,這是什么原因引起的,如何解決?
    發(fā)表于 12-16 14:36

    【產(chǎn)品介紹】Modelsim:HDL語言仿真軟件

    仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺(tái)無關(guān),便于保護(hù)IP核,個(gè)性化的圖形界面和用戶接口,為用戶加快調(diào)錯(cuò)提供強(qiáng)有力的手段,是FPGA/ASIC設(shè)計(jì)的首選仿真軟件。
    的頭像 發(fā)表于 11-13 11:41 ?495次閱讀
    【產(chǎn)品介紹】Modelsim:HDL語言<b class='flag-5'>仿真</b>軟件

    Linux使用coremark程序進(jìn)行vcs仿真的注意事項(xiàng)

    coremark.h中額外定義CFG_SIMULATION,使得該程序執(zhí)行的輪數(shù)iteration=2來加快仿真速度: 修改完c程序后,我們需要對(duì)其進(jìn)行重新編譯,在上述終端中執(zhí)行make clean 然后執(zhí)行
    發(fā)表于 10-20 09:02

    eVTOL艙外噪聲的仿真分析

    前兩期內(nèi)容中討論了eVTOL艙室內(nèi)噪聲仿真分析流程以及降噪優(yōu)化方法,本文主要闡述eVTOL艙外噪聲的仿真分析
    的頭像 發(fā)表于 09-23 14:09 ?717次閱讀
    eVTOL艙外噪聲的<b class='flag-5'>仿真</b><b class='flag-5'>分析</b>

    eVTOL艙內(nèi)噪聲響應(yīng)分析仿真流程

    上一節(jié)中介紹了eVTOL旋翼噪聲的表征以及通過聲學(xué)BEM模型分析旋翼噪聲到eVTOL機(jī)體外表面的噪聲傳播分析流程,本節(jié)將在上節(jié)內(nèi)容的基礎(chǔ)上繼續(xù)介紹eVTOL艙內(nèi)噪聲響應(yīng)分析仿真流程,
    的頭像 發(fā)表于 09-23 14:06 ?635次閱讀
    eVTOL艙內(nèi)噪聲響應(yīng)<b class='flag-5'>分析</b>的<b class='flag-5'>仿真</b>流程

    【「開關(guān)電源控制環(huán)路設(shè)計(jì):Christophe Basso 的實(shí)戰(zhàn)秘籍」閱讀體驗(yàn)】+ 問題一:什么是SIMPLIS?

    功能強(qiáng)大的仿真軟件如SABER,SIMPLIS具有操作簡(jiǎn)單、容易上手的特點(diǎn),這使得它成為許多工程師的首選工具。 3. 快速仿真:SIMPLIS的仿真速度較快,能夠在較短的時(shí)間內(nèi)完成復(fù)雜的仿
    發(fā)表于 08-03 14:52

    無刷直流電機(jī)控制系統(tǒng)的建模仿真分析

    摘要:分析了BLDCM的數(shù)學(xué)模型,運(yùn)用MATLAB仿真軟件搭建了無刷直流電機(jī)控制系統(tǒng)的仿真模型。本系統(tǒng)采用了速度PID控制、電流遲滯控制的雙閉環(huán)控制方案,電流遲滯控制是為了更方便地跟蹤
    發(fā)表于 06-27 16:52

    羅姆新SPICE模型助力優(yōu)化功率半導(dǎo)體性能

    在SiC(碳化硅)等功率半導(dǎo)體的電氣仿真中,以往的行為模型存在收斂性差、仿真速度慢的問題。但是,這次開發(fā)并發(fā)布了提高仿真速度的新模型。
    的頭像 發(fā)表于 06-23 14:25 ?1364次閱讀
    羅姆新SPICE模型助力優(yōu)化功率半導(dǎo)體性能

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

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

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

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

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

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

    編碼器常見的故障問題及案例分析

    編碼器作為自動(dòng)化控制系統(tǒng)中的重要組件,負(fù)責(zé)將機(jī)械位移轉(zhuǎn)換為電信號(hào),以供上位機(jī)、PLC或驅(qū)動(dòng)器等設(shè)備讀取和處理。然而,在使用過程中,編碼器可能會(huì)遇到多種故障。以下是對(duì)編碼器常見故障及案例的詳細(xì)
    的頭像 發(fā)表于 03-07 11:05 ?4962次閱讀