Skip to guide

System verification strategy

Shape the UVM architecture around the risk

Part 3 · Reference architectures

Compare five native block diagrams for fabrics, memory systems, accelerators, coherency, and control-heavy subsystems.

Keep the source of truth, observation path, stress model, and exit evidence explicit so every verification decision can be reviewed.

Architectures6 focused sectionsNative diagrams + worked reasoning

Native UVM block diagrams

Five reference architectures.

Expand each design to see its stimulus plane, DUT boundary, passive observation, source of truth, coverage, disruption scenarios, and the mechanism that makes the environment specific to the risk.

01 · UVM reference architecture

Transactional Fabric DV

Verify routing, ordering, data integrity, flow control, global visibility, fairness, and forward progress when packets can enter and leave through many ports.

Transactional Fabric DV UVM topology. Create a global transaction ID at the DUT acceptance boundary, track every lifecycle in one in-flight hash map, partition comparison by destination, and combine age with dependency progress so congestion is not mislabeled as deadlock.
Scenario control
Virtual sequencer

Coordinates ingress, egress, congestion, reset, reconfiguration, and recovery.

Initiators
Master agents

AXI or CHI ingress acceptance creates the global in-flight entry; agents also model backpressure and credit return.

Routed DUT boundary
Transactional fabric

NoC mesh or crossbar; perform block-level testing per mesh and recovery checks during reset or reconfiguration.

Targets
Slave agents

AXI, CHI, or memory models provide requests, responses, packets, and snoops on every egress.

Independent lifecycle observation
In-flight age monitor

Detects deadline, livelock, starvation, or dependency-local loss of progress.

Global transaction tracker

Hash map for lifecycle, destination, routed information, and drop or duplicate detection.

Scoreboard partitions

One partition per destination, keyed by destination, ID, and flow rather than one FIFO.

Legal route prediction
Routing / address-map model

Predicts legal destinations and reference memory behavior.

Risk closure
Functional coverage

Destination, ID, flow, route, congestion, ordering, disruption, and recovery crosses.

  1. 01Coordinate the scenario
  2. 02Drive the DUT boundary
  3. 03Observe independently
  4. 04Predict and compare
  5. 05Close the risk
What to check
  • Legal destination for fixed or adaptive routing
  • Order within every required ID or flow domain
  • No corruption, duplication, or drop
  • Ready/valid or credit accounting without overflow or underflow
  • Deadlock, livelock, starvation, and QoS
Stress scenarios
  • Many-to-one congestion with mixed IDs and flow classes
  • Adaptive-route alternatives and blocked outputs
  • Reset, link retrain, or reconfiguration with traffic in flight
  • Credit pressure, retries, duplicates, drops, and late responses
Coverage
  • Source × destination × ID × burst
  • Legal route × congestion point
  • Outstanding depth × buffer
  • QoS age × arbitration outcome
Performance & sign-off
  • Latency distribution and tail by class
  • Throughput and bandwidth per master
  • Fairness and starvation bounds
  • End-of-test in-flight drain

02 · UVM reference architecture

Memory Subsystem DV

Prove data correctness only when command ordering, bank state, global timing windows, refresh, ECC, aliasing, and liveness all remain legal.

Memory Subsystem DV UVM topology. Use one mini-FSM per bank plus a global timing-window tracker for cross-bank rules such as tFAW and tRRD; detect illegal commands at issue time instead of waiting for a later data mismatch.
Requests + reactive memory
Virtual sequencer

Coordinates row locality, refresh overlap, errors, power modes, and frequency changes.

Master agent

AXI, CHI, or DFI driver, sequencer, monitor, and TLM path; applies command, data, and backpressure.

DRAM model / PHY agent

Reactive slave, sparse memory, backdoor interface, and ECC logic across DFI or DRAM command/data.

Scheduling boundary
Memory subsystem

DRAM controller under block-level testing per bank.

  1. Queuebank · row · age
  2. Check legalitybank state + global timing
  3. Select + issueACT · RD · WR · PRE · REF
  4. Updatestate · credits · completion
Bank 0Bank 1Bank 2Bank n
Per-bank + global legality
Per-bank state tracker

Bank FSM with timing SVA for idle, activating, active, precharging, and refreshing.

Global timing tracker

Sliding-window buffer and constraint checks for tFAW, tRRD, and other cross-bank rules.

Integrity + liveness
ECC and error monitor

Error generator, injection tracking, detection, correction, and reporting.

Performance and liveness

Latency histogram, bandwidth, page-hit calculation, watchdog, age queue, and starvation detection.

Addressed source of truth
Memory scoreboard

Sparse associative model or TLM FIFO plus an address-map and alias-conflict checker with backdoor comparison.

