#[repr(u8)]pub enum BoolAttr {
Show 18 variants
TopLevel = 0,
External = 1,
NoInterface = 2,
Reset = 3,
Clk = 4,
Stable = 5,
Data = 6,
Control = 7,
Share = 8,
StateShare = 9,
Generated = 10,
NewFSM = 11,
OneHot = 12,
Inline = 13,
Promoted = 14,
ParCtrl = 15,
Fast = 16,
Protected = 17,
}
Expand description
Attributes that are only allowed to take boolean values.
Variants§
TopLevel = 0
This is the top-level component
External = 1
Cell should be externalized
NoInterface = 2
The component doesn’t have a standard interface
Reset = 3
Reset signal for the component
Clk = 4
Clk for the signal
Stable = 5
Is the port connected to a state element
Data = 6
This is a data path instance
Control = 7
This is a control path instance
Is this component shareable
Is the component state shareable
Generated = 10
IR Node was generated by the compiler
NewFSM = 11
Generate a new FSM for this control node
OneHot = 12
Generate a one-hot FSM for this control node. (Not necesarily a guarantee: if the control node does not get its own FSM, then this attribute won’t necesarily be honored.)
Inline = 13
Inline this subcomponent
Promoted = 14
denotes a static component or control promoted from dynamic
ParCtrl = 15
Denotes a group that was generated from a staticpar
during static
inlining.
Fast = 16
https://github.com/calyxir/calyx/issues/1828
Protected = 17
Indicate that the cell should not be removed or shared during optimization.
Implementations§
Trait Implementations§
impl Copy for BoolAttr
impl Eq for BoolAttr
impl StructuralPartialEq for BoolAttr
Auto Trait Implementations§
impl Freeze for BoolAttr
impl RefUnwindSafe for BoolAttr
impl Send for BoolAttr
impl Sync for BoolAttr
impl Unpin for BoolAttr
impl UnwindSafe for BoolAttr
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
§impl<T> CallHasher for T
impl<T> CallHasher for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.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>
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>
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