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. Depth-Based Derating
On this page

    Part 6 of 11, lesson 2 of 16Part 6 of 11/OCV, AOCV, POCV and Variation/Lesson 2 of 16All levels

    Depth-Based Derating

    Independent random variation averages out over many stages, so the derate for a deep path can be smaller than for a shallow one.

    Why it matters

    A flat derate treats a single gate and a thirty-stage path alike. Random variation does not behave that way: if each stage varies independently, the variation of the sum is relatively smaller for more stages. Depth-based derating, often called advanced on-chip variation, captures this with a table of derates indexed by stage count (and often by distance).

    Where the table comes from

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import math
    sigma_rel, k = 0.05, 3.0                 # per-stage relative sigma and the number of sigmas the table covers (illustrative)
    def derate(n):
        return 1.0 + k * sigma_rel / math.sqrt(n)
    table = {n: round(derate(n), 4) for n in (1, 4, 9, 16, 25)}
    assert table == {1: 1.15, 4: 1.075, 9: 1.05, 16: 1.0375, 25: 1.03}
    # a 9-stage path of 0.90 ns: flat 1.15 versus depth-based 1.05
    path = 0.90
    cost_flat = path * (1.15 - 1.0)
    cost_depth = path * (derate(9) - 1.0)
    assert round(cost_flat, 3) == 0.135 and round(cost_depth, 3) == 0.045
    assert round(cost_flat - cost_depth, 3) == 0.090
    print("PASS: derate by depth", table, "; saving on the 9-stage path", round(cost_flat - cost_depth, 3), "ns")

    Stages

    1

    4

    9

    16

    25

    Derate (illustrative)

    1.150

    1.075

    1.050

    1.0375

    1.030

    The excess over 1 falls as 1 over the square root of the stage count. A flat derate must be set for the worst case, one stage, so it is 1.15 everywhere. On a nine-stage, 0.90 ns path that costs 0.135 ns, against 0.045 ns with the depth-based value: 0.090 ns recovered. Real tables are characterised from library and silicon data, depend on distance across the die as well, and need not follow this formula; the formula only shows the mechanism.

    What the review looks for

    • The table's source and version are recorded; a table from a different process or library revision is a different analysis.

    • Depth is counted the way the table was characterised (record which definition is used) and the same way in every flow.

    • Early and late tables are both present and used with the right direction for setup and hold.

    Assuming deeper is always safer. The averaging holds for independent variation; systematic effects such as supply or temperature gradients do not average out, and are covered by corners and margins instead.

    State the intuition: random errors partly cancel along a path, so deep paths see a smaller relative spread.

    Check yourself Why is a flat derate pessimistic for a 25-stage path?

    It is set for the worst case of one stage (1.15 here), while its derate is only 1.03 (an excess of 0.03); the extra 0.12 of derate is margin the path does not need.

    Related topics

    • Flat OCV Derates

    • Next: Statistical Variation

    Previous

    91 / 183

    Next: Statistical Variation

    Up next

    Up nextStatistical Variation

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Choosing the Method