SystemVerilog中单引号(')的含义是什么?

Vic*_*sky 4 verilog system-verilog

在OVM示例类中,我在构造函数中看到以下语句:

void'(get_config_int("num_packets", this.num_packets));
Run Code Online (Sandbox Code Playgroud)

void'(本声明中应该做的第一部分是什么?

Gre*_*reg 11

在这种情况下,单引号用于类型转换.该void'()void'(get_config_int("num_packets", this.num_packets));表示忽略从返回值get_config_int.

如果函数或表达式返回值没有分配给任何东西,那么一个好的模拟器应该发出警告.使用void'()显式告诉工具您希望忽略返回值而不会看到警告.

您可以可以使用其他类型转换过,比如int'(),MyPredefinedStruct'(),9'().请注意,在转换中给出常量将返回一个位向量.9'(4'b0101) == 9'b000_0101

有关更多说明和示例,请参阅IEEE Std 1800-2012并阅读第6.24节.