色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

SystemVerilog中的Queue Methods

芯片驗證工程師 ? 來源:芯片驗證工程師 ? 作者:芯片驗證工程師 ? 2022-10-31 09:20 ? 次閱讀

隊列提供了許多內(nèi)置方法。如下表所示:

c6dfb3f0-586d-11ed-a3b6-dac502259ad0.png

module dq;
 bit[7:0] dq1[$]; // A unbounded queue of unsigned 8-bit
 int q3[$:5] = {0,1,2,3,4,5}; //bounded queue
 int a;
 initial begin
 a = dq1.size( ); //empty queue
 $display ($stime,,, "empty dq1 size = %0d",a);
 dq1[0] = 0; dq1[1] = 1; dq1[2] = 2;
 $display ($stime,,, "dq1 SIZE = %0d",dq1.size( ));
 $display ($stime,,, "dq1=",dq1);
 dq1.insert (3,3); //index, value
 $display($stime,,, "After Insert dq1 SIZE = %0d",dq1.size( ));
 $display ($stime,,, "dq1=",dq1);
 dq1.delete (3); //index
 $display ($stime,,, "After delete dq1 SIZE = %0d",dq1.size( ));
 $display ($stime,,, "dq1=",dq1);
 a = dq1.pop_front( ); //pop frst entry of the queue
 $display ($stime,,, "dq1 pop front = %0d ",a);
 $display ($stime,,, "dq1=",dq1);
 a = dq1.pop_back( ); //pop last entry of the queue
 $display ($stime,,, "dq1 pop back = %0d ",a);
 $display ($stime,,, "dq1=",dq1);
 //push the frst entry of the queue with '4'
 dq1.push_front(4);
 $display ($stime,,, "push front dq1=",dq1);
 //push the last entry of the queue with '5'
 dq1.push_back(5);
 $display ($stime,,, "push back dq1=",dq1);
 
 q3_size = q3.size + 5; //size > q3 size
 //underfow : pop from index 6,7,8,9,10 – run time Warning
 for (int i = 0; i < q3_size; i++)
 $display($stime,,,"q3[%0d] = %0d", i, q3.pop_front( ) );
 end
 //Solution for underfow - check for size before pop
 while (q3.size( ) > 0)
 $display($stime,,,"q3 = %0d", q3.pop_front ( ));
 //overfow : push over the bound limit – run time Warning
 for (int i = 0; i < q3_size; i++) begin
 q3.push_front( i );
 $display($stime,,,"q3[%0d] :: q3 = %p", i , q3);
 end
 endmodule

仿真log:

 0 empty dq1 size = 0 //empty queue size
 0 dq1 SIZE = 3 //size after providing values to frst three elements
 0 dq1='{'h0, 'h1, 'h2} //assigned frst three elements
 0 After Insert dq1 SIZE = 4 //Insert value 3 at index 3.
 0 dq1='{'h0, 'h1, 'h2, 'h3} //shows inserted value
 0 After delete dq1 SIZE = 3 //delete value at index 3
 0 dq1='{'h0, 'h1, 'h2} //shows dq1 after deletion
 0 dq1 pop front = 0 //pop the front index of the queue
 0 dq1='{'h1, 'h2} //dq1 after element at index 0 is gone (popped)
 0 dq1 pop back = 2 //pop the back (last) index of the queue
 0 dq1='{'h1} //the last index/value is gone
 0 push front dq1='{'h4, 'h1} //push at the front of the queue (value 4)
 0 push back dq1='{'h4, 'h1, 'h5} //push at the end of the queue (value 5)

上面我們通過隊列dq1展示了push和pop的行為。然后我們聲明了有界隊列q3,最大的index限制是5,所以這個隊列最大的size是6.
將隊列q3初始化為{0,1,2,3,4,5},然后pop超過6次。

q3_size = q3.size + 5; //size > q3 size
 //underfow : pop from index 6,7,8,9,10 – run time Warning
 //Queue 'q3' is empty after index 5.
 for (int i = 0; i < q3_size; i++)
 $display($stime,,,"q3[%0d] = %0d", i, q3.pop_front( ) );
 end

這個時候仿真器會上報warnnin:

# RUNTIME: Warning: RUNTIME_0219 testbench.sv (54): Cannot pop from an 
empty queue.

審核編輯:湯梓紅

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

    關注

    14

    文章

    1034

    瀏覽量

    85038
  • Verilog
    +關注

    關注

    29

    文章

    1366

    瀏覽量

    111916
  • System
    +關注

    關注

    0

    文章

    166

    瀏覽量

    37603

原文標題:SystemVerilog中的Queue Methods

