verilator
Verilog to C++ simulation compiler
TLDR
SYNOPSIS
verilator [--lint-only] [--cc] [--trace] [options] files
DESCRIPTION
verilator converts synthesizable Verilog and SystemVerilog designs into optimized C++ or SystemC models. The generated code compiles to native executables that run significantly faster than interpreted simulators, making it one of the fastest open-source Verilog simulators available.The tool also functions as a lint checker with --lint-only, catching common coding errors and style issues without generating simulation code. Waveform tracing can be enabled with --trace to produce VCD files for viewing in waveform viewers like GTKWave.
PARAMETERS
--lint-only
Lint check only.--cc
Generate C++.--exe
Create executable.--build
Compile output.--trace
Enable waveforms.--sc
Generate SystemC output.--binary
Generate C++ and build a binary executable directly.-Wall
Enable all warnings.--top-module module
Specify the top-level module name.-j N
Parallelism for build jobs.-CFLAGS flags
Pass flags to the C++ compiler.-LDFLAGS flags
Pass flags to the C++ linker.
CAVEATS
Verilator is cycle-based and only supports the synthesizable subset of Verilog/SystemVerilog. It does not support all simulation constructs (e.g., delays, some system tasks). Two-state simulation only (no X/Z propagation).
HISTORY
Verilator was created by Wilson Snyder as the fastest Verilog simulator through C++ compilation.
