衡阳派盒市场营销有限公司

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

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

3天內不再提示

為什么需要使用virtual,不用可不可以?

冬至子 ? 來源:不二魚 ? 作者:不二魚 ? 2023-06-16 11:34 ? 次閱讀

在UVM或者SV中,經常會碰到被virtual修飾的 class、sequence、sequencer、interface、function,不知道你有沒有這樣的疑問,為什么需要使用virtual,不用可不可以?所以就總結了一下。

  • virtual class

在一切面向對象編程語言中,類最基本的元素。基類(或者說父類)可以包含最基礎的一些組成,特征,形成最基本的框架,但是并不完整。基類作為一個不完整的類, 它的主要作用不是被實例化,而是被拓展 ,因為,不完整就實例化也沒有意義。

在后續的環境構建當中,可以從這個基類擴展出很多的子類,豐富基類的結構。這樣的類,就可以設置成virtual class,使其變得抽象。注意,一個抽象的類,是不能夠被實例化的,它只能被繼承/擴展,如果實例化,則會出錯。

  • virtual function和pure virtual function

pure virtual function是偶然在工作中遇到的,可能見到的次數不多,但還是要學習一下。

virtual function和類的多態性有關,使用戶在設計和實現類時不需要擔心句柄指向的對象類型是父類還是子類,只要通過虛方法,就可以進行動態綁定,或者SV中稱為動態查找方法(摘自紅寶書)。

簡單理解就是,virtual function是基類中的函數模板,可在派生類中使用新代碼重寫該函數模板’,它存在對的目的就是為了后續能夠重寫該函數。如果分不清到底需不需要加上virtual,可以都加上,便于后續的重寫,不重寫也不會報錯。

pure virtual function 虛純函數是基類中的函數模板, 必須在派生類中用新代碼重寫

總結一下:對于virtual function ,是在base中提供了一個函數模板,但不是必須進行override,但對于pure virtual function 而言,必須進行override,如果你忘記override,則會出現編譯錯誤,也起了一種提示作用。

  • virtual sequence/sequencer

  • virtual interface

virtual interface你可以認為語法就是這樣。作為類和dut之間進行通信的唯一方法,在一個類中,如果實例化一個interface,是不允許的,出現了就會報語法錯誤,只能在module里面直接

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

    關注

    0

    文章

    182

    瀏覽量

    19231
  • Module
    +關注

    關注

    0

    文章

    69

    瀏覽量

    12906
  • sequence
    +關注

    關注

    0

    文章

    23

    瀏覽量

    2863
收藏 人收藏

    評論

    相關推薦

    TLK2711的數字地可不可以接普通的數字地?

    我想請問一下,TLK2711的數字地可不可以接普通的數字地,如果不可以,會有什么問題出現?謝謝!
    發表于 02-06 06:06

    Powerpads pcb可不可以直接放封裝畫線路

    ,請教高手一個問題,Power p.cb.可不可以直接放封裝畫線路,謝謝
    發表于 10-11 12:49

    pspice可不可以仿真線圈共振

    請問一下pspice可不可以仿真兩個線圈的共振呢
    發表于 07-09 20:44

    multisim 可不可以做89C52 單片機的仿真?

    multisim可不可以做89C52 單片機的仿真?
    發表于 03-22 12:50

    串行12864可不可以讀出內部數據呢?

    有沒有人告訴我串行12864究竟可不可以讀出內部數據呢?串行12864究竟可不可以進行讀操作呢?
    發表于 09-28 20:18

    版主,好的帖子,可不可以收藏在自己的用戶名下?

    版主,好的帖子,可不可以收藏在自己的用戶名下?
    發表于 11-16 19:53

    可不可以用來混積分

    新手需要下載大量的資料可是卻不沒有積分。。。。。可不可以發個帖子混混積分啊
    發表于 09-10 15:45

    功放后邊可不可以再加個功放

    功放后邊可不可以再加個功放
    發表于 09-22 15:10

    CC2530做開發串口的流控可不可以不用

    CC2530做開發串口的流控可不可以不用?我現在用CC2530做開發,有兩個關于升級的問題請教一下:1.OTA升級時串口的流控是必須的選項嗎?可不可以不用?如果
    發表于 04-05 13:39

    DM8148的uboot可不可以直接用于DM8127?

    DM8148的uboot可不可以直接用于DM8127?如果不可以需要修改哪些方面?
    發表于 06-23 04:41

    可不可以將ad7763與dsp相連接?

    請問 可不可以將ad7763與dsp相連接,有具體連接方式嗎
    發表于 12-20 08:12

    紐扣電池各類型有什么特點到底可不可以充電

    本文是以紐扣電池為主題展開的,重要是討論有關紐扣電池可不可以充電的問題?不清楚的小伙伴看下文!
    發表于 08-29 17:18 ?5814次閱讀

    PFA管是透明的嗎,可不可以做彩色?

    PFA管是透明的嗎,可不可以做彩色? PFA管是由PFA原料做成的,PFA管的顏色也是有PFA原料的顏色決定的。追根溯源,我們看看PFA原料有哪些顏色? 以深圳君昇為例。我們在他們東莞車間看到
    發表于 09-18 15:09 ?1046次閱讀

    常規工字電感封裝尺寸可不可以進行變化

    電子發燒友網站提供《常規工字電感封裝尺寸可不可以進行變化.docx》資料免費下載
    發表于 04-14 09:34 ?0次下載

    隔離電源的地可不可以通過電容夸到大地

     在隔離電源的設計中,關于地的處理是一個重要的考慮因素。對于“隔離電源的地可不可以通過電容跨到大地”的問題,這通常取決于具體的應用場景和設計需求。
    的頭像 發表于 10-01 16:19 ?810次閱讀
    好运来百家乐官网的玩法技巧和规则 | 百家乐的赚钱原理| 玩百家乐官网五湖四海娱乐城| 大发888娱乐日博备用| 百家乐赢钱公式冯耕| 百家乐官网博欲乐城| 百家乐官网有多少种游戏| 澳门彩票| 1368棋牌游戏平台| 大发888 真钱娱乐场| 乐天百家乐的玩法技巧和规则| 做生意摆放老虎好不好| 百家乐官网鸿泰棋牌| 灌云县| 奇博国际娱乐网| 百家乐群bet20| 网上百家乐赌场娱乐网规则| 百家乐神仙道礼包| 海立方百家乐官网的玩法技巧和规则| 金城百家乐官网平台| 真人百家乐官网在线玩| 大亨百家乐官网娱乐城| 百家乐官网大赢家小说| 百家乐官网赢钱皇冠| 百家乐官网网址是多少| 百家乐官网娱乐城游戏| 浦城县| 建始县| 鸿胜娱乐城| 优博在线娱乐| 积石山| 百家乐官网游戏高手| 波音百家乐| 御金娱乐城| 德州扑克下载| 缅甸百家乐赌场娱乐网规则| 澳门百家乐怎么玩| 大发888客服电话 导航| 威尼斯人娱乐城官方地址| 蓝盾百家乐的玩法技巧和规则| 百家乐棋牌游戏源码|