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

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

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

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

數(shù)字硬件建模SystemVerilog-結(jié)構(gòu)體

OpenFPGA ? 來(lái)源:OpenFPGA ? 作者:OpenFPGA ? 2022-06-30 09:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)字硬件建模SystemVerilog-結(jié)構(gòu)體(二)

ad48a850-f80c-11ec-ba43-dac502259ad0.png

結(jié)構(gòu)體

結(jié)構(gòu)體用于將多個(gè)變量組合在一個(gè)通用名稱下。設(shè)計(jì)通常具有邏輯信號(hào)組,例如總線協(xié)議的控制信號(hào),或狀態(tài)控制器內(nèi)使用的信號(hào)。結(jié)構(gòu)體提供了將這些相關(guān)變量捆綁在一起的方法。結(jié)構(gòu)體中的所有變量都可以單個(gè)賦值,或者每個(gè)變量都可以單獨(dú)賦值。結(jié)構(gòu)體包可以復(fù)制到具有相同定義的另一個(gè)結(jié)構(gòu)體,并通過(guò)模塊端口、任務(wù)或函數(shù)進(jìn)出。

結(jié)構(gòu)體復(fù)制

一個(gè)自定義結(jié)構(gòu)體可以復(fù)制到另一個(gè)自定義結(jié)構(gòu)體,只要這兩個(gè)結(jié)構(gòu)體是從同一個(gè)自定義結(jié)構(gòu)體定義聲明的。以下示例使用了上節(jié)中所示的結(jié)構(gòu)體定義和聲明。

匿名結(jié)構(gòu)體不能作為一個(gè)整體復(fù)制,但可以一次復(fù)制一個(gè)成員:

ad5d799c-f80c-11ec-ba43-dac502259ad0.png

壓縮和非壓縮結(jié)構(gòu)體

默認(rèn)情況下,結(jié)構(gòu)體會(huì)被非壓縮的。這意味著結(jié)構(gòu)體的成員被視為獨(dú)立變量或常量,并以一個(gè)共同的名稱分組在一起。SystemVerilog沒(méi)有指定軟件工具應(yīng)該如何存儲(chǔ)非壓縮結(jié)構(gòu)體的成員。不同的軟件工具具對(duì)于結(jié)構(gòu)體的存儲(chǔ)分布也是不同的。

通過(guò)使用關(guān)鍵字packed,將結(jié)構(gòu)體顯式聲明為壓縮結(jié)構(gòu)體。

ad70cfc4-f80c-11ec-ba43-dac502259ad0.png

壓縮結(jié)構(gòu)體以與向量相同的形式將結(jié)構(gòu)體的所有成員存儲(chǔ)為連續(xù)位。結(jié)構(gòu)體的第一個(gè)成員是向量最左邊的字段。結(jié)構(gòu)體中最后一個(gè)成員的最右邊的位是向量的最低有效位,編號(hào)為位0。如圖4-2所示。

ad8710c2-f80c-11ec-ba43-dac502259ad0.png

圖4-2:壓縮結(jié)構(gòu)體存儲(chǔ)為向量

壓縮結(jié)構(gòu)體的所有成員都必須是整數(shù)值。整數(shù)值是可以表示為向量的值,例如byte、int和使用bit或logic類型創(chuàng)建的向量。如果結(jié)構(gòu)體的任何成員不能表示為向量,則該結(jié)構(gòu)體不能被壓縮。這意味著壓縮結(jié)構(gòu)體不能包含實(shí)數(shù)或短實(shí)數(shù)變量、非壓縮結(jié)構(gòu)體、非壓縮聯(lián)合體體或非壓縮的數(shù)組。

引用壓縮結(jié)構(gòu)體和結(jié)構(gòu)體成員。壓縮結(jié)構(gòu)體可以復(fù)制,或分配一個(gè)結(jié)構(gòu)體表達(dá)式值列表,方法與非壓縮結(jié)構(gòu)體相同。壓縮結(jié)構(gòu)體的成員可以通過(guò)成員名稱引用,方式與非壓縮結(jié)構(gòu)體相同。

壓縮結(jié)構(gòu)體也可以被視為一個(gè)向量。因此,除了結(jié)構(gòu)體分配,向量值還可以分配給壓縮結(jié)構(gòu)體

ad9eaf84-f80c-11ec-ba43-dac502259ad0.png

