PRIORITY ENCODER
This is a combinational logic circuit that includes the priority
function i.e. it produces output based on the highest priority.
If two are more inputs are equal to one at the same time, the
input having highest priority will take the precedence. Below
is the truth table
D3 D2 D1 D0 X Y V
0 0 0 0 x x 0
0 0 0 1 0 0 1
0 0 1 x 0 1 1
0 1 x x 1 0 1
1 x x x 1 1 1
Let us set the priority first. Here D0 has lowest priority
and D3 has highest priority. In addition to the two outputs X
and Y, the circuit has a third output designated by V; this is a
valid bit indicator that is set to 1 when one or more inputs are
equal to 1. If all inputs are 0, there is no valid input and V is
Mahija Dandanayakula
equal to 0. The other two outputs are not inspected when V
equals 0 and are specified as don’t care conditions.
Note that Don’t care ‘x’ in the input side is used to write
the table in the condensed form. For example x100 means
0100 and also 1100.
According to the table, the higher subscript number, the
higher priority of the input as we have set earlier. So, in the
table D3 has the highest priority so, regardless of the values of
the other inputs, when this input is 1 the output for xy is 11.
D2 has the next priority level. The output is 10 if D2 is 1
provided if D3 is 0, regardless of the values of the other two
lower priority inputs. The output for D1 is generated only if
higher priority inputs are 0 and so on down the priority levels.
Let us now draw the circuit. For this consider the table
above and get equations for the output. We will do it through
K-maps.
Mahija Dandanayakula
K-map for output X:
D2’D3’ D2’D3 D2D3 D2D3’
00 01 11 10
X=D2+D3
D0’D1’ 00 X 1 1 1
D0’D1 01 0 1 1 1
D0D1 11 0 1 1 1
D0D1’ 10 0 1 1 x
K-map for output Y:
D2’D3’ D2’D3 D2D3 D2D3’
00 01 11 10
D0’D1’ 00 x 1 1 0
D0’D1 01 1 1 1 0
D0D1 11 1 1 1 0
D0D1’ 10 0 1 1 0
Y=D3+ D1D2’
Mahija Dandanayakula
Also from the table V= D0+ D1+ D2+ D3
The minterms for the two functions are derived from the
table. Although the table has only five rows, when each don’t
care ‘x’ in a row is replaced first by 0 and then by 1, we
obtain all the 16 possible input combinations. For example,
the fourth row in the table, with inputs xx10, represents the
four minterms 0010, 0110, 1010, 1110. The simplified
Boolean expressions for the priority encoder are obtained
from the maps. The condition for output V is an OR function
of all the input variables. The priority encoder is implemented
according to the following Boolean functions
X=D2+D3
Y=D3+ D1D2’
V= D0+ D1+ D2+ D3
Now with the help of these functions let us draw the priority
encoder circuit
Mahija Dandanayakula
1
D3
3
Y
2
1
D2
3
2
D1
1
D2+D3
3
X
2
1
2 9
V
8
D0
Mahija Dandanayakula