У меня есть следующий код:
typedef enum logic [1:0] {
CMD1 = 2'b1?,
CMD2 = 2'b01,
CMD3 = 2'b00
} cmd_t;
По сути, если MSB равен 1, это CMD1 (я буду использовать LSB для части индекса). И если MSB равен 0, то декодируйте оставшиеся биты для команды.
Затем я пытаюсь декодировать с помощью Always_comb:
cmd_t myCmd;
always_comb begin
casez(myCmd)
CMD1: isCmd1 = 1'b1;
CMD2: isCmd1 = 1'b0;
default: isCmd1 = 1'b0;
endcase
end
К сожалению, я получаю это сообщение от Spyglass:
[12EE] W467 Based number 2'b1? contains a don't-care (?) - might lead to simulation/synthesis mismatch
Этот код должен быть синтезируемым, нет? Можно ли безопасно отменить это предупреждение Spyglass?