Skip to the selected question
ASIC.FYI

ASIC Question Bank

1,000+ hardware interview questions
DescriptionQ793
Page ↗
Q793DesignASIC interview problem

Schedule weighted round-robin service

TechniquesWeighted round robinFairnessQuotaStatistics
DifficultyHard
TopicArbiters
LanguageSystemVerilog
Requirements5 checkpoints
01

Problem

Design an N-requester weighted round-robin arbiter. A requester with weight 3 should receive three service beats per round while continuously active, versus one beat for weight 1. Include checks suitable for saturated fairness testing.

Example input and output

Use this case to check your interpretation
Input
N=2; weights=[3,1]; both requests stay asserted through eight accepted grants
Output
grants repeat [port0,port0,port0,port1] twice
Explanation

Each saturated round consumes three units of port0's quantum and one of port1's, giving the configured 3:1 service ratio without starvation.

02

Requirements (5)

  • Treat weight zero as disabled and produce at most one grant each cycle.
  • Skip inactive requesters without consuming their quota.
  • Avoid unsigned credit underflow, overflow-driven priority, and fixed-index tie bias.
  • Under continuously asserted requests, measured grant ratios must converge to configured weight ratios.
  • If a runtime weight change invalidates the current quantum, expire that quantum and resume from the rotating pointer.