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

diagram
[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 matters

Prefer 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

diagram
[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 counters

Key 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

  1. POR smoke — no jump, verify reset_phase on all agents.

  2. Soft-reset directed — jump test with pre/post traffic checks.

  3. Recovery error injection — jump after induced fault.

  4. Regression: run jump test nightly; POR corners in parallel shards.