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
    • Graph Traversal & Slack
    • Cell vs Net Delay Budgets
      • Where the Delay Goes
      • Sizing and Delay Sensitivity
      • Wire Load and Routed Parasitics
      • Budgeting a Path
    • Path Group Prioritization
    • Report Timing Deep Read
  • Beyond Setup and Hold16
  • Multi-Corner Multi-Mode Signoff16
  • OCV, AOCV, POCV and Variation16
  • Crosstalk and Noise16
  • ECO and Closure16
  • STA Debug Playbook16
  • STA Interview Prep26
  • Capstone Timing Signoff Lab4
Loading lesson

‹Cell vs Net Delay Budgets
  1. Topics
  2. Static Timing Analysis
  3. Delay Graph & Path Analysis
  4. Cell vs Net Delay Budgets
  5. Sizing and Delay Sensitivity

Part 3 · Delay Graph and Path Analysis · All levels

Sizing and Delay Sensitivity

Upsizing a driver cuts its own delay but loads the stage before it; the net gain depends on the whole path.

On this page

    Why it matters

    The simplest fix for a slow cell is to make it bigger. A bigger cell has lower output resistance, so it drives its load faster, but it also has larger input capacitance, which slows the previous stage. Beyond some size the loss on the previous stage exceeds the gain. Knowing the trade-off keeps you from oversizing.

    A first-order model (illustrative)

    Diagram
    stage delay = intrinsic + R_drive x C_load
    upsizing by factor k:  R_drive -> R/k ,  C_in -> C_in x k
    previous stage sees its load increase by C_in x (k - 1)
    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # Two stages: stage 1 (fixed, R1) drives stage 2 (size k, input cap c_in*k); stage 2 drives a fixed load.
    R1, R2, c_in, load, i1, i2 = 2000.0, 2000.0, 1.0e-15, 20e-15, 20e-12, 20e-12
    def total(k):
        d1 = i1 + R1 * (c_in * k)            # stage 1 sees stage 2's input cap
        d2 = i2 + (R2 / k) * load            # stage 2 drives the fixed load faster when bigger
        return d1 + d2
    vals = {k: total(k) for k in (1, 2, 4, 8)}
    best = min(vals, key=vals.get)
    assert best == 4
    assert vals[4] < vals[2] < vals[1]
    assert vals[8] > vals[4]                 # past the optimum, bigger is slower overall
    print("PASS: total delay (ps) by size:", {k: round(v * 1e12, 1) for k, v in vals.items()}, "best size", best)

    The total delay falls from size 1 to size 4 and rises again at size 8. The optimum balances the two terms (here near the square root of the load ratio). The exact numbers are illustrative, but the shape is real: sizing has diminishing returns, and the previous stage pays for it. Tools search this trade-off across the whole path; when you resize by hand, check the stage before.

    What the review looks for

    • A manual sizing change is checked on the driver upstream and on slew, not only on the cell resized.

    • Area and power cost per picosecond gained is considered; the last 10 ps cost far more than the first.

    • Threshold-voltage swaps (faster, leakier cells) are controlled by a leakage budget.

    Common pitfall

    Upsizing a driver that drives a long wire does little because the wire's own RC dominates; upsizing the receiver adds load to the wire. Buffer the wire instead.

    Interview

    Explain the trade in one line: bigger cells drive faster but load their predecessor; there is an optimum, and past it you lose.

    Check yourself Why does the model's total delay rise at size 8?

    The extra input capacitance of the larger stage-2 cell slows stage 1 by more than stage 2 gains from its lower drive resistance, so the sum increases past the optimum.

    Related topics

    • Where the Delay Goes

    • Next: Wire Load and Routed Parasitics

    Previous

    47 / 183

    Next: Wire Load and Routed Parasitics

    Up next

    Up nextWire Load and Routed Parasitics

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Budgeting a Path