文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    SystemVerilog的Virtual Methods

    SystemVerilog多態(tài)能夠工作的前提是父類的方法被聲明為virtual的。
    發(fā)表于 11-28 11:12 ?840次閱讀

    SystemVerilog的“const”類屬性

    SystemVerilog可以將類屬性聲明為常量,即“只讀”。目的就是希望,別人可以讀但是不能修改它的值。
    發(fā)表于 11-29 10:25 ?2325次閱讀

    SystemVerilog的聯(lián)合(union)介紹

    SystemVerilog ,聯(lián)合只是信號,可通過不同名稱和縱橫比來加以引用。
    的頭像 發(fā)表于 10-08 15:45 ?1811次閱讀
    <b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b>的聯(lián)合(union)介紹

    Some Programming Methods for I

    Some Programming Methods for Increasing the Operating Speed of PLC Program Absbad With Mitsubishi
    發(fā)表于 01-19 12:42 ?15次下載

    SystemVerilog的斷言手冊

    SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
    發(fā)表于 07-22 14:12 ?20次下載

    ThreadX(九)------消息隊列Queue

    消息隊列QueueAPItx_queue_createtx_queue_deletex_queue_flushtx_queue_front_sendtx_queue_receivetx_queue_send_notifyAPItx_queue_createtx_queue_deletetx_queue_flushtx_qu
    發(fā)表于 12-28 19:35 ?2次下載
    ThreadX(九)------消息隊列<b class='flag-5'>Queue</b>

    SystemVerilog$cast的應用

    SystemVerilog casting意味著將一種數(shù)據(jù)類型轉換為另一種數(shù)據(jù)類型。在將一個變量賦值給另一個變量時,SystemVerilog要求這兩個變量具有相同的數(shù)據(jù)類型。
    的頭像 發(fā)表于 10-17 14:35 ?3312次閱讀

    SystemVerilog的操作方法

    SystemVerilog提供了幾個內(nèi)置方法來支持數(shù)組搜索、排序等功能。
    的頭像 發(fā)表于 10-31 10:10 ?3423次閱讀

    SystemVerilog可以嵌套的數(shù)據(jù)結構

    SystemVerilog除了數(shù)組、隊列和關聯(lián)數(shù)組等數(shù)據(jù)結構,這些數(shù)據(jù)結構還可以嵌套。
    的頭像 發(fā)表于 11-03 09:59 ?1915次閱讀

    SystemVerilog的struct

    SystemVerilog“struct”表示相同或不同數(shù)據(jù)類型的集合。
    的頭像 發(fā)表于 11-07 10:18 ?2812次閱讀

    SystemVerilog的Shallow Copy

    SystemVerilog的句柄賦值和對象復制的概念是有區(qū)別的。
    的頭像 發(fā)表于 11-21 10:32 ?1116次閱讀

    SystemVerilog的Semaphores

    SystemVerilogSemaphore(旗語)是一個多個進程之間同步的機制之一,這里需要同步的原因是這多個進程共享某些資源。
    的頭像 發(fā)表于 12-12 09:50 ?3727次閱讀

    什么是queue

    queue 容器,又稱隊列容器,是簡單地裝飾deque容器而成為另外的一種容器。
    的頭像 發(fā)表于 02-27 15:43 ?2234次閱讀

    Systemverilog的Driving Strength講解

    systemverilog,net用于對電路連線進行建模,driving strength(驅(qū)動強度)可以讓net變量值的建模更加精確。
    的頭像 發(fā)表于 06-14 15:50 ?1976次閱讀
    <b class='flag-5'>Systemverilog</b><b class='flag-5'>中</b>的Driving Strength講解

    RTOSQueue的工作原理

    Queue即消息隊列是通過RTOS內(nèi)核提供的一種服務。它是一種線程間同步數(shù)據(jù)的安全方法。
    的頭像 發(fā)表于 07-25 15:45 ?4352次閱讀
    RTOS<b class='flag-5'>中</b><b class='flag-5'>Queue</b>的工作原理
    主站蜘蛛池模板: 国外经典三级 | 亚洲精品久久久午夜福利电影网 | 中文字幕AV在线一二三区 | 亚洲色欲H网在线观看 | 在线观看qvod | 97久久精品视频 | 一天不停的插BB十几次 | 日韩 亚洲 欧美 中文 高清 | 色翁荡息又大又硬又粗又爽电影 | 与嫂子同居的日子在线观看 | 久久AV亚洲精品一区无码网 | 世界上第一个得抑郁症的人是谁 | 日本又黄又裸一级大黄裸片 | 国产日韩欧美三级 | 手机毛片在线观看 | 美女议员被泄裸照 | 国产精品久久欧美一区 | 女子扒开腿让男生桶爽 | 1区2区3区4区产品不卡码网站 | 青娱乐视觉盛宴国产视频 | 我不卡影院手机在线观看 | 国产亚洲视频在线观看 | 精品国产5g影院天天爽 | 国内精品视频久久久久免费 | 久久艹伊人 | 日本熟妇乱妇熟色A片蜜桃 日本熟妇多毛XXXXX视频 | 国产成人精品亚洲线观看 | 黑人寄宿羽月希产后奶水 | 教室眠催白丝美女校花 | 亚洲精品高清中文字幕完整版 | 久啪久久全部视频在线 | 久久se视频精品视频在线 | 一本久道久久综合婷婷五月 | 欧美另类老少配hd | 久久亚洲伊人中字综合精品 | 乳色吐息未增删樱花ED在线观看 | 蜜桃婷婷狠狠久久综合9色 蜜桃视频一区二区 | 亚洲乱码日产精品BD在线下载 | 免费的好黄的漫画 | 久久久久久久免费 | 狠狠射首页|

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品