Crate marlin_verilator

Crate marlin_verilator 

Source
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§

eprintln_nocapture

Structs§

VerilatedModelConfig
Configuration for a particular [VerilatedModel].
VerilatorRuntime
Runtime for (System)Verilog code.
VerilatorRuntimeOptions
Optional configuration for creating a VerilatorRuntime. Usually, you can just use VerilatorRuntimeOptions::default().
WideIn
LENGTH is compute_wdata_length_from_width_not_msb(HIGH + 1) where HIGH is the most significant bit.
WideOut
See WideIn.

Enums§

CxxStandard
Based off of the C++ standards supported by GCC as of June 6th, 2025.
PortDirection
https://www.digikey.com/en/maker/blogs/2024/verilog-ports-part-7-of-our-verilog-journey

Traits§

AsVerilatedModel
You should not implement this trait manually. Instead, use a procedural macro like #[verilog(...)] to derive it for you.