CellLoadModel

Trait CellLoadModel 

Source
pub trait CellLoadModel<N: NetlistIds>:
    TimingBase
    + LoadBase
    + CellModel<N> {
    // Required methods
    fn input_pin_load(
        &self,
        input_pin: &N::PinId,
        other_inputs: &impl Fn(&N::PinId) -> Option<Self::LogicValue>,
    ) -> Self::Load;
    fn zero(&self) -> Self::Load;
}
Expand description

Abstraction of electrical loads created by input pins.

Required Methods§

Source

fn input_pin_load( &self, input_pin: &N::PinId, other_inputs: &impl Fn(&N::PinId) -> Option<Self::LogicValue>, ) -> Self::Load

Get the load created by a pin, typically its capacitance.

Source

fn zero(&self) -> Self::Load

Return a value representing no load at all (zero capacitance for example).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<N: NetlistIds, CLM: CellLoadModel<N> + ?Sized> CellLoadModel<N> for &CLM

Source§

fn input_pin_load( &self, input_pin: &N::PinId, other_inputs: &impl Fn(&N::PinId) -> Option<Self::LogicValue>, ) -> Self::Load

Source§

fn zero(&self) -> Self::Load

Implementors§