Static Timing Analysis (STA) Basics – Setup, Hold & Slack Explained

Simple explanation of setup time, hold time and slack in static timing analysis

Introduction to Static Timing Analysis

Static Timing Analysis (STA) is a method used in digital IC design to verify whether a circuit meets its timing requirements without applying test vectors or simulation patterns.
It ensures that data is transferred correctly between registers within the given clock constraints.

STA is widely used in ASIC, SoC, FPGA, and physical design flows because it is fast, exhaustive, and reliable.

What is Static Timing Analysis (STA)?

Static Timing Analysis checks all possible timing paths in a digital circuit to ensure that:

  • Data arrives not too late (setup condition)
  • Data arrives not too early (hold condition)

STA analyzes timing using:

  • Gate delays
  • Wire delays
  • Clock definitions
  • Setup and hold constraints

Key point:

STA does not depend on input patterns or simulations. It assumes worst-case and best-case scenarios.

Why Static Timing Analysis is Critical in Digital IC Design

STA is critical because:

  • Detects timing failures before silicon fabrication
  • Ensures reliable operation at target clock frequency
  • Prevents costly chip re-spins
  • Required for sign-off in ASIC projects
  • Works efficiently on large designs (millions of gates)

Without proper STA, a chip may:

  • Fail at high speed
  • Show random behavior
  • Work in lab but fail in field conditions

STA vs Dynamic Timing Analysis

Static Timing Analysis

  • Pattern-independent
  • Fast and scalable
  • Checks all timing paths
  • Used for sign-off

Dynamic Timing Analysis (Simulation)

  • Pattern-dependent
  • Slower
  • Misses corner cases
  • Used mainly for functional verification
AspectSTADynamic Timing
Test vectorsNot requiredRequired
Coverage100% pathsLimited
SpeedFastSlow
UsageTiming sign-offFunctional check

Clock, Data Path, Launch & Capture Concepts

Understanding these basics is essential for STA.

Launch Register

  • The register where data is launched
  • Data changes at the clock edge

Capture Register

  • The register where data is captured
  • Samples data at the next clock edge

Data Path

  • Combinational logic between launch and capture registers

Clock Path

  • Clock network delivering clock to registers
  • Includes clock skew and insertion delay

Setup Time Explained (With Example)

What is Setup Time?

Setup time is the minimum time data must be stable before the active clock edge at the capture register.

If data arrives too late → Setup violation

Setup Timing Condition

Data arrival time ≤ Required arrival time

Example

  • Clock period = 10 ns
  • Setup time = 1 ns
  • Clock skew = 0 ns

Required arrival time:

10 ns – 1 ns = 9 ns

If data arrives at:

  • 8 ns → Setup met
  • 9.5 ns → Setup violation

Hold Time Explained (With Example)

What is Hold Time?

Hold time is the minimum time data must remain stable after the clock edge at the capture register.

If data arrives too early → Hold violation

Hold Timing Condition

Data arrival time ≥ Hold time

Example

  • Hold time = 0.5 ns
  • Data arrival = 0.2 ns

Result:

  • 0.2 ns < 0.5 ns → Hold violation

Hold violations are independent of clock period and occur due to fast paths.

Slack Definition and Calculation

What is Slack?

Slack is the margin by which a timing path meets or violates timing requirements.

Slack = Required Time – Arrival Time

Types of Slack

  • Setup slack: Related to maximum delay paths
  • Hold slack: Related to minimum delay paths

Positive Slack vs Negative Slack

Positive Slack

  • Timing requirement is met
  • Design is safe

Zero Slack

  • Path is exactly on the edge
  • Risky for silicon

Negative Slack

  • Timing violation
  • Must be fixed before sign-off

Example:

  • Required = 9 ns
  • Arrival = 10 ns

Slack:

9 – 10 = –1 ns (Negative Slack)

Common Timing Violations and Causes

Setup Violations

Caused by:

  • Long combinational paths
  • High fanout
  • Slow standard cells
  • Large clock period reduction
  • Excessive routing delay

Hold Violations

Caused by:

  • Very fast combinational paths
  • Clock skew
  • Aggressive optimization
  • Incorrect constraints

How Setup and Hold Violations Are Fixed

Fixing Setup Violations

  • Reduce logic levels
  • Use faster cells (low-Vt)
  • Optimize placement and routing
  • Increase clock period (last option)
  • Improve clock tree

Fixing Hold Violations

  • Add delay buffers
  • Use slower cells
  • Adjust clock skew
  • Insert delay elements intentionally

Important note:
Setup and hold fixes often conflict, so careful balancing is required.

Role of STA in Real ASIC / SoC Flow

STA is used at multiple stages:

  1. RTL pre-synthesis STA
  2. Post-synthesis STA
  3. Post-placement STA
  4. Post-clock tree synthesis STA
  5. Post-route STA (sign-off)

Tools commonly used:

  • Synopsys PrimeTime
  • Cadence Tempus
  • Siemens (Mentor) Questa STA
Scroll to Top