noo*_*ntu 1 system-verilog uvm
是否有一种机制可以将systemverilog包作为另一个名称导入,类似于Python中可用的名称?
我有一个我需要导入的包,包的名称是top_pkg
.我想将其导入为subsystem_pkg
有一种机制,但这并不容易.你可以做的是创建一个subsystem_pkg
导入top_pkg
.然后你可以export
导入所有符号,top_pkg
这样它们就会像在内部直接声明一样出现.subsystem_pkg
通常,只有那些在包内声明的符号才能导入,而不是包导入的符号(有时称为导入链).该export
命令链接导入.
为此目的难以实现的原因是通配符用于进口和出口.您想要链接的每个符号都必须显式出现在链接包中.例如
package top_pkg;
int a,b,c,d;
endpackage
package subsystem;
import top_pkg::*;
import top_pkg::b;
export top_pkg::*;
export top_pkg::c;
int e = d;
endpackage
Run Code Online (Sandbox Code Playgroud)
第一个import
声明说要在top_pkg 候选者中输入所有符号进行输入; 它实际上并没有导入任何东西.第二个import语句显式导入b
.第一个export
语句说要导出从中导入的任何符号,top_pkg
此时此符号仅为b
.第二个export
语句隐式导入,然后显式导出c
.最后一个语句导致隐式导入d
,以及隐式导出'd'.
因此,当您导入时subsystem_pkg
,您将获得符号b,c和d top_pkg
以及本地声明的`e.
归档时间: |
|
查看次数: |
1286 次 |
最近记录: |