`timescale 1ns/1ns module encoder_0( input [8:0] I_n , output reg [3:0] Y_n ); always @(*) begin casex(I_n) 9'b1111_1111_1: assign Y_n=4'b1111; 9'b0???_????_?: assign Y_n=4'b0110; 9'b10??_????_?: assign Y_n=4'b0111; 9'b110?_????_?: assign Y_n=4'b1000; 9'b1110_????_?: assign Y_n=4'b1001; 9'b1111_0???_?: assign Y_n=4'b1010; 9'b1111_10??_?: assign Y_n=4'b1011; 9'b1111_110?_?: assign Y_n=4'b1100; 9'b1111_1110_?: assign Y_n=4'b1101; 9'b1111_1111_0: assign Y_n=4'b1110; default:assign Y_n=4'b0000; endcase end endmodule