UVM Coding Practice · Senior
Driver Response Handshake
req/rsp TLM between driver and sequence.
Interview prompt
Sequence needs response from driver — sketch rsp_port wiring.
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 componentReference sketch (≤40 lines)
systemverilog
// driver after drive
rsp = rsp_item::type_id::create("rsp");
rsp.set_id_info(req);
rsp.data = captured_data;
rsp_port.write(rsp);
// sequence
start_item(req, -1, null);
finish_item(req);
get_response(rsp);Mechanism to narrate
req carries id_info linking req to rsp
seq_item_port for req; rsp_port for response path
Pipelined driver may accept multiple req before rsp
Smoke test (5 minutes)
Seq waits get_response — verify data matches driven beat.
Missing set_id_info — get_response mismatch or hang.
Common pitfalls
rsp without matching req id.
Blocking get_response in wrong phase.
No rsp_port connect in driver.