3.4.15 · D4Sequential Circuits

Exercises — Clock skew and jitter

2,601 words12 min readBack to topic

Before we start, one shared toolbox. Every timing symbol you'll use is earned here so no problem sneaks in unfamiliar notation.

The figure below is the mental picture behind both inequalities — keep it open as you work.

Figure — Clock skew and jitter

Level 1 — Recognition

Recall Solution Q1.1

Skew. Two clues: (1) it is a difference between two different nodes (spatial), and (2) it is the same every cycle (deterministic). Jitter would be one node wobbling by a random amount each cycle. The word "always ... exactly" kills jitter. (The magnitude 0.080 ns is irrelevant to the classification.)

Recall Solution Q1.2

(positive skew by our convention: capture clock late). Because the capturing edge is pushed to , the data has more time to settle → positive skew helps setup. (Remember it hurts hold — that's a later level.)

Recall Solution Q1.3

The period is absent. Consequence: you cannot fix a hold violation by slowing the clock — the same edge races itself, so making cycles longer changes nothing. You must add delay to the data path or cut skew.

The picture below shows the sign convention for skew — the one idea every later problem leans on.

Figure — Clock skew and jitter

Level 2 — Application

Recall Solution Q2.1

ns. MHz. Why this order: launch reacts (), signal crosses logic (), and must be steady before the next tick — those three stacked end-to-end are one period.

Recall Solution Q2.2

ns. MHz. Why signs: jitter shrinks the available window → add it (period must grow). Positive skew lends time to setup → subtract it (period can shrink). Net here: skew wins slightly, so we actually run faster than Q2.1.

Recall Solution Q2.3

LHS . RHS . ✓ → hold satisfied, margin ns. Why compare these: we race the fastest new data () against the skewed, jittered edge plus the hold window. If the fast data would arrive before that window closes, it corrupts the capture.

Recall Solution Q2.4

ns. MHz. Compared with Q2.2's ns, negative skew lengthens by ns. Why: a negative skew means the capture edge arrives early, so the data has less time to settle before it — the term becomes and hurts setup. Mirror image of positive skew: early capture starves setup, late capture feeds it.


Level 3 — Analysis

Recall Solution Q3.1

Hold requires . Solve for skew: ns. Largest safe skew ns. Beyond that the late capture edge lets fast data overrun the hold window. Why isolate skew: we treat the constraint as an inequality in one unknown; everything else is fixed data, so we just move terms across.

Recall Solution Q3.2

Setup margin ns. Hold margin ns. Hold margin is hold is the binding constraint (right at the edge). Setup has a comfy 0.32 ns. Interpretation: cranking skew up bought setup room while starving hold to exactly zero. Any more skew and the chip fails hold even though setup looks great — the classic "useful skew" danger.

Recall Solution Q3.3

Lowering does nothing — hold has no ; the same-edge race is period-independent. The chip still fails by 0.08 ns. Correct fix: raise (slow the fast path) by at least the shortfall. Add buffers giving ns of extra minimum delay, then LHS rises by 0.08 and margin becomes . Why buffers not clock: hold demands data arrive late enough; padding the data path is the only lever that touches the LHS of the hold inequality.


Level 4 — Synthesis

Recall Solution Q4.1

(a) ns. (b) Hold: LHS ; RHS ; ✓ (margin 0.27 ns). Notice never appeared — hold is fine for any period. (c) Legal range: ns (equivalently MHz). There is no upper bound on because hold doesn't limit it — you may run as slow as you like.

Recall Solution Q4.2

Setup needs ns. Hold needs ns. Combined requirement: empty! No skew value satisfies both. Synthesis conclusion: at 450 MHz this path is infeasible by skew alone. You must also cut (faster setup path) or add data delay to relax hold, then re-solve. Skew is a transfer, not a creator, of margin.


Level 5 — Mastery

Recall Solution Q5.1

(a) ns. MHz. (b) Hold margin ns ✓. (c) Halving jitter: . New ns → MHz. Cleaner clock (better Phase Locked Loop (PLL)) buys ~5.7 MHz here.

Recall Solution Q5.2

Define slacks: Replace : (skew appears with sign) and (skew appears with sign). So and : what setup gains, hold loses, exactly. Ceiling: hold slack must stay , so can only grow until . Past that point extra skew creates a hold violation — the hard cap on "useful skew." This is exactly the boundary Static Timing Analysis tools enforce.

Recall Solution Q5.3

Show the slack: using the setup-slack formula from Q5.2 with the Q5.1 numbers, The slack is exactly because we deliberately set in Q5.1(a) — running at the minimum period always drives setup slack to zero. Tolerable increase: any rise in makes . So the tolerable increase is ns — even a hair slower and metastability risk begins. Lesson: running at exactly leaves zero setup guard-band; real designs keep a positive margin precisely so a slightly slow path can't trigger Metastability.


Recall Feynman recap: the whole ladder in one breath

You raced two clock edges against a chain of delays. Setup = data mustn't be too slow (fear the max path; add jitter, subtract positive skew, add negative skew). Hold = data mustn't be too fast (fear the min path; skew and jitter both hurt; no anywhere). Skew is a see-saw: tilt toward setup and hold sags, exactly one-for-one. Jitter is pure loss on both sides. Metastability is what you get when you tilt too far and a slack goes negative.

Connections

  • Setup and Hold Time — the windows every inequality here protects.
  • Maximum Clock Frequency — every we computed lives here.
  • Static Timing Analysis — the tool that runs Q4 and Q5 for millions of paths.
  • Phase Locked Loop (PLL) — the jitter source in Q5.1.
  • Metastability — the failure mode when setup slack goes negative (Q5.3).
  • Clock Distribution Network — where skew is physically created and balanced.
  • Flip-Flops — the elements whose , , we kept plugging in.