IntermediateQuestion 251 of 142Source PDF page undefined

What's the practical difference between positive and negative clock skew, and why would you deliberately choose negative?

From PDVerse PnR Interview Handbook · pdVerse Mentor Guide

Short Answer

Positive clock skew routes the clock in the same direction as data flow, improving performance with tighter setup margin -- most CTS algorithms default to this. Negative clock skew routes the clock opposite to data flow, virtually eliminating the setup skew requirement but tending to degrade hold time. To get negative skew deliberately, you set the clock delay/latency to a negative number, which makes leaf registers connect to lower levels of the tree (closer to the source).

Technical Reference DiagramWhat's the practical difference between positive and negative clock skew, and why would you deliberately choose negative?
What's the practical difference between positive and negative clock skew, and why would you deliberately choose negative?, illustrating the physical design concept.

Technical Explanation

  • Positive clock skew routes the clock in the same direction as data flow, improving setup performance with tighter skew constraints -- this is what most CTS algorithms default to.
  • Negative clock skew routes the clock opposite to data flow, virtually eliminating the setup skew requirement, but it tends to degrade hold time, which can hurt overall performance if not managed.
  • To get negative skew deliberately, you set the clock delay/latency to a negative number -- this makes leaf registers connect to lower levels of the tree, closer to the source, rather than the algorithm's default positive-skew routing.
  • The actual mechanism for modeling this is set_clock_latency -source <negative_value> [get_clocks CLK] -- setting a clock's insertion delay to a negative number, rather than just describing the effect in prose.

Formula Or Decision Rule

Positive skew: clock routed WITH data flow, helps setup, default. Negative skew: clock routed AGAINST data flow, helps setup margin further but risks hold, set via negative clock delay/latency.

Common Mistake

The Trap: Assuming negative skew is strictly better because it helps setup -- it trades setup margin for real hold risk, which is exactly why it isn't the default.

Follow-up Question & Model Response

"If negative skew helps setup so much, why do most CTS algorithms still default to positive skew?"

Candidate Model Response: Because negative skew's benefit (relaxed setup) comes at a real cost to hold margin, and hold violations are generally harder and more disruptive to fix late in the flow than setup violations -- positive skew is the safer default that avoids trading one risk for a worse one.

Practical Example

Debug Scenario: A critical setup path is helped substantially by deliberately introducing negative skew via a negative clock latency setting, but the fix introduces a new hold violation at the same register that has to be managed separately.

Physical Design & Planning Handbook

Dive into 14 comprehensive chapters covering netlist sanity, FinFET grids, macro placement, power grids, CTS, and timing budgeting.