【发布时间】:2014-03-05 06:22:51
【问题描述】:
我有一个界面:
interface my_intf();
typedef enum logic [1:0] {
VAL_0 = 2'b00,
VAL_1 = 2'b01,
VAL_2 = 2'b10,
VAL_3 = 2'b11
} T_VAL;
T_VAL val;
endinterface
我的模块使用这个接口:
my_intf intf;
问题是为val 分配一个来自enum 的值。
我可以将其分配为:
intf.val = 0;(并收到警告或错误)
但不是:
intf.val=VAL_0;
也不是
intf.val = my_intf.T_VAL.VAL_0
我如何克服这个问题?
【问题讨论】:
-
作为记录,最后一个语法仅在
val位于模块使用的 modport 列表中时才适用于 Vivado。
标签: interface enums system-verilog