What is a derate factor, and how do early and late derates apply to opposite sides of a setup check?
From PDVerse STA Mentor Guide · pdVerse Mentor Guide
Short Answer
A derate factor is a multiplier the tool applies to a calculated delay to model manufacturing and environmental variation the delay calculation alone cannot see. set_timing_derate -early (SDC) scales delays down to model a faster-than-nominal path, and -late scales them up to model a slower-than-nominal path, and a single setup check actually uses both at once on opposite sides of the same path.
Technical Explanation
On-chip variation mode does not apply one derate to a whole check — it applies early derating and late derating to different parts of the same check at the same time.
- The factor itself is a plain multiplier.
set_timing_derate -late 1.2(SDC) increases every affected cell and net delay by 20%;set_timing_derate -early 0.9decreases them by 10%. Values above 1.0 make delays worse, values below 1.0 make them better. - A setup check wants the worst-case gap between launch and capture. For a setup check, the tool applies late derating to the launch clock path and the data path, since a slower launch or slower data makes setup harder to meet.
- The capture clock path gets early derating on the same setup check. A faster capture clock path brings the capture edge earlier, tightening the setup window from the other side, so the tool derates that side of the clock tree in the opposite direction.
- Hold checks flip the assignment. For a hold check, the tool applies early derating to the launch side and late derating to the capture clock path, since a hold violation is worst when data arrives too soon and the capture clock arrives too late.
- This dual application is what "on-chip variation mode" means. Turning on
set_timing_derateat all implicitly switches the tool into this mode, similar toset_operating_conditions -analysis_type on_chip_variation(SDC), rather than derating being a simple flat penalty on every number. - You must specify -early or -late separately. A single
set_timing_deratecommand cannot set both at once; two separate commands are required to define the full early-and-late picture.
Common Mistake
The Trap: thinking of a derate factor as one penalty applied uniformly to a path's total delay, rather than a targeted adjustment applied differently to the launch side and the capture side.
- A designer sets only
set_timing_derate -late 1.1expecting it to make every check more conservative on its own. - Without the matching
-earlycommand on the capture clock side, the setup check only gets half of the intended margin, understating how much on-chip variation could actually widen the setup window.
Follow-up Question & Model Response
A report shows a setup path's launch clock path being derated by 1.1x while its capture clock path is derated by 0.9x, even though both paths use the same clock tree. Is that a bug?
Candidate Model Response: No, that is the expected behavior of on-chip variation mode, not a bug. Even though the launch and capture clock paths share the same physical clock tree up to a point, the tool treats them as two independent sides of one setup check: the launch side gets late derating because a slower launch clock makes setup harder, and the capture side gets early derating because a faster capture clock also makes setup harder, by arriving too soon. Applying opposite derates to the two sides is exactly how the tool models the worst realistic combination of variation across the two clock paths for that specific check.
Practical Example
A design applies set_timing_derate -early 0.92 and set_timing_derate -late 1.08 (SDC) for on-chip variation. On a setup check between FF_A and FF_B sharing a clock tree, report_timing -derate (PT) shows the launch clock path and data path scaled by 1.08, while the capture clock path is scaled by 0.92 on the very same report line. The combined effect narrows the setup window by roughly 16% compared to a nominal, non-derated check, even though only two commands were written.
Complete STA Handbook
Master Signoff-Ready Static Timing Analysis
Get the complete 10-chapter STA handbook covering setup/hold margins, clock modeling, OCV/POCV, crosstalk noise, and PrimeTime closure.

Continue practising