向量賦值是合法的,因?yàn)橘x值左邊的結(jié)構(gòu)體成員已壓縮在一起,形成一組連續(xù)的位,方式與向量相同。因?yàn)閴嚎s結(jié)構(gòu)體存儲(chǔ)為一組連續(xù)的位,所以對(duì)壓縮結(jié)構(gòu)體執(zhí)行向量操作也是合法的,包括位選擇和部分選擇。以下兩個(gè)賦值都將分配給data_word的tag成員:

adb4bff4-f80c-11ec-ba43-dac502259ad0.png

可以在向量上執(zhí)行的數(shù)學(xué)運(yùn)算、邏輯運(yùn)算和任何其他運(yùn)算也可以在壓縮結(jié)構(gòu)體上執(zhí)行。

有符號(hào)壓縮結(jié)構(gòu)體。壓縮結(jié)構(gòu)體可以用signed和unsigned關(guān)鍵字聲明。當(dāng)在運(yùn)算或關(guān)系運(yùn)算中用作向量時(shí),這些修飾符會(huì)影響整個(gè)結(jié)構(gòu)體的識(shí)別方式。它們不會(huì)影響結(jié)構(gòu)體成員的識(shí)別方式。結(jié)構(gòu)體的每個(gè)成員都被視為有符號(hào)或無(wú)符號(hào),這取決于該成員的類型聲明。壓縮結(jié)構(gòu)體的部分選擇是無(wú)符號(hào)的,與向量的部分選擇相同。

adcd0686-f80c-11ec-ba43-dac502259ad0.png

通過(guò)端口傳遞結(jié)構(gòu)體

自定義結(jié)構(gòu)體可以通過(guò)模塊和接口的端口傳遞,結(jié)構(gòu)體必須首先使用 typedef 定義為用戶自定義數(shù)據(jù)類型,然后才允許將模塊或接口的端口聲明為結(jié)構(gòu)體類型。

ade708c4-f80c-11ec-ba43-dac502259ad0.png

非壓縮的結(jié)構(gòu)體必須是自定義結(jié)構(gòu)體,才能通過(guò)端口傳遞該結(jié)構(gòu)體。與端口的連接必須是與端口類型完全相同的結(jié)構(gòu)體。也就是說(shuō),端口和端口兩側(cè)的連接都必須從相同的typedef定義聲明。此限制僅適用于非壓縮結(jié)構(gòu)體。通過(guò)模塊端口的壓縮結(jié)構(gòu)體被視為向量。端口的外部連接可以是相同類型的壓縮結(jié)構(gòu)體,也可以是任何類型的向量。

通過(guò)將任務(wù)或函數(shù)參數(shù)聲明為結(jié)構(gòu)體類型,自定義結(jié)構(gòu)體也可以作為參數(shù)傳遞給任務(wù)或函數(shù)。

adfc7dbc-f80c-11ec-ba43-dac502259ad0.png

當(dāng)調(diào)用一個(gè)任務(wù)或函數(shù)時(shí),如果該任務(wù)或函數(shù)有一個(gè)非壓縮的結(jié)構(gòu)體作為正式參數(shù)菜單,則必須將一個(gè)完全相同類型的結(jié)構(gòu)體傳遞給該任務(wù)或函數(shù)。壓縮結(jié)構(gòu)體形式參數(shù)被視為向量,可以傳遞給任何類型的向量。

傳統(tǒng)的Verilog與結(jié)構(gòu)體

最初的Verilog語(yǔ)言沒(méi)有一種方便的機(jī)制來(lái)將常見(jiàn)信號(hào)收集到一個(gè)組中。在傳統(tǒng)的Verilog樣式的模型中,工程師必須使用特殊的分組方法,例如命名約定,其中一組中的每個(gè)信號(hào)都以一組公共字符開(kāi)始或結(jié)束。最初的Verilog語(yǔ)言也無(wú)法通過(guò)模塊端口或任務(wù)和函數(shù)傳遞信號(hào)集合,每個(gè)信號(hào)都必須通過(guò)單獨(dú)的端口或參數(shù)傳遞。

在原始Verilog語(yǔ)言中添加結(jié)構(gòu)體是一種強(qiáng)大的RTL建模構(gòu)造,反之亦然。它提供了一種更簡(jiǎn)潔、更直觀、更可重用的復(fù)雜模型功能建模方法。包中定義的自定義結(jié)構(gòu)體可以在多個(gè)模塊中重復(fù)使用,也可以在用于驗(yàn)證RTL模型的驗(yàn)證測(cè)試臺(tái)中重復(fù)使用。

綜合指導(dǎo)

