У меня есть общий модуль c в моей библиотеке, который используется несколько раз в разных местах проекта. * тип, определенный в другом месте:
my_type_t ope, res;
generic #(
.WIDTH ($bits(ope))
) ope_res (
.a (ope),
.z (res)
);
Когда я компилирую, я получаю предупреждения о линтах в VCS:
Warning-[ENUMASSIGN] Illegal assignment to enum variable
...
Only expressions of the enum type can be assigned to an enum variable.
The type logic [WIDTH-1:0] is incompatible with the enum 'my_type_t'
Expression: z
Use the static cast operator to convert the expression to enum type.
Есть ли простой способ исправить это? Модуль generic
используется для разных type
s, поэтому он должен быть не- type
модулем.