UVM Coding Practice · Senior
Find TLM Null Port
Scoreboard never compares — connect missing.
Triage worksheet (say aloud before opening code)
Symptom: Scoreboard never compares — no SB UVM_INFO, act queue grows
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
Scoreboard silent — TLM connect debug before 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
// env connect_phase forgot:
// agent.mon.ap.connect(sb.act_imp);Answer
Connect analysis port in connect_phase; uvm_top.print_topology() to verify ap → imp.
Mechanism to narrate
Unconnected analysis_port — write() never called
topology print shows dangling ports
connect in connect_phase not run_phase
Smoke test (5 minutes)
After connect — one beat produces SB log.
topology shows mon.ap → sb.act_imp.
Code lab drill
After reading, try Code lab exercise uvm-l9-bug-tlm — topic reference: /topics/uvm/coding-practice/debug-broken-tb/find-tlm-null-port