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. Flat OCV Derates

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

Flat OCV Derates

A flat derate multiplies launch and data delays by a late factor and capture clock delays by an early factor; the shared clock path is then derated in both directions at once.

On this page

    Why it matters

    Flat OCV is the simplest model and the baseline against which the others are judged. It is easy to apply, easy to audit and pessimistic by construction. Seeing its arithmetic once makes every later improvement concrete.

    The rule

    Check

    Launch clock and data path

    Capture clock path

    Setup

    Late derate (multiply by a factor above 1)

    Early derate (multiply by a factor below 1)

    Hold

    Early derate

    Late derate

    Derate

    Factor

    Applies to

    Late (above 1)

    1.10

    Launch clock and data delays for setup

    Early (below 1)

    0.90

    Capture clock delays for setup

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # Period 2.0 ns; launch and capture clock paths 1.00 ns each, of which 0.60 ns is shared (common).
    T, setup = 2.0, 0.08
    launch, capture, common, data = 1.00, 1.00, 0.60, 1.40     # data includes clock-to-Q
    late, early = 1.10, 0.90
    slack_ideal = (T + capture - setup) - (launch + data)
    arrival = (launch + data) * late
    required = T + capture * early - setup
    slack_flat = required - arrival
    credit = common * (late - early)                            # pessimism on the shared clock segment
    slack_crpr = slack_flat + credit
    assert round(slack_ideal, 3) == 0.52
    assert round(slack_flat, 3) == 0.18
    assert round(credit, 3) == 0.12 and round(slack_crpr, 3) == 0.30
    print("PASS: slack ideal", round(slack_ideal, 3), "flat OCV", round(slack_flat, 3), "after CRPR", round(slack_crpr, 3))

    The ideal slack is 0.52 ns. The flat derates cut it to 0.18 ns. But 0.60 ns of the clock path is shared by launch and capture, and a physical gate cannot be both slow and fast at once; removing the 0.12 ns of pessimism on the shared segment gives 0.30 ns. The derates therefore cost 0.22 ns in this example, not 0.34 ns. The removal is explained in Common Path Pessimism Removal.

    What the review looks for

    • The late and early factors are recorded per scenario and per delay type (cell, net, clock, data) with their source.

    • Common path pessimism removal is on, and its total credit is reported.

    • Hold uses the opposite assignment from setup; a copy-paste of the setup values is a classic mistake.

    Common pitfall

    Applying the same factors to data and clock without thinking about which paths they are meant for. The launch path (launch clock plus data) takes one direction and the capture clock the opposite, per check.

    Interview

    Reproduce the arithmetic: ideal slack, flat-derate slack, then add back the common path credit.

    Check yourself If the shared clock path were 0.80 ns instead of 0.60 ns, what would the credit be?

    0.80 × (1.10 - 0.90) = 0.16 ns, so slack after removal would be 0.34 ns.

    Related topics

    • Next: Depth-Based Derating

    • Common Path Pessimism Removal

    Previous

    90 / 183

    Next: Depth-Based Derating

    Up next

    Up nextDepth-Based Derating

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Statistical Variation
    • Choosing the Method