我目前正在学习系统verilog,我试图更好地理解枚举和标准方法的工作原理。
我用
iverilog -g 2012 example.sv
中的Icarus Verilog version 11.0 (stable)
编译代码。
我收到错误
sorry: Enumeration method name() is not currently supported in this context (self-determined)
。
代码(示例.sv):
package test;
typedef enum {IDLE, LOAD} state_t;
endpackage
//-------------------------------
import test::state_t;
import test::IDLE;
module package_example;
state_t s = IDLE;
initial begin
$display("%d", s.name());
$finish;
end
endmodule
我也在网上搜索过,但没有找到任何有用的信息。有人可以解释一下发生了什么或者给我一个很好的理解起点吗?
谢谢
您的打印标志
%d
应该是 %s