clock skew

**Clock Skew and Useful Skew Optimization** is the **clock distribution technique that intentionally introduces controlled timing differences in clock arrival times at different flip-flops to improve setup timing margins, enable higher frequency operation, or balance hold constraints** — transforming clock skew from a timing problem to be minimized into a powerful optimization lever. While traditional clock tree synthesis aims to zero out skew, useful skew scheduling deliberately programs non-zero skew between flip-flops to borrow time from fast paths and donate it to critical paths. **Clock Skew Fundamentals** - **Skew definition**: δ = t_arrival(capturing FF) − t_arrival(launching FF). - **Positive skew**: Capturing FF clock arrives after launching FF → helps setup (more time for data to propagate), hurts hold. - **Negative skew**: Capturing FF clock arrives before launching FF → hurts setup, helps hold. - **Setup timing** with skew: T_clock + δ > t_data + t_setup → positive δ relaxes setup. - **Hold timing** with skew: t_data > t_hold − δ → positive δ tightens hold (dangerous if excessive). **Traditional CTS Goal: Zero Skew** - Balanced H-tree or mesh topology → all FF clock arrivals coincide. - Zero skew eliminates skew as a timing concern → safe but suboptimal. - Residual skew (process variation, coupling): ±50–150 ps (3σ) at 5nm node. **Useful Skew Scheduling** - Compute optimal clock arrival at each FF to maximize frequency or fix violations. - **Setup-critical path**: Make capturing FF clock arrive LATER than zero skew → borrow time from clock period. - **Hold-critical path**: Make launching FF clock arrive LATER (positive skew for next stage) → help hold of previous stage. **Useful Skew Example** ``` FF_A →[combo logic, 400ps]→ FF_B →[combo logic, 250ps]→ FF_C At 500ps clock period: - FF_A → FF_B: data=400ps, clock period=500ps → slack=+100ps - FF_B → FF_C: data=250ps, clock period=500ps → slack=+250ps With useful skew: delay FF_C clock by 100ps: - FF_A → FF_B: slack=+100ps (unchanged) - FF_B → FF_C: period appears=600ps → slack=+350ps Frequency can now be increased to use that slack. ``` **Clock Latency** - **Insertion delay**: Time from clock source to flip-flop clock pin = clock tree delay. - **Latency = propagation delay through buffers/inverters in clock tree**. - Typical: 0.5–2 ns for deep clock tree in large SoC. - SDC: `set_clock_latency -source 0.5 [get_clocks CLK]` — inform STA of source clock latency. - Post-CTS: actual insertion delay computed per-FF from P&R database. **Skew Optimization in CTS Flow** ``` Pre-CTS: Set max skew target (e.g., 100 ps) CTS: Build tree to meet skew target Post-CTS: Measure actual skew per FF Skew optimization: Adjust buffer sizing, add delay cells to reduce hot spots Useful skew: Run optimizer to compute beneficial skew schedule → adjust FF arrival times Sign-off: STA checks setup + hold across all paths with final skew map ``` **Clock Mesh for Low Skew** - Grid of horizontal + vertical clock wires, driven by repeater amplifiers. - Mesh provides multiple current paths → very low skew (< 20–50 ps achievable). - Used for high-performance cores, processor execution units. - Trade-off: High power (constant switching) + high area. **Skew Variation (On-Chip Variation)** - Process, voltage, temperature variation causes skew to vary from corner to corner. - Clock skew at SS corner ≠ clock skew at FF corner → must verify timing at all PVT corners. - AOCV (Advanced On-Chip Variation) derates clock tree delay based on number of stages. **Industry Magnitude** - 1 GHz clock → 1 ns period → 100 ps skew = 10% of period — significant. - 5 GHz server core → 200 ps period → 20 ps skew target (10%) — very tight. - Useful skew can provide 5–15% frequency improvement on congested designs. Clock skew optimization is **one of the highest-leverage tuning knobs in physical design closure** — transforming what was once purely a source of timing degradation into a precision tool that experienced physical design teams use to extract the last few percent of frequency performance from a design after all other optimizations have been exhausted, making skew scheduling a key differentiator in high-performance chip design methodology.

Go deeper with CFSGPT

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

Create Free Account