在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

SystemVerilog中的類的賦值

芯片驗(yàn)證工程師 ? 來源:芯片驗(yàn)證工程師 ? 作者:芯片驗(yàn)證工程師 ? 2022-11-21 10:35 ? 次閱讀

當(dāng)我們聲明一個類時還沒有分配內(nèi)存,只有在實(shí)例化(new())時才會分配內(nèi)存。這個時候?qū)ο缶浔?strong>指向被分配的內(nèi)存,下面是對象句柄賦值的示例:

class PCI;
 ……
 endclass
 PCI p1; //a variable 'p1' of type PCI is created.
 //Memory is not allocated.
 p1 = new; //this is where memory is allocated for 'p1'.

 PCI p2;
 p2 = p1; //class assignment

在上面的例子中,p2是一個PCI類型的變量(尚未完成實(shí)例化分配內(nèi)存),而p1是一個完成了實(shí)例化的對象句柄。

當(dāng)賦值p2 = p1時,實(shí)際上還是只有一個對象,“p1”和“P2”對象句柄現(xiàn)在都指向相同的內(nèi)存空間。

正因?yàn)樗鼈兌贾赶蛳嗤膬?nèi)存空間,所以“p1”對象的變化將反映到“p2”對象,反之亦然。

96fac5d6-675d-11ed-8abf-dac502259ad0.png

module class_TOP( );
 class PCITop;
 logic [31:0] addr;
 logic [31:0] data;
 function void disp (string instName);
 
 $display("[%s] addr = %h data = %h", instName, 
addr, data);
 endfunction
 endclass : PCITop
 
 PCITop PCI1, PCI2;
 
 initial begin;
 PCI1 = new;//create object PCI1
 PCI2 = PCI1; //class assignment
 PCI1.addr = 'h1234_5678; //using PCI1 handle
 PCI1.data = 'hf0f0_f0f0;
 PCI1.disp("PCI1");
 PCI2.disp("PCI2");
 PCI2.addr = 'h8765_4321; //using PCI2 handle
 PCI2.data = 'hff_0101;
 PCI1.disp("PCI1");
 PCI2.disp("PCI2");
 end
 endmodule

仿真log:

[PCI1] addr = 12345678 data = f0f0f0f0
[PCI2] addr = 12345678 data = f0f0f0f0
[PCI1] addr = 87654321 data = ffff0101
[PCI2] addr = 87654321 data = ffff0101
 V C S S i m u l a t i o n R e p o r t

上面的例子中,我們對對象“PCI1”的修改能反映到“PCI2”,對對象“PCI2”的修改也反映到了“PCI1”。

審核編輯:湯梓紅

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

    關(guān)注

    8

    文章

    3111

    瀏覽量

    75025
  • Verilog
    +關(guān)注

    關(guān)注

    29

    文章

    1366

    瀏覽量

    111905
  • System
    +關(guān)注

    關(guān)注

    0

    文章

    166

    瀏覽量

    37597

原文標(biāo)題:SystemVerilog中的類的賦值

