SystemVerilog“struct”表示相同或不同數(shù)據(jù)類型的集合。
struct可以作為一個整體使用,也可以單獨通過名稱引用組成這個struct的元素。由于這些元素的數(shù)據(jù)類型可能不相同,所以不能夠使用數(shù)組。
如果需要在多個module或者類中使用相同的struct,則應(yīng)該將struct定義(`typedef)放到SystemVerilog package中,然后將其導(dǎo)入到每個module或者class。
默認(rèn)情況下,struct都是unpacked的,我們也可以顯式地加上關(guān)鍵字。下面是一個簡單的示例,展示了array和struct的區(qū)別。
// 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;
當(dāng)然,我們也可以定義一個數(shù)組,其中數(shù)組中的每一個數(shù)據(jù)項都是一個struct.
DataValue v1[20]; //array of structures struct { byte val1; int val2[10]; //array within a structure string val3; } DataValue;
審核編輯:湯梓紅
-
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110074 -
System
+關(guān)注
關(guān)注
0文章
165瀏覽量
36928 -
Struct
+關(guān)注
關(guān)注
0文章
31瀏覽量
10864
原文標(biāo)題:SystemVerilog中的struct
文章出處:【微信號:芯片驗證工程師,微信公眾號:芯片驗證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論