符号“::*”在 SystemVerilog 中是什么意思?
What does the notation "::*" mean in SystemVerilog?
此示例取自 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 标准 1800-2017,第 26.3 节引用包中的数据。 ::*
语法是通配符导入,定义为:
A wildcard import allows all identifiers declared within a package to
be imported provided the identifier is not otherwise defined in the
importing scope
::
是包范围解析运算符。 *
允许导入所有标识符,而不是显式导入名称标识符。
在您的示例中,它允许访问 p
程序中的 a
class。
此示例取自 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 标准 1800-2017,第 26.3 节引用包中的数据。 ::*
语法是通配符导入,定义为:
A wildcard import allows all identifiers declared within a package to be imported provided the identifier is not otherwise defined in the importing scope
::
是包范围解析运算符。 *
允许导入所有标识符,而不是显式导入名称标识符。
在您的示例中,它允许访问 p
程序中的 a
class。