pub struct StaticFSM { /* private fields */ }
Expand description
Represents a static FSM (i.e., the actual register in hardware that counts)
Implementations§
Source§impl StaticFSM
impl StaticFSM
pub fn from_basic_info( num_states: u64, encoding: FSMEncoding, builder: &mut Builder<'_>, ) -> Self
pub fn build_incrementer( &self, builder: &mut Builder<'_>, ) -> (Vec<Assignment<Nothing>>, RRC<Cell>)
pub fn conditional_increment( &self, guard: Guard<Nothing>, adder: RRC<Cell>, builder: &mut Builder<'_>, ) -> Vec<Assignment<Nothing>>
pub fn conditional_reset( &self, guard: Guard<Nothing>, builder: &mut Builder<'_>, ) -> Vec<Assignment<Nothing>>
pub fn query_between( &mut self, builder: &mut Builder<'_>, query: (u64, u64), ) -> Box<Guard<Nothing>>
pub fn get_unique_id(&self) -> Id
pub fn get_bitwidth(&self) -> u64
Trait Implementations§
Auto Trait Implementations§
impl Freeze for StaticFSM
impl !RefUnwindSafe for StaticFSM
impl !Send for StaticFSM
impl !Sync for StaticFSM
impl Unpin for StaticFSM
impl !UnwindSafe for StaticFSM
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