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
    • Delta Delay Mechanism
    • Noise and Glitch Analysis
    • SI ECO Fix Order
      • Fix Order
      • Spacing and Shielding
      • Victim and Aggressor Changes
      • Verifying SI Fixes
    • SI Signoff Reports
  • ECO and Closure16
  • STA Debug Playbook16
  • STA Interview Prep26
  • Capstone Timing Signoff Lab4
Loading lesson

‹SI ECO Fix Order
  1. Topics
  2. Static Timing Analysis
  3. Crosstalk and Noise
  4. SI ECO Fix Order
  5. Fix Order

Part 7 · Crosstalk and Noise · All levels

Fix Order

Rank candidate fixes by benefit per unit cost, apply them in that order, and stop as soon as the violation is gone.

On this page

    Why it matters

    A violating victim can be fixed in several ways: strengthen its driver, buffer it, space it from its aggressors, shield it, or reroute. They differ in effectiveness, in routing resources used, and in side effects. Applying them in a sensible order avoids over-fixing.

    Candidate fixes

    Fix

    Effect on the victim

    Typical cost or side effect

    Upsize the victim driver

    Lower R: smaller delta and smaller glitch

    Area, input capacitance on the previous stage

    Insert a buffer in the victim

    Splits the coupled length; each part is held by a driver

    Area, added cell delay

    Increase spacing to aggressors

    Lower coupling capacitance

    Routing resources; may need rerouting

    Shield with a grounded wire

    Replaces coupling to the aggressor with coupling to ground

    Tracks, extra ground capacitance

    Slow the aggressor

    Smaller glitch, smaller delta

    Aggressor's own timing

    Change layers

    Different spacing and coupling rules

    Resistance, vias

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    needed = 25.0                                    # ps of delta to remove from the victim
    fixes = {                                         # name: (benefit in ps, cost in arbitrary units), illustrative and assumed additive
        "upsize driver": (10.0, 1.0),
        "buffer": (15.0, 2.0),
        "spacing on 40% of length": (12.0, 3.0),
        "shield": (25.0, 6.0),
    }
    ratio = {n: b / c for n, (b, c) in fixes.items()}
    order = sorted(fixes, key=lambda n: -ratio[n])
    assert order == ["upsize driver", "buffer", "shield", "spacing on 40% of length"]
    chosen, gained, spent = [], 0.0, 0.0
    for n in order:
        if gained >= needed:
            break
        chosen.append(n)
        gained += fixes[n][0]
        spent += fixes[n][1]
    assert chosen == ["upsize driver", "buffer"] and gained == 25.0 and spent == 3.0
    print("PASS: order", order, "; chosen", chosen, "removing", gained, "ps at cost", spent)

    Ranked by benefit per cost, driver upsizing (10 ps per unit) comes first, then buffering (7.5), shielding (4.2) and spacing (4.0). Two fixes reach the 25 ps target at a cost of 3 units; shielding alone also reaches it but costs 6. The greedy order gives a cost-effective set, not a guaranteed minimal one: it can overshoot the target, and the benefits are assumed additive here for clarity, which is not true in practice. After each fix the analysis must be rerun, because the next fix's benefit changes.

    What the review looks for

    • Fixes are applied in order of benefit per cost, with a record of what each achieved.

    • Fixes that use scarce resources (routing tracks, shielding) are last unless the cheaper ones are exhausted.

    • Every fix is followed by a rerun of timing and SI, not just the targeted net.

    Common pitfall

    Shielding everything. It removes the delta but uses tracks and adds capacitance, so nominal delay and congestion rise; use it where the cheaper fixes cannot reach.

    Interview

    Explain the principle: cheapest benefit first, stop when done, verify after each step.

    Check yourself If the target were 10 ps, which single fix would you use?

    Driver upsizing: it delivers 10 ps at a cost of 1 unit, the best ratio, and reaches the target alone.

    Related topics

    • Next: Spacing and Shielding

    Previous

    114 / 183

    Next: Spacing and Shielding

    Up next

    Up nextSpacing and Shielding

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Victim and Aggressor Changes
    • Verifying SI Fixes