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:

decoder
fig. N to 2N Decoder

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

implementing-4-X16-decoder

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

Also Read:
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.