Part 2 · Phases & Lifecycle · Intermediate
Jump vs Normal Reset: When to Use Each
Decision guide — separate tests for power-on reset vs phase jump for mid-life soft reset, and complexity tradeoffs.
Decision matrix
[PHASE][UVM] reset strategy selection
power-on reset (POR) only:
→ single-pass reset_phase, NO jump
→ separate directed test per reset corner
mid-life soft reset / recovery:
→ phase.jump to reset_phase in one test
→ verifies continuity of simulation state
multiple independent reset corners:
→ separate tests often simpler than N jumps
→ jump when interaction BETWEEN resets mattersPrefer separate tests when
Each reset corner is independent — no cross-reset interaction.
Jump debugging cost exceeds value for simple directed cases.
Regression farm needs parallelizable atomic tests.
Prefer phase jump when
DUT must recover mid-scenario with state carried from earlier traffic.
Soft-reset feature requires before/after traffic in one context.
Power-fail recovery sequence is one continuous use case.
Complexity comparison
[PHASE][UVM] cost model
normal reset only:
complexity: LOW
debug: standard phase trace
phase jump:
complexity: HIGH
requires: drain, idempotent config, flush scoreboards
debug: phase trace + jump markers + txn countersKey takeaways
Default to single-pass reset; add jump only for genuine mid-life recovery.
Independent reset corners → separate tests are often cheaper.
Jump pays off when cross-reset interaction is the feature under test.
Common pitfalls
Using jump for every reset directed test — unmaintainable.
Restarting sim manually when jump would preserve context cheaper.
Test plan template
POR smoke — no jump, verify reset_phase on all agents.
Soft-reset directed — jump test with pre/post traffic checks.
Recovery error injection — jump after induced fault.
Regression: run jump test nightly; POR corners in parallel shards.