Skip to question
asic.fyi
DesignVerificationSystemVerilogFirmwareArchitectureInterviews
asic.fyi/Interview questions/Monitor a ready/valid interface

Hardware interview practice

Monitor a ready/valid interface

MediumUVM ComponentsSystemVerilog

Implement a passive UVM monitor for a single-beat ready/valid interface. Publish exactly one transaction for each observed handshake and remain safe across reset and unknown control values.

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 →
Reviewed example

Work through one case

Input
successive samples: valid=1 ready=0; valid=1 ready=1 data=A; valid=X ready=1
Expected output
publish exactly one fresh transaction carrying A; report the unknown valid control

The passive monitor observes only known-high handshakes and neither a stall nor an unknown control creates an analysis transaction.

What to cover

Requirements

  1. Sample through a monitor clocking block and publish only when valid and ready are both known-high.
  2. Flush or ignore observations while reset is not known-deasserted.
  3. Report X or Z on handshake controls and on payload sampled during an accepted beat.
  4. Construct the analysis port and publish a fresh transaction object for every accepted beat.
Continue practicing

Related questions

UVM ComponentsDrive a ready/valid interface correctly→UVM ComponentsReassemble interleaved transactions by ID→Assertions and FormalReady-valid protocol assertions→
asic.fyi · Learn silicon end to end.info@asic.fyi