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

时间:2013-05-08 01:10:12

标签: verilog system-verilog

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

void'(get_config_int("num_packets", this.num_packets));

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

1 个答案:

答案 0 :(得分: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节。