pub struct Primitive {
pub name: Id,
pub params: Vec<Id>,
pub signature: Vec<PortDef<Width>>,
pub attributes: Attributes,
pub is_comb: bool,
pub latency: Option<NonZero<u64>>,
pub body: Option<String>,
}
Expand description
Fields§
§name: Id
Name of this primitive.
params: Vec<Id>
Paramters for this primitive.
signature: Vec<PortDef<Width>>
The input/output signature for this primitive.
attributes: Attributes
Key-value attributes for this primitive.
is_comb: bool
True iff this is a combinational primitive
latency: Option<NonZero<u64>>
(Optional) latency; for static primitives
body: Option<String>
body of the string, if it is an inlined primitive
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Primitive
impl RefUnwindSafe for Primitive
impl Send for Primitive
impl Sync for Primitive
impl Unpin for Primitive
impl UnwindSafe for Primitive
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more