Expand description
This module implements the Verilator runtime for instantiating hardware modules. The Marlin Verilator runtime supports DPI, VCDs, and dynamic models in addition to standard models.
For an example of how to use this runtime to add support for your own custom
HDL, see SpadeRuntime (under the “language-support/spade/” directory),
which just wraps VerilatorRuntime.
Re-exports§
pub use dynamic::AsDynamicVerilatedModel;
Modules§
- dpi
- See the
#[verilog::dpi]macro for details. - dynamic
- Support for dynamic models.
- ffi_
names - Ensures all FFI function references are consistent.
- nocapture
- types
- Verilator-defined types for C FFI.
- vcd
Macros§
Structs§
- Verilated
Model Config - Configuration for a particular [
VerilatedModel]. - Verilator
Runtime - Runtime for (System)Verilog code.
- Verilator
Runtime Options - Optional configuration for creating a
VerilatorRuntime. Usually, you can just useVerilatorRuntimeOptions::default(). - WideIn
LENGTHiscompute_wdata_length_from_width_not_msb(HIGH + 1)whereHIGHis the most significant bit.- WideOut
- See
WideIn.
Enums§
- CxxStandard
- Based off of the C++ standards supported by GCC as of June 6th, 2025.
- Port
Direction - https://www.digikey.com/en/maker/blogs/2024/verilog-ports-part-7-of-our-verilog-journey
Traits§
- AsVerilated
Model - You should not implement this
traitmanually. Instead, use a procedural macro like#[verilog(...)]to derive it for you.