pub enum AnalogCellKind {
Show 14 variants
Sum,
Mul,
GainConst,
Integrate,
Compare,
Select,
Exp,
Log,
Tanh,
Sqrt,
Div,
SampleHold,
DacIn,
AdcOut,
}Expand description
An analog tile kind the fabric can realize.
Variants§
Sum
Kirchhoff current-summing node with programmed input-conductance weights (linear tile).
Mul
Four-quadrant transconductance (Gilbert-style) multiplier for variable×variable.
GainConst
Programmed-conductance constant gain — the ONE-INPUT linear tile (same physical macro
as AnalogCellKind::Sum).
Integrate
OTA-C integrator: dv/dt = k·a, k = gm/C.
Compare
Continuous comparator — the analog→digital decision boundary.
Select
Comparator-driven analog switch (if c < 0 then t else f) — the O5 data-dependent
tile: the comparator half decides, the transmission-gate half passes the voltage.
Exp
Translinear exponential (subthreshold current law) — O6.
Log
Translinear logarithm (forward-diode law) — O6.
Tanh
Differential-pair saturation — O6.
Sqrt
Translinear square root (Gilbert loop) — O6.
Div
Translinear ratio — O6 (the divisor’s range must clear zero).
SampleHold
Sample-and-hold, strobed by the control plane (the ZOH boundary between ticks).
DacIn
Plane boundary in: digital word → differential voltage (DAC).
AdcOut
Plane boundary out: differential voltage → digital word (ADC).
Trait Implementations§
Source§impl Clone for AnalogCellKind
impl Clone for AnalogCellKind
Source§fn clone(&self) -> AnalogCellKind
fn clone(&self) -> AnalogCellKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AnalogCellKind
impl Debug for AnalogCellKind
Source§impl Ord for AnalogCellKind
impl Ord for AnalogCellKind
Source§fn cmp(&self, other: &AnalogCellKind) -> Ordering
fn cmp(&self, other: &AnalogCellKind) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for AnalogCellKind
impl PartialEq for AnalogCellKind
Source§impl PartialOrd for AnalogCellKind
impl PartialOrd for AnalogCellKind
impl Copy for AnalogCellKind
impl Eq for AnalogCellKind
impl StructuralPartialEq for AnalogCellKind
Auto Trait Implementations§
impl Freeze for AnalogCellKind
impl RefUnwindSafe for AnalogCellKind
impl Send for AnalogCellKind
impl Sync for AnalogCellKind
impl Unpin for AnalogCellKind
impl UnsafeUnpin for AnalogCellKind
impl UnwindSafe for AnalogCellKind
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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.