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
    • Path Group Prioritization
      • Path Groups and Weights
      • Path Group Reports
      • Choosing What to Fix First
      • Tracking Closure by Group
    • 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

‹Path Group Prioritization
  1. Topics
  2. Static Timing Analysis
  3. Delay Graph & Path Analysis
  4. Path Group Prioritization
  5. Choosing What to Fix First

Part 3 · Delay Graph and Path Analysis · All levels

Choosing What to Fix First

Rank work by systemic cause first, then by total violation removed per unit of effort, then by worst slack.

On this page

    Why it matters

    Closure time is limited, and fixing the worst path first is not always the best use of it. A fix that clears 800 endpoints beats a fix that clears one even if the one is worse. A simple ranking by cause and impact keeps the team focused.

    The ranking rule

    Priority

    Question

    Example

    1

    Is it a constraint or clock error?

    A missing generated clock, wrong uncertainty: fix before touching any path

    2

    Is there a shared cause across many endpoints?

    A shared fanout net, a macro output, a clock skew region

    3

    What is the violation removed per unit of effort?

    A buffer that clears 120 endpoints

    4

    What is the worst remaining path?

    A genuinely hard path needing design change

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    # Effort-efficiency view only (the systemic-cause rule above is applied first by hand):
    # (name, endpoints cleared, total negative slack removed ns, effort units)
    fixes = [("clock skew region", 800, 24.0, 8), ("fanout buffering", 120, 6.0, 2),
             ("resize macro output", 40, 3.5, 1), ("restructure worst path", 1, 0.4, 6)]
    score = {n: round(tns / effort, 2) for n, ep, tns, effort in fixes}
    ranked = sorted(score, key=score.get, reverse=True)
    assert score == {"clock skew region": 3.0, "fanout buffering": 3.0, "resize macro output": 3.5, "restructure worst path": 0.07}
    assert ranked[0] == "resize macro output" and ranked[-1] == "restructure worst path"
    print("PASS: TNS removed per effort unit:", score)

    This listing is an effort-efficiency view only: it ranks TNS removed per effort unit after the systemic-cause rule (priorities 1-2) has been applied first by hand. The worst single path (restructure, 0.4 ns removed for 6 effort units) ranks last by this measure, while cheap high-impact fixes rank first. A clock skew region fix (24 ns of TNS) is systemic, so it is done early regardless of its efficiency score, because it may change the other numbers. Re-run after every large fix: the ranking changes as the landscape changes.

    What the review looks for

    • The closure plan states its ranking logic and re-ranks after each major fix.

    • Systemic causes are ruled out before path-by-path work begins.

    • Hard paths are escalated to design early (RTL or architecture change), not left to the end.

    Common pitfall

    Working down the worst-slack list from the top. The worst path is often an outlier that costs a week; the cheap high-impact fixes sit further down and are never reached.

    Interview

    Describe the four-step priority rule and give one example of a systemic cause (a clock skew region) versus an individual fix.

    Check yourself A buffer fix clears 120 endpoints but makes hold worse on 20. Do you apply it?

    Check the net effect: the 120 setup fixes against 20 new hold problems, and whether those 20 are cheaply fixed. Count both checks before judging; a fix is evaluated on all checks.

    Related topics

    • Path Group Reports

    • Next: Tracking Closure by Group

    Previous

    52 / 183

    Next: Tracking Closure by Group

    Up next

    Up nextTracking Closure by Group

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Path Groups and Weights