What is a Decoder
A decoder is a combinational digital circuit that decodes an n-bit binary input in to its correspoding decimal level. An n-bit input (A0-A(n)) decoder has 2n output (E0-E(2n -1)) lines with each line corresponding to a different minterm or decimal level. Depending upon the input, the corresponding decimal level becomes high while all other outputs remain as 0.E.g. If the input bits to a four input decoder are 0110, then the 7th output line ( that corresponds to decimal level 6) of the decoder will become high while all the other will remain as zero. A decoder can simply be synthesized by generating all the minterms from the input bits by the use of Inverters and AND gates.Besides decoding a binary number to its corresponding decimal level, a decoder can also be used for the realization of various logical functions. Since all the minterms are available from the decoder as its output lines, a logic function can easily be realized by adding the required minterms in an OR gate. E.g. Let there be a 4:16 decoder and a logical function F of four variables with minterms (0,4,6,7,9). Then F can be realized by connection the variables to the input lines of the decoder and then taking the E0,E4,E6,E7 and E9 output lines of the decoder and then adding them in an OR gate. The output of the OR gate will give the function F.
Decoders also come with active low outputs in which case all the output lines remain high while the output line that corresponds to the decimal level of the input bits become low. To realize an active high logical function from such a decoder, the minterms need to be fed in to a NAND gate rather than an OR gate.
Enable function is another important feature of a Decoder. Most Decoders come with a low enable i.e. the enable pin of the decoder should be connected to ground in order for the decoder to work in its normal condition. If this enable pin is made high, then the output lines of the decoder goes in to an high impedence or Z state.
Another important application of a decoder is its use in Programmable Read only Memory (PROM) in which a decoder always preceeds the programmable OR gate array. The inputs to this programmable array are the output lines of the decoder that generates all the minterms corresponding to the input bits for their use in the array.