Part 2 · Phases & Lifecycle · Intermediate

Domain Use Cases: Power Islands, Multi-Clock, VIP Timelines

Practical scenarios where domains help — and where they do not — with decision guidance for verification architects.

Legitimate use cases

Power-managed islands

A block that powers up mid-simulation needs its own reset→configure→main cycle after power-good. The main fabric may already be in main_phase while the island is still in reset. A separate domain models this naturally.

Independent clock domains with staged bring-up

When two clock domains have unrelated reset release times and separate bring-up sequences, domains let each follow its own schedule without ad-hoc delays in run_phase.

Third-party VIP with internal phasing

Some VIP packages install their own domain. Your env must sync with the VIP domain at handshake phases or risk racing configure against VIP reset.

diagram
[PHASE][UVM] use-case fit matrix

power island late bring-up      STRONG fit
unrelated reset release times   STRONG fit
VIP-owned domain                REQUIRED (sync with vendor domain)
staggered sequence start times  WEAK fit (use objections instead)
different test lengths          WEAK fit (objections handle this)

Anti-patterns (do not use domains for these)

  • Delaying one agent's stimulus start — use sequences and objections.

  • Isolating passive vs active agents — use agent is_active config.

  • Skipping reset for one interface — use reset_phase objections locally.

  • Running two tests in one sim — use separate tests, not domains.

systemverilog
// WRONG: domain to delay stimulus (use objection instead)
// RIGHT: main_phase objection until local ready
task main_phase(uvm_phase phase);
  wait(local_ready);
  phase.raise_objection(this);
  run_traffic();
  phase.drop_objection(this);
endtask

Key takeaways

  • Domains model independent lifecycle schedules, not simple delays.

  • Power islands and VIP-owned domains are the strongest use cases.

  • Objections on a single domain solve most staggered-start needs.

Common pitfalls

  • Domain per agent proliferation — creates sync nightmare.

  • Using domains to paper over broken reset sequencing.


Architect checklist

  1. Document which subtrees own which domain.

  2. List all cross-domain hardware handoffs.

  3. Map each handoff to a sync barrier phase.

  4. Confirm VIP domain requirements in integration guide.