Vic*_*sky 5 enums system-verilog
如果我收到一个枚举:
my_cmd cmd = my_cmd'(value_from_bus);
Run Code Online (Sandbox Code Playgroud)
如何轻松检查这cmd是一个有效的cmd?
typedef enum int {
ADD = 1,
SUBTRACT = 3,
MULTIPLY = 7
} my_cmd;
Run Code Online (Sandbox Code Playgroud)
您还可以使用$cast它来检查它是否有效,并同时复制.因此cmd = my_cmd'(value_from_bus);,您可以这样做:而不是:
if ($cast(cmd, value_from_bus))
$display("Valid: %s", cmd.name());
else
$display("Invalid");
Run Code Online (Sandbox Code Playgroud)
EDA游乐场的示例