pub trait ArrivalTimeQuery<N: NetlistBase> {
type Time: Copy + Num;
fn actual_arrival_time(&self, node: &TerminalId<N>) -> Self::Time;
fn required_arrival_time(&self, node: &TerminalId<N>) -> Self::Time;
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.
Associated Types
Required methods
fn 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
.
fn 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
fn 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.