文章出處:【微信號:芯片驗(yàn)證工程師,微信公眾號:芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

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

    SystemVerilog構(gòu)造函數(shù)new

    systemverilog,如果一個沒有顯式地聲明構(gòu)造函數(shù)(new()),那么編譯仿真工具會自動提供一個隱式的new()函數(shù)。這個new函數(shù)會默認(rèn)地將所有屬性變量。
    發(fā)表于 11-16 09:58 ?3926次閱讀

    SystemVerilog的Virtual Methods

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

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

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

    在testbench如何使用阻塞賦值和非阻塞賦值

    本文詳細(xì)闡述了在一個testbench,應(yīng)該如何使用阻塞賦值與非阻塞賦值。首先說結(jié)論,建議在testbench,對時鐘信號(包括分頻時鐘)使用阻塞
    的頭像 發(fā)表于 04-15 09:34 ?559次閱讀
    在testbench<b class='flag-5'>中</b>如何使用阻塞<b class='flag-5'>賦值</b>和非阻塞<b class='flag-5'>賦值</b>

    SpinalHDLBundle與普通數(shù)據(jù)類型之間的連接賦值轉(zhuǎn)換

    SpinalHDLBundle與SystemVerilog的packed struct很像,在某些場景下,與普通數(shù)據(jù)類型之間的連接賦值可以通過asBits,assignFromBi
    發(fā)表于 10-18 14:22

    更好地理解SystemVerilog的多態(tài)Polymorphism

    多態(tài)(Polymorphism) ,從字面意思上看指的是多種形式,在OOP(面向?qū)ο缶幊?中指的是同一個父的函數(shù)可以體現(xiàn)為不同的行為。在SystemVerilog,指的是我們可以使用父
    發(fā)表于 12-05 17:34

    PHP傳值賦值和引用賦值的詳細(xì)資料詳解

    本文檔的主要內(nèi)容詳細(xì)介紹的是PHP傳值賦值和引用賦值的詳細(xì)資料詳解。
    發(fā)表于 03-06 17:04 ?5次下載
    PHP<b class='flag-5'>中</b>傳值<b class='flag-5'>賦值</b>和引用<b class='flag-5'>賦值</b>的詳細(xì)資料詳解

    SystemVerilog$cast的應(yīng)用

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

    SystemVerilog的struct

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

    SystemVerilog的Shallow Copy

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

    數(shù)字硬件建模SystemVerilog-組合邏輯建模(1)連續(xù)賦值語句

    SystemVerilog有三種在可綜合RTL級別表示組合邏輯的方法:連續(xù)賦值語句、always程序塊和函數(shù)。接下來幾篇文章將探討每種編碼風(fēng)格,并推薦最佳實(shí)踐編碼風(fēng)格。
    的頭像 發(fā)表于 12-07 15:31 ?1911次閱讀

    SystemVerilog的Semaphores

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

    verilog阻塞賦值和非阻塞賦值的區(qū)別

    阻塞賦值操作符用等號(即 = )表示。“阻塞”是指在進(jìn)程語句(initial和always),當(dāng)前的賦值語句阻斷了其后的語句,也就是說后面的語句必須等到當(dāng)前的賦值語句執(zhí)行完畢才能執(zhí)行
    發(fā)表于 12-19 16:49 ?8154次閱讀

    簡述python空和實(shí)例屬性賦值

    python主體沒有任何內(nèi)容,只有pass語句,稱為空。 ## 1.2 obj.attr屬性賦值 通過obj.attr=value進(jìn)行和實(shí)例屬性
    的頭像 發(fā)表于 02-21 10:30 ?1313次閱讀

    SystemVerilog:處理信號雙驅(qū)動問題解析

    SystemVerilog,類型可以分為線網(wǎng)(net)和變量(variable)。線網(wǎng)的賦值設(shè)定與Verilog的要求相同,即線網(wǎng)賦值需要使用連續(xù)
    的頭像 發(fā)表于 10-13 14:53 ?2911次閱讀
    <b class='flag-5'>SystemVerilog</b>:處理信號雙驅(qū)動問題解析
    主站蜘蛛池模板: 午夜影院7cdy | 欧美天堂色| 天天摸天天草 | 午夜影视剧场 | aa在线免费观看 | 夜夜爽天天操 | 中文字幕色网站 | 伊人网址 | 国产乱码免费卡1卡二卡3卡四 | 麻豆色哟哟网站 | 成人伊人亚洲人综合网站222 | 日韩色网 | 五月综合色啪 | 天天干天天曰 | 欧美性喷潮xxxx | 可以在线看黄的网站 | 色婷婷亚洲十月十月色天 | 天堂综合 | 精品视频网站 | 就操成人网 | 巨骚综合网 | 综合激情网五月 | 人人草人人插 | 99久久精品费精品国产一区二 | 国产国拍亚洲精品mv在线观看 | 成人在线观看网站 | 一本大道一卡二卡四卡 | 成人黄色免费观看 | 欧美成人全部免费观看1314色 | 天天色综合久久 | 狠狠操精品视频 | 天堂网免费 | 午夜影院一区二区三区 | 51影院在线观看成人免费 | 欧美69xx性欧美 | 天天免费视频 | 亚洲欧美圣爱天天综合 | 日韩美香港a一级毛片 | 亚洲一级毛片在线观播放 | 黄色录像大全 | 久久国产乱子伦精品免 |