SystemVerilog packages提供了對(duì)于許多不同數(shù)據(jù)類型的封裝,包括變量、task、function、assertion等等,以至于可以在多個(gè)module中共享。
簡(jiǎn)單來(lái)說(shuō),package就是一個(gè)命名空間。
package myPack;
typedef struct {
int i;
int j;
} cStruct;
function cStruct add (cStruct a , b);
add.i = a.i + b.i;
add.j = a.j + b.j;
endfunction
endpackage
module top (
//referencing package item 'cStruct' of myPack
output myPack::cStruct cout,
input myPack::cStruct a , b
);
//referencing 'add' function of myPack
assign cout = myPack::add(a , b);
endmodule
在上面的例子中,我們聲明了一個(gè)package “myPack” ,其中聲明了一個(gè)struct數(shù)據(jù)類型“cStruct”和一個(gè)function “add.” 在module “top”中,我們使用package中的“cStruct”數(shù)據(jù)類型作為module的輸入輸出。
我們?cè)谝胮ackage中成員使用了:
myPack::**
另外一種方式就是import了,import之后就無(wú)需在引用package中的成員時(shí)使用“myPack::”
審核編輯:湯梓紅
-
Verilog
+關(guān)注
關(guān)注
30文章
1369瀏覽量
113880 -
System
+關(guān)注
關(guān)注
0文章
166瀏覽量
38382 -
Package
+關(guān)注
關(guān)注
0文章
26瀏覽量
11094
原文標(biāo)題:SystemVerilog中的package
文章出處:【微信號(hào):芯片驗(yàn)證工程師,微信公眾號(hào):芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
SystemVerilog中的Virtual Methods
SystemVerilog中的“const”類屬性
看一下SystemVerilog中package的使用方法與注意事項(xiàng)
請(qǐng)問Systemverilog中如何使用VHDL的package?
SystemVerilog的斷言手冊(cè)
SystemVerilog for Design(Secon
SystemVerilog中$cast的應(yīng)用
SystemVerilog中的操作方法
SystemVerilog中可以嵌套的數(shù)據(jù)結(jié)構(gòu)
SystemVerilog中的package和`include有什么不同?
SystemVerilog中的Shallow Copy
SystemVerilog中的Semaphores
Systemverilog中的Driving Strength講解

SystemVerilog中的package
評(píng)論