SystemVerilog“struct”表示相同或不同數據類型的集合。
struct可以作為一個整體使用,也可以單獨通過名稱引用組成這個struct的元素。由于這些元素的數據類型可能不相同,所以不能夠使用數組。
如果需要在多個module或者類中使用相同的struct,則應該將struct定義(`typedef)放到SystemVerilog package中,然后將其導入到每個module或者class。
默認情況下,struct都是unpacked的,我們也可以顯式地加上關鍵字。下面是一個簡單的示例,展示了array和struct的區別。
// Normal arrays -> a collection of variables of same data type int array [10]; // all elements are of type ‘int’ bit [7:0] mem [256]; // all elements are of type ‘bit’ // Structures -> a collection of variables of same or different data types struct { byte val1; int val2; string val3; } DataValue;
當然,我們也可以定義一個數組,其中數組中的每一個數據項都是一個struct.
DataValue v1[20]; //array of structures struct { byte val1; int val2[10]; //array within a structure string val3; } DataValue;
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
Verilog
+關注
關注
28文章
1352瀏覽量
110446 -
System
+關注
關注
0文章
165瀏覽量
37092 -
Struct
+關注
關注
0文章
31瀏覽量
10903
原文標題:SystemVerilog中的struct
文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
SystemVerilog中的“const”類屬性
SystemVerilog中可以將類屬性聲明為常量,即“只讀”。目的就是希望,別人可以讀但是不能修改它的值。
發表于 11-29 10:25
?2188次閱讀
SystemVerilog的斷言手冊
SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
發表于 07-22 14:12
?20次下載
typedef struct的用法
typedef是類型定義的意思。typedef struct 是為了使用這個結構體方便。具體區別在于:若struct node{ }這樣來定義結構體的話。在定義 node 的結構體變量時,需要這樣寫:struct node n;
發表于 11-09 17:20
?3412次閱讀
SystemVerilog中$cast的應用
SystemVerilog casting意味著將一種數據類型轉換為另一種數據類型。在將一個變量賦值給另一個變量時,SystemVerilog要求這兩個變量具有相同的數據類型。
Systemverilog中的union
SystemVerilog union允許單個存儲空間以不同的數據類型存在,所以union雖然看起來和struct一樣包含了很多個成員,實際上物理上共享相同的存儲區域。
SystemVerilog中的Semaphores
SystemVerilog中Semaphore(旗語)是一個多個進程之間同步的機制之一,這里需要同步的原因是這多個進程共享某些資源。
C++中struct和class的區別?
C++中struct和class的區別是什么?C++中struct和class的最大區別在于: ? ? ? ? struct的成員默認是公有
Systemverilog中的Driving Strength講解
在systemverilog中,net用于對電路中連線進行建模,driving strength(驅動強度)可以讓net變量值的建模更加精確。
![<b class='flag-5'>Systemverilog</b><b class='flag-5'>中</b>的Driving Strength講解](https://file1.elecfans.com/web2/M00/89/AC/wKgaomSJcSWAUfCrAAF04gZw8WE916.jpg)
typedef struct和直接struct的區別
在C語言中, typedef 和 struct 是兩種不同的關鍵字,它們在定義和使用上有著明顯的區別。 typedef struct 和直接 struct 在 C 語言中用于定義結構體類型,但它們在
評論