What command applies OCV/AOCV derating, and how do -early/-late and cell_delay/-net_delay/-clock/-data qualifiers change what gets derated?
From PDVerse STA Mentor Guide · pdVerse Mentor Guide
Technical Explanation
set_timing_derate is the command that applies OCV derate factors, with qualifiers letting you target exactly which delay components (cell vs net, clock vs data) get derated and in which direction (early/late).
Timing-path Reasoning
The -early and -late qualifiers set the derate factor used for the fast-path (early, typically <1 multiplier) versus slow-path (late, typically >1 multiplier) analysis. The -cell_delay and -net_delay qualifiers let you restrict the derate to just cell delays or just net (interconnect) delays rather than applying a single blanket factor to everything. The -clock and -data qualifiers further restrict the derate to only clock network delays or only data path delays, letting you model, for example, tighter derating on the clock tree versus the data path, which matters directly for how much CRPR credit and skew pessimism results. A related -aocv option switches the command to read AOCV tables for depth/distance-based derates instead of flat factors.
Command
set_timing_derate -early/-late [-cell_delay] [-net_delay] [-clock/-data]
value ; set_timing_derate -aocvSwitch-by-switch
-early applies the derate factor for the fast/early-side analysis (typically a multiplier below
1). -late applies the derate factor for the slow/late-side analysis (typically a multiplier
above 1). -cell_delay restricts the derate to only cell (gate) delays. -net_delay restricts
the derate to only net (interconnect) delays. -clock restricts the derate to clock network
delays only. -data restricts the derate to data path delays only. -aocv switches the
command to read AOCV tables and apply advanced depth/distance-dependent derates
instead of a flat factor.Expected Result
Correctly scoped derates are applied only to the intended delay components and analysis side, so setup checks use late/slow derates on the appropriate segments and hold checks use early/fast derates, without over- or under-derating unrelated components.
Failure Symptoms
Misapplying a derate broadly (e.g., forgetting -clock/-data separation) can either overderate the clock tree (creating false pessimism that CRPR must then compensate for) or under-derate the data path (masking real risk).
Root Cause
Using a single blanket set_timing_derate call without the qualifiers needed to distinguish clock vs data or cell vs net delay, or early vs late direction, when the signoff methodology calls for differentiated derating.
Mentor Note — Debugging Procedure
Review all set_timing_derate invocations in the constraint set to confirm each qualifier combination matches the intended methodology (e.g., separate clock and data derates, or AOCV table usage via -aocv) and that early/late factors are applied to the correct analysis side. set_timing_derate's qualifiers are the mechanism for precisely scoping OCV pessimism — mixing up -clock/-data or -cell_delay/-net_delay scope, or forgetting -aocv, changes exactly which slack numbers end up pessimistic or exposed.
Continue learning free
Get a practical low-power chapter
Receive the existing “Low Power and Multivoltage Fundamentals” PDF chapter and its download link by email.
Continue practising