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
  • Crosstalk and Noise16
  • ECO and Closure16
    • Setup and Hold Closure Order
    • Physical vs Logical ECOs
      • Cell Swaps and Sizing
      • Buffering and Layers
      • Logical Changes
      • ECO Risk Ladder
    • Useful Skew Trade-offs
    • ECO Regression Matrix
  • STA Debug Playbook16
  • STA Interview Prep26
  • Capstone Timing Signoff Lab4
Loading lesson

‹Physical vs Logical ECOs
  1. Topics
  2. Static Timing Analysis
  3. ECO and Closure
  4. Physical vs Logical ECOs
  5. Cell Swaps and Sizing

Part 8 · ECO and Closure · All levels

Cell Swaps and Sizing

Swapping a cell for a footprint-compatible variant (different drive or threshold) changes delay without changing routing; choose swaps by delay gained per leakage added.

On this page

    Why it matters

    The lowest-risk setup fix is to replace a cell with a faster variant of the same size and pin layout. No wire moves, so parasitics barely change. The price is power: faster threshold cells leak much more. A small calculation shows how to buy the needed delay cheaply.

    Worked example (illustrative)

    Variant

    Cell delay (ps)

    Leakage (units)

    HVT (slow, low leakage)

    50

    1

    SVT

    44

    4

    LVT (fast, high leakage)

    39

    12

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    # A path of six cells, all HVT at 50 ps. It must gain 35 ps.
    cells, needed = 6, 35
    options = {"HVT": (50, 1), "SVT": (44, 4), "LVT": (39, 12)}          # (delay ps, leakage units)
    steps = []
    for c in range(cells):
        steps.append((6 / 3, c, "HVT->SVT", 6, 3))                        # gain 6 ps for +3 leakage
        steps.append((5 / 8, c, "SVT->LVT", 5, 8))                        # gain 5 ps for +8 leakage
    steps.sort(key=lambda s: -s[0])                                       # best gain per leakage first
    gain = cost = 0
    chosen = []
    for ratio, c, name, g, k in steps:
        if gain >= needed:
            break
        chosen.append((c, name)); gain += g; cost += k
    assert [n for _, n in chosen] == ["HVT->SVT"] * 6
    assert (gain, cost) == (36, 18)
    alt_gain, alt_cost = 4 * (50 - 39), 4 * (12 - 1)                      # four cells straight to LVT
    assert (alt_gain, alt_cost) == (44, 44)
    print("PASS: six SVT swaps give", gain, "ps for", cost, "leakage units; four LVT swaps give", alt_gain, "ps for", alt_cost)

    Swapping all six cells from HVT to SVT gains 36 ps for 18 units of extra leakage. Getting more than needed with four LVT swaps would gain 44 ps but cost 44 units, against 18 units for the cheapest mix that reaches the target; the ratios are illustrative, not measured values. The first step of each cell (HVT to SVT) has the best gain per unit of leakage; the second step (SVT to LVT) is poor value, so LVT is reserved for the last few picoseconds. Sizing a driver up behaves similarly: a good gain at first, diminishing returns, and growing input capacitance on the previous stage.

    What the review looks for

    • Swaps are footprint-compatible; any swap that needs a different pin layout is a physical ECO and is treated as one.

    • Leakage added by swaps is tracked against the power budget, per block.

    • Faster cells are reserved for paths that really need them; recovery passes return unneeded ones to slower variants at the end.

    Common pitfall

    Swapping the whole path to the fastest threshold. It closes timing but the leakage cost is much higher than a targeted mix.

    Interview

    Explain gain per leakage and why the first step is the cheapest.

    Check yourself If only 12 ps were needed, how many HVT to SVT swaps would be enough?

    Two: each gains 6 ps (12 ps for 6 leakage units).

    Related topics

    • Next: Buffering and Layers

    Previous

    126 / 183

    Next: Buffering and Layers

    Up next

    Up nextBuffering and Layers

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Logical Changes
    • ECO Risk Ladder