chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

如何在定義后啟動(dòng)一個(gè)sequence

我快閉嘴 ? 來(lái)源:FPGA學(xué)姐 ? 作者:FPGA學(xué)姐 ? 2022-09-09 09:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Q:激勵(lì)最初產(chǎn)生在driver中,后來(lái)產(chǎn)生在sequence中。為什么會(huì)有這個(gè)過(guò)程呢?

Q:當(dāng)一個(gè)激勵(lì)在driver中產(chǎn)生,當(dāng)要對(duì)DUT施加不同的激勵(lì)時(shí),那應(yīng)該怎么辦呢?

Q:如何在定義后啟動(dòng)一個(gè)sequence

//當(dāng)完成一個(gè)sequence的定義后,可以使用start任務(wù)將其啟動(dòng)my_sequence my_seq;my_seq = my_sequence::create("my_seq");my_seq.start(sequencer);//除了直接啟動(dòng)之外,還可以使用default_sequence啟動(dòng)uvm_config_db#(uvm_object_wrapper)::set(this,"env.i_agt.sqr.main_phase","default_sequence",case0_sequence::get());

A:使用sequence機(jī)制之后,在不同的測(cè)試用例中,將不同的sequence設(shè)置成sequencer的main_phase的default_sequence。當(dāng)sequencer執(zhí)行到main_phase時(shí),發(fā)現(xiàn)有default_sequence,那么它就啟動(dòng)sequence。

A:當(dāng)一個(gè)sequence啟動(dòng)后會(huì)自動(dòng)執(zhí)行sequence的body任務(wù)。其實(shí),除了body外,還會(huì)自動(dòng)調(diào)用sequence的pre_body與post_body

文件:src/my_case0.sv3 class case0_sequence extends uvm_sequence #(my_transaction);virtual task pre_body();`uvm_info("sequence0", "pre_body is called!!!", UVM_LOW)endtaskvirtual task post_body();`uvm_info("sequence0", "post_body is called!!!", UVM_LOW)endtaskvirtual task body();#100;`uvm_info("sequence0", "body is called!!!", UVM_LOW) endtask `uvm_object_utils(case0_sequence)endclass

Q:UVM支持同一時(shí)刻在同一sequencer上啟動(dòng)多個(gè)sequence,那同時(shí)啟動(dòng)多個(gè)sequence時(shí),哪個(gè)先執(zhí)行呢?

Q:sequencer根據(jù)什么選擇使用哪個(gè)sequence的transaction呢?這是UVM的sequence機(jī)制中的仲裁問(wèn)題

//例如如下啟動(dòng)了seq0和seq1文件:src/no_pri/my_case0.svtask my_case0::main_phase(uvm_phase phase);   sequence0 seq0;   sequence1 seq1;   seq0 = new("seq0");   seq0.starting_phase = phase;   seq1 = new("seq1");   seq1.starting_phase = phase;fork   seq0.start(env.i_agt.sqr);   seq1.start(env.i_agt.sqr);joinendtask

A:對(duì)于transaction來(lái)說(shuō),存在優(yōu)先級(jí)的概念,通常來(lái)說(shuō),優(yōu)先級(jí)越高越容易被選中。當(dāng)使用uvm_do或者uvm_do_with宏時(shí),產(chǎn)生的transaction的優(yōu)先級(jí)是默認(rèn)的優(yōu)先級(jí),即-1??梢酝ㄟ^(guò)uvm_do_pri及uvm_do_pri_with改變所產(chǎn)生的transaction的優(yōu)先級(jí)

文件:src/item_pri/my_case0.sv3 class sequence0 extends uvm_sequence #(my_transaction);virtual task body();repeat (5) begin   `uvm_do_pri(m_trans, 100)   `uvm_info("sequence0", "send one transaction", UVM_MEDIUM)end#100;endtaskendclassclass sequence1 extends uvm_sequence #(my_transaction);virtual task body();repeat (5) begin   `uvm_do_pri_with(m_trans, 200, {m_trans.pload.size < 500;})   `uvm_info("sequence1", "send one transaction", UVM_MEDIUM)endendtaskendclass

uvm_do_pri與uvm_do_pri_with的第二個(gè)參數(shù)是優(yōu)先級(jí),這個(gè)數(shù)值必須是一個(gè)大于等于-1的整數(shù)。數(shù)字越大,優(yōu)先級(jí)越高。

A:除transaction有優(yōu)先級(jí)外,sequence也有優(yōu)先級(jí)的概念

文件:src/sequence_pri/my_case0.svtask my_case0::main_phase(uvm_phase phase);env.i_agt.sqr.set_arbitration(SEQ_ARB_STRICT_FIFO);fork    seq0.start(env.i_agt.sqr, null, 100);    seq1.start(env.i_agt.sqr, null, 200);joinendtask

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

    關(guān)注

    0

    文章

    527

    瀏覽量

    68635
  • UVM
    UVM
    +關(guān)注

    關(guān)注

    0

    文章

    183

    瀏覽量

    19845
  • sequence
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    3122

