精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

如何將sequences類型添加或注冊到sequence library里呢?

冬至子 ? 來源:CSDN ? 作者:谷公子 ? 2023-09-08 15:06 ? 次閱讀

uvm_sequence_library是從uvm_sequence擴展而來的,它是一個容納了一系列其它sequences類型的容器,在啟動時,它會根據模式從這系列sequences中選擇并執行它們。

如果處于UVM_SEQ_LIB_RAND模式,它的select_rand屬性將會隨機并作為選擇sequences的索引

如果處于UVM_SEQ_LIB_RANDC模式,它的selec_randc屬性將會隨機并作為索引。

如果處于UVM_SEQ_LIB_ITEM模式,僅生成并執行REQ類型的sequence items。

如果處于UVM_SEQ_LIB_USER模式時,select_sequence()方法用來獲取下一個執行sequence的索引,用戶可以在子類中overwrite這個方法來實現自定義的選擇算法

既然uvm_sequence_library是一系列sequences類型的集合,那么如何將sequences類型添加或注冊到sequence library里呢?UVM提供兩類方式:全局方式和私有方式。

1. 全局方式

全局方式添加到uvm_sequence_library的sequences類型會被該類的所有實例(instances)選擇,也就是所有實例里都會注冊了這些sequences類型。與這功能相關的函數和變量有:

image.png

從上述變量和函數可以看出,UVM是利用systemverilog的static機制來實現全局注冊方式,sequences類型必須在sequence library被創建之前都注冊進去。

需要注意的是,要用這種方式,在創建sequence library的子類時,必須需要在其聲明中調用uvm_sequence_library_utils宏,并在其構造函數中調用init_sequence_library()方法。

另外,全局的注冊方式也可以使用uvm_add_to_seq_lib(TYPE,LIBTYPE)宏來完成。

2. 私有方式

私有方式添加到uvm_sequence_library的sequences類型會被該類的每個實例(instances)獨享,也就是每個實例注冊的sequences類型互不影響。與這功能相關的函數和變量有:

image.png

從上述變量和函數可以看出,它們都不是static的,也就是必須要等sequence library創建出實例后,才能注冊到實例里,因此每個實例注冊的sequences類型可以互不影響了。

3. 總結

這兩種方式都有自己的使用場景,如果想讓所有sequence library的實例都有的sequence類型,那么使用全局方式會更方便點。

如果想讓sequence library的實例想有一些額外的sequence類型,那么私有方式是最好的選擇。下圖總結了注冊的兩種方式以及涉及到的相關變量和函數。

image.png

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

    關注

    0

    文章

    181

    瀏覽量

    19087
  • sequence
    +關注

    關注

    0

    文章

    23

    瀏覽量

    2820
收藏 人收藏

    評論

    相關推薦

    如何將SCOUT的工程關聯STEP7中?

    如何將SCOUT的工程關聯STEP7中,就是SCOUT添加了一個伺服的設置,然后如何關聯STEP7中,可以在STEP7中打開SCOUT 的文件
    發表于 01-09 13:16

    急急急,如何將modbus library加載到lv的express vis中

    大家都知道lv有專業的modbus library用來做基于modbus協議的通信,但是有誰知道如何將modbus library加載到lv的express vis中的么,就是說我可以在
    發表于 11-14 09:52

    如何將不同數據類型的數據批量讀寫到ini文件

    如何將不同數據類型的數據批量讀寫到ini文件
    發表于 05-20 10:30

    如何將兩個多個相同類型的記錄寫入動態NFC標簽?

    HI, 如何將兩個多個相同類型的記錄寫入動態NFC標簽?例如,如果我想寫WriteEmail,SMS,URI任何此類數據,我可以將其調用兩次嗎? 喜歡 TT4_WriteVcar
    發表于 08-09 10:43

    簡單的LED如何將添加進去 ?

    看到了歷程中都有庫函數的例子 但不知道如何從無有還想請教各位 從最簡單的LED 如何將添加進去 ?
    發表于 08-20 06:45

    如何將gdb移植嵌入式板子上單獨運行

    如何在Linux下去調試C++執行程序如何將gdb移植嵌入式板子上單獨運行
    發表于 12-24 06:57

    請問一下在UVM中的UVMsequences是什么意思啊

    uvm_object基類擴展得到。UVM sequences不是在仿真的開始,而是在仿真的過程中生成并分配內存的,也沒有類似uvm_component的層次結構。隨著仿真的進行,創建一個多個UVM
    發表于 04-11 16:43

    如何配置sequence的仲裁算法和優先級及中斷sequence的執行

    01 Arbitrary在UVM中,多個sequence可以同時被綁定相同的sequencer并啟動。這種測試場景在實際中是存在的,比如在模擬同一個總線master口上的不同類型的數據流時,可以
    發表于 09-23 14:35

    如何將RAFL添加到我的項目的適當示例和/文檔?

    我無法找到有關如何將 RAFL 添加到我的項目的適當示例和/文檔。查看 RFAL 中的 rfal.chm 文件有一個示例,但它對我不起作用?當我查看 X-CUBE-NFC5.chm 時,應該有 4
    發表于 01-10 06:02

    如何將FPGA的數據導入dsp板子去呢?

    如何將FPGA的數據導入dsp板子去呢?有哪位大神可以指教一下嗎
    發表于 03-21 14:47

    UVM中seq.start()和default_sequence執行順序

    override它,在里面添加各自的功能。各自舉個例子吧。  對于uvm_common_phase類型的uvm_run_phase類,它在exec_task(xxx)會調用對應uv
    發表于 04-04 17:15

    如何將ADI公司的Spice模型導入Multisim仿真軟件

    請問如何將ADI公司的Spice模型導入Multisim仿真軟件? 當我導入時為什么找不到該文件
    發表于 11-17 06:20

    如何將TDM業務添加到WiMAX平臺上

    如何將TDM業務添加到WiMAX平臺上 對于今天的運營商來說,“接入”是一個熱門詞匯。盡管傳統接入鏈路依然是主要的收入來源,但它同時也成為限制
    發表于 10-20 21:29 ?691次閱讀

    如何將Crosswalk添加到Cordova應用程序中

    英特爾開源技術中心的Bob Spencer解釋了如何將Crosswalk添加到Cordova應用程序中,以提供具有世界級性能的可預測運行時。
    的頭像 發表于 11-07 06:37 ?2231次閱讀

    如何將Klayout Cell動態導入Lumerical Multiphysics

    在本例中,演示了如何將KLayout Library Cell動態導入 Lumerical 以執行設計掃描和表征。該功能支持動態導入Lumerical FDTD、MODE以及Multiphysics的所有工具,包括CHARGE
    的頭像 發表于 01-22 14:27 ?503次閱讀
    <b class='flag-5'>如何將</b>Klayout Cell動態導入Lumerical Multiphysics