Skip to the selected question
ASIC.FYI

ASIC Question Bank

1,000+ hardware interview questions
DescriptionQ442
Page ↗
Q442DVASIC interview problem

Check ordered grants for overlapping requests

TechniquesProtocol checkerOutstanding queueOrderingLatency
DifficultyHard
TopicTemporal Checks
LanguageSystemVerilog
Requirements4 checkpoints
01

Problem

Request pulses may overlap. Queue up to eight accepted request IDs and require one ordered grant per request within 1 through 15 clocks.

Starting declarationSystemVerilog
input logic clk, rst_n, req, grant;
input logic [7:0] req_id, grant_id;

Example input and output

Use this case to check your interpretation
Input
req A at cycle 2, req B at 3, grant A at 5, grant B at 8
Output
pass; A retires at latency 3 and B retires at latency 5
Explanation

The FIFO binds each grant to one oldest request, preserving order even while requests overlap.

02

Requirements (4)

  • Store each accepted request ID and issue cycle.
  • Compare each grant only with the queue front; a wrong-ID grant reports an error without retiring that request.
  • Flag zero or excessive latency, wrong order, overflow, and unsolicited grants.
  • Report and retire a timed-out front request once so later obligations can still be checked; reset clears every pending obligation.