pub trait ArrivalTimeQuery<N: NetlistIds> {
type Time: Copy + Num;
// Required methods
fn actual_arrival_time(&self, node: &TerminalId<N>) -> Self::Time;
fn required_arrival_time(&self, node: &TerminalId<N>) -> Self::Time;
// Provided method
fn slack(&self, node: &TerminalId<N>) -> Self::Time { ... }
}Expand description
Query arrival times. This trait is typically implemented by the result of a static timing analysis step. The type of analysis (early/late) is implicit and not defined by this trait.
Required Associated Types§
Required Methods§
sourcefn actual_arrival_time(&self, node: &TerminalId<N>) -> Self::Time
fn actual_arrival_time(&self, node: &TerminalId<N>) -> Self::Time
Compute the actual arrival time of a signal at the node.
sourcefn required_arrival_time(&self, node: &TerminalId<N>) -> Self::Time
fn required_arrival_time(&self, node: &TerminalId<N>) -> Self::Time
Compute the required arrival time of a signal at the node.
Provided Methods§
sourcefn slack(&self, node: &TerminalId<N>) -> Self::Time
fn slack(&self, node: &TerminalId<N>) -> Self::Time
Compute the ‘slack’ at a terminal.
The slack is the difference required_arrival_time - actual_arrival_time.
A negative slack means that the signal arrives later than it should.