WIOWIZ AI wiowiz AI
// VIRTUAL PLATFORM

Run WIOWIZ silicon before the RTL leaves the lab

SOCVP is WIOWIZ's executable model of its own Soft IP, packaged as bootable SoC solutions that run real RISC-V firmware you compile yourself. Evaluate WIOWIZ IP without waiting for an RTL drop. It models WIOWIZ silicon at the architecture level, it is not an RTL simulator.

See it run ↓ See the EDA platform
SolutionsDesignsBlocksSee it runQuickstartEvidenceCompareRoadmapGet it

Bootable SoC solutions

Each solution boots real firmware against a modelled WIOWIZ SoC, RISC-V processors, an INT8 NPU, DMA, PCIe and CXL endpoints, a UEC NIC and DPU, and more.

MCU

MCU

A compact RISC-V microcontroller SoC, the fastest way to boot real firmware and watch it pass.

AI-EDGE

AI-Edge

An edge-inference SoC with the INT8 NPU, driven by shipped firmware and a golden reference.

MULTICORE

Multicore

A multi-core RISC-V SoC for concurrency, coherence and system bring-up.

DPU

DPU

A data-processing SoC with networking and CXL data movement for datacenter evaluation.

Supported designs

Every design here boots on the WIOWIZ engine. The numbers below come from an executed boot, not a specification.

DesignProfileRetiredBus txnsVerdict
AI Edge SoCRV32IM · CNN+NPU16,96625,353Booted
MulticoreRV32 + RV64GC + safety2,31211,725Booted
Networking DPUdescriptor DMA · loopback5,4219,999Booted
MCU / controllerCPU · timer · IRQ · UART1,0082,129Booted

Bring your own SoC RTL is gated in this release. See Quickstart for the import envelope.

Supported blocks

The IP a design can carry, and the level each is modeled at. A block absent from a solution is not modeled by that solution. MODELED executable model, gate-backed. BEHAVIORAL a characterized path, not full RTL.

BlockLevelai-edgemulticoredpumcuNotes
MemoryMODELEDOOOOFirmware and data storage
Console (UART)MODELEDOOOOPrints characters from firmware
Timer and software interruptsMODELEDOOOOCore-local interrupts
TimerMODELEDOOXOCounts and raises periodic interrupts
Register block (APB)MODELEDOOXOMemory-mapped registers
NPU (MAC tile)MODELEDOOXXINT8 matrix multiply
NPU (systolic)MODELEDOOXXINT8 8x8 systolic matrix-vector
Interrupt controllerMODELEDOOXORoutes and prioritises interrupts
Serial transmitterMODELEDOOXXFrames bytes onto a serial line
WatchdogMODELEDOOXXResets the system if firmware stops feeding it
PWMMODELEDOOXXGenerates a duty-cycled output
CNN acceleratorMODELEDOOXXINT8 2D convolution
Max-pooling acceleratorMODELEDOOXXINT8 max-pooling
Sum-pooling acceleratorMODELEDOOXXINT8 sum-pooling
Depthwise convolutionMODELEDOOXXINT8 per-channel convolution
1D convolutionMODELEDOOXXINT8 1D convolution
Elementwise addMODELEDOOXXINT8 operands, INT32 accumulate
DMA engineMODELEDOOXXCopies memory without the CPU
PCIe endpointBEHAVIORALOOXXLink training to L0, config space, BAR sizing
GPU (SIMT)MODELEDOOXXFP32/INT32 kernels + divergent SIMT
CXL memory expanderMODELEDOOXXType-3 coherent window, device MESI
Networking DPUMODELEDOOOXDescriptor DMA and loopback packet copy

Protocol-level detail such as link training and state machines lives in the Protocol Wizards, not here.

See it run

Short walk-throughs of SOCVP booting and evaluating WIOWIZ silicon.

MCU — boot to pass

The compact RISC-V microcontroller SoC boots shipped firmware and reports a checked pass.

Multicore — coherence & bring-up

A multi-core RISC-V SoC brings up concurrently with coherent memory traffic.

AI-Edge — INT8 NPU inference

The edge SoC runs inference on the INT8 NPU and compares it element for element against a golden reference.

DPU — networking & data movement

The data-processing SoC drives the UEC NIC and DPU datapath end to end.

PCIe — endpoint transactions

PCIe endpoint transactions move through the modelled SoC with a full transaction log.

