Encoder
Encoder adalah suatu perangkat & rangkaian logika yang berfungsi untuk mengkonversikansinyal desimal menjadi biner
Decoder
Decoder adalah suatu perangkat & rangkaian logika yang berfungsi untuk mengkonversikansinyal biner menjadi desimal
implementasi rangkaian encoder & decoder
dengan menggunakan Bahasa Verilog (format .v)
Encoder
module encoder(
outputbiner,
inputencoder,
en
);
output [3:0] outputbiner; //4 output biner
input en; //enable
input [15:0] inputencoder; //4 input desimal
reg [3:0] outputbiner;
always(en or inputencoder)
begin
outputbiner = 0;
if(en)
begin
case(inputencoder)
16'h0002 : outputbiner = 1;
16'h0004 : outputbiner = 2; //16 bit hexa 0004
16'h0008 : outputbiner = 3; //16 bit hexa 0008
16'h0010 : outputbiner = 4;
16'h0020 : outputbiner = 5;
16'h0040 : outputbiner = 6;
16'h0080 : outputbiner = 7;
16'h0100 : outputbiner = 8;
16'h0200 : outputbiner = 9;
16'h0400 : outputbiner = 10;
16'h0800 : outputbiner = 11;
16'h1000 : outputbiner = 12;
16'h2000 : outputbiner = 13;
16'h4000 : outputbiner = 14;
16'h8000 : outputbiner = 15;
endcase
end
endmodule
Software Ise Design bisa di download di sini
(install => pilih mode webpack)
Output Encoder
klik 2 kali pada gambar
maka akan terlihat rangkaiannya
gambar di atas hanya sebagian output saja yang di tampilkan. 1 kotak berarti 1 output biner
klik 2 kali (pada kotak) nanti akan muncul rangkaian seperti ini
Decoder
module decoder(
inputbiner,
outputdecoder,
en
);
output[15:0] outputdecoder;
input [3:0] inputbiner;
input en;
reg[15:0] outputdecoder;
always@(en or inputbiner)
begin
outputdecoder = 0;
if(en)
begin
case(inputbiner)
4'h0 : outputdecoder = 16'h0001;
4'h1 : outputdecoder = 16'h0002;
4'h2 : outputdecoder = 16'h0004;
4'h3 : outputdecoder = 16'h0008;
4'h4 : outputdecoder = 16'h0010;
4'h5 : outputdecoder = 16'h0020;
4'h6 : outputdecoder = 16'h0040;
4'h7 : outputdecoder = 16'h0080;
4'h8 : outputdecoder = 16'h0100;
4'h9 : outputdecoder = 16'h0200;
4'hA : outputdecoder = 16'h0400;
4'hB : outputdecoder = 16'h0800;
4'hC : outputdecoder = 16'h1000;
4'hD : outputdecoder = 16'h2000;
4'hE : outputdecoder = 16'h4000;
4'hF : outputdecoder = 16'h8000;
endcase
end
end
endmodule
Output