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. Where the Delay Goes

Part 3 · Delay Graph and Path Analysis · All levels

Where the Delay Goes

Decomposing a path into clock-to-Q, combinational cells and wires shows what dominates and which fix class applies.

On this page

    Why it matters

    Two paths with the same total delay can need opposite fixes. A path dominated by one slow cell wants resizing; a path dominated by one long wire wants buffering or a shorter route; a path with many small stages wants restructuring. Looking at the breakdown before touching anything saves iterations.

    A worked breakdown (ns, illustrative)

    Stage

    Cell delay

    Wire delay

    FF1 clock-to-Q

    0.40

    0.05

    NAND2

    0.12

    0.18

    XOR2

    0.20

    0.22

    AOI22

    0.18

    0.35

    Setup of FF2

    0.10

    -

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    stages = [("clk-to-q", 0.40, 0.05), ("nand2", 0.12, 0.18), ("xor2", 0.20, 0.22), ("aoi22", 0.18, 0.35)]
    cell = sum(c for _, c, _ in stages)
    wire = sum(w for _, _, w in stages)
    total = cell + wire
    assert abs(cell - 0.90) < 1e-9 and abs(wire - 0.80) < 1e-9 and abs(total - 1.70) < 1e-9
    wire_share = wire / total
    assert abs(wire_share - 0.8/1.7) < 1e-9
    worst_wire = max(stages, key=lambda s: s[2])
    assert worst_wire[0] == "aoi22"
    print("PASS: total", round(total, 2), "ns, wire share", round(100 * wire_share), "%, biggest wire at", worst_wire[0])

    Of 1.70 ns, wires take 0.80 ns, about 47%; the numbers are illustrative — real shares depend on the design. The single largest wire (0.35 ns, at the AOI22 output) is the best first target: buffering or a different route there can recover more than resizing any one cell. The cells together cost 0.90 ns, of which the clock-to-Q (0.40) cannot be changed by the logic, only by the flop choice.

    Fix classes

    Dominant contributor

    Typical fix

    One slow cell

    Upsize, change threshold voltage class, restructure

    One long wire

    Buffer, change layer, move cells closer

    Many stages

    Restructure logic, reduce depth

    High fanout net

    Split, buffer tree, duplicate the driver

    Large clock-to-Q or setup

    Choose a faster flop type

    Common pitfall

    Judging the problem by the total only. A path report sorted by arrival shows where time goes if you look at the increments; read them before choosing a fix class.

    Interview

    Quote the typical share: at current nodes wires are a large part of path delay, which is why placement and routing are part of timing closure.

    Check yourself In the table, which wire contributes most delay?

    The 0.35 ns wire at the AOI22 output. How much delay a buffer or a better route recovers depends on what it actually saves.

    Related topics

    • Next: Sizing and Delay Sensitivity

    Previous

    46 / 183

    Next: Sizing and Delay Sensitivity

    Up next

    Up nextSizing and Delay Sensitivity

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Wire Load and Routed Parasitics
    • Budgeting a Path