非壓縮結(jié)構(gòu)體和壓縮結(jié)構(gòu)體都是可綜合的。綜合工具支持結(jié)構(gòu)體通過(guò)模塊端口傳遞 , 也支持作為輸入或輸出傳遞給任務(wù)和函數(shù) , 也支持使用成員名和值的列表對(duì)結(jié)構(gòu)體進(jìn)行賦值。

綜合編譯器可能比壓縮結(jié)構(gòu)體更好地優(yōu)化非壓縮結(jié)構(gòu)體。非壓縮結(jié)構(gòu)體允許軟件工具確定存儲(chǔ)或?qū)崿F(xiàn)每個(gè)結(jié)構(gòu)體成員的最佳方式,而壓縮結(jié)構(gòu)體則決定如何組織每個(gè)成員。

ae189c40-f80c-11ec-ba43-dac502259ad0.jpg

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    614

    瀏覽量

    28961
  • 控制信號(hào)
    +關(guān)注

    關(guān)注

    0

    文章

    194

    瀏覽量

    12322
  • 結(jié)構(gòu)體
    +關(guān)注

    關(guān)注

    1

    文章

    131

    瀏覽量

    11115

原文標(biāo)題:SystemVerilog-結(jié)構(gòu)體(二)

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    定義IO初始化結(jié)構(gòu)

    由上述IOPORT相關(guān)功能的枚舉類型我們可以知道,在對(duì)IOPORT模塊進(jìn)行初始化時(shí)需要根據(jù)情況配置它們。因此我們定義一個(gè)IOPORT初始化的結(jié)構(gòu)類型IOPORT_Init_t,它的成員包括了由上述所有枚舉類型所聲明的變量,因此該結(jié)構(gòu)
    的頭像 發(fā)表于 07-16 16:26 ?541次閱讀

    滲壓計(jì)在混凝土結(jié)構(gòu)中的安裝指南

    在現(xiàn)代土木工程和巖土工程中,滲壓計(jì)是監(jiān)測(cè)混凝土結(jié)構(gòu)體內(nèi)孔隙水壓力變化的重要工具。南京峟思公司生產(chǎn)的滲壓計(jì)因其高精度和可靠性而被廣泛應(yīng)用于各種工程監(jiān)測(cè)項(xiàng)目中。一、滲壓計(jì)在混凝土結(jié)構(gòu)中的應(yīng)用價(jià)值滲壓計(jì)
    的頭像 發(fā)表于 05-28 10:55 ?157次閱讀
    滲壓計(jì)在混凝土<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>體</b>中的安裝指南

    索尼FCB-ER8530:三維建模與視覺(jué)感知的跨界融合

    數(shù)字化浪潮中,三維建模技術(shù)正重塑工業(yè)設(shè)計(jì)、文化遺產(chǎn)保護(hù)與智慧城市管理等領(lǐng)域,而索尼FCB-ER8530一化攝像機(jī)模組憑借其4K超高清成像與智能感知能力,成為這一進(jìn)程中的關(guān)鍵硬件支撐
    的頭像 發(fā)表于 05-19 17:30 ?205次閱讀

    GLAD應(yīng)用:全息光柵模擬

    用于模擬全息記錄介質(zhì)中形成的梯度折射率分布。全息結(jié)構(gòu)一旦形成,就可以在傳輸過(guò)程中將一束入射光波逐漸轉(zhuǎn)換成形成體全息結(jié)構(gòu)的另一束光波。兩束光波之間的能量傳遞轉(zhuǎn)換效率與全息
    發(fā)表于 05-15 09:32

    Adams多動(dòng)力學(xué)仿真解決方案全面解析

    Adams/Controls機(jī)電液控系統(tǒng)聯(lián)合仿真機(jī)器人、航空航天 Adams/Flex柔性動(dòng)力學(xué)分析輕量化結(jié)構(gòu)設(shè)計(jì) Adams/View參數(shù)化建模與可視化前處理概念設(shè)計(jì)階段驗(yàn)證 三、關(guān)鍵技術(shù)
    發(fā)表于 04-17 17:24

    基于VT系統(tǒng)的MCU硬件在環(huán)建模與仿真應(yīng)用分析

    在新能源汽車行業(yè)快速發(fā)展的背景下,電機(jī)控制器(MCU)作為核心部件,其開(kāi)發(fā)和測(cè)試的重要性日益增加。為了在開(kāi)發(fā)早期階段快速驗(yàn)證應(yīng)用層算法功能及基礎(chǔ)軟件質(zhì)量,硬件在環(huán)(HIL)測(cè)試技術(shù)應(yīng)運(yùn)而生。本文分析
    的頭像 發(fā)表于 04-16 10:07 ?564次閱讀
    基于VT系統(tǒng)的MCU<b class='flag-5'>硬件</b>在環(huán)<b class='flag-5'>建模</b>與仿真應(yīng)用分析

    C語(yǔ)言中結(jié)構(gòu)與聯(lián)合體的深度解析:內(nèi)存布局與應(yīng)用場(chǎng)景

    一、基礎(chǔ)概念與核心差異 1.1 結(jié)構(gòu)(Struct)的本質(zhì) **結(jié)構(gòu)是C語(yǔ)言中實(shí)現(xiàn)數(shù)據(jù)封裝的基石,其核心特征在于內(nèi)存獨(dú)立性。每個(gè)成員變量在內(nèi)存中按聲明順序依次排列,形成連續(xù)的內(nèi)存塊
    發(fā)表于 04-08 09:18

    VirtualLab Fusion應(yīng)用:泰伯效應(yīng)的建模

    摘要 Talbot效應(yīng)是一種眾所周知的近場(chǎng)衍射效應(yīng)。當(dāng)周期結(jié)構(gòu)(例如,一個(gè)光柵)被準(zhǔn)直的光照射時(shí),在該光柵后面的特定規(guī)則間隔,可以觀察到其重建圖像。分隔這兩個(gè)平面的具體距離被稱為T(mén)albot距離,以
    發(fā)表于 02-26 08:52

    VirtualLab Fusion應(yīng)用:用于抑制高衍射級(jí)次的角濾波光柵

    ,以抑制不需要的高衍射階數(shù)。為此,首先分析了光柵的角度靈敏度。 最后,通過(guò)使用 VirtualLab Fusion 進(jìn)行仿真,顯示了對(duì)不期望的高衍射級(jí)次的抑制效果。 建模任務(wù) volume
    發(fā)表于 12-09 12:51

    結(jié)構(gòu)成員的順序會(huì)影響結(jié)構(gòu)的大小嗎

    相同的結(jié)構(gòu)成員,如果把順序調(diào)整一下,會(huì)不會(huì)影響結(jié)構(gòu)的大?。?答案是會(huì)的,這主要跟字節(jié)對(duì)齊有關(guān)。 比如這樣的結(jié)構(gòu)
    的頭像 發(fā)表于 11-25 16:24 ?563次閱讀

    基于容性能量轉(zhuǎn)移原理的DC-DC變換器建模問(wèn)題

    圖一為拓?fù)?b class='flag-5'>結(jié)構(gòu),圖二為運(yùn)行時(shí)的波形,圖三為單相結(jié)構(gòu)。 其工作原理為控制開(kāi)關(guān)閥交替導(dǎo)通,使儲(chǔ)能橋臂交替連接至高壓側(cè)和低壓側(cè),實(shí)現(xiàn)能量的傳遞,子模塊為半橋子模塊。目前相對(duì)單相結(jié)構(gòu)進(jìn)行建模
    發(fā)表于 11-07 20:41

    C語(yǔ)言和C++中結(jié)構(gòu)的區(qū)別

    同樣是結(jié)構(gòu),看看在C語(yǔ)言和C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?771次閱讀

    使用C2000 MCU對(duì)用于數(shù)字控制的雙向降壓/升壓轉(zhuǎn)換器進(jìn)行建模

    電子發(fā)燒友網(wǎng)站提供《使用C2000 MCU對(duì)用于數(shù)字控制的雙向降壓/升壓轉(zhuǎn)換器進(jìn)行建模.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 11:48 ?0次下載
    使用C2000 MCU對(duì)用于<b class='flag-5'>數(shù)字</b>控制的雙向降壓/升壓轉(zhuǎn)換器進(jìn)行<b class='flag-5'>建模</b>

    帶你認(rèn)識(shí)貼片一成型電感的材料結(jié)構(gòu)

    貼片一成型電感(也被稱為模壓電感)是一種具有特殊結(jié)構(gòu)和材料組成的電子元件。其材料結(jié)構(gòu)主要包括以下幾個(gè)方面: 一、主要材料 1. 金屬粉末 核心材料:一成型電感的主要材料是金屬粉末,
    的頭像 發(fā)表于 08-07 16:01 ?1084次閱讀
    帶你認(rèn)識(shí)貼片一<b class='flag-5'>體</b>成型電感的材料<b class='flag-5'>結(jié)構(gòu)</b>

    聚徽觸控-教學(xué)一機(jī)怎么檢查硬件配置

    教學(xué)一機(jī)檢查硬件配置的方法如下:
    的頭像 發(fā)表于 07-21 11:19 ?993次閱讀