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
  • STA Debug Playbook16
  • STA Interview Prep26
  • Capstone Timing Signoff Lab4
Loading lesson

‹Static Timing Analysis
  1. Topics
  2. Static Timing Analysis
  3. STA Mastery Cheatsheet

STA Mastery · All levels

STA Mastery Cheatsheet

One-page revision of equations, SDC commands, corner questions, derate rules, closure order and a report-reading checklist.

On this page

    Revision sheets drawn from the course. Each line points back to the lesson that derives it.

    Equations

    Diagram
    setup slack = (capture edge + capture latency) - setup time - uncertainty - (launch latency + clock-to-Q + path delay)
    hold slack  = (launch latency + minimum clock-to-Q + minimum path delay) - (capture latency + hold time + uncertainty)
    half-cycle path: capture edge = launch edge + T/2
    CRPR credit = shared clock delay * (late derate - early derate)
    recovery slack = (capture edge + capture latency - recovery) - (launch latency + max release arrival) ;  removal slack = (launch latency + min release arrival) - (capture latency + removal)
    AND gate enable: setup to the next rising edge, hold to the falling edge (enable changes while clock is low)
    latch borrowing = max(0, data arrival - opening edge) ; maximum = transparent window - setup
    pulse width slack = phase width at the pin - minimum pulse width ; period slack = period at the pin - minimum period

    SDC commands in one line each

    Command

    Defines

    create_clock

    A clock at a source pin or port with a period and waveform

    create_generated_clock

    A clock derived from another (divide, multiply, invert), keeping the relationship

    set_clock_uncertainty

    Margin for jitter and skew on setup or hold

    set_clock_latency

    Source or network latency for an ideal clock

    set_input_delay / set_output_delay

    External arrival or requirement at ports relative to a clock

    set_false_path

    Paths that are not timed; count what it covers

    set_multicycle_path

    Setup N cycles; hold normally N-1 on the same clock

    set_max_delay / set_min_delay

    A fixed delay limit on a path, independent of the clock edge

    set_case_analysis

    A constant value on a pin: defines a mode, disables paths that cannot toggle

    set_clock_groups

    Clocks that never interact (asynchronous or exclusive)

    set_driving_cell / set_load

    Input drive and output load environment

    Corner and mode questions

    • Setup is worst in the slowest conditions, hold in the fastest; at low voltage check cold for setup and hot for hold (temperature inversion).

    • Count the matrix: modes × conditions × interconnect corners; justify every pruned scenario with a tolerance.

    • Every library in a scenario matches its corner; unit and corner-order sanity checks on loaded data.

    • Interconnect: cworst/cbest for driver-dominated nets, rcworst/rcbest for wire-dominated ones.

    Derate rules

    • Setup: late on launch clock and data, early on capture clock. Hold: the opposite.

    • Flat OCV is pessimistic for deep paths; depth-based credits averaging; statistical sees noisy cells.

    • Every margin has an owner and evidence; normalise trends to a baseline margin.

    Closure order

    1. Coverage and exception audit before anything else.

    2. Screen endpoints by setup plus hold slack in the same scenario; across corners the setup cost of inserted delay is larger, so the same-corner sum is only a screen. Negative sums need structural fixes.

    3. Fix setup on shared segments first; then hold by delay inside the setup slack; rerun every scenario.

    4. Skew only inside its computed window, per corner.

    5. Verify with a before-and-after endpoint table; batch conflicting ECOs separately.

    Report-reading checklist

    1. Scenario, check type, path group.

    2. Launch and capture clock edges and latencies.

    3. Uncertainty and derates; CRPR credit.

    4. Data path increments: where did the delay go?

    5. Slack, then the same endpoint in the other scenarios.

    6. What the summary does not cover: unconstrained endpoints, exceptions, filters.

    Tip

    When a number looks too good, check coverage; when it looks too bad, diff the inputs.

    Check yourself From memory: what is the hold exception value for a 4-cycle setup multicycle on one clock?

    3 (N - 1).

    Related topics

    • Glossary

    • Metrics Reference

    • Interview Prep

    Previous

    5 / 183

    Next: Timing Paths and Checks

    Up next

    Up nextTiming Paths and Checks

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • How to Use This Course
    • Reading Path
    • STA Glossary