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
tskew>0 (positive skew by our convention: capture clock late). Because the capturing edge is pushed to T+tskew, 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 ==T== 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.
Tmin=tcq+tlogic,max+tsu=0.25+1.75+0.15=2.15 ns.
fmax=1/2.15 ns=1/(2.15×10−9 s)≈465.1 MHz.
Why this order: launch reacts (tcq), signal crosses logic (tlogic,max), and must be steady tsu before the next tick — those three stacked end-to-end are one period.
Recall Solution Q2.2
Tmin=tcq+tlogic,max+tsu+tjitter−tskew=0.25+1.75+0.15+0.06−0.10=2.11 ns.
fmax=1/2.11 ns≈473.9 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 =tcq+tlogic,min=0.20+0.30=0.50.
RHS =tskew+th+tjitter=0.05+0.35+0.04=0.44.
0.50≥0.44 ✓ → hold satisfied, margin =0.50−0.44=0.06 ns.
Why compare these: we race the fastest new data (tlogic,min) 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
Tmin=tcq+tlogic,max+tsu+tjitter−tskew=0.25+1.75+0.15+0.06−(−0.12)=0.25+1.75+0.15+0.06+0.12=2.33 ns.
fmax=1/2.33 ns≈429.2 MHz.
Compared with Q2.2's 2.11 ns, negative skew lengthensTmin by 0.22 ns.
Why: a negative skew means the capture edge arrives early, so the data has less time to settle before it — the −tskew term becomes +0.12 and hurts setup. Mirror image of positive skew: early capture starves setup, late capture feeds it.
Hold requires tcq+tlogic,min≥tskew+th+tjitter.
Solve for skew: tskew≤tcq+tlogic,min−th−tjitter=0.20+0.30−0.35−0.04=0.11 ns.
Largest safe skew =0.11 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=(T+tskew)−(tcq+tlogic,max+tsu+tjitter)=(3.0+0.11)−(0.20+2.4+0.15+0.04)=3.11−2.79=0.32 ns.
Hold margin=(tcq+tlogic,min)−(tskew+th+tjitter)=0.50−0.50=0.00 ns.
Hold margin is 0 — 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 f does nothing — hold has no T; the same-edge race is period-independent. The chip still fails by 0.08 ns.
Correct fix: raise tlogic,min (slow the fast path) by at least the shortfall. Add buffers giving ≥0.08 ns of extra minimum delay, then LHS rises by 0.08 and margin becomes ≥0.
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.
(a)Tmin=tcq+tlogic,max+tsu+tjitter−tskew=0.30+2.10+0.20+0.05−0.08=2.57 ns.
(b) Hold: LHS =0.30+0.40=0.70; RHS =0.08+0.30+0.05=0.43; 0.70≥0.43 ✓ (margin 0.27 ns). Notice T never appeared — hold is fine for any period.
(c) Legal range: T≥2.57 ns (equivalently f≤389.1 MHz). There is no upper bound on T because hold doesn't limit it — you may run as slow as you like.
Recall Solution Q4.2
Setup needs tcq+tlogic,max+tsu+tjitter≤T+tskew⇒tskew≥(0.30+2.05+0.18+0.05)−2.2222=2.58−2.2222=0.3578 ns.
Hold needs tskew≤tcq+tlogic,min−th−tjitter=0.30+0.25−0.30−0.05=0.20 ns.
Combined requirement: 0.3578≤tskew≤0.20 — empty! No skew value satisfies both.
Synthesis conclusion: at 450 MHz this path is infeasible by skew alone. You must also cut tlogic,max (faster setup path) or add data delay to relax hold, then re-solve. Skew is a transfer, not a creator, of margin.
Define slacks:
Ssetup=(T+tskew)−(tcq+tlogic,max+tsu+tjitter)Shold=(tcq+tlogic,min)−(tskew+th+tjitter).
Replace tskew→tskew+Δ:
Ssetup→Ssetup+Δ (skew appears with + sign) and Shold→Shold−Δ (skew appears with − sign).
So ∂Ssetup/∂tskew=+1 and ∂Shold/∂tskew=−1: what setup gains, hold loses, exactly. Ceiling: hold slack must stay ≥0, so Δ can only grow until Shold=0. 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,
Ssetup=(T+tskew)−(tcq+tlogic,max+tsu+tjitter,su)=(2.32+0.09)−(0.28+1.90+0.17+0.06)=2.41−2.41=0.00 ns.
The slack is exactly 0 because we deliberately set T=Tmin in Q5.1(a) — running at the minimum period always drives setup slack to zero.
Tolerable increase: any rise δ in tlogic,max makes Ssetup=−δ<0. So the tolerable increase is 0.00 ns — even a hair slower and metastability risk begins.Lesson: running at exactly Tmin 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 T 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.