CodiodeCodiode
Home
Problem Solving
Skill Tracks
My Assignments
Contests
Leaderboard
Community
Settings
Codiode/Problems/Combinational Logic

Strict Round Robin Arbiter

HardLogic CircuitBuild

Shared resources like memory controllers and system buses rely on fair arbitration to prevent starvation. The strict round-robin arbiter dynamically rotates priority based on the most recently serviced agent.

Design the combinational grant logic for a 3-requester strict round-robin arbiter. The circuit receives three request lines (req2, req1, req0) and the one-hot state of the previous grant (last2, last1, last0). It must output the new one-hot grant (gnt2, gnt1, gnt0) based on rotating priority.

Priority rules: * If last0 is 1: priority is req1 > req2 > req0. * If last1 is 1: priority is req2 > req0 > req1. * If last2 is 1, or all last bits are 0: priority is req0 > req1 > req2. * If no active requests exist, all grant outputs remain 0.

| last2 | last1 | last0 | req2 | req1 | req0 | gnt2 | gnt1 | gnt0 | |---------|---------|---------|--------|--------|--------|--------|--------|--------| | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | | 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |

Constraints

  • Implement purely combinational logic.
  • Do not use sequential elements.
  • Drive exactly one active grant bit when at least one request is active.
  • Drive all grant bits to 0 when no requests are active.

Topics

combinationalpriorityone-hotarbiter

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.

Sign in to solveSee what Pro unlocks

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.

Related problems

  • Binary to HexEasy
  • 1-to-4 Demultiplexer from AND and NOT GatesEasy
  • 2-to-4 Line Decoder with Active-High EnableEasy
  • Hex Nibble to BinaryEasy
  • Odd Parity Bit Generator for 3-bit DataEasy
  • Full Adder from Half AddersEasy
  • Modulo ArithmeticMedium
  • Two's Complement: Encode a Negative DecimalEasy

Browse all problems · Learning tracks