wire [2:0] a, b;
wire [2:0] out;
assign out = a & b; // поразрядное "И". Участвуют все разряды операндов.
Теперь добавляем операцию сравнения с константой:
assign out = a & (c==2'b01) & b;
В этом случае старшие разряды a, b в вычислениях не участвуют, а
старшие разряды out устанавливаются в ноль (так говорит компилятор
квартуса).
Правильно ли я понимаю, что добавление сравнения с константой всегда
будет приводить к однобитовому результату не зависимо от разрядности
a,b и out ?