Skip to content
STIMSMITH

DPI

Concept

DPI is used in the cited RISC-V verification flow as the call boundary between Verilog/RTL simulation and external software components such as Dromajo and Logic Fuzzer table objects. In this role, DPI calls let RTL logic invoke wrapper functions, exchange commit or interrupt information with Dromajo, and access fuzzer-backed tables used by table mutators.

First seen 5/28/2026
Last seen 5/28/2026
Evidence 5 chunks
Wiki v1

WIKI

Overview

In the provided verification evidence, DPI is the mechanism used for calls between Verilog/RTL simulation and external software-side verification components. Dromajo is compiled into a shared library, linked to the simulator, and accessed from Verilog through DPI calls. The DPI functions are described as lightweight wrappers around Dromajo API functions. [1]

DPI is also used by Logic Fuzzer integrations that replace or redirect RTL table accesses. In the described branch-predictor and cache/table experiments, implementation-side logic accesses fuzzer-managed tables through DPI rather than directly accessing the RTL memory model. [2]

READ FULL ARTICLE →

NEIGHBORHOOD

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

explore full graph →

RELATIONSHIPS

3 connections
Logic Fuzzer ← uses 95% 2e
Logic Fuzzer uses DPI calls to interface with RTL during simulation.
Dromajo ← uses 95% 1e
Dromajo uses DPI calls for integration with RTL simulators.
table mutator ← uses 90% 1e
Table mutators are accessed through DPI from the RTL.

CITATIONS

5 sources
5 citations — click to expand
[1] Dromajo is compiled into a shared library, linked to a simulator, and accessed through DPI calls from Verilog; the DPI functions mainly wrap Dromajo API functions. [PDF] Effective Processor Verification with Logic Fuzzer Enhanced Co ...
[2] The Dromajo DPI integration uses cosim_init() for initialization, step() for committed-instruction comparison, and raise_interrupt() for interrupt co-simulation. [PDF] Effective Processor Verification with Logic Fuzzer Enhanced Co ...
[3] Dromajo checkpoint-based co-simulation instantiates Dromajo in the RTL flow and uses DPI calls during the step-and-compare phase. [PDF] Effective Processor Verification with Logic Fuzzer Enhanced Co ...
[4] Logic Fuzzer can configure fuzzer tables corresponding to branch predictor structures, and implementation-side logic accesses those fuzzer tables through DPI instead of the RTL memory model. [PDF] Effective Processor Verification with Logic Fuzzer Enhanced Co ...
[5] Table mutators replace instruction-cache tag and data arrays, and instruction-cache logic reads and writes those tables through DPI. [PDF] Effective Processor Verification with Logic Fuzzer Enhanced Co ...