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

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
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
On this page

    Part 6 of 11, lesson 4 of 16Part 6 of 11/OCV, AOCV, POCV and Variation/Lesson 4 of 16All 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.

    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.

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

    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 lessonPrevious lessonReport an error

    See also

    • Flat OCV Derates
    • Depth-Based Derating