pub struct ComponentDef {
pub name: Id,
pub signature: Vec<PortDef<u64>>,
pub cells: Vec<Cell>,
pub groups: Vec<Group>,
pub static_groups: Vec<StaticGroup>,
pub continuous_assignments: Vec<Wire>,
pub control: Control,
pub attributes: Attributes,
pub is_comb: bool,
pub latency: Option<NonZeroU64>,
}
Expand description
AST statement for defining components.
Fields§
§name: Id
Name of the component.
signature: Vec<PortDef<u64>>
Defines input and output ports along with their attributes.
cells: Vec<Cell>
List of instantiated sub-components
groups: Vec<Group>
List of groups
static_groups: Vec<StaticGroup>
List of StaticGroups
continuous_assignments: Vec<Wire>
List of continuous assignments
control: Control
Single control statement for this component.
attributes: Attributes
Attributes attached to this component
is_comb: bool
True iff this is a combinational component
latency: Option<NonZeroU64>
(Optional) latency of component, if it is static
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ComponentDef
impl RefUnwindSafe for ComponentDef
impl Send for ComponentDef
impl Sync for ComponentDef
impl Unpin for ComponentDef
impl UnwindSafe for ComponentDef
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> 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