CXL — coherent memory

CXL coherent memory access is exercised and checked against the expected result.

Quickstart

From the package to a booted system in a few commands.

# 1. see what you can run
socvp solutions
ai-edge AI Edge system
dpu Networking DPU
mcu MCU / controller
multicore Heterogeneous multicore

# 2. boot one
socvp boot ai-edge
[VP] firmware output ...
AI Edge: passed
Booted, 16,966 instructions retired

# 3. open the studio, capture a receipt
socvp studio ai-edge
socvp boot ai-edge -trace -json out/trace.json
socvp evidence ai-edge
socvp boot ai-edge -firmware path/to/app.elf
CommandWhat it does
socvp solutionswhat you can run
socvp boot <soc>boot firmware on a solution
socvp studio <soc>open the SoC studio
socvp evidence <soc>what is proven, and what is not
socvp comparefunctional vs RTL: same firmware, both engines
socvp import <rtl>bring your own RTL to qualification
socvp checkverify complete system readiness

Every flag is single-hyphen. Run socvp <command> -help for a command's options.

Evidence and receipts

A boot ends in a verdict, and the verdict can fail. That is the point.

VerdictMeaning
Bootedthe firmware booted and an oracle or check passed
Divergentthe model and the reference disagreed at a specific point
Incompletea required input or field was missing, so the run was refused
Blockeda precondition was not met, a license or a dependency
Model requiredthe asset needs a model that is not present
Toolchain unavailablea needed toolchain was not found on the host

Not modeled is not clean

Timing, power, clock-domain crossing and RTL equivalence are not modeled on the portable engine. These render as not measured, never a green they did not earn.

Negative controls

Each strong check ships with a control that is meant to fail. If the check can pass a case it should reject, the control catches it. Proof sits next to its negative, not alone.

Verified at run time, not asserted in a datasheet

Real firmware, checked

Every evaluation runs firmware and checks the result. Where a golden reference exists, the run is compared element for element.

Illegal instruction fails

A boot that executes an illegal instruction fails. A success flag cannot override a real fault.

Self-verifying package

The shipped package checks its own integrity and refuses to run a tampered file.

Deterministic

Boots are byte-for-byte deterministic. Run it ten times, diff nothing.

How socvp compares

We learn the shape of a mature virtual-platform product, not its breadth. We aim to win the first ten minutes.

AreaA general virtual platformsocvp
Goalsimulate a machine, a virtual embedded labboot and prove a silicon or IP package
Strengthboards, peripherals, scripting, ecosystemthe WIOWIZ engine, RTL truth, an evidence receipt
User actiondescribe a machine, run scriptsselect or upload, then boot, prove, export
Debugmonitor, GDB, tracesboot log, system blocks, verdict, model vs RTL compare
Co-simulationconnect to third-party HDL simulatorsruns RTL on our own FSiMX engine, no third-party
Best claimsimulate complex embedded systemsboot virtual silicon and show proof that can fail

Release roadmap

Where socvp is against the shape of a mature virtual-platform product. A capability moves to DONE only when a gate or an executed run proves it.

Get it  v1.0.0

Delivered as a Docker bundle, the same image runs on Linux natively or on Windows via WSL2 with Ubuntu. Download, extract, build, and run. You always get the latest release.

# extract and build the image
tar -xzf socvp-public-1.0.0-docker.tar.gz
cd socvp-public-1.0.0
docker build -t wiowiz/socvp:1.0.0 .
# check, see the catalog, boot a solution
docker run --rm wiowiz/socvp:1.0.0 check
docker run --rm wiowiz/socvp:1.0.0 catalog
docker run --rm wiowiz/socvp:1.0.0 boot mcu
# launch Studio (GUI)
docker run --hostname "$(hostname)" -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix wiowiz/socvp:1.0.0 studio ai-edge
Linux · Docker bundle Recommended
v1.0.0 · 52 MB · x86-64 · .tar.gz
SHA256 163002cf4e2866ab45a1244811bc8694189ee1e995e8c7a51fb169fe6e006980
Windows · via WSL2
v1.0.0 · Windows 10 / 11 · WSL2 + Docker Desktop
Same Docker image, run under WSL2 with Ubuntu, no separate build to download.
What it is not. Not an RTL simulator, not cycle-accurate, and it does not import your RTL. SOCVP is the authoritative functional model of WIOWIZ IP.