3.4.15 · D1Sequential Circuits

Foundations — Clock skew and jitter

2,680 words12 min readBack to topic

Before you can read a line like , you must be able to see every one of those symbols on a timeline. That is the whole job of this page. We define each piece, draw it, and say why the topic cannot live without it.


0. The stage: a clock is a repeating up-and-down signal

Figure — Clock skew and jitter

Look at the figure. The blue line is the clock. The vertical orange marks are the rising edges — the only moments anything happens. The gray bracket marks one full period — literally the span between one tick and the next. Everything in this whole topic is about when exactly those orange marks land.

The frequency is just how many ticks happen per second, and it is the flip of the period:

We use the reciprocal (one-over) because "how long each tick lasts" and "how many ticks per second" are two views of the same thing: make each tick shorter and you fit more per second. That is exactly the trade the parent note's max-frequency result is about.


1. The two flip-flops and the path between them

Everything in this topic involves a launch flip-flop that sends data and a capture flip-flop that receives it, with some logic in between.

Figure — Clock skew and jitter

Follow the arrows: the clock (blue) fans out to both flip-flops. FF1's Q output runs through a cloud of combinational logic (gray) — AND/OR gates that compute something — and lands on FF2's D input. FF2 grabs that value on its own next edge.


2. The delay symbols — where every comes from

Now we name each chunk of time. These are the letters that fill the parent's inequalities. Read them left-to-right as a signal's journey.

We must track both the slowest and the fastest path, because a late signal can miss the next tick (a setup problem) while an early signal can crash into the current tick (a hold problem). One number cannot describe both dangers — that is why the topic always carries a "max" and a "min".

Figure — Clock skew and jitter

The green band is the setup interval (to the left of the edge) and the red band is the hold interval (to the right of the edge). They are two separate windows with opposite directions. If the data (blue) wiggles inside either band, the flip-flop can go into metastability — an undecided, dangerous state. The parent's inequalities exist purely to keep the data out of these bands.


3. Now the two stars of the topic: skew and jitter

We finally have enough pictures to define the two words the whole note is named after.

Figure — Clock skew and jitter

Top row: the ideal ticks (evenly spaced). Middle: skew shifts FF2's whole comb of ticks sideways by a fixed amount (blue vs orange, always the same gap). Bottom: jitter leaves each single edge in a random fuzzy zone (red bands) around where it should be. This single picture is the difference the entire topic hinges on.


4. The tools the topic borrows — and why each one


5. Putting the symbols on one timeline — BOTH rules

Now we place every letter, and derive both the setup and the hold rule, so nothing is left off the timeline.

5a. The SETUP story (uses , races the NEXT edge)

Read this as a signal's journey against FF2's next tick:

  1. Tick fires at FF1 (time ).
  2. Wait — Q appears.
  3. Travel (slowest path) — reach FF2's D.
  4. Must be steady before FF2's next tick, which sits at , nudged by , and can be pulled early by .
Figure — Clock skew and jitter

Data needs ; the deadline is . Requiring "needs available": Move jitter left (pure algebra) to match the parent's boxed form:

5b. The HOLD story (uses , races the SAME edge)

Hold is a different race, on the same tick. The new data FF1 launches at time must not reach FF2 so fast that it overwrites what FF2 is still trying to capture on its copy of that same edge:

  1. Tick fires at FF1 (time ).
  2. New data reaches FF2's D after only (the fastest path — the danger).
  3. FF2's own capturing edge lands at (same edge, just skewed), and jitter can push it later by , extending the hold window's reach.
  4. The new data must arrive after the hold window closes.
Figure — Clock skew and jitter

Data arrives at ; the hold window closes at . Requiring "arrives after the window":


Prerequisite map

Clock signal and rising edge

Clock period T and frequency f

Flip-flop samples on edge

Clock-to-Q delay t_cq

Setup and hold windows

Combinational logic cloud

Logic delay max and min

Clock skew - spatial fixed

Clock jitter - temporal random

Setup and hold constraints

Max clock frequency


Equipment checklist

What does a rising edge mean and why do flip-flops only care about it?
The instant the clock jumps LOW→HIGH; flip-flops sample their input only at that "tick", so nothing happens between edges.
What is the clock period and what does it represent physically?
The time between two consecutive rising edges — the timing budget every delay must fit inside.
How are frequency and period related, and why the reciprocal?
; shorter tick means more ticks per second, and one-over reverses small and large.
What is ?
Clock-to-Q delay — the small time after an edge before a flip-flop's output Q shows the new value.
Why do we track both and ?
Slowest path threatens setup (arrives too late); fastest path threatens hold (arrives too early) — one number can't guard both.
What is the difference between setup time and hold time?
Setup = data steady before the edge (don't be late); hold = data steady after the edge (don't be early).
Define clock skew and its sign convention.
; positive = capture clock late (helps setup, hurts hold), negative = capture clock early (hurts setup, helps hold), zero = ideal.
What quantity does measure and how is it used worst-case?
Peak-to-peak edge displacement (worst-case wander of one edge); always subtracts margin, so it hurts both setup and hold.
Write the setup constraint with skew and jitter and say which path it uses.
; uses the slowest (max) logic path and races the next edge.
Write the hold constraint with skew and jitter and say which path it uses.
; uses the fastest (min) logic path and races the same edge — no .
Why are timing rules written as inequalities, not equalities?
We need data no later (setup) or no earlier (hold) than a deadline; "in time" is a range, which / captures.
Where do skew and jitter physically come from?
Skew from the clock distribution network (wire lengths/loads); jitter from the PLL and power-supply/thermal noise.

Connections