Struct calyx_frontend::ast::ComponentDef
source · [−]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 RefUnwindSafe for ComponentDef
impl Send for ComponentDef
impl Sync for ComponentDef
impl Unpin for ComponentDef
impl UnwindSafe for ComponentDef
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more