IntermediateQuestion 103 of 222

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

From PDVerse PnR Interview Handbook, part of the 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?

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.

PnR Flow Mentor Guide

Read the complete 8-chapter PnR Flow Mentor Guide free on the web โ€” library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.

Offline PDF Bundle

Want all 1109 questions offline?

Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

See what's inside the bundle
PnR Flow Physical Design Mentor Guide โ€” eight chaptersPnR Flow Mentor GuideEight chapters, library setup through to stream-out.