Overview
A Random Instruction Stream is referenced in RISCV-DV as part of an instruction-generation flow for RISC-V processor verification. RISCV-DV is a SystemVerilog/UVM-based open-source instruction generator for RISC-V processor verification, and its feature set explicitly includes support for mixing directed instructions with a random instruction stream. [C1][C2]
Role in RISCV-DV
Within RISCV-DV, random instruction streams are one component of a broader randomized verification approach. The generator supports random forward and backward branch instructions, illegal instruction and HINT instruction generation, sub-program generation with random program calls, page-table randomization and exceptions, privileged CSR setup randomization, and randomized debug ROM support. These features can contribute to varied generated programs and verification scenarios. [C3]
Supported verification scope
The RISCV-DV generator supports the RV32IMAFDC and RV64IMAFDC instruction sets, as well as machine, supervisor, and user privileged modes. It also includes trap and interrupt handling, MMU stress-test support, instruction-generation coverage, and co-simulation with multiple instruction set simulators including Spike, riscv-ovpsim, Whisper, and sail-riscv. [C4]
Tooling requirements
Running RISCV-DV requires an RTL simulator with SystemVerilog and UVM 1.2 support. The project documentation states that the generator has been verified with Synopsys VCS, Cadence Incisive/Xcelium, Mentor Questa, and Aldec Riviera-PRO simulators. [C5]