日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

分析那些對仿真速度影響較大的編碼風格

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

條件判斷字符串處理

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

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

減少不必要的端口采樣或驅動

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

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

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

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

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

審核編輯 :李倩

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

    關注

    55

    文章

    4539

    瀏覽量

    138700
  • 仿真器
    +關注

    關注

    14

    文章

    1053

    瀏覽量

    88216
  • bit
    bit
    +關注

    關注

    0

    文章

    48

    瀏覽量

    32878

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    編碼器主令如何給定變頻器速度

    “帶編碼器的主令”這個說法,在工業(yè)自動化領域通常有兩種理解,對應的實現(xiàn)方法也不同。我整理了兩種主要情況,你可以根據(jù)實際場景對號入座: 你的意圖 核心原理 典型應用場景 將編碼器作為速度設定源
    的頭像 發(fā)表于 03-21 12:08 ?180次閱讀
    帶<b class='flag-5'>編碼</b>器主令如何給定變頻器<b class='flag-5'>速度</b>

    麥歌恩磁編碼器異常信號分析與定位方法

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

    更快抵達終點線:Questa One如何加速整體仿真周轉時間

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

    Linux內核編碼風格權威總結:從縮進到底層設計,讓你的代碼更“內核味”

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

    HFSS仿真鈮酸鋰電光調制器T型電極損耗較大

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

    【產品介紹】Modelsim:HDL語言仿真軟件

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

    SOA增益飽和特性仿真分析

    SOA的仿真,通常離不開載流子速率方程、傳輸方程、以及增益方程這三大方程,本文根據(jù)增益方程分析行波半導體光放大器TW-SOA的增益飽和特性。
    的頭像 發(fā)表于 10-31 09:29 ?675次閱讀
    SOA增益飽和特性<b class='flag-5'>仿真</b><b class='flag-5'>分析</b>

    Vivado仿真e203_hbirdv2跑whetstone跑分(開源)

    宏定義可調節(jié)仿真速度,這里全部打開 優(yōu)化-O3,Extra CommonFlags加上-funroll-loops -fsingle-precision-constant
    發(fā)表于 10-27 07:21

    Linux使用coremark程序進行vcs仿真的注意事項

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

    eVTOL艙外噪聲的仿真分析

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

    eVTOL艙內噪聲響應分析仿真流程

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

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

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

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

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

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

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

    雙伺服電機驅動的鉆床齒隙模型仿真分析

    的電樞電壓,是大齒輪的角速度,是大齒輪的轉動慣量。 純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:雙伺服電機驅動的鉆床齒隙模型仿真分析.pdf【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及
    發(fā)表于 06-18 16:26
    桦川县| 凯里市| 买车| 镇远县| 九寨沟县| 恩施市| 双桥区| 土默特右旗| 台安县| 会昌县| 承德市| 高邮市| 科尔| 湖北省| 赫章县| 文昌市| 库尔勒市| 仪征市| 江华| 裕民县| 常德市| 从化市| 茶陵县| 枣阳市| 白朗县| 始兴县| 廊坊市| 文成县| 苏尼特左旗| 新野县| 浙江省| 宣恩县| 庆安县| 封丘县| 灌阳县| 日喀则市| 丹巴县| 池州市| 前郭尔| 兴山县| 当阳市|