Static Timing Analysis (STA) is a method of validating the timing performance of a design by checking all possible paths for timing violations without performing a simulation.
The minimum amount of time the data signal must be stable before the clock edge arrives.
Violation Condition: Data arrives too late.
Slack = Required Time - Arrival Time
Slack = (Tclk + Tskew - Tsetup) - (Tcq + Tlogic)
Fix: Reduce logic depth, improve cell drive strength, or slow down the clock (increase $T_{clk}$).
The minimum amount of time the data signal must remain stable after the clock edge arrives.
Violation Condition: Data changes too fast (Race Condition).
Slack = Arrival Time - Required Time
Slack = (Tcq + Tlogic) - (Tskew + Thold)
Fix: Add delay buffers to the data path. Slowing the clock does NOT fix hold violations.
Represents gate delays between Flops.
Positive: Capture clock arrives later.