Я пытаюсь понять следующий сценарий:
typedef enum logic [2:0] {
ONE, TWO, THREE, FOUR, FIVE
} enum_t;
Оператор case с типом enum_t
в выражении case:
enum_t case_expression;
logic [2:0] result;
case (case_expression)
ONE: result = 3'b000;
TWO: result = 3'b001;
THREE: result = 3'b010;
FOUR: result = 3'b011;
FIVE: result = 3'b100;
endcase
Я не уверен в следующем:
- Можно ли не использовать инструкцию
default case
дляresult
?case_expression
- этоenum
только с 5 действительными значениями. Однако это 3 бита. Так как же инструмент синтеза оценит эту логику? Будет ли выводиться защелка? - Все предметы в кейсе исключают друг друга. Могу ли я использовать ключевое слово
unique
здесь, чтобы помочь инструменту синтеза оптимизировать дизайн?
У меня не так много опыта в синтезе. Так что я буду признателен за любые отзывы. Спасибо!