Part 11 · Senior Prep · Intermediate
Phases & Objections Interview Hub: Model Answers
Hub — senior interview Q&A on UVM phasing: objections, build/connect ordering, run_phase drain_time, runtime sub-phases, phase domains, and reset/jump.
Overview
Phase questions test whether you understand temporal coordination — not just phase names. Interviewers expect mechanism → motivation → when-to-use → pitfall → example on every answer.
Sub-lessons in this topic
objections-interview-qa — raise/drop, propagation, drain_time, debug.
build-connect-phase-qa — top-down build, bottom-up connect, ordering traps.
run-phase-draintine-qa — when run_phase ends, objections, phase_ready_to_end.
runtime-subphases-qa — reset/configure/main/shutdown sub-phase timeline.
phase-domains-sync-qa — independent schedules, sync barriers, co-simulation.
reset-jump-qa — reset_phase, phase jump API, mid-simulation reset scenarios.
[INT][SENIOR][UVM] MODEL ANSWER CHAIN
1. MECHANISM — what it is / how it works (one sentence)
2. MOTIVATION — why UVM needs this
3. WHEN-TO-USE — when you choose it AND when you skip it
4. PITFALL — the mistake juniors make
5. EXAMPLE — one concrete testbench scenario[INT][SENIOR][UVM] phase timeline (whiteboard drill)
FUNCTION (0 time):
build → connect → end_of_elab → start_of_sim
TASK (consumes time):
run_phase ∥ pre_reset → reset → post_reset → pre_configure →
configure → post_configure → pre_main → main → post_main →
pre_shutdown → shutdown → post_shutdown
CLEANUP:
extract → check → report → finalKey takeaways
Draw the phase timeline before answering run_phase or objection questions.
Components participate in phases; objects do not — state that early.
Hung simulations are almost always objection leaks or driver handshake stalls.
Common pitfalls
Reciting phase names without explaining function vs task semantics.
Saying build and connect are both top-down — connect is bottom-up.
Claiming run_phase ends when the main sequence returns — forks matter.
Interview pacing for phase questions
Budget 3–4 minutes per deep question. If stuck, narrate triage: display_objections → driver handshake → config/vif — process often scores higher than a missed detail.
[INT][SENIOR][UVM] whiteboard drills for this topic
A. Mark function vs task phases on the full timeline
B. Draw objection propagation: driver → agent → env → test → phase root
C. Show two domains with a sync barrier between reset and main
D. Sketch reset jump: run_phase interrupted → reset_phase → resumeClarify scope: block-level single domain vs multi-power SoC with domains.
Offer drain_time tuning as a trade-off: safety margin vs regression runtime.
Name display_objections() and phase_ready_to_end — common senior screens.