SystemVerilog union允許單個(gè)存儲(chǔ)空間以不同的數(shù)據(jù)類(lèi)型存在,所以u(píng)nion雖然看起來(lái)和struct一樣包含了很多個(gè)成員,實(shí)際上物理上共享相同的存儲(chǔ)區(qū)域。
結(jié)構(gòu)體占用的內(nèi)存空間是其中所有成員的存儲(chǔ)空間之和,而聯(lián)合體所占用的存儲(chǔ)空間是等于其中所有成員中最大的存儲(chǔ)空間。
union { int a; byte b; bit [15:0] c; } data;
在上面的例子中,由于占用最大存儲(chǔ)空間的成員是int a,所以這個(gè)聯(lián)合體的存儲(chǔ)空間是32bit,示意圖如下
而對(duì)于結(jié)構(gòu)體
struct { int a; byte b; bit [15:0] c; } data;
所占用的存儲(chǔ)空間是所有成員之和。示意圖如下
審核編輯:湯梓紅
-
Verilog
+關(guān)注
關(guān)注
28文章
1352瀏覽量
110449 -
System
+關(guān)注
關(guān)注
0文章
165瀏覽量
37092 -
結(jié)構(gòu)體
+關(guān)注
關(guān)注
1文章
130瀏覽量
10873 -
union
+關(guān)注
關(guān)注
0文章
10瀏覽量
4305
原文標(biāo)題:Systemverilog中的union
文章出處:【微信號(hào):芯片驗(yàn)證工程師,微信公眾號(hào):芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論