This is the practice arena for Clock-to-Q delay . The parent note built the two equations; here we hunt down every kind of case they can throw at you and solve each one from zero. Nothing new is assumed — if a symbol appears, we re-earn it.
Quick symbol refresher (each defined in the parent, repeated so you never scroll):
Definition The five delays in one place
t p c q = propagation clock-to-Q = slowest time from clock edge to a valid Q .
t cc q = contamination clock-to-Q = fastest time before Q even starts moving.
t p d = combinational logic propagation delay (with t p d , m a x slow path, t p d , m i n fast path).
t se t u p = how long before the edge the data must already be steady (see Setup and Hold Time ).
t h o l d = how long after the edge the data must stay steady.
T c = clock period ; f = 1/ T c is the frequency.
Think of this table as the checklist of every trap . The rest of the page fills every cell.
#
Cell class
What makes it distinct
Example
A
Setup, plain
Add three delays, invert for f ma x
Ex 1
B
Hold, PASS
Fast path is late enough
Ex 2
C
Hold, FAIL + fix
Fast path too fast; add buffer
Ex 3
D
Logic budget
Solve backwards for allowed t p d
Ex 4
E
Zero / degenerate
t p d = 0 (FF straight into FF)
Ex 5
F
Limiting value
What happens as t p d → its max, or f → ∞ ?
Ex 6
G
Real-world word problem
CPU pipeline stage, units in GHz/ns
Ex 7
H
Exam twist: skew
Clock arrives late at FF2, both sides shift
Ex 8
We will walk A → H in order. Every numeric answer is machine-checked at the bottom.
Worked example Ex 1 (Cell A)
A path has t p c q = 35 ps, worst-case logic t p d , m a x = 90 ps, t se t u p = 25 ps. Find T c , m i n and f ma x .
Forecast: guess whether f ma x lands above or below 10 GHz before reading on.
Add the three mandatory delays.
T c , m i n = t p c q + t p d , m a x + t se t u p = 35 + 90 + 25 = 150 ps
Why this step? In one clock period the signal must (a) leave FF1, (b) cross the logic, (c) settle before FF2's next edge. Skip any term and you'd pretend that delay is free — the hardware disagrees.
Invert to get frequency.
f ma x = T c , m i n 1 = 150 × 1 0 − 12 s 1 = 6. 6 × 1 0 9 Hz ≈ 6.67 GHz
Why invert? Frequency = cycles per second = 1/ ( seconds per cycle ) . A longer period means a lower top speed.
Verify: units check — 1/ s = Hz . ✓ And 6.67 GHz × 150 ps = 6.67 × 1 0 9 × 150 × 1 0 − 12 = 1.0005 ≈ 1 cycle. ✓
The picture below is the whole hold story in one glance. Look at the two arrows racing.
race , not a wait
The new data launched by the clock edge sprints down the fast path toward FF2. FF2 must keep seeing the old data for t h o l d after the edge. If the new data arrives before that window closes, it overwrites the old value FF2 was still trying to read. So we need the earliest possible new-data arrival (t cc q + t p d , m i n ) to be no earlier than the close of the hold window.
Worked example Ex 2 (Cell B — PASS)
t cc q = 20 ps, fastest logic t p d , m i n = 15 ps, t h o l d = 25 ps. Does hold pass?
Forecast: compare 20 + 15 against 25 in your head first.
Earliest the new data can reach FF2.
t cc q + t p d , m i n = 20 + 15 = 35 ps
Why min delays? The fastest path is the dangerous one for hold — it's the earliest the "poison" (new value) can arrive.
Compare against the hold requirement.
35 ps ≥ t h o l d = 25 ps ⇒ PASS ✓
Why ≥ ? Data must arrive at or after the window closes, never before.
Verify: slack = 35 − 25 = 10 ps > 0 . Positive slack = safe. ✓
Worked example Ex 3 (Cell C — FAIL + repair)
t cc q = 10 ps, t p d , m i n = 5 ps, t h o l d = 30 ps. Does hold pass? If not, how much buffer delay fixes it?
Forecast: guess the sign of the slack.
Earliest arrival.
t cc q + t p d , m i n = 10 + 5 = 15 ps
Compare.
15 ps < t h o l d = 30 ps ⇒ HOLD VIOLATION ❌
Why a violation? New data reaches FF2 at 15 ps, but FF2 needs the old value held until 30 ps. The new value clobbers the old one 15 ps too early.
Compute the buffer needed. We must push the fast path later by the slack deficit:
t b u f f er ≥ t h o l d − ( t cc q + t p d , m i n ) = 30 − 15 = 15 ps
Why add to the SHORT path? Slowing the fast path delays the "poison" until after the window closes. Crucially, this does not touch t p d , m a x (the long path), so f ma x is untouched — see Maximum Clock Frequency .
Verify: after fix, t cc q + t p d , m i n + t b u f f er = 10 + 5 + 15 = 30 ≥ 30 . Slack = 0 , exactly on the edge — legal. ✓
Common mistake "Fixing hold slows the chip."
Why it feels right: you added delay. The fix: you added it to the short path, which never limits frequency. Only the long path sets f ma x .
Worked example Ex 4 (Cell D)
A design must run at f = 2.5 GHz with t p c q = 45 ps, t se t u p = 30 ps. What is the maximum allowed t p d , m a x ?
Forecast: the flip-flops eat 75 ps; guess how many ps remain.
Turn frequency into a period.
T c = f 1 = 2.5 × 1 0 9 1 = 400 × 1 0 − 12 s = 400 ps
Why first? The setup equation is written in time , so convert the speed spec into a period budget.
Rearrange the setup inequality for logic.
t p d , m a x ≤ T c − t p c q − t se t u p = 400 − 45 − 30 = 325 ps
Why subtract? The flip-flops consume 45 + 30 = 75 ps of the period no matter what; whatever's left is the logic's allowance.
Verify: plug back: 45 + 325 + 30 = 400 = T c . Exactly fits. ✓
Worked example Ex 5 (Cell E — direct FF-to-FF, no logic)
Two flip-flops wired back-to-back (a shift register): no combinational logic, so t p d , m a x = t p d , m i n = 0 . Given t p c q = 35 ps, t cc q = 15 ps, t se t u p = 25 ps, t h o l d = 20 ps. Check both sides.
Forecast: with zero logic, which check is at risk — setup or hold?
Setup side.
T c , m i n = t p c q + 0 + t se t u p = 35 + 25 = 60 ps ⇒ f ma x = 60 ps 1 ≈ 16.67 GHz
Why it's fine: removing logic only shortens the required period, i.e. raises f ma x . Setup gets easier as t p d → 0 .
Hold side.
t cc q + t p d , m i n = 15 + 0 = 15 ps ≥ t h o l d = 20 ps ? 15 < 20 ⇒ FAIL ❌
Why it breaks: with zero logic the new data arrives at its absolute earliest (t cc q ). This is the classic shift-register hold hazard — needs t cc q ≥ t h o l d , and here it isn't.
Minimum buffer: t h o l d − t cc q = 20 − 15 = 5 ps of delay on the wire.
Verify: degenerate limit sanity — as t p d → 0 , setup constraint → t p c q + t se t u p (its easiest), hold constraint → t cc q ≥ t h o l d (its hardest). Opposite directions. ✓ Numbers: 35 + 25 = 60 ✓; 15 < 20 ✓; buffer = 5 ✓.
Worked example Ex 6 (Cell F — pushing
t p d to its ceiling)
Fixed t p c q = 40 ps, t se t u p = 20 ps, T c = 300 ps. As logic grows, f ma x falls. (a) What is the maximum legal t p d , m a x ? (b) What frequency results if logic is pushed 1 ps over that ceiling?
Forecast: will 1 ps over the ceiling matter noticeably?
Ceiling logic at this period.
t p d , m a x = T c − t p c q − t se t u p = 300 − 40 − 20 = 240 ps
Why this is the limit: at exactly this t p d , slack is zero — any more and the data misses the edge.
Push 1 ps over → the actual period the circuit now needs.
T c , needed = 40 + 241 + 20 = 301 ps ⇒ f = 301 ps 1 ≈ 3.322 GHz
Why it "works" but slower: the circuit isn't broken — it just can't be clocked faster than 1/301 ps . At the requested 300 ps period, slack = − 1 ps → violation.
Verify: at the ceiling, 40 + 240 + 20 = 300 = T c (slack 0 ). ✓ Over the ceiling, required period 301 > 300 , so the 300 ps clock fails; new safe f ≈ 3.322 GHz. ✓
Intuition The limit picture
Slack is a straight line falling as t p d grows: slack = T c − ( t p c q + t p d + t se t u p ) . It hits zero at the ceiling and goes negative beyond. There is no "sudden" break — just the moment slack crosses zero.
Worked example Ex 7 (Cell G — CPU pipeline stage)
A CPU pipeline stage is quoted in nanoseconds. The register (flip-flop) has t p c q = 0.08 ns and t se t u p = 0.05 ns. The stage's arithmetic logic has worst-case delay t p d , m a x = 0.62 ns. Marketing wants to advertise the clock in GHz. What is the top clock speed?
Forecast: guess whether this clears 1 GHz.
Convert nothing yet — add in ns.
T c , m i n = 0.08 + 0.62 + 0.05 = 0.75 ns
Why keep ns? All three are already in ns; consistent units means no conversion error.
Invert; convert to GHz.
f ma x = 0.75 ns 1 = 0.75 × 1 0 − 9 s 1 ≈ 1.333 × 1 0 9 Hz = 1.333 GHz
Why GHz? 1 GHz = 1 0 9 Hz ; dividing by 0.75 ns lands directly in the 1 0 9 range.
Verify: 1.333 GHz × 0.75 ns = 1.333 × 1 0 9 × 0.75 × 1 0 − 9 = 1.0 cycle. ✓ Yes, above 1 GHz.
The figure shows why skew rewrites both equations: FF2's clock edge no longer lines up with FF1's.
Worked example Ex 8 (Cell H — skew both ways)
t p c q = 40 , t p d , m a x = 120 , t se t u p = 30 , t cc q = 15 , t p d , m i n = 10 , t h o l d = 20 (all ps), with t s k e w = 25 ps (clock late at FF2). (a) New T c , m i n . (b) Does hold still pass?
Forecast: one side improves, one worsens — predict which fails, if any.
Setup with skew.
T c , m i n = 40 + 120 + 30 − 25 = 165 ps
Why subtract skew? The late FF2 edge donates 25 ps back to the data budget, shrinking the required period. Faster clock allowed.
Hold with skew.
t cc q + t p d , m i n = 15 + 10 = 25 ps vs t h o l d + t s k e w = 20 + 25 = 45 ps
25 < 45 ⇒ HOLD VIOLATION ❌
Why it fails now: skew pushed FF2's hold window to close at 45 ps, but the fast data still arrives at 25 ps. Skew turned a passing hold check into a failure.
Verify: without skew, hold was 25 ≥ 20 ✓ (slack + 5 ); adding t s k e w = 25 makes required = 45 , slack = 25 − 45 = − 20 ❌. Setup slack improved by exactly 25 ps. ✓
Common mistake "Skew is always bad."
Why it feels right: it broke our hold check. The fix: positive skew (late at FF2) actually helps setup — that's why designers sometimes intentionally skew clocks to buy setup margin, then fix the resulting hold with buffers.
Recall Cover the answers
Which delays does a hold check use? ::: The minimum pair: t cc q and t p d , m i n .
Ex 1: t p c q = 35 , t p d = 90 , t se t u p = 25 ps → f ma x ? ::: 1/150 ps ≈ 6.67 GHz.
Ex 3 buffer needed for hold? ::: 30 − ( 10 + 5 ) = 15 ps on the short path.
Ex 4 max logic at 2.5 GHz, t p c q = 45 , t se t u p = 30 ? ::: 400 − 75 = 325 ps.
With t p d = 0 (shift register), which check is the danger? ::: Hold — needs t cc q ≥ t h o l d .
Ex 7 CPU: 0.08 + 0.62 + 0.05 ns → speed? ::: 1/0.75 ns ≈ 1.333 GHz.
How does late skew at FF2 change the equations? ::: Setup − t s k e w (easier), hold + t s k e w (harder).
Ex 8 hold with 25 ps skew: pass or fail? ::: Fail — 25 < 45 .