Skip to main content

Crate rustdv_gpi_sys

Crate rustdv_gpi_sys 

Source
Expand description

§rustdv-gpi-sys

Raw FFI declarations for the simulator programming interface.

Deviation from design-doc D2.1 (documented in STATUS.md): the design calls for bindgen-generated bindings to cocotb’s gpi.h. This sandbox has no cocotb GPI build and a zero-external-dependency constraint (no bindgen), so v0 binds the IEEE 1800 VPI C API directly — the same API cocotb’s GPI wraps for Icarus. The declarations below are a hand-written subset of vpi_user.h, sufficient for: hierarchy lookup, value get/set, time query, and callbacks. The safe layer (rustdv-gpi) exposes a GPI-shaped API so that swapping this crate for real gpi.h bindings later is contained.

Everything here is unsafe extern "C"; no logic lives in this crate (the -sys discipline, design-doc D2.1).

Structs§

t_cb_data
t_vpi_time
t_vpi_value

Constants§

cbAfterDelay
cbAtStartOfSimTime
cbEndOfCompile
cbEndOfSimulation
cbForce
cbNextSimTime
cbReadOnlySynch
cbReadWriteSynch
cbRelease
cbStartOfSimulation
cbStmt
cbValueChange
vpi0
vpi1
vpiBinStrVal
vpiBitVar
vpiByteVar
vpiConstant
vpiDecStrVal
vpiEnumVar
vpiFile
vpiFinish
vpiForceFlag
vpiFullName
vpiHexStrVal
vpiInertialDelay
vpiIntVal
vpiIntVar
vpiIntegerVar
vpiLineNo
vpiLongIntVar
vpiMemory
vpiModule
vpiName
vpiNet
vpiNoDelay
vpiOctStrVal
vpiParameter
vpiPort
vpiRealVal
vpiRealVar
vpiReg
vpiReleaseFlag
vpiReset
vpiScalarVal
vpiScaledRealTime
vpiShortIntVar
vpiSimTime
vpiSize
vpiStop
vpiStringVal
vpiSuppressTime
vpiSuppressVal
vpiTimePrecision
vpiTimeUnit
vpiType
vpiVectorVal
vpiX
vpiZ

Functions§

vpi_control
vpi_free_object
vpi_get
vpi_get_str
vpi_get_time
vpi_get_value
vpi_handle_by_index
vpi_handle_by_name
vpi_iterate
vpi_printf
vpi_put_value
vpi_register_cb
vpi_remove_cb
vpi_scan

Type Aliases§

PLI_BYTE8
PLI_INT32
PLI_UINT32
vpiHandle
Opaque simulator object handle (vpiHandle).

Unions§

u_vpi_value_union