UVM Coding Practice · Senior

Multi-Stream Merge

Two analysis imports, keyed compare, cross-stream ordering.

Interview prompt

DUT has read and write channels. Sketch one scoreboard with two compare paths.

diagram
WHITEBOARD CHAIN

1. DECLARE    interfaces / types / ports you need
2. SKELETON   class extends + utils macro + key methods
3. MECHANISM  fill one critical method while narrating
4. PITFALL    name one bug juniors make on this pattern
5. TEST       how you would smoke-test the component

Reference sketch (≤40 lines)

systemverilog
uvm_analysis_imp_rd #(txn, sb) rd_imp;
uvm_analysis_imp_wr #(txn, sb) wr_imp;
txn exp_rd[$], act_rd[$], exp_wr[$], act_wr[$];
// separate compare_head per stream

Common pitfalls

  • Mixing read/write in one FIFO without opcode tag.

  • Cross-stream ordering assumed when independent.

Smoke test (5 minutes)

  • Directed read then write; verify separate queues drain.