module encoder_using_if(binary_out, //4位二進制編碼輸出encoder_in //16位輸入enable //編碼使能信號);//輸出端口output binary_out;//輸入端口input enableinput[15:0] encoder_in;//內部變量聲明reg[3:0] binary_out;always@(enable or encoder_in) begin //always語句產生組合邏輯,此句可改成always@(*) if(enable) begin //使能信號enable必須為1,才可以譯碼 if(encoder_in == 16'h0002) begin // 輸入的編碼是0000_0000_0000_0010,譯碼為0001 binary_out = 1; end if(encoder_in == 16'h0004) begin binary_out = 2; end if(encoder_in == 16'h0008) begin binary_out = 3; end if(encoder_in == 16'h0010) begin binary_out = 4; end if(encoder_in == 16'h0020) begin binary_out = 5; end if(encoder_in == 16'h0040) begin binary_out = 6; end if(encoder_in == 16'h0080) begin binary_out = 7; end if(encoder_in == 16'h0100) begin binary_out = 8; end if(encoder_in == 16'h0200) begin binary_out = 9; end if(encoder_in == 16'h0400) begin binary_out = 10; end if(encoder_in == 16'h0800) begin binary_out = 11; end if(encoder_in == 16'h1000) begin binary_out = 12; end if(encoder_in == 16'h2000) begin binary_out = 13; end if(encoder_in == 16'h4000) begin binary_out = 14; end if(encoder_in == 16'h8000) begin binary_out = 15; end endendendmodule綜合的結果