Implement 4X16 decoder using 2X4 decoder [ Easy Way]

👤 Diwas Poudel    🕒 Dec 5 2021    📁 Fix    📜 0 comment A decoder is one of many types of combinational circuits. It has multiple input lines and multiple output lines but has no selector lines like MUX and DEMUX. The decoder aids in the translation/decoding of information encoded by the encoder. As a result, it reverses the encoder's work. The decoder converts n bits of data input into two power n coded outputs.

Decoders are used in microprocessors, memory chips, and other data transfer circuits to select different I/O devices and other data transfer circuits. In a computer, a decoder is used to decode memory addresses.

The decoder looks like this:

If you can't find a 4 * 16 decoder in your area and only have a 2 * 4 decoder, you can easily implement a 4 * 16 decoder using a 2 * 4 decoder by following these steps:

Implementing 4 * 16 Decoder using 2 * 4 Decoder

2*4 Decoder has two input lines and four output lines, and it chooses one of the lines based on various input combinations.

4*16 Decoder has four inputs and sixteen outputs, and it chooses one line based on various input combinations.

Four 2*4 encoders are required to produce 16 outputs and 1 extra 2*4 decoder is required to enable the decoder when creating 4*16 decoders. As a result, a total of 5 decoders are required. But output at a time will be generated by 1 decoder only at a time.

Circuit Diagram

Here, A-lines indicate MSB, and D lines indicate LSB.

Implement 8:1 mux using 4:1 mux
Implement Full Adder Using 8:1 Multiplexer

Decoder Enable Logic

 ABCD Decoder Enabled 00XX D1 Decoder 01XX D2 Decoder 10XX D3 Decoder 11XX D4 Decoder

ie.

• When A = 0 , B = 0 , CD( any 00 or 01 or 10 or 11) , D1 Decoder is selected.
• When A = 0 , B = 1 , CD( any 00 or 01 or 10 or 11) , D2 Decoder is selected.
• When A = 1 , B = 0 , CD( any 00 or 01 or 10 or 11) , D3 Decoder is selected.
• When A = 1 , B = 1 , CD( any 00 or 01 or 10 or 11) , D4 Decoder is selected.

This concludes that selecting Decoder (D1, D2, D3, D4) only depends on the D5 decoder.

Now the output Y0 to Y15 are generated with the various input value.

 ABCD Input Lines Decoder Enabled Output Lines 0000 D1 Decoder Y0 0001 D1 Decoder Y1 0010 D1 Decoder Y2 0011 D1 Decoder Y3 0100 D2 Decoder Y4 0101 D2 Decoder Y5 0110 D2 Decoder Y6 0111 D2 Decoder Y7 1000 D3 Decoder Y8 1001 D3 Decoder Y9 1010 D3 Decoder Y10 1011 D3 Decoder Y11 1100 D4 Decoder Y12 1101 D4 Decoder Y13 1110 D4 Decoder Y14 1111 D4 Decoder Y15

ie.

• When Input ABCD = 0000 then D1 Decoder is selected and the Y0 output line is selected.
• When Input ABCD = 0001 then D1 Decoder is selected and the Y1 output line is selected.
• When Input ABCD = 0010 then D1 Decoder is selected and the Y2 output line is selected.
• When Input ABCD = 0011 then D1 Decoder is selected and the Y3 output line is selected.
• When Input ABCD = 0100 then D2 Decoder is selected and the Y4 output line is selected.
• When Input ABCD = 0101 then D2 Decoder is selected and the Y5 output line is selected.
• When Input ABCD = 0110 then D2 Decoder is selected and the Y6 output line is selected.
• When Input ABCD = 0111 then D2 Decoder is selected and the Y7 output line is selected.
• When Input ABCD = 1000 then D3 Decoder is selected and the Y8 output line is selected.
• When Input ABCD = 1001 then D3 Decoder is selected and the Y9 output line is selected.
• When Input ABCD = 1010 then D3 Decoder is selected and the Y10 output line is selected.
• When Input ABCD = 1011 then D3 Decoder is selected and the Y11 output line is selected.
• When Input ABCD = 1100 then D4 Decoder is selected and the Y12 output line is selected.
• When Input ABCD = 1101 then D4 Decoder is selected and the Y13 output line is selected.
• When Input ABCD = 1110 then D4 Decoder is selected and the Y14 output line is selected.
• When Input ABCD = 1111 then D4 Decoder is selected and the Y15 output line is selected.

Conclusion:

We have successfully implemented 4 * 16 decoders using five 2 * 4 decoders.