Debug a Priority Encoder with Reversed Priority Direction
A 4-to-2 priority encoder resolves simultaneous requests in systems like interrupt controllers by outputting the binary index of the highest-priority active input. The circuit accepts four inputs I3, I2, I1, and I0. It outputs a 2-bit code Y1 and Y0 representing the index of the highest active input, where I3 has the highest priority and I0 has the lowest. A valid output V asserts high when any input is active.
Expected behavior:
| I3 | I2 | I1 | I0 | Y1 | Y0 | V | |------|------|------|------|------|------|-----| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | 0 | 0 | 0 | 1 | 0 | 0 | 1 | | 0 | 0 | 1 | 0 | 0 | 1 | 1 | | 0 | 0 | 1 | 1 | 0 | 1 | 1 | | 0 | 1 | 0 | 0 | 1 | 0 | 1 | | 0 | 1 | 0 | 1 | 1 | 0 | 1 | | 0 | 1 | 1 | 0 | 1 | 0 | 1 | | 0 | 1 | 1 | 1 | 1 | 0 | 1 | | 1 | 0 | 0 | 0 | 1 | 1 | 1 | | 1 | 0 | 0 | 1 | 1 | 1 | 1 | | 1 | 0 | 1 | 0 | 1 | 1 | 1 | | 1 | 0 | 1 | 1 | 1 | 1 | 1 | | 1 | 1 | 0 | 0 | 1 | 1 | 1 | | 1 | 1 | 0 | 1 | 1 | 1 | 1 | | 1 | 1 | 1 | 0 | 1 | 1 | 1 | | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Simulation shows Y1 = 0 and Y0 = 0 for input I3=1, I2=0, I1=0, I0=1. The encoder outputs the incorrect index during simultaneous requests.
Inspect the circuit and correct the fault.
Constraints
- Do not add or remove input or output pins.
- Do not modify the logic generating the
Vsignal, as it functions correctly.
Topics
Solve this problem
Place the gates, wire them up and watch the signals settle. Every submission runs on the same simulation engine that grades it.
This problem is part of Codiode Pro. The statement above is free to read.
The circuit builder and code editor need a desktop screen. On a phone, read the problem here and open it on a laptop to solve.