pub struct Latch<C: Ctx> {
pub variable1: String,
pub variable2: String,
pub extra_ctx: C::FFLatch,
pub attributes: Attributes,
pub clear: Option<LogicBooleanExpression>,
pub preset: Option<LogicBooleanExpression>,
pub clear_preset_var1: Option<ClearPresetState>,
pub clear_preset_var2: Option<ClearPresetState>,
pub enable: Option<LogicBooleanExpression>,
pub enable_also: Option<LogicBooleanExpression>,
pub data_in: Option<LogicBooleanExpression>,
pub power_down_function: Option<PowerGroundBooleanExpression>,
/* private fields */
}
Expand description
A latch
group is defined within a cell
, model
, or test_cell
group to describe a levelsensitive memory device.
Fields§
§variable1: String
The variable1
(variable[0]
) value is the state of the
noninverting output of the flip-flop;
the variable2
(variable[1]
) value is the state of the inverting output.
The variable1
value can be considered the 1-bit storage of the flip-flop.
Valid values for variable1
and variable2
are
anything except a pin name used in the cell being described.
Both of these variables must be assigned,
even if one of them is not connected to a primary output pin.
Reference-Definition
variable2: String
The variable1
(variable[0]
) value is the state of the
noninverting output of the flip-flop;
the variable2
(variable[1]
) value is the state of the inverting output.
The variable1
value can be considered the 1-bit storage of the flip-flop.
Valid values for variable1
and variable2
are
anything except a pin name used in the cell being described.
Both of these variables must be assigned,
even if one of them is not connected to a primary output pin.
Reference-Definition
extra_ctx: C::FFLatch
§attributes: Attributes
group undefined attributes
clear: Option<LogicBooleanExpression>
The clear attribute gives the active value for the clear input.
preset: Option<LogicBooleanExpression>
The preset
attribute gives the active value for the preset input.
clear_preset_var1: Option<ClearPresetState>
The clear_preset_var1
attribute gives the value that variable1
has when clear
and preset
are both active at the same time.
clear_preset_var2: Option<ClearPresetState>
The clear_preset_var2
attribute gives the value that variable2
has when clear
and preset
are both active at the same time.
enable: Option<LogicBooleanExpression>
The enable
attribute gives the state of the enable input,
and data_in
attribute gives the state of the data input.
The enable
and data_in
attributes are optional,
but if you use one of them, you must also use the other.
Reference-Definition
enable_also: Option<LogicBooleanExpression>
The enable_also
attribute gives the state of the enable
input when you are describing master and slave cells.
The enable_also
attribute is optional.
If you use enable_also
, you must also use the enable and data_in attributes
Reference-Definition
data_in: Option<LogicBooleanExpression>
The value of variable1
after the active edge.
power_down_function: Option<PowerGroundBooleanExpression>
Implementations§
Source§impl<C: Ctx> Latch<C>
impl<C: Ctx> Latch<C>
pub fn comments_this(&self) -> Option<&String>
pub fn comments_this_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_clear(&self) -> Option<&String>
pub fn comments_clear_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_preset(&self) -> Option<&String>
pub fn comments_preset_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_clear_preset_var1(&self) -> Option<&String>
pub fn comments_clear_preset_var1_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_clear_preset_var2(&self) -> Option<&String>
pub fn comments_clear_preset_var2_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
pub fn comments_enable(&self) -> Option<&String>
pub fn comments_enable_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_enable_also(&self) -> Option<&String>
pub fn comments_enable_also_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_data_in(&self) -> Option<&String>
pub fn comments_data_in_entry<'a>(&'a mut self) -> Entry<'a, u64, String>
pub fn comments_power_down_function(&self) -> Option<&String>
pub fn comments_power_down_function_entry<'a>( &'a mut self, ) -> Entry<'a, u64, String>
Trait Implementations§
Source§impl<'de, C: Ctx> Deserialize<'de> for Latch<C>
impl<'de, C: Ctx> Deserialize<'de> for Latch<C>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<C: Ctx> Item for Latch<C>
impl<C: Ctx> Item for Latch<C>
type Id = LatchId
type IdReadonlyItem = IdReadonlyLatch<C>
Source§unsafe fn __unsafe_deref_mut(&self) -> &mut Self::IdReadonlyItem
unsafe fn __unsafe_deref_mut(&self) -> &mut Self::IdReadonlyItem
fn id(&self) -> &Self::Id
fn id_readonly(&mut self) -> &mut Self::IdReadonlyItem
Source§impl<C: Ctx> LatchFF for Latch<C>
impl<C: Ctx> LatchFF for Latch<C>
fn logically_eq(&self, other: &Self) -> bool
fn logically_inverse(&self, other: &Self) -> bool
fn partial_logically_inverse(&self, other: &Self) -> bool
Source§fn variable1_expr(&self) -> BooleanExpression
fn variable1_expr(&self) -> BooleanExpression
BooleanExpression
of variable1Source§fn variable2_expr(&self) -> BooleanExpression
fn variable2_expr(&self) -> BooleanExpression
BooleanExpression
of variable2Source§fn variable_expr(&self) -> (BooleanExpression, BooleanExpression)
fn variable_expr(&self) -> (BooleanExpression, BooleanExpression)
LogicBooleanExpression
of (variable1,variable2)Auto Trait Implementations§
impl<C> Freeze for Latch<C>
impl<C> RefUnwindSafe for Latch<C>
impl<C> Send for Latch<C>
impl<C> Sync for Latch<C>
impl<C> Unpin for Latch<C>
impl<C> UnwindSafe for Latch<C>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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