State-space closure
Functional coverage

Bank, row locality, timing corner, refresh overlap, ECC type, and sampling crosses.

  1. 01Coordinate the scenario
  2. 02Drive the DUT boundary
  3. 03Observe independently
  4. 04Predict and compare
  5. 05Close the risk
What to check
  • Per-bank and bank-group protocol timing
  • Command legality for current bank state
  • Read/write integrity and ECC or parity behavior
  • Every row refreshed within its required window
  • Bank interleaving, page-hit rate, and turnaround efficiency
  • Address aliasing, row conflict, and worst-case activate/precharge thrash
Stress scenarios
  • Page hits, misses, bank thrash, and address aliases
  • Refresh under heavy read/write traffic
  • Write-drain and read/write turnaround pressure
  • Power-down, self-refresh, DFI frequency change, and retraining
  • ECC injection without consuming front-door bandwidth
Coverage
  • Bank × row hit/miss × command sequence
  • Refresh overlap × read/write traffic
  • Maximum activate-window stress
  • ECC type × correction path
Performance & sign-off
  • Latency distribution and sustained bandwidth
  • Bank parallelism utilization
  • Page-hit rate and turnaround efficiency
  • No starvation from refresh or write drain

03 · UVM reference architecture

Data Engine / Accelerator DV

Coordinate DMA, local buffers, compute, and write-back while remaining bit-accurate across tiling, strides, unaligned data, quantization, and millions of operations.

Data Engine / Accelerator DV UVM topology. Track symbiotic SRAM ownership and ping-pong buffer lifecycle so DMA cannot overwrite a bank until compute releases it, then compare a bit-accurate oracle only at final accumulation commit.
Dispatch + configuration
Virtual sequencer

Coordinates command, data/weight streams, result collection, and buffer ownership.

AXI-Lite master

Programs configuration and dispatches tasks and command addresses.

Payload + backpressure
AXI-Stream master

Drives data and weights with tiling, stride, unaligned bursts, Data/Last, and backpressure.

AXI-Stream result slave

Reactive sink that controls Ready and collects committed result data.

DUT compute lifecycle
AI accelerator

DMA plus systolic array, tested block by block at each pipeline stage.

  1. DMA
  2. Local buffer
  3. Compute array
  4. Write-back
architectural commit
Ownership, numerics, performance
SRAM ownership monitor

Tracks bank lock and release, ping-pong races, double allocation, and premature reuse.

Performance monitor

P99 latency, bubble detection, tile lifetime, and compute-idle threshold under sufficient bandwidth.

Numerical-integrity monitor

Checks INT8/FP16 saturation, RNE/RTZ rounding, Inf/NaN, and accumulation rules.

Commit-time oracle
Scoreboard and DPI-C oracle

Bit-accurate C++ or Python/NumPy matrix calculation at architectural write-back.

Configuration closure
Functional coverage

Tile and stride configurations, quantization modes, buffer states, and handoff corners.

  1. 01Coordinate the scenario
  2. 02Drive the DUT boundary
  3. 03Observe independently
  4. 04Predict and compare
  5. 05Close the risk
What to check
  • INT8 or FP16 saturation, rounding, overflow, NaN, and Inf rules
  • 2D or 3D tiling, strides, tails, padding, and masks
  • DMA/compute handoff and output backpressure
  • Unaligned byte shifting and cross-lane steering
  • Results visible only at the architectural commit boundary
Stress scenarios
  • Ping-pong buffer races and premature bank reuse
  • Unaligned 128-bit transfer beginning at an offset such as 0x3
  • DMA stall with compute active and output backpressure
  • Tail tiles, masks, extreme numeric values, and mode changes
Coverage
  • Tile size × stride × quantization mode
  • Buffer occupancy × ownership transition
  • Descriptor depth × output backpressure
  • Rounding × saturation × numeric corner
Performance & sign-off
  • Tile latency versus predicted envelope
  • MAC and array utilization floor
  • Sustained throughput and bubble rate
  • No descriptor or resource circular wait

04 · UVM reference architecture

Coherency Model DV

Prove one shared-memory truth across concurrent out-of-order caches and ensure no latency or race produces divergent values or silent data corruption.

Coherency Model DV UVM topology. Maintain a global architectural directory model containing data, stable ownership, sharer sets, and the allowed serialization outcomes for every line. Drive conflicting requests at controlled offsets, check protocol-specific transient behavior separately, and periodically compare local caches and memory against the architectural truth.
Controlled race timing
Race and collision injector

Virtual sequence coordinates conflicting requests with precise cycle offsets.

Coherent agents
Coherent master agents

