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<NonZeroU64>,
pub body: Option<String>,
}Expand description
Fields§
§name: IdName of this primitive.
params: Vec<Id>Paramters for this primitive.
signature: Vec<PortDef<Width>>The input/output signature for this primitive.
attributes: AttributesKey-value attributes for this primitive.
is_comb: boolTrue iff this is a combinational primitive
latency: Option<NonZeroU64>(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