Overview
Google RISCV-DV (also written as riscv-dv) is an instruction set generator (ISG) for the RISC-V instruction set architecture. As an ISG, it produces assembly files containing configured instructions according to targeted test scenarios, where the instructions are randomly generated in accordance with the scenario's constraints.
Role in RISC-V Processor Verification
In RISC-V processor verification flows, instruction set generators create test programs that exercise processor implementations. The assembly files generated by the instruction generator are compiled using a compiler into machine language, written into memory defined within a memory agent, and subsequently delivered to the design under test (DUT) for verification against a reference model.
Google RISCV-DV is mentioned alongside other RISC-V instruction generators, including Force-riscv, an ISG from OpenHW Group that supports all instructions of RV32GC.
Derivative and Related Tools
COREV-DV
COREV-DV is layered on top of Google RISCV-DV, extending its instruction generation capabilities for RISC-V core verification.
EAVS-DV
The ElectraIC Advanced Verification Suite (EAVS) uses COREV-DV as its instruction generator and proposes EAVS-DV as an enhancement to COREV-DV, further building on the Google RISCV-DV foundation.
Use in the ElectraIC Advanced Verification Suite (EAVS)
Google RISCV-DV has been used (via COREV-DV) in the ElectraIC Advanced Verification Suite (EAVS), a verification environment designed for any RISC-V core. EAVS includes an Instruction Set Simulator (ISS), YAML configuration files, and a RISC-V Core Universal Verification Methodology (UVM) Testbench containing a RISC-V core as the DUT, along with an instruction generator, compiler, and base test. The ISS uses Spike, a RISC-V ISA simulator officially released by the RISC-V International Foundation, operating as the golden reference model to determine whether the core's executed instructions are correct. EAVS has been demonstrated with the verification of the cv32e40p core as an example.