Skip to question
asic.fyi
DesignVerificationSystemVerilogFirmwareArchitectureInterviews
asic.fyi/Interview questions/Design and verify a round-robin arbiter

Hardware interview practice

Design and verify a round-robin arbiter

HardRTL DesignSystemVerilog

Design a four-request round-robin arbiter with one-cycle one-hot grants and verification for safety and bounded fairness.

Try it in the question bankReason first. Then compare.

Keep this exact question selected while you check your answer and review the full solution.

Practice this question →
Starting point

Question code

input logic clk, rst_n;
input logic [3:0] req;
output logic [3:0] gnt;
Reviewed example

Work through one case

Input
Last grant was requester 1; req[1] and req[3] remain high
Expected output
Next grant is requester 3; the following successful arbitration grants requester 1

Scanning starts at 2 after grant 1, so requester 3 is encountered before requester 1.

What to cover

Requirements

  1. Grant at most one asserted request.
  2. After granting i, begin the next scan at i+1 modulo four.
  3. When no request is active, grant zero and preserve the priority pointer.
  4. Prove a continuously asserted request is served within four successful arbitration cycles.
Continue practicing

Related questions

RTL DesignFour-requester round-robin arbiter→RTL DesignPredict Priority from If and Case Statements→RTL DesignCheck framed serial even parity→
asic.fyi · Learn silicon end to end.info@asic.fyi