UVM Coding Practice · Senior
Find Objection Leak
Test hangs — missing drop_objection.
Triage worksheet (say aloud before opening code)
Symptom: Simulation hangs after UVM_TEST_DONE — no timeout, no UVM_ERROR
Hypothesis list — config_db, objections, TLM connect, factory, seq not started
Minimal experiment — dump, topology print, one UVM_INFO probe
Root cause statement in one sentence
Fix + regression hook
Interview prompt
Test hangs at end — walk objection debug before showing fix.
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 componentBuggy snippet — critique verbally
task run_phase(uvm_phase phase);
phase.raise_objection(this);
seq.start(sqr);
// missing drop_objection
endtaskAnswer
Add drop_objection after seq.
Or seq raises — test should not double raise.
Check objection trace for stuck count.
Smoke test (5 minutes)
Repro hang.
Add drop — sim ends.
Try drain_time if DUT pipelined.
Code lab drill
After reading, try Code lab exercise uvm-l9-bug-objection — topic reference: /topics/uvm/coding-practice/debug-broken-tb/find-objection-leak