系统Verilog中的符号"::*"是什么意思?



此示例取自 uvm_users_guide_1.1 第 27 页:

`timescale 1ns/1ps
package a_pkg;
class a;
function void f(inout time t);
t += 10ns;
endfunction
endclass
endpackage

program p;
import a_pkg::*;
...
endprogram

::.一样吗?*代表什么?

请参阅 IEEE Std 1800-2017,第 26.3 节引用包中的数据::*语法是通配符导入,定义为:

通配符导入允许包中声明的所有标识符 如果标识符未在 导入范围

::是包范围解析运算符。*允许导入所有标识符,而不是导入显式名称标识符。

在您的示例中,它允许访问p程序中的a类。

最新更新