此示例取自 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
类。