Priority encoder behavior — what appears at the outputs when multiple inputs may be active? Choose the best description of the output code for a priority encoder.
-
ABinary code corresponding to the highest-priority asserted input
-
BBinary code corresponding to the lowest-priority asserted input
-
CThe total number of asserted inputs (a population count)
-
DEven/odd parity of all inputs
Answer
Correct Answer: Binary code corresponding to the highest-priority asserted input
Explanation
Introduction / Context: Encoders compress multiple input lines into a smaller set of output lines. Priority encoders add arbitration: when more than one input is active, they choose the one with the highest priority and report its index as a binary code.
Given Data / Assumptions:
- Multiple inputs may assert simultaneously.
- A static priority is predefined (e.g., input 7 over input 6, etc.).
- Only one encoded value is presented at a time.
Concept / Approach: The function of a priority encoder is to output the binary number that identifies the highest-priority active input. Some devices also assert a “valid” output to indicate that at least one input is active, and may provide enable outputs for cascading.
Step-by-Step Solution:
Detect active inputs.Resolve conflicts via fixed priority order.Encode the index of the highest-priority active line.Drive outputs with that code; optionally assert “valid”.Verification / Alternative check:
Check a part like 74HC148: output equals the index of the highest-numbered active input (with active-LOW conventions handled).Why Other Options Are Wrong:
Lowest-priority: Opposite of specification.Population count: That is a different function (counting ones).Parity: Encoders do not compute parity unless explicitly designed to.Common Pitfalls:
Forgetting about active-LOW input/output conventions and enable pins.Final Answer:
Binary code corresponding to the highest-priority asserted input