UVM Coding Practice · Senior

Monitor & Driver Tricky Q&A

20 senior questions on monitor/driver whiteboards.

Q&A bank

20 monitor/driver interview questions.

Passive vs active monitor?

diagram
[INT][SENIOR][UVM-CODE]

Q: Passive vs active monitor?

A:
Passive: observe only. Active: may drive via BFMs — rare in UVM monitor.

FOLLOW-UP TRAP: Driver inside monitor for production TB.

Clocking block in monitor?

diagram
[INT][SENIOR][UVM-CODE]

Q: Clocking block in monitor?

A:
Sample inputs in clocking block or @(posedge) — consistent sampling.

FOLLOW-UP TRAP: Race between signals without clocking.

Monitor reconstruct APB beat?

diagram
[INT][SENIOR][UVM-CODE]

Q: Monitor reconstruct APB beat?

A:
FSM: IDLESETUPACCESS; pack addr/data/resp per beat.

FOLLOW-UP TRAP: Missing wait for PREADY.

Byte lanes on AXI-lite?

diagram
[INT][SENIOR][UVM-CODE]

Q: Byte lanes on AXI-lite?

A:
Use strb/keep to mask compare lanes; align to byte addresses.

FOLLOW-UP TRAP: Full-word compare on narrow transfer.

Driver forever loop structure?

diagram
[INT][SENIOR][UVM-CODE]

Q: Driver forever loop structure?

A:
forever begin seq_item_port.get_next_item(req); drive; item_done(); end

FOLLOW-UP TRAP: No item_done — sequencer hang.

req/rsp handshake?

diagram
[INT][SENIOR][UVM-CODE]

Q: req/rsp handshake?

A:
Driver may use rsp_port.put(rsp) after drive; seq waits get_response.

FOLLOW-UP TRAP: Blocking driver without rsp path.

Monitor analysis port when?

diagram
[INT][SENIOR][UVM-CODE]

Q: Monitor analysis port when?

A:
write(txn) after beat complete — not mid-state unless partial logging intended.

FOLLOW-UP TRAP: Multiple writes per beat confusing scoreboard.

Virtual interface in monitor?

diagram
[INT][SENIOR][UVM-CODE]

Q: Virtual interface in monitor?

A:
vif from config_db in build/connect; assign to modport.

FOLLOW-UP TRAP: Null vif — config path wrong.

Reset in monitor?

diagram
[INT][SENIOR][UVM-CODE]

Q: Reset in monitor?

A:
Reset FSM to IDLE; optionally flush txn. Align with DUT reset.

FOLLOW-UP TRAP: Emit txn across reset boundary.

Driver backpressure?

diagram
[INT][SENIOR][UVM-CODE]

Q: Driver backpressure?

A:
Wait ready before next beat; seq may stall on get_next_item.

FOLLOW-UP TRAP: Drive when not ready — protocol violation.

Monitor coverage hooks?

diagram
[INT][SENIOR][UVM-CODE]

Q: Monitor coverage hooks?

A:
Cover states, cross addr×resp — in monitor or subscriber.

FOLLOW-UP TRAP: Coverage in driver — couples drive/check.

Split monitor driver agent?

diagram
[INT][SENIOR][UVM-CODE]

Q: Split monitor driver agent?

A:
Agent: monitor + driver + sequencer if active; connect TLM in connect_phase.

FOLLOW-UP TRAP: Monitor in env without agent wrapper.

AXI ID in monitor txn?

diagram
[INT][SENIOR][UVM-CODE]

Q: AXI ID in monitor txn?

A:
Capture ID on addr and attach to resp beat for OOO scoreboard.

FOLLOW-UP TRAP: Resp without ID tag.

Monitor error injection?

diagram
[INT][SENIOR][UVM-CODE]

Q: Monitor error injection?

A:
Usually sequences/drivers; monitor may flag protocol errors.

FOLLOW-UP TRAP: Monitor modifying bus.

Whiteboard monitor in 12 min?

diagram
[INT][SENIOR][UVM-CODE]

Q: Whiteboard monitor in 12 min?

A:
FSM diagram + run_phase loop + analysis_port write.

FOLLOW-UP TRAP: Full protocol before one beat path.

Driver parameterization?

diagram
[INT][SENIOR][UVM-CODE]

Q: Driver parameterization?

A:
cfg object via config_db for timing, widths.

FOLLOW-UP TRAP: Hardcoded delays in driver.

Monitor vs interface assertion?

diagram
[INT][SENIOR][UVM-CODE]

Q: Monitor vs interface assertion?

A:
Monitor for txn stream; SVA for cycle rules — complementary.

FOLLOW-UP TRAP: Replacing SVA with monitor checks only.

Multiple monitors one agent?

diagram
[INT][SENIOR][UVM-CODE]

Q: Multiple monitors one agent?

A:
Separate analysis ports or merged txn — document policy.

FOLLOW-UP TRAP: Duplicate txn streams.

Sequencer-Driver connection?

diagram
[INT][SENIOR][UVM-CODE]

Q: Sequencer-Driver connection?

A:
driver.seq_item_port.connect(sequencer.seq_item_export);

FOLLOW-UP TRAP: Wrong port type blocking vs analysis.

Monitor reconstruct without spec?

diagram
[INT][SENIOR][UVM-CODE]

Q: Monitor reconstruct without spec?

A:
Ask clarifying protocol; start with valid/ready or PSEL/PENABLE.

FOLLOW-UP TRAP: Guessing wrong protocol.