A priority encoder is a digital circuit that converts multiple input lines into a smaller binary output, but it only encodes the highest-priority active input when more than one input is on at the same time.

How it works

  • If only one input is active, the output is the binary code for that input.
  • If several inputs are active together, the circuit ignores the lower-priority ones and outputs the code for the highest-priority input.
  • Many designs also include a valid output to show whether any input is active at all.

Simple example

In a 4-to-2 priority encoder, if inputs I3I_3I3​ and I1I_1I1​ are both active and I3I_3I3​ has higher priority, the output becomes the binary code for I3I_3I3​, not I1I_1I1​.

Why it is used

Priority encoders are useful for arbitration , where a system must choose one signal out of many competing signals, such as in interrupt handling or shared resource control.

In one line

A priority encoder is basically an encoder with a built-in rule: when inputs compete, the one with the highest priority wins.

If you want, I can also show the truth table for a 4-to-2 priority encoder.