![]() |
VOOZH | about |
An encoder is a digital combinational circuit that converts multiple input signals into a binary code. It typically has one active input at a time and generates a binary output representing the position of that active input.
The 4 to 2 Encoder consists of four inputs Y3, Y2, Y1 & Y0, and two outputs A1 & A0. At any time, only one of these 4 inputs can be ‘1’ in order to get the respective binary code at the output. The figure below shows the logic symbol of the 4 to 2 encoder.
Truth Table
The Truth table of 4 to 2 encoders is as follows:
| INPUTS(Y3Y2Y1Y0) | OUTPUTS(A1A0) | ||||
|---|---|---|---|---|---|
| 0001 | 00 | ||||
| 0010 | 01 | ||||
| 0100 | 10 | ||||
| 1000 | 11 | ||||
Logical expression for A1 and A0:
A1 = Y3 + Y2
A0 = Y3 + Y1
Circuit Diagram
The above two Boolean functions A1 and A0 can be implemented using two input OR gates:
The 8 to 3 Encoder or octal to Binary encoder consists of 8 inputs: Y7 to Y0 and 3 outputs: A2, A1 & A0. Each input line corresponds to each octal digit value and three outputs generate corresponding binary code. The figure below shows the logic symbol of octal to the binary encoder.
Truth Table
| INPUTS(Y7Y6Y5Y4Y3Y2Y1Y0) | OUTPUTS(A2A1A0) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 00000001 | 000 | |||||||||
| 00000010 | 001 | |||||||||
| 00000100 | 010 | |||||||||
| 00001000 | 011 | |||||||||
| 00010000 | 100 | |||||||||
| 00100000 | 101 | |||||||||
| 01000000 | 110 | |||||||||
| 10000000 | 111 | |||||||||
Logical expression for A2, A1, and A0:
A2 = Y7 + Y6 + Y5 + Y4
A1 = Y7 + Y6 + Y3 + Y2
A0 = Y7 + Y5 + Y3 + Y1
Circuit Diagram
The above three Boolean functions A2, A1, and A0 can be implemented using four input OR gates:
The decimal-to-binary encoder usually consists of 10 input lines and 4 output lines. Each input line corresponds to each decimal digit and 4 outputs correspond to the BCD code. This encoder accepts the decoded decimal data as an input and encodes it to the BCD output which is available on the output lines. The figure below shows the logic symbol of the decimal to BCD encoder.
Truth Table
| INPUTS(Y9Y8Y7Y6Y5Y4Y3Y2Y1Y0) | OUTPUTS(A3A2A1A0) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0000000001 | 0000 | ||||||||||||
| 0000000010 | 0001 | ||||||||||||
| 0000000100 | 0010 | ||||||||||||
| 0000001000 | 0011 | ||||||||||||
| 0000010000 | 0100 | ||||||||||||
| 0000100000 | 0101 | ||||||||||||
| 0001000000 | 0110 | ||||||||||||
| 0010000000 | 0111 | ||||||||||||
| 0100000000 | 1000 | ||||||||||||
| 1000000000 | 1001 | ||||||||||||
Logical expression for A3, A2, A1, and A0:
A3 = Y9 + Y8
A2 = Y7 + Y6 + Y5 +Y4
A1 = Y7 + Y6 + Y3 +Y2
A0 = Y9 + Y7 +Y5 +Y3 + Y1
Circuit Diagram
The above two Boolean functions can be implemented using OR gates:
A 4 to 2 priority encoder has 4 inputs: Y3, Y2, Y1 & Y0, and 2 outputs: A1 & A0. Here, the input, Y3 has the highest priority, whereas the input, Y0 has the lowest priority. In this case, even if more than one input is ‘1’ at the same time, the output will be the (binary) code corresponding to the input, which is having higher priority.
Truth Table
| INPUTS(Y3Y2Y1Y0) | OUTPUTS(A1A0V) | |||||
|---|---|---|---|---|---|---|
| 0000 | XX0 | |||||
| 0001 | 001 | |||||
| 001X | 011 | |||||
| 01XX | 101 | |||||
| 1XXX | 111 | |||||
Logical Expressions using K-Map
The logical expression for A1 is shown below:
The Logical Expression for A0 is shown below:
Circuit Diagram
The above two Boolean functions can be implemented as:
There is an ambiguity, when all outputs of the encoder are equal to zero.
So, to overcome these difficulties, we should assign priorities to each input of the encoder. Then, the output of the encoder will be the code corresponding to the active high inputs, which have higher priority.