`timescale 1ns/1ns
module encoder_0(
input [8:0] I_n ,
output reg [3:0] Y_n
);
always @(*) begin
case(I_n)
9'b111111111: Y_n = 4'b1111;
9'b011111111: Y_n = 4'b1110;
default: begin
if(I_n[8] == 0)
Y_n = 4'b0110;
else begin
if(I_n[7] == 0)
Y_n = 4'b0111;
else begin
if(I_n[6] == 0)
Y_n = 4'b1000;
else begin
if(I_n[5] == 0)
Y_n = 4'b1001;
else begin
if(I_n[4] == 0)
Y_n = 4'b1010;
else begin
if(I_n[3] == 0)
Y_n = 4'b1011;
else begin
if(I_n[2] == 0)
Y_n = 4'b1100;
else begin
if(I_n[1] == 0)
Y_n = 4'b1101;
else begin
if(I_n[0] == 0)
Y_n = 4'b1110;
end
end
end
end
end
end
end
end
end
endcase
end
endmodule
module encoder_0(
input [8:0] I_n ,
output reg [3:0] Y_n
);
always @(*) begin
case(I_n)
9'b111111111: Y_n = 4'b1111;
9'b011111111: Y_n = 4'b1110;
default: begin
if(I_n[8] == 0)
Y_n = 4'b0110;
else begin
if(I_n[7] == 0)
Y_n = 4'b0111;
else begin
if(I_n[6] == 0)
Y_n = 4'b1000;
else begin
if(I_n[5] == 0)
Y_n = 4'b1001;
else begin
if(I_n[4] == 0)
Y_n = 4'b1010;
else begin
if(I_n[3] == 0)
Y_n = 4'b1011;
else begin
if(I_n[2] == 0)
Y_n = 4'b1100;
else begin
if(I_n[1] == 0)
Y_n = 4'b1101;
else begin
if(I_n[0] == 0)
Y_n = 4'b1110;
end
end
end
end
end
end
end
end
end
endcase
end
endmodule