UVM Coding Practice · Senior

Scoreboard Tricky Q&A

20 senior scoreboard interview questions with outlines and follow-up traps.

Scoreboard interview bank

Answer aloud using MECHANISM / PITFALL / WHEN structure.

FIFO depth for scoreboard — how do you size it?

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

Q: FIFO depth for scoreboard — how do you size it?

A:
MECHANISM: depth ≥ max outstanding transactions (pipeline + bus latency). MOTIVATION: underrun drops compares; overrun drops exp. PITFALL: fixed depth 1 on multi-outstanding bus.

FOLLOW-UP TRAP: They ask what happens on overflow — must say drop/count/fatal policy.

Out-of-order AXI responses — compare strategy?

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

Q: Out-of-order AXI responses — compare strategy?

A:
MECHANISM: keyed queue by ID or search exp_q for matching tag. WHEN: AXI read/write resp IDs. PITFALL: head-only compare on OOO bus.

FOLLOW-UP TRAP: Stale ID after timeout — need age-out policy.

Scoreboard vs protocol checker?

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

Q: Scoreboard vs protocol checker?

A:
SCOREBOARD: data integrity vs reference. CHECKER: protocol rules (valid/ready, state). Both can run; checker usually in monitor.

FOLLOW-UP TRAP: Using scoreboard for X-prop — wrong tool.

Predictor before scoreboard — why?

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

Q: Predictor before scoreboard — why?

A:
Predictor transforms stimulus to expected txn stream; scoreboard only compares. Decouples ref model from check.

FOLLOW-UP TRAP: Predictor inside scoreboard write — harder to reuse.

Partial beat compare on narrow bus?

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

Q: Partial beat compare on narrow bus?

A:
Compare byte lanes with mask from strb/keep; don't compare full 32-bit when only 1 byte valid.

FOLLOW-UP TRAP: Endianness on sub-word access.

Reset mid-transaction in FIFO?

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

Q: Reset mid-transaction in FIFO?

A:
Flush both queues on reset assertion; ignore compares until idle. Document policy in scoreboard.

FOLLOW-UP TRAP: Compare after reset with stale exp entry.

Mismatch reporting — UVM_ERROR vs counter?

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

Q: Mismatch reporting — UVM_ERROR vs counter?

A:
ERROR for first N mismatches then FATAL or cap — avoids log flood. Store txn snapshot in message.

FOLLOW-UP TRAP: No txn print — debug nightmare.

Two analysis imports — naming convention?

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

Q: Two analysis imports — naming convention?

A:
exp_imp / act_imp or dut/analysis naming — consistent with team style. uvm_analysis_imp macro per stream.

FOLLOW-UP TRAP: Same imp class for both — write() collision confusion.

Reference model in same class as scoreboard?

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

Q: Reference model in same class as scoreboard?

A:
Separate predictor component feeding exp stream — scoreboard stays compare-only.

FOLLOW-UP TRAP: Monolithic scoreboard — interview red flag for reuse.

Latency-insensitive compare?

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

Q: Latency-insensitive compare?

A:
FIFO absorbs delay; compare when both sides have data. For fixed latency, optional shift register on exp.

FOLLOW-UP TRAP: Assuming zero latency bus.

How to debug exp/act size mismatch?

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

Q: How to debug exp/act size mismatch?

A:
Log queue sizes each compare; dump head txn both sides; check monitor vs predictor reset.

FOLLOW-UP TRAP: Only logging act side.

Multi-master same scoreboard?

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

Q: Multi-master same scoreboard?

A:
Tag txn with master ID; separate FIFOs or keyed merge before compare.

FOLLOW-UP TRAP: Interleaved streams without key.

Scoreboard in passive-only env?

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

Q: Scoreboard in passive-only env?

A:
Yes — monitor provides act; predictor or RM provides exp. No driver required for check.

FOLLOW-UP TRAP: Thinking scoreboard needs sequencer.

Functional coverage on scoreboard?

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

Q: Functional coverage on scoreboard?

A:
Cover mismatch types, queue depth bins, timeout paths — optional subscriber on mismatch event.

FOLLOW-UP TRAP: Coverage only in monitor — miss check paths.

Endianness in compare?

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

Q: Endianness in compare?

A:
Normalize in monitor/predictor to canonical host order before push to FIFO.

FOLLOW-UP TRAP: Raw bus order in scoreboard.

When to use scoreboard vs SVA?

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

Q: When to use scoreboard vs SVA?

A:
Scoreboard for data/equivalence; SVA for temporal protocol and one-cycle rules.

FOLLOW-UP TRAP: SVA for full packet compare — too heavy.

Pipeline scoreboard stages?

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

Q: Pipeline scoreboard stages?

A:
Multiple FIFO stages matching DUT pipeline depth; compare at commit stage.

FOLLOW-UP TRAP: Compare at fetch stage vs retire.

Soft compare vs hard compare?

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

Q: Soft compare vs hard compare?

A:
Soft: log warning for known benign diff. Hard: UVM_ERROR. Document waiver list.

FOLLOW-UP TRAP: All mismatches ERROR in bring-up.

Scoreboard performance — large queues?

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

Q: Scoreboard performance — large queues?

A:
Cap depth, sample compares, disable verbose print in regression.

FOLLOW-UP TRAP: Unbounded queue on stress test — memory blow-up.

Whiteboard scoreboard in 15 minutes?

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

Q: Whiteboard scoreboard in 15 minutes?

A:
Skeleton + two imps + two queues + compare_head in 10 min; pitfall + test in 5 min.

FOLLOW-UP TRAP: Spending 15 min on macros only.