RVFI-DII (pronounced "rividy") is the TestRIG-compatible combination of the RISC-V Formal Interface (RVFI) for per-instruction state observation and Direct Instruction Injection (DII) for harness-driven instruction supply, used by vengines and implementations to compare RISC-V models, simulators, and simulated hardware through generated instruction streams and trace comparison over a single socket.
First seen5/27/2026
Last seen7/19/2026
Evidence21 chunks
Wikiv2
01
WIKI
Overview
RVFI-DII (pronounced "rividy") is the combined verification interface used by the TestRIG framework. It joins the RISC-V Formal Interface (RVFI), a tracing protocol for RISC-V processors to specify the results of running instructions, with Direct Instruction Injection (DII), in which the next instruction is supplied by the test harness rather than fetched from program memory. TestRIG describes itself as "a framework for RISC-V processor verification using the RVFI-DII interface," and the full wire format is documented in the project repository's RVFI-DII specification.
[1]RVFI-DII is pronounced "rividy" and is the interface TestRIG uses for RISC-V processor verification.CTSRD-CHERI/TestRIG
[2]TestRIG supports two component types: vengines that generate DII streams and consume RVFI streams, and implementations that consume DII traces and produce RVFI traces.CTSRD-CHERI/TestRIG
[3]A vengine feeds itraces into both a model and an implementation through two TCP sockets in the RVFI-DII format and returns RVFI-DII etraces detailing state observation and change for each instruction.CTSRD-CHERI/TestRIG
[4]Implementations consuming RVFI-DII consume instructions exclusively from the RVFI-DII instruction port, bypassing actual instruction memory and ignoring the architectural program counter, then deliver a trace report in the RVFI-DII format.CTSRD-CHERI/TestRIG
[5]The RVFI-DII communication uses a single socket with the itrace consumed and the etrace delivered over the same socket.CTSRD-CHERI/TestRIG
[6]RISC-V Formal Interface (RVFI) is a tracing protocol for RISC-V processors to specify results of running instructions, and RVFI-DII is defined as the use of Direct Instruction Injection (DII) and RVFI together.UCAM-CL-TR-984.pdf
[7]TestRIG positions RVFI-DII as eliminating the test gap between specification and implementation, enabling pipeline-level verification, and producing small automatically reduced counterexamples.CTSRD-CHERI/TestRIG