Symptom: Driver never wiggles bus — no PSEL/PENABLE activity
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
Driver never wiggles bus — list hypotheses before opening code.
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// top.sv
uvm_config_db#(apb_vif)::set(this, "env.master", "vif", vif);
// agent path is env.agent.m_driver — get failsPath mismatch: set env.agent* or match get path. Run uvm_config_db::dump() in agent build_phase.
Null vif → driver waits forever on clock edge
dump() shows set vs get paths side by side
Fix: uvm_config_db::set(this, "env.agent*", "vif", vif)
Fix path — one transaction on bus.
Add dump in agent build if get fails.
After reading, try Code lab exercise uvm-l9-bug-config — topic reference: /topics/uvm/coding-practice/debug-broken-tb/find-config-db-mismatch