| Step1 · Specification | GenericDecompose interfaces, features, and behaviors. Rank ordering, concurrency, CDC, power, precision, and forward progress by risk. | Fabric / NoCDefine ordering domains, legal routing, QoS and fairness, deadlock and livelock, and credit or backpressure loops. | Memory / CacheDefine temporal correctness, bank conflicts, refresh starvation, RAW hazards, address aliasing, and cache coherency races when applicable. | DMA / AcceleratorDefine DMA-to-compute synchronization, buffer lifecycle, unaligned accesses, quantization and precision, and circular waits among engines. |
|---|
| Step2 · Golden model | GenericChoose the source of truth at the lowest abstraction that can independently answer the required question. | Fabric / NoCUse a routing predictor plus a global in-flight tracker keyed by transaction ID. Predict legal destination, not one fixed adaptive route. | Memory / CacheUse a sparse memory model with per-bank state. For cache, add a global directory or coherence-state model. | DMA / AcceleratorUse a bit-accurate DPI-C, C++, or Python numerical oracle at the architectural commit point plus a descriptor-lifecycle ownership model. |
|---|
| Step3 · Testbench architecture | GenericUse reusable agents per interface, a virtual sequencer for cross-interface scenarios, a latency-tolerant scoreboard, and an SVA layer. | Fabric / NoCUse ingress agents, egress monitors, distributed scoreboard partitions, and one global tracker for out-of-order matching. | Memory / CacheUse AXI or CHI front-end agents, a DFI or DRAM model, a two-stage scoreboard for write buffers versus memory, and per-bank trackers. | DMA / AcceleratorUse command and AXI-Stream agents, a symbiotic SRAM ownership monitor, and a result collector at the write-back boundary. |
|---|
| Step4 · Active path | GenericProgress from directed bring-up to constrained random, stress, then disruption such as reset, power, or backpressure during traffic. | Fabric / NoCCreate many-to-one congestion, mixed IDs, QoS starvation, adaptive routing, and in-flight reset, link retrain, or reconfiguration. | Memory / CacheShape row hit and miss traffic, bank thrash, refresh overlap, same-address RAW sequences, and power-down or self-refresh exit. | DMA / AcceleratorMaximize outstanding descriptors, use unaligned bursts, stall outputs mid-compute, and exercise NaN, maximum, minimum, and tail tiles. |
|---|
| Step5 · Passive path | GenericUse SVA for protocol, scoreboards for data, and watchdog or age tracking for liveness. | Fabric / NoCCheck per-ID ordering, credit conservation, drops and duplicates, and dependency-aware forward progress. | Memory / CacheCheck command legality at issue, refresh windows, ECC or parity injection, and coherence transitions. | DMA / AcceleratorCompare bit-accurate results at architectural write-back, check buffer reuse, and assert saturation and rounding rules. |
|---|
| Step6 · Coverage | GenericMap feature, cross, register, temporal state, and performance coverage directly to the testplan. | Fabric / NoCCross source, destination, ID, burst, congestion, outstanding depth, and QoS aging or fairness. | Memory / CacheCross bank, row hit or miss, timing corner, refresh overlap, ECC type, and cache state versus request type. | DMA / AcceleratorCross tile size, stride, quantization mode, buffer occupancy, compute utilization, and descriptor-queue depth. |
|---|
| Step7 · Performance | GenericTrack latency distributions, throughput, utilization, starvation, and deadlock evidence. | Fabric / NoCMeasure tail latency by class, bandwidth per master, and starvation under sustained high-priority load. | Memory / CacheMeasure page-hit rate, bank parallelism, sustained bandwidth, and prove refresh or write-drain cannot block a request forever. | DMA / AcceleratorCompare predicted and observed tile latency, enforce utilization floors, and prove no circular wait among DMA, compute, and output. |
|---|
| Step8 · Sign-off | GenericReach stable directed and constrained-random regressions, close meaningful coverage, and demonstrate convergence. | Fabric / NoCDrain every in-flight transaction at end of test, prove long-run fairness, and show no progress violation under stress. | Memory / CacheClose timing corners and long-run refresh stability, then sign off ECC, scrub, and power-state recovery flows. | DMA / AcceleratorMeet the performance envelope under stress, preserve numerical stability, and show no buffer leak or descriptor stall. |
|---|