Как определить параметризованный мультиплексор с помощью SystemVerilog
Я пытаюсь создать модуль, который переключает х входных пакетов данных в один выходной пакет в соответствии с одним горячим входом.
Если бы х было фиксированным значением 4, я бы просто создал оператор case,
case (onehot)
4'b0001 : o_data = i_data[0];
4'b0010 : o_data = i_data[1];
4'b0100 : o_data = i_data[2];
4'b1000 : o_data = i_data[3];
default : o_data = 'z;
endcase
Но с переменной x, как мне определить все случаи?
Благодарю.