Reusable Verification Platform

Point RVP at your RTL.
Get back a running UVM testbench.

RVP reads a SoC's RTL, wires WIOWIZ golden VIPs onto every interface it exposes, and compiles, elaborates, and runs a complete UVM environment on native FSimX — no hand-written harness.

From RTL to testbench

Six autonomous steps, one command

The same flow runs on any SoC — a clean IP or a messy production netlist. Every step is deterministic and leaves a signed receipt you can diff.

01 · READ

Ingest the RTL

Parse the top module and resolve its port list — no YAML, no config, no manual interface list.

any SoC top
02 · DETECT

Find the interfaces

Identify boundary protocols by signal shape — APB, AXI, UART, JTAG, GMII and more, including multiple ports of the same kind.

signal-level
03 · BIND

Attach golden VIPs

Drop the matching WIOWIZ VIP onto each interface with the correct role and width — master, slave, or link partner.

golden VIP library
04 · HEAL

Close filelist gaps

When the netlist omits a module, RVP finds the real source in the repo and stitches it back in — preferring RTL over stubs.

self-healing
05 · RUN

Compile · elaborate · run

Build the whole environment on native FSimX and start every VIP sequence — the SoC and its checkers come alive.

native fsxrun
06 · VERDICT

Return a checked result

Scoreboards compare real data. The run reports QUALIFIED, INTEGRATED, or a fail-closed CHECK_FAIL — never an empty pass.

fail-closed
One golden library

One golden VIP library, one format

Every protocol RVP binds comes from the same golden library — each VIP a complete UVM agent, not a stub. Add a chip with an interface we don't cover, and that VIP is built and folded back in.

APBAXI4AHB UARTSPII2C JTAGGPIOCAN-FD GMII / Ethernet PCIeUSB3DDR5 LPDDR5CXLUCIe CHITileLinkI3C DisplayPortHDMIeMMC NVMeSMMUand more

Highlighted protocols auto-bind from RTL today. The rest are in the library and bind as their detectors ship — the same one-format VIP, wired the same way.

What ships in every VIP

  • Driver & monitor — cycle-accurate, protocol-correct
  • Sequencer & sequences — smoke, compliance, error-injection
  • Scoreboard — real data-integrity checking, not counters
  • Coverage & SVA — functional bins and protocol assertions
  • Config — role, width, compliance, all set from RTL
Verified at run time

A pass means the data was checked

RVP doesn't stop at "it compiled." VIPs drive real transactions into the DUT, scoreboards compare what came back, and the verdict is machine-enforced.

QUALIFIED Real transactions, checked

A VIP completes true bus handshakes and the scoreboard confirms the data — e.g. write a register, read it back, match. That, and only that, is a pass.

CHECK_FAIL Fail-closed by design

Corrupt one byte of the DUT and the scoreboard catches it — mismatch counted, error raised, non-zero exit. The bite is proven, not assumed.

INTEGRATED Honest about bring-up

When a DUT isn't booted, responder VIPs report activity without faking a result. RVP tells apart "not brought up yet" from "real defect."

Signed, reproducible receipts

Every run emits a JSON receipt — bound VIPs, recovered modules, match/mismatch counts, verdict — so results are diffable and auditable.

Proven on real silicon

Run against production SoCs, not toy designs

RVP has generated and run testbenches straight from the RTL of WIOWIZ SoCs across MCU + NPU, networking, and display classes — including netlists their own flows couldn't fully assemble.

Get it

One command against your top module

# generate + run a SoC UVM testbench from RTL
$ rvp gen --rtl ./my_soc --top my_soc_top

# point it at an existing filelist
$ rvp gen --top my_soc_top \
      --filelist sim/soc.f --run-cwd sim/

# verdict + signed receipt
✓ SOC_VIP_QUALIFIED  → runs/<soc>/receipt.json

Request access

RVP runs on Linux x86-64 alongside native FSimX. Tell us your target SoC and interfaces and we'll send the release with a walkthrough.

Linux x86-64native FSimXUVM 1.2 / IEEE-1800
Email support@wiowiz.com →

What RVP is not: not a replacement for your signed-off, hand-authored verification. It stands up a complete, running, checked UVM environment in minutes so real verification starts from a live testbench — not a blank file.