ExpertPrimeTime guide question 33 of 65Source PDF page 26

Why does constraint variation (setup and hold sigma) need its own enable on top of POCV, and what goes wrong if you forget it?

From PDVerse PrimeTime STA Interview Guide · pdVerse Mentor Guide

Ten-second Interview Answer

POCV models delay variation by default but not the setup and hold values themselves, because that needs LVF constraint-sigma data and its own cost. Forget timing_enable_constraint_variation and you compare a distributed arrival against a deterministic requirement - a silent optimism.

Complete Technical Explanation

By default POCV models variation on delays, both data and clock path delays, but not automatically on the setup and hold constraint values. Those come from the library's constraint arcs, and the variation of the requirement itself - the sigma of the setup or hold number - needs LVF constraint-variation data plus an explicit timing_use_slew_variation_in_constraint_arcs to include the slew-dependent part. It is a separate enable for two reasons: not all libraries carry LVF constraint sigma tables, since a library may have delay sigma without constraint sigma, and constraint variation is a distinct modeling layer with its own accuracy and runtime cost. The risk of forgetting it is that the setup and hold requirements are treated as fixed, zero-variation numbers while the delays carry full distributions - an inconsistent and optimistic model. Physically, a flop's setup and hold times also vary with process, because they are device characteristics, so ignoring their sigma under-margins the check: you are comparing a distributed arrival against a deterministic requirement and missing the requirement's own spread. At advanced nodes, where constraint variation is nontrivial, that can mask real setup and hold violations because the corner value of the check is too tight. For a rigorous POCV signoff you enable constraint variation, with the LVF data present, so both sides of the setup and hold inequality carry their true statistics. Forgetting it is subtle and silent - the analysis looks fully statistical but is only half statistical. Verify that the LVF constraint sigma tables exist, using report_ocvm on constraint arcs, and that the enable is actually set.

In Pd / Signoff

Add both the enable and its data check to the POCV signoff gate list: report_ocvm on constraint arcs to prove the LVF constraint sigma tables exist, and a grep for timing_enable_constraint_variation in the setup. At advanced nodes this is where a chunk of hold margin lives, so an unset enable is a real signoff finding, not a nitpick.

Common Trap

Assuming that enabling POCV makes the analysis fully statistical. Delay sigma comes on, constraint sigma does not, so the check compares a distribution against a fixed number and the reported corner is optimistically tight - and the report gives no hint that half the inequality is deterministic.

Expect Next

If a library has delay sigma but no constraint sigma tables, what value does the check use for the requirement and what does that do to your margin claim?

Topic And Primetime Commands

Variation / POCV Distributions. report_ocvm, timing_enable_constraint_variation, timing_use_slew_variation_in_constraint_arcs
Original guide diagramHalf a statistical check is not a statistical check

Keep building interview depth

Continue practising STA

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.