Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Path
  • STA Glossary
  • STA Metrics Reference
  • STA Mastery Cheatsheet
  • Timing Paths and Checks16
  • Constraints & SDC Fundamentals20
  • Delay Graph & Path Analysis16
  • Beyond Setup and Hold16
  • Multi-Corner Multi-Mode Signoff16
  • OCV, AOCV, POCV and Variation16
    • OCV, AOCV and POCV Mechanisms
      • Flat OCV Derates
      • Depth-Based Derating
      • Statistical Variation
      • Choosing the Method
    • Derate Policy and Approval
    • Path Depth Sensitivity
    • Variation Signoff Dashboard
  • Crosstalk and Noise16
  • ECO and Closure16
  • STA Debug Playbook16
  • STA Interview Prep26
  • Capstone Timing Signoff Lab4
Loading lesson

‹OCV, AOCV and POCV Mechanisms
  1. Topics
  2. Static Timing Analysis
  3. OCV, AOCV, POCV and Variation
  4. OCV, AOCV and POCV Mechanisms
  5. Choosing the Method

Part 6 · OCV, AOCV, POCV and Variation · All levels

Choosing the Method

Compare the three methods on the same paths: flat is simplest and most pessimistic, depth-based is cheaper, statistical sees unusual cells.

On this page

    Why it matters

    The method is a signoff decision with cost: pessimism costs area, power and schedule; optimism costs silicon. The decision should be made from a comparison on real paths, not from habit.

    Comparison

    Method

    Needs

    Strength

    Weakness

    Flat OCV

    Two numbers per scenario

    Simple, quick, easy to audit

    Pessimistic for deep paths

    Depth-based

    Tables by depth (and distance)

    Credits averaging over stages

    Ignores which cells are on the path

    Statistical

    Sigma per cell and arc

    Per-path margin; sees outlier cells

    More data, more run time, independence assumed

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    import math
    paths = {
        "p1": {"means": [0.10] * 3,  "sigmas": [0.005] * 3},
        "p2": {"means": [0.10] * 9,  "sigmas": [0.005] * 9},
        "p3": {"means": [0.10] * 16, "sigmas": [0.005] * 14 + [0.03, 0.03]},   # two noisy cells
    }
    budget = {"p1": 0.38, "p2": 0.97, "p3": 1.72}          # ns available to the data path
    def slack_flat(p):
        return budget[p] - sum(paths[p]["means"]) * 1.15
    def slack_depth(p):
        n = len(paths[p]["means"])
        return budget[p] - sum(paths[p]["means"]) * (1 + 3 * 0.05 / math.sqrt(n))
    def slack_stat(p):
        sg = math.sqrt(sum(s * s for s in paths[p]["sigmas"]))
        return budget[p] - (sum(paths[p]["means"]) + 3 * sg)
    res = {p: tuple(round(f(p), 3) for f in (slack_flat, slack_depth, slack_stat)) for p in paths}
    assert res == {"p1": (0.035, 0.054, 0.054), "p2": (-0.065, 0.025, 0.025), "p3": (-0.12, 0.06, -0.019)}
    fails = {m: [p for p in paths if res[p][i] < 0] for i, m in enumerate(("flat", "depth", "statistical"))}
    assert fails == {"flat": ["p2", "p3"], "depth": [], "statistical": ["p3"]}
    print("PASS: slack (flat, depth, statistical)", res, "; failing", fails)

    Path

    Flat 1.15

    Depth-based

    Statistical (3 sigma)

    p1 (3 stages)

    0.035

    0.054

    0.054

    p2 (9 stages)

    -0.065

    0.025

    0.025

    p3 (16 stages, two noisy cells)

    -0.120

    0.060

    -0.019

    Flat OCV fails two of three paths: it charges 15% to every path regardless of depth. Depth-based derating passes all three, because it credits averaging over 9 and 16 stages. Statistical analysis agrees with the depth-based result on the two uniform paths but fails p3: two noisy cells (sigma 0.03 ns each) give it a sigma of 0.046 ns, which the depth-based table, blind to which cells are on the path, does not see. Flat is the safest and most expensive, depth-based the cheapest here and the one that missed the real risk, statistical the one that found it. All numbers are illustrative.

    How teams choose

    • Flat OCV is used for early implementation and as a conservative cross-check.

    • Depth-based or statistical analysis is used for signoff where the process provides the data; many flows use one for implementation and the other to confirm.

    • Whatever is chosen is written in the signoff policy and applied the same way to every scenario.

    What the review looks for

    • The method, its data source and the number of sigmas or the table version are stated in the signoff package.

    • A comparison on real paths shows what the chosen method gains and what it can miss.

    • Paths with unusually variable cells are reviewed individually, whichever method is used.

    Common pitfall

    Switching method to make violations disappear. A cheaper method is justified by data and policy, not by the violation count it produces.

    Interview

    Be ready to say what each method misses: flat ignores averaging, depth-based ignores cell identity, statistical assumes independence.

    Check yourself Which method flagged p3, and why did the depth-based result not?

    The statistical method, because it carries a sigma per cell and p3 has two noisy cells. The depth-based table depends only on the number of stages (16), so it gave p3 the same small derate as any 16-stage path.

    Related topics

    • Statistical Variation

    • Next topic: Derate Policy and Approval

    Previous

    93 / 183

    Next: Derate Policy and Approval

    Up next

    Up nextDerate Policy and Approval

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Flat OCV Derates
    • Depth-Based Derating