pub struct DpiImage {
pub imports: Vec<String>,
pub exports: Vec<(String, u32)>,
pub variants: Vec<(String, String, u32)>,
pub task_fibers: bool,
}Expand description
What a design needs of DPI-C (LRM 1800-2023 35): the C functions its imports call, and the SystemVerilog subroutines it exports to C.
Fields§
§imports: Vec<String>The C identifier of every imported function or task, sorted. A runner checks each resolves before the design starts.
exports: Vec<(String, u32)>Each exported C identifier and the DesignImage::symbols index of the
function the C side reaches it through, sorted by identifier.
variants: Vec<(String, String, u32)>(C identifier, instance scope, variant): which variant of an export
each instance that exports it runs.
task_fibers: boolThe design has a timed export task (LRM 35.7): every process kernel
runs on a fiber, so that an import task’s C code may block in it
(CompiledKernelProcess::with_task_fibers).
Trait Implementations§
impl Eq for DpiImage
impl StructuralPartialEq for DpiImage
Auto Trait Implementations§
impl Freeze for DpiImage
impl RefUnwindSafe for DpiImage
impl Send for DpiImage
impl Sync for DpiImage
impl Unpin for DpiImage
impl UnsafeUnpin for DpiImage
impl UnwindSafe for DpiImage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.