Skip to content
STIMSMITH

Crafting a Million Instructions/Sec RISCV-DV

Paper

“Crafting a Million Instructions/Sec RISCV-DV” is a technical paper by Puneet Goel, Ritu Goel, and Jyoti Dahiya on accelerating RISCV-DV, an open-source RISC-V random instruction generator, through a parallelized Embedded UVM implementation and other high-performance-computing techniques. The paper reports a multicore UVM testbench implementation capable of generating millions of constrained-randomized RISC-V instructions per second, over 100× faster than the original SystemVerilog UVM RISCV-DV implementation.

First seen 5/25/2026
Last seen 5/25/2026
Evidence 2 chunks
Wiki v1

WIKI

Overview

“Crafting a Million Instructions/Sec RISCV-DV” is a paper subtitled “HPC Techniques to Boost UVM Testbench Performance by Over 100x.” The listed authors are Puneet Goel of Incore Semiconductors, and Ritu Goel and Jyoti Dahiya of Coverify Systems Technology. The paper focuses on improving the performance of RISCV-DV, described in the paper as an open-source random instruction generator widely used for functional verification of RISC-V cores. [C1][C2]

The paper presents a parallelized RISCV-DV port coded in Embedded UVM (eUVM) and explores techniques for improving testbench performance. Its abstract reports a multicore UVM testbench implementation that generates millions of constrained-randomized RISC-V instructions per second, achieving a speedup of over 100× compared with the original RISCV-DV implementation coded in SystemVerilog UVM. [C3]

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

7 connections
riscv-dv evaluates → 100% 2e
The paper evaluates RISCV-DV performance and presents optimization techniques.
Ritu Goel authored by → 100% 1e
The paper is authored by Ritu Goel from Coverify Systems Technology.
Jyoti Dahiya authored by → 100% 1e
The paper is authored by Jyoti Dahiya from Coverify Systems Technology.
Puneet Goel authored by → 100% 1e
The paper is authored by Puneet Goel from Incore Semiconductors.
Incore Semiconductors published by → 90% 1e
The paper is published by authors from Incore Semiconductors.
Coverify Systems Technology published by → 90% 1e
The paper is published by authors from Coverify Systems Technology.
Multicore Parallelization introduces → 100% 1e
The paper introduces multicore parallelization techniques for RISCV-DV achieving over 100x speedup.

CITATIONS

10 sources
10 citations — click to expand
[1] C1: The paper is titled “Crafting a Million Instructions/Sec RISCV-DV” and subtitled “HPC Techniques to Boost UVM Testbench Performance by Over 100x,” with authors Puneet Goel, Ritu Goel, and Jyoti Dahiya. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[2] C2: RISCV-DV is described as an open-source random instruction generator widely used for functional verification of RISC-V cores. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[3] C3: The paper describes a parallelized RISCV-DV port in Embedded UVM and reports a multicore UVM implementation generating millions of constrained-randomized RISC-V instructions per second, over 100× faster than the original SystemVerilog UVM RISCV-DV implementation. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[4] C4: The paper states that high-end RISC CPU verification can require about 10^15 constrained-random instructions and that the original SV/UVM RISCV-DV generates about 10,000 instructions per second. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[5] C5: The paper connects testbench performance to the post-2005 shift from frequency scaling to multicore concurrency, and notes limited multicore parallelization of testbenches compared with RTL simulation. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[6] C6: Profiling used uvm_trace wall-clock timestamps and a riscv_instr_base_test with seven directed streams covering possible RISC-V instruction categories. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[7] C7: The paper identifies four major RISCV-DV bottlenecks: directed stream randomization, non-directed stream generation, directed-stream insertion into non-directed streams with O(n²) behavior, and repeated formatted string generation with $sformatf. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[8] C8: The first two bottlenecks involve linear constraint-solving workloads suitable for multicore parallelization, while reducing memory allocation in the fourth bottleneck can improve execution time and scalability. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[9] C9: The original directed-stream merge process tags directed sequence instructions as atomic and greedily retries random insertion locations when a chosen location falls inside another directed sequence. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings
[10] C10: The paper treats directed-stream insertion as a suboptimal algorithmic implementation requiring a significant architectural change. [PDF] Crafting a Million Instructions/Sec RISCV-DV - DVCon Proceedings