枚舉我有一個接口:系統的Verilog:內部接口
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;
的問題是從enum
值分配val
。
我可以將其指定爲:
intf.val = 0;
(和接收警告或錯誤)
但不如:
intf.val=VAL_0;
也不如
intf.val = my_intf.T_VAL.VAL_0
我如何克服這個問題?
爲了便於記錄,只有在模塊使用的modport列表中包含「val」時,最後的語法才能與Vivado配合使用。 – ted