原文標(biāo)題:UVM之sequence機(jī)制

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    何在主從設(shè)備之間創(chuàng)建個(gè)定義的API調(diào)用?

    我只是想知道如何在主從設(shè)備之間創(chuàng)建個(gè)定義的API調(diào)用。我想用主ID和些數(shù)據(jù)發(fā)送
    發(fā)表于 09-19 12:21

    UVM sequence分層的幾種體現(xiàn)

    sequencer外部進(jìn)行分層,例如使用virtual sequencer。實(shí)際項(xiàng)目中,般兩種分層的手段都會(huì)采用。對(duì)于個(gè)底層的數(shù)據(jù)項(xiàng)lower_env_items定義如下:底層的s
    發(fā)表于 04-14 11:08

    何在SpinalHDL里啟動(dòng)個(gè)仿真

    的信號(hào):仿真啟動(dòng),你會(huì)在控制臺(tái)看到仿真的啟動(dòng):可以看到,仿真的啟動(dòng)首先會(huì)將DUT編譯生成Verilog文件,隨后交由Verilator進(jìn)行編譯,隨后選擇
    發(fā)表于 07-26 16:59

    如何配置sequence的仲裁算法和優(yōu)先級(jí)及中斷sequence的執(zhí)行

    01 Arbitrary在UVM中,多個(gè)sequence可以同時(shí)被綁定到相同的sequencer并啟動(dòng)。這種測(cè)試場(chǎng)景在實(shí)際中是存在的,比如在模擬同一個(gè)總線master口上的不同類型的數(shù)據(jù)流時(shí),可以將
    發(fā)表于 09-23 14:35

    sequence item實(shí)際應(yīng)用中應(yīng)該包含哪些東西

    等。基于以上這些需求,在UVM類庫(kù)提供的代碼示例基礎(chǔ)上,整理成以下般框架,可用于指導(dǎo)日常開(kāi)發(fā)。02 用戶自定義方法在上面定義sequence item框架中,有
    發(fā)表于 09-23 14:42

    何在啟動(dòng)文件中調(diào)用定義為uint32_t getValue(void)的C函數(shù)呢?

    我如何在啟動(dòng)文件中調(diào)用定義為 uint32_t getValue(void) 的 C 函數(shù)(在 Reset_Handler 例程中)?需要什么語(yǔ)法?我嘗試導(dǎo)入它并將其設(shè)置為 extern(其他標(biāo)準(zhǔn)
    發(fā)表于 12-09 07:27

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

      1. 問(wèn)題  假如用以下兩種方式啟動(dòng)sequence,方法1用sequence的start()方法啟動(dòng)seq1,方法2用UVM的default_
    發(fā)表于 04-04 17:15

    對(duì)于啟動(dòng)Linux時(shí)自動(dòng)啟動(dòng) LXD 容器的方法解析

    容器的順序(從最高開(kāi)始)。你也可以使用 boot.autostart.delay(默認(rèn)值 0)選項(xiàng)定義啟動(dòng)個(gè)容器等待幾秒
    的頭像 發(fā)表于 01-09 17:12 ?3128次閱讀
    對(duì)于<b class='flag-5'>啟動(dòng)</b>Linux時(shí)自動(dòng)<b class='flag-5'>啟動(dòng)</b> LXD 容器的方法解析

    淺談UVM之sequence/item見(jiàn)解(上)

    item指的是uvm_sequence_item, Sequence Item具備UVM核心基類所必要的數(shù)據(jù)操作方法,對(duì)于激勵(lì)的生成和場(chǎng)景控制,是由sequence來(lái)編織的,item應(yīng)該有什么用途的數(shù)據(jù)成員被
    的頭像 發(fā)表于 02-19 15:52 ?5471次閱讀
    淺談UVM之<b class='flag-5'>sequence</b>/item見(jiàn)解(上)

    start()如何執(zhí)行uvm_sequence

    要使用start()啟動(dòng)個(gè)sequence,就必須要指定相應(yīng)的sequencer句柄, **另外的幾個(gè)選項(xiàng)般用不上** 。其中
    的頭像 發(fā)表于 03-21 11:37 ?1079次閱讀
    start()如何執(zhí)行uvm_<b class='flag-5'>sequence</b>

    如何配置sequence的仲裁算法和優(yōu)先級(jí)?

    在UVM中,多個(gè)sequence可以同時(shí)被綁定到相同的sequencer并啟動(dòng)。這種測(cè)試場(chǎng)景在實(shí)際中是存在的,比如在模擬同一個(gè)總線master口上的不同類型的數(shù)據(jù)流時(shí)
    的頭像 發(fā)表于 04-27 15:20 ?2106次閱讀
    如何配置<b class='flag-5'>sequence</b>的仲裁算法和優(yōu)先級(jí)?

    UVM中add_typewide_sequence和add_sequence的區(qū)別

    第2和第3種方式類似,第3種是下子添加多個(gè)sequence,它內(nèi)部原理就是調(diào)用第2種的函數(shù),因此在本質(zhì)上,只有第1和第2種這兩類區(qū)別。
    的頭像 發(fā)表于 05-24 15:21 ?1087次閱讀

    在Sequencer上啟動(dòng)個(gè)Sequence

    Sequencer默認(rèn)不執(zhí)行任何Sequence。驗(yàn)證工程師可以通過(guò)調(diào)用start()啟動(dòng)個(gè)Sequence,也可以通過(guò)uvm_confi
    的頭像 發(fā)表于 06-10 09:10 ?1379次閱讀
    在Sequencer上<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>Sequence</b>

    UVM設(shè)計(jì)中的sequence啟動(dòng)方式有哪幾種呢?

    本篇介紹UVM中的sequence,這是UVM中最基礎(chǔ)的部分。對(duì)于前面介紹的uvm_callback, uvm_visitor等,很少被使用到或者也只有搭建平臺(tái)的人會(huì)使用。
    的頭像 發(fā)表于 08-17 10:07 ?6756次閱讀
    UVM設(shè)計(jì)中的<b class='flag-5'>sequence</b><b class='flag-5'>啟動(dòng)</b>方式有哪幾種呢?

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

    uvm_sequence_library是從uvm_sequence擴(kuò)展而來(lái)的,它是個(gè)容納了系列其它sequences類型的容器,在
    的頭像 發(fā)表于 09-08 15:06 ?1145次閱讀
    如何將sequences類型添加或注冊(cè)到<b class='flag-5'>sequence</b> library里呢?