UVM Coding Practice · Senior
Phase Jump & Domain Sync
Risks of jump; multi-domain sync.
Interview prompt
When would you phase.jump and what breaks?
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
// fatal error path — rare
phase.jump(uvm_end_of_elaboration_phase.get());
// multi-clock: sync domains before shared connectskip to end on fatal — skips shutdown cleanup
risk: monitors still running, resources active
domain sync for multiple clocks before connect
Mechanism to narrate
phase.jump aborts remaining phases in schedule
Use only for fatal early exit — document skipped cleanup
uvm_domain aligns phase schedules across clock domains
Key takeaways
Default answer: avoid jump in normal tests; prefer drain + drop.
Common pitfalls
Jump to skip slow phases in regression.
Async clocks without domain sync — connect race.