timing slack

**Timing Slack** is the **margin between the required arrival time and the actual arrival time of a signal at a flip-flop input** — positive slack means timing is met, negative slack means a violation exists that must be fixed before tapeout. **Slack Formula** $$Slack = T_{required} - T_{actual}$$ - **$T_{required}$**: When the signal MUST arrive = clock period - setup time margin. - **$T_{actual}$**: When the signal actually arrives = clock-to-Q delay + combinational path delay. - **Positive slack**: Path meets timing — timing is satisfied. - **Negative slack**: Timing violation — path is too slow. **Key Slack Metrics** - **WNS (Worst Negative Slack)**: Most negative slack across all endpoints. Zero or positive = no setup violations. Target: WNS ≥ 0 ns. - **TNS (Total Negative Slack)**: Sum of all negative slacks. Measures total severity of timing problem. Target: TNS = 0 ps. - **Critical Path**: Timing path with worst (most negative or least positive) slack — the path limiting clock frequency. **Timing Report Components** ``` Startpoint: FF_A (rising edge clocked by CLK) Endpoint: FF_B (rising edge clocked by CLK) Path type: max (setup) Data path delay: 0.843 ns (cell: 0.512 ns, net: 0.331 ns) Clock period: 1.000 ns Setup time: 0.087 ns Slack (VIOLATED): -0.041 ns ``` **Setup vs. Hold Slack** - **Setup Slack**: Data must arrive before rising clock edge. Violated by long paths (slow logic). - **Hold Slack**: Data must not arrive too early after previous clock edge. Violated by short paths (buffers removed). - Fixing setup: Speed up path (resize cells, reduce fanout, restructure). - Fixing hold: Insert buffers to slow path down. **Timing Closure Workflow** 1. Run STA (Synopsys PrimeTime, Cadence Tempus). 2. Identify top-N negative slack paths. 3. Fix: Upsize cells, remove logic stages, reroute critical nets, reduce clock uncertainty. 4. Iterate until WNS ≥ 0, TNS = 0 at all PVT corners. Timing slack is **the fundamental metric of chip performance and correctability** — achieving zero-WNS, zero-TNS at all required timing corners is the definition of timing closure for any digital design.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account