vpi 0.3.0

Safe and ergonomic Rust bindings to the Verilog and SystemVerilog VPI C API for writing VPI applications in Rust.
Documentation

vpi

Safe and ergonomic Rust bindings for writing Verilog/SystemVerilog VPI plugins.

This crate wraps vpi-sys with a safer API surface.

Features

  • sv: Enable SystemVerilog VPI extensions.
  • bigint: Enable conversions with num-bigint.
  • dynamic: On Windows/macOS, use runtime symbol lookup via vpi-shim so plugins can be built without directly linking simulator libraries.

Usage

Add this crate as a dependency in your plugin crate and build as cdylib.

[lib]
crate-type = ["cdylib"]

[dependencies]
vpi = { path = "../vpi" }

See top-level project examples for complete plugin implementations.