Skip to content
STIMSMITH

Verilator

Tool

Verilator is an open-source SystemVerilog simulator and lint system. It compiles Verilog/SystemVerilog designs into optimized, potentially multithreaded C++/SystemC models that run faster than interpreted simulation. Verilator is used as the RTL simulation backend in several hardware-fuzzing and verification frameworks (including ProcessorFuzz, RFuzz, DirectFuzz, and FuSS), and is the basis for ongoing work on UVM testbench support via the uvm-verilator project.

First seen 5/26/2026
Last seen 9/5/2026
Evidence 83 chunks
Wiki v5

WIKI

Verilator

Overview

Verilator is an open-source SystemVerilog simulator and lint system. Its public GitHub repository is verilator/verilator. [citation: Verilator is an open-source SystemVerilog simulator and lint system]

READ FULL ARTICLE →

NEIGHBORHOOD

4 nodes · 5 edges
graph · Verilator · depth=1

RELATIONSHIPS

50 connections
ChiGen ← evaluates 100% 4e
ChiGen was used in bug-finding campaigns on Verilator, revealing crashes and issues.
The paper uses Verilator to translate the Verilog RTL processor into C++ for co-simulation.
ProcessorFuzz ← uses 100% 4e
ProcessorFuzz uses Verilator for RTL simulation of processor designs.
The paper references Verilator used in the experimental setup.
UVM implements → 85% 3e
Antmicro is working on enabling fully open source UVM support in Verilator.
The paper uses Verilator to translate the RTL core to C++ for co-simulation.
RTL uses → 95% 3e
Verilator translates SystemVerilog RTL into C++ models.
RTL Simulation implements → 100% 3e
Verilator is an open-source RTL simulator that converts hardware designs to C++ functional models
Antmicro ← uses 90% 3e
Antmicro is actively developing UVM integrations with Verilator
The paper uses Verilator to obtain a C++ description of the RTL core.
RTL simulation implements → 100% 2e
Verilator is an RTL simulation tool providing full signal visibility.
The paper uses Verilator to generate RTL-based execution models
UVM implements → 88% 2e
The article reports upstream UVM 2017 support in Verilator, indicating implementation of UVM features.
RISCSmith ← uses 100% 2e
RISCSmith uses Verilator to compile and simulate instrumented RISC-V implementations.
DiffTest-H ← compares with 100% 2e
DiffTest-H is compared against 16-thread Verilator for simulation speed.
StimulusRL ← uses 95% 2e
StimulusRL can be integrated into Verilator-based simulation flows.
Prelude ← compares with 100% 2e
Prelude is compared against Verilator as a software simulation baseline.
Register-Transfer Level (RTL) ← uses 90% 1e
Verilator is used to translate RTL designs into C++.
RFUZZ ← uses 98% 1e
RFuzz uses Verilator to simulate the DUT in its simulation-based approach.
DirectFuzz ← uses 97% 1e
DirectFuzz uses Verilator for hardware simulation, like RFuzz.
FuSS Framework ← uses 100% 1e
FuSS uses Verilator to convert hardware models into cycle-accurate software models.
cycle-accurate simulation implements → 100% 1e
Verilator implements cycle-accurate simulation of hardware designs.
HARTBREAKER ← uses 100% 1e
HARTBREAKER uses Verilator to simulate designs under test.
RTL Simulation ← uses 95% 1e
Verilator is used as a single-threaded RTL simulator
LLM4DV Framework ← uses 97% 1e
The LLM4DV framework uses Verilator for simulation and testing of DUT modules.
Functional Coverage uses → 95% 1e
Verilator supports line, toggle and functional coverage analysis.
UnityChipForXiangShan ← uses 92% 1e
The Docker image for UnityChipForXiangShan includes Verilator as a tool.
Docker part of → 95% 1e
The Docker image includes Verilator as a bundled tool.
Constrained Randomization implements → 1e
Verilator now implements constrained randomization as introduced by Antmicro.
Satisfiability Modulo Theories uses → 1e
Verilator uses SMT solvers in the implementation of randomization constraints.
Z3 uses → 1e
Verilator uses z3 as an SMT solver for implementing randomization constraints.
cvc5 uses → 1e
Verilator uses cvc5 as an SMT solver for implementing randomization constraints.
SMT-LIB2 uses → 1e
Verilator converts SystemVerilog expressions to SMT-LIB2 as part of its constraint solving integration.
HiFuzz ← uses 100% 1e
HiFuzz is implemented on top of Verilator for RTL simulation.
ZP Cosim ← uses 97% 1e
ZP Cosim supports simulation using Verilator as a backend
XiangShan ← uses 95% 1e
XiangShan supports Verilator as a simulation backend.
googletest-hdl ← uses 95% 1e
googletest-hdl was extended to support Verilator as a simulation backend.
FWRISC RISC-V Core ← uses 95% 1e
The RISC-V soft-core contest required the use of Verilator as a simulator for the FWRISC core.
Prelude ← uses 100% 1e
Prelude uses Verilator for software-level replay and verification.
Waveform Tracing implements → 95% 1e
Verilator supports full waveform tracing.
Universal Verification Methodology (UVM) implements → 85% 1e
Antmicro is developing UVM integrations with Verilator
System-C testbench ← uses 97% 1e
The System-C testbench depends on Verilator for simulation.
ImperasDV ← uses 95% 1e
ImperasDV provides C/C++ examples for use with Verilator designs.
Electronic Design Automation ← uses 90% 1e
Verilator is an EDA tool that can benefit from Verilog fuzzers.
Verismith ← evaluates 90% 1e
Verismith was used in bug-finding campaigns on Verilator as a baseline comparison to ChiGen.
TransFuzz ← evaluates 90% 1e
TransFuzz was used in bug-finding campaigns on Verilator as a baseline comparison to ChiGen.
RISC Whisk ← uses 100% 1e
RISC Whisk uses Verilator as the hardware-to-C language converter and functional simulator.
Hardware fuzzing ← uses 100% 1e
Hardware fuzzing uses Verilator for hardware-to-C translation and simulation.
hardware-to-software translation implements → 100% 1e
Verilator implements hardware-to-software translation by converting HDL to C language.

