pub trait DelayBase: TimingBase {
type Delay: Clone + Debug + Zero + Send + Sync;
// Required methods
fn summarize_delays(
&self,
signal1: &Self::Signal,
signal2: &Self::Signal,
) -> Self::Signal;
fn get_delay(&self, from: &Self::Signal, to: &Self::Signal) -> Self::Delay;
}Expand description
Abstraction of a delay model.
Required Associated Types§
Required Methods§
Sourcefn summarize_delays(
&self,
signal1: &Self::Signal,
signal2: &Self::Signal,
) -> Self::Signal
fn summarize_delays( &self, signal1: &Self::Signal, signal2: &Self::Signal, ) -> Self::Signal
Summarize multiple possible output signals into one signal.
Depending on the timing analysis mode (late/early) this might be
a max or min function.
Implementations on Foreign Types§
Source§impl<DB: DelayBase + ?Sized> DelayBase for &DB
impl<DB: DelayBase + ?Sized> DelayBase for &DB
Source§type Delay = <DB as DelayBase>::Delay
type Delay = <DB as DelayBase>::Delay
Type representing a delay.
This can be as simple as a f64 or more complicated such as a probability distribution.
fn summarize_delays( &self, signal1: &Self::Signal, signal2: &Self::Signal, ) -> Self::Signal
fn get_delay(&self, from: &Self::Signal, to: &Self::Signal) -> Self::Delay
Implementors§
Source§impl<'a, N: NetlistBase> DelayBase for NLDMCellModel<'a, N>
impl<'a, N: NetlistBase> DelayBase for NLDMCellModel<'a, N>
Source§impl<D> DelayBase for ZeroInterconnectDelayModel<D>where
D: DelayBase,
Delegate DelayModel implementation to self.delay_model.
impl<D> DelayBase for ZeroInterconnectDelayModel<D>where
D: DelayBase,
Delegate DelayModel implementation to self.delay_model.
Source§impl<M> DelayBase for ClockAwareInterconnectModel<M>where
M: DelayBase,
Delegate trait implementation to the inner model.
impl<M> DelayBase for ClockAwareInterconnectModel<M>where
M: DelayBase,
Delegate trait implementation to the inner model.