Приоритетный шифратор с применением if else

//-----------------------------------------------------
// Имя модуля : pri_encoder_using_if
// Имя файла : pri_encoder_using_if.v
// Функц. назначение : Приоритетный шифратор с использованием if
// else
// Программист :portal-ed.ru/
//-----------------------------------------------------
module pri_encoder_using_if (
binary_out , // 4-битный двоичный выход
encoder_in , // 16-битный вход
enable // Разрешения работы шифратора
);
output [3:0] binary_out ;
input enable ;
input [15:0] encoder_in ;
reg [3:0] binary_out ;
always @ (enable or encoder_in)
begin
binary_out = 0;
if (enable) begin
if (encoder_in == {{14{1'bx}},1'b1,{1{1'b0}}}) begin
binary_out = 1;
end else if (encoder_in == {{13{1'bx}},1'b1,{2{1'b0}}}) begin
binary_out = 2;
end else if (encoder_in == {{12{1'bx}},1'b1,{3{1'b0}}}) begin
binary_out = 3;
end else if (encoder_in == {{11{1'bx}},1'b1,{4{1'b0}}}) begin
binary_out = 4;
end else if (encoder_in == {{10{1'bx}},1'b1,{5{1'b0}}}) begin
binary_out = 5;
end else if (encoder_in == {{9{1'bx}},1'b1,{6{1'b0}}}) begin
binary_out = 6;
end else if (encoder_in == {{8{1'bx}},1'b1,{7{1'b0}}}) begin
binary_out = 7;
end else if (encoder_in == {{7{1'bx}},1'b1,{8{1'b0}}}) begin
binary_out = 8;
end else if (encoder_in == {{6{1'bx}},1'b1,{9{1'b0}}}) begin
binary_out = 9;
end else if (encoder_in == {{5{1'bx}},1'b1,{10{1'b0}}}) begin
binary_out = 10;
end else if (encoder_in == {{4{1'bx}},1'b1,{11{1'b0}}}) begin
binary_out = 11;
end else if (encoder_in == {{3{1'bx}},1'b1,{12{1'b0}}}) begin
binary_out = 12;
end else if (encoder_in == {{2{1'bx}},1'b1,{13{1'b0}}}) begin
binary_out = 13;
end else if(encoder_in == {{1{1'bx}},1'b1,{14{1'b0}}}) begin
binary_out = 14;
end else if (encoder_in == {1'b1,{15{1'b0}}}) begin
binary_out = 15;
end
end
end
endmodule