CPU or GPU drivers, monitors, and local cache models issue requests, snoops, data, and backpressure.

Ownership serialization
Coherent interconnect

Home node arbitrates ownership, snoops, memory requests, and data.

lineownersharersstate
Backing store
Shared memory / LLC model

Consumes memory requests and returns memory data behind the home node.

Snoop + transition observation
Snoop-response predictor

Uses the directory model to predict the correct snoop response and compare it with RTL.

Protocol compliance checker

Checks the implementation's legal stable and transient state transitions plus atomic or exclusive operations.

Concurrency and race monitor

Tracks write/write and read/write races plus snoop-broadcast behavior.

Global architectural truth
Global directory model

Central architectural truth for payload, stable ownership, sharers, and allowed serialization outcomes without over-constraining legal transient encodings.

Consistency checker

Periodic or end-of-test dumps compare local caches and main memory with the directory to detect SDC.

Race + state closure
Functional coverage

MESI transitions, race scenarios, false sharing, and cache thrashing.

  1. 01Coordinate the scenario
  2. 02Drive the DUT boundary
  3. 03Observe independently
  4. 04Predict and compare
  5. 05Close the risk
What to check
  • Legal MESI or MOESI transitions
  • No write to Shared without ownership and invalidation
  • Write/write and read/write races
  • Snoop and broadcast delivery and response aggregation
  • Atomic LL/SC or read-modify-write behavior
Stress scenarios
  • Same-line write/write ownership collision
  • Read racing a write before global visibility
  • False sharing and cache thrashing
  • Snoop saturation, atomics, and exclusive failure
Coverage
  • Prior state × request × response × next state
  • Race type × relative cycle offset
  • Snoop fanout × aggregation result
  • Atomic type × intervening request
Performance & sign-off
  • Snoop bandwidth and response latency
  • Ownership-transfer latency
  • Directory and home-node contention
  • Zero silent-data-corruption mismatches

05 · UVM reference architecture

Control Flow DV

Prove legal state transitions, asynchronous event handling, reset and power-state correctness, deterministic recovery, and forward progress for software-visible control state.

Control Flow DV UVM topology. Cross State × Event × Exit Path while an architectural RAL predictor decides which sticky and non-sticky bits may change in each reset or power state; combine it with state age and recovery-path coverage.
Software + asynchronous events
Scenario-based virtual sequencer

Power-aware bring-up, clock switch, power collapse, and reset-during-traffic coordination.

RAL agent

APB or AHB programming, illegal-sequence injection, and software-visible state access.

Sideband agent

Injects asynchronous interrupts, power requests, and reset collisions.

Reactive handshake slave

Permanent stalls, late acknowledgements, timeout testing, and acknowledgements during reset or power transition.

DUT state + recovery path
Control subsystem

Power, interrupt, reset, or clock controller.

  1. IDLE
  2. QUIESCE
  3. TRANSITION
  4. RESTORE
Arc legality + liveness evidence
FSM state and arc tracker

Legality, dead-end detection, and State × Event arc coverage.

CDC/RDC and power-state monitor

Crossings, glitches, warm/cold reset, retention, and domain-release sequencing.

Liveness watchdog

State age, progress timeout, starvation, and dependency-loop detection.

UPF / low-power checker

Isolation, retention restore, and X-propagation into active domains.

Next-state + software-visible truth
Golden FSM predictor

Next-state and output prediction for legal scenarios and recovery.

Architectural RAL mirror

Sticky versus non-sticky state and allowed changes for each power or reset condition.

Recovery-path closure
Functional coverage

FSM arcs, power/reset scenarios, and error-recovery paths.

  1. 01Coordinate the scenario
  2. 02Drive the DUT boundary
  3. 03Observe independently
  4. 04Predict and compare
  5. 05Close the risk
What to check
  • Every legal FSM arc and no dead-end state
  • Exit from error states and eventual return to IDLE or RUN
  • Interrupt, power, and reset collisions around handshakes
  • CDC/RDC synchronization and reset release by domain
  • Illegal software programming during transition
  • Timeouts produce architectural error instead of silent hang
  • Retention, quiesce, isolation, restore, and reinitialization
Stress scenarios
  • Interrupt, reset, and power request on the same cycle
  • Late or permanently missing acknowledgement
  • Software writes during a clock or power transition
  • Warm reset with retained and non-retained state
  • Power collapse before quiesce and recovery after restore
Coverage
  • State × event × exit path
  • Error state × recovery mechanism
  • Power state × reset type × sticky state
  • Handshake age × injected response behavior
Performance & sign-off
  • Event-to-response and recovery latency
  • Bounded state age
  • No dependency-loop or starvation timeout
  • Correct quiesce and wake latency