CITATIONS

11 sources
11 citations — click to expand
[1] Verilator is an open-source SystemVerilog simulator and lint system, with public repository verilator/verilator. verilator/verilator
[2] Verilator compiles Verilog or SystemVerilog code into an optimized, potentially multithreaded model wrapped in a C++/SystemC module, executing faster than interpreted simulators and on par with or better than many closed-source simulators. Fuzzing IPv4 modules on FPGAs
[3] ProcessorFuzz uses Verilator as the open-source RTL simulator for all evaluated processor designs, comparing RTL trace logs against ISA trace logs. Fuzzing IPv4 modules on FPGAs
[4] RFuzz uses Verilator to simulate the DUT on the CPU side of an SoC, communicating with the fuzzer via shared-memory buffers. Fuzzing IPv4 modules on FPGAs
[5] DirectFuzz builds on RFuzz and likewise uses Verilator for hardware simulation. Fuzzing IPv4 modules on FPGAs
[6] FuSS uses Verilator to convert hardware models into cycle-accurate software models; Verilator serves as the backend due to precise modeling of synthesizable Verilog designs. FuSS: Coverage-Directed Hardware Fuzzing with Selective Symbolic Execution
[7] The Cascade artifact uses Verilator v5.006 and provides an explicit reinstall procedure if the running Verilator version produces an unknown-warning error. comsec-group/cascade-artifacts
[8] Long-running efforts led by Antmicro, Wilson Snyder, and open-source contributors enable UVM testbenches in Verilator via the uvm-verilator project, with upstream UVM 2017 support as a milestone. CHIPS Alliance SV Tools Project launch
[9] The CHIPS Alliance sv-tests suite tracks Verilator's SystemVerilog feature support and was used to track milestones such as the addition of UVM support to Verilator. CHIPS Alliance SV Tools Project launch
[10] Verilator is discussed in a survey of RISC-V processor verification alongside RVVI-Trace, RVVI-VVP, and RISCV-DV as part of the open-source verification ecosystem. Survey of Verification of RISC-V Processors
[11] A DATE 2022 cross-level processor-verification excerpt references https://www.veripool.org/verilator/ but does not provide enough surrounding detail to support stronger claims about its role in that work. Verilator project page