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§

source

type Time: Copy + Num

Type for representing arrival times. Typically a floating point type.

Required Methods§

source

fn actual_arrival_time(&self, node: &TerminalId<N>) -> Self::Time

Compute the actual arrival time of a signal at the node.

source

fn required_arrival_time(&self, node: &TerminalId<N>) -> Self::Time

Compute the required arrival time of a signal at the node.

Provided Methods§

source

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.

Implementors§