Close Menu
VLSI Web
  • Home
    • About Us
    • Contact Us
    • Privacy Policy
  • Digital Design
    • Digital Circuits
    • Verilog
    • VHDL
    • System Verilog
    • UVM
  • VLSI Roles
    • RTL Design
    • Design Verification
    • Physical Design
    • DFT
    • STA
  • Interviews
  • Informative
  • VLSI Forge
Instagram LinkedIn WhatsApp Telegram
Instagram LinkedIn WhatsApp Telegram
VLSI Web
  • Home
    • About Us
    • Contact Us
    • Privacy Policy
  • Digital Design
    • Digital Circuits
    • Verilog
    • VHDL
    • System Verilog
    • UVM
  • VLSI Roles
    • RTL Design
    • Design Verification
    • Physical Design
    • DFT
    • STA
  • Interviews
  • Informative
  • VLSI Forge
VLSI Web
STA

Clocks in STA: Latency, Skew, Uncertainty and Jitter

Raju GorlaBy Raju Gorla27 May 2026Updated:12 October 2026No Comments4 Mins Read
Clocks in STA: latency, skew and jitter
Share
Facebook Twitter LinkedIn Email Telegram WhatsApp

The short answer: STA models a clock with its period and waveform plus the delays and uncertainties around it. Latency (insertion delay) is the time from the clock source to a register’s clock pin: source latency before the clock definition point, network latency through the clock tree. Skew is the difference in latency between two related registers. Jitter is cycle-to-cycle variation of the clock edge from the PLL and supply noise. Before CTS, clocks are ideal and set_clock_uncertainty covers expected skew and jitter; after CTS, real latency is propagated and uncertainty covers jitter and margin.

Clocks are where most timing confusion starts, because the same idea has several names (latency and insertion delay, uncertainty and margin). This post puts them together. It replaces six older posts: clock networks, skew, latency, uncertainty, insertion delay and jitter.

For how clock trees are built, see clock tree synthesis in my PD series.

  1. Latency and skew
  2. Defining clocks
  3. Skew: good, bad and useful
  4. Jitter and uncertainty
  5. Clock transition and other clock checks

Table of Contents

  • Part 1: Latency and skew
  • Part 2: Defining clocks
  • Part 3: Skew: good, bad and useful
  • Part 4: Jitter and uncertainty
  • Part 5: Clock transition and other clock checks
  • FAQ
    • What is clock latency?
    • What is clock skew?
    • What is the difference between skew and jitter?
    • What does set_clock_uncertainty model?

Part 1: Latency and skew

Clock source latency and network latency to two flops, and the skew between them
Latency is per register; skew is between two registers.

Part 2: Defining clocks

create_clock -name clk -period 2.0 -waveform {0 1.0} [get_ports clk]
create_generated_clock -name clk_div2 -source [get_ports clk] \
                       -divide_by 2 [get_pins u_div/q_reg/Q]
set_clock_latency -source 0.30 [get_clocks clk]     ;# outside the block
set_clock_latency 0.50 [get_clocks clk]             ;# network latency, pre-CTS estimate
set_clock_uncertainty -setup 0.10 [get_clocks clk]
set_clock_uncertainty -hold  0.05 [get_clocks clk]
set_clock_transition 0.08 [get_clocks clk]          ;# ideal-clock slew, pre-CTS

After CTS, replace the network latency estimate with set_propagated_clock [all_clocks] so STA uses the real tree delays.

Part 3: Skew: good, bad and useful

  • Positive skew (capture clock later than launch) gives setup more time and takes it away from hold.
  • Negative skew does the opposite.
  • Only skew between flops that talk to each other matters (local skew); global skew across unrelated flops is irrelevant for timing.
  • Useful skew: deliberately shifting clock arrival to borrow time for a critical stage from a neighbour with spare slack.

Part 4: Jitter and uncertainty

Term What it is How STA handles it
Period jitter Variation of one period from nominal Part of setup uncertainty
Cycle-to-cycle jitter Difference between consecutive periods Part of setup uncertainty
Pre-CTS skew Unknown until the tree exists Added to uncertainty before CTS, removed after
Margin Extra safety the team chooses Added to uncertainty

Hold uncertainty usually doesn’t include period jitter, because launch and capture happen on the same edge; it covers skew estimates and margin.

Part 5: Clock transition and other clock checks

Slow clock edges add delay, increase variation and burn short-circuit power, so max transition limits on clock nets are tight. STA also checks minimum pulse width (high and low phases long enough for each flop), minimum period, and clock gating checks on clock-enable logic, covered in clock gating checks.

Practise this on VLSI Forge

I built VLSI Forge so you can write RTL in your browser, run it on a real simulator and check every signal in the waveform. Free, nothing to install.

Static Timing Analysis problems · Daily challenge

Previous in my STA series: Cell and wire delay calculation. Next: SDC timing constraints.

FAQ

What is clock latency?

The delay from the clock source to a register’s clock pin: source latency plus network (clock tree) latency. It’s also called insertion delay.

What is clock skew?

The difference in clock arrival time between two registers, usually a launch and a capture register on the same path.

What is the difference between skew and jitter?

Skew is a spatial difference between two clock pins in the same cycle; jitter is variation of the clock edge itself over time.

What does set_clock_uncertainty model?

Jitter, and before CTS the expected skew, plus any extra margin the team wants on setup or hold.

Share. Facebook Twitter LinkedIn Email Telegram WhatsApp
Previous ArticleDelay Calculation in STA: Cell Delay, Wire Delay and Slew
Next Article SDC Timing Constraints: A Complete Example and How to Review It
Raju Gorla
  • Website

Related Posts

STA

Latch Timing and Time Borrowing in STA

2 June 2026
STA

Clock Gating Checks in STA: Setup, Hold and ICG Cells

1 June 2026
STA

Reading Timing Reports and Debugging Violations in STA

31 May 2026
Add A Comment
Leave A Reply Cancel Reply

Topics
  • Digital Circuits
  • Informative
  • Interview Questions
  • Physical Design
  • RTL Design
  • STA
  • System Verilog
  • UVM
  • Verilog
Instagram LinkedIn WhatsApp Telegram
  • About
  • Contact
  • Privacy Policy
  • VLSI Forge
  • Courses
  • Feedback
© 2026 VLSI Web

Type above and press Enter to search. Press Esc to cancel.