pub enum BoolAttr {
Show 18 variants
TopLevel,
External,
NoInterface,
Reset,
Clk,
Stable,
Data,
Control,
Share,
StateShare,
Generated,
NewFSM,
OneHot,
Inline,
Promoted,
ParCtrl,
Fast,
Protected,
}
Expand description
Attributes that are only allowed to take boolean values.
Variants
TopLevel
This is the top-level component
External
Cell should be externalized
NoInterface
The component doesn’t have a standard interface
Reset
Reset signal for the component
Clk
Clk for the signal
Stable
Is the port connected to a state element
Data
This is a data path instance
Control
This is a control path instance
Share
Is this component shareable
StateShare
Is the component state shareable
Generated
IR Node was generated by the compiler
NewFSM
Generate a new FSM for this control node
OneHot
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
Inline this subcomponent
Promoted
denotes a static component or control promoted from dynamic
ParCtrl
Denotes a group that was generated from a staticpar
during static
inlining.
Fast
https://github.com/calyxir/calyx/issues/1828
Protected
Indicate that the cell should not be removed or shared during optimization.
Implementations
Trait Implementations
impl Copy for BoolAttr
impl Eq for BoolAttr
impl StructuralEq for BoolAttr
impl StructuralPartialEq for BoolAttr
Auto Trait Implementations
impl RefUnwindSafe for BoolAttr
impl Send for BoolAttr
impl Sync for BoolAttr
impl Unpin for BoolAttr
impl UnwindSafe for BoolAttr
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
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.