Look at the picture above once before starting: the top timeline is the Setup story (launch → travel → must be quiet before the next edge), the bottom timeline is the Hold story (must NOT arrive so early it corrupts the current capture). Every exercise lives on one of these two timelines — as you solve, keep pointing back to it: "which coloured segment am I computing right now?"
WHAT:tccq=12 ps is the contamination clock-to-Q delay; tpcq=45 ps is the propagation clock-to-Q delay.
WHY tccq smaller: contamination is the earliest moment Q can start moving (the fastest internal path finishing). Propagation is the latest moment Q is fully valid (the slowest path finishing). The fastest thing can never finish after the slowest thing, so
tccq≤tpcq⇒12≤45✓
On the figure: tccq is the short blue segment on the bottom (hold) timeline; tpcq is the longer blue segment on the top (setup) timeline.
Recall Solution 1.2
Setup / max-frequency → use tpcq (the max, worst case). We are asking "did data finish arriving in time?" — worst case is late. This is the top timeline in the figure.
Hold → use tccq (the min, earliest). We are asking "did data arrive dangerously early?" — worst case is early. This is the bottom timeline in the figure.
Mnemonic: Setup = Slow, Hold = Hasty.
Recall Solution 1.3
False. The edge crossing 50% is where we start the stopwatch (the yellow line at the left of both timelines in the figure). Q reaches its new valid value tcqlater, because internal transistor capacitances need physical time to charge/discharge. This is the whole reason tcq>0.
WHAT: add the three mandatory delays in one cycle — the three coloured segments of the top timeline in the figure (blue + green + red).
Tc,min=tpcq+tpd,max+tsetup=35+90+25=150psWHY invert for frequency: frequency is cycles per second =1/period.
fmax=150×10−12s1≈6.67×109Hz=6.67GHz
Recall Solution 2.2
WHAT: check tccq+tpd,min≥thold — this is the bottom timeline in the figure: does the green "new data arrives" line land after the red quiet window ends?
15+20=35≥30✓WHY it passes: the earliest the new data can reach FF2 is 35 ps after the edge, but FF2 only needs the old data held for 30 ps. There is a 5 ps margin — the new value does not clobber the old capture. Hold PASSES.
Recall Solution 2.3
WHAT: find the period, then subtract the flip-flop overhead.
Tc=2.5×1091=400psWHY subtract: the flip-flops "eat" tpcq+tsetup=80 ps of the budget; whatever remains is free for logic — on the top timeline, the green segment gets whatever the blue and red segments leave behind.
tpd,max≤400−45−35=320ps
Reason about which path dominates and diagnose failures.
Recall Solution 3.1
WHAT: test the setup inequality.
tpcq+tpd,max+tsetup=40+210+20=270ps
Required: ≤Tc=250 ps. But 270>250 → SETUP VIOLATION ❌.
WHY setup, not hold: the slow path fails to arrive before the next edge. On the top timeline, the three coloured segments overrun the yellow "next edge" line by 270−250=20 ps. Hold failures come from fast paths arriving too early — that is a different story entirely (the bottom timeline).
Fix menu: (a) slow the clock so Tc≥270 ps, or (b) shorten the logic (tpd,max), or (c) use a faster flip-flop (lower tpcq).
Recall Solution 3.2
Max frequency (uses tpcq+tpd,max+tsetup):FF-A: 25+100+15=140ps⇒f=1/140ps≈7.14GHzFF-B: 20+100+12=132ps⇒f=1/132ps≈7.58GHzFF-B is faster (smaller sum ⇒ higher frequency).
Hold check (uses tccq+tpd,min≥thold):FF-A: 8+10=18≥18✓(just barely)FF-B: 4+10=14≥25?No, 14<25⇒VIOLATION❌FF-B is more likely to cause a hold violation — it has a smallertccq (data starts moving sooner) AND a largerthold (needs data held longer). Both push it toward failure.
Lesson: the "faster" flip-flop for frequency can be the dangerous one for hold. You cannot judge on one number alone.
WHAT: we need tccq+tpd,min+(buffer delay)≥thold.
Current slack deficit:
thold−(tccq+tpd,min)=40−(6+12)=40−18=22ps short.WHY buffers: each adds 8 ps to the short path only (leaving fmax untouched, since that depends on the long path). We need to cover ≥22 ps:
n×8≥22⇒n≥2.75⇒n=3buffers.Check:6+12+3×8=6+12+24=42≥40✓. Two buffers give only 34<40 — not enough. Answer: 3 buffers.
Recall Solution 4.2
Step 1 — the period:Tc=2×1091=500ps.Step 2 — setup gives the upper limit on the SLOW path:tpd,max≤Tc−tpcq−tsetup=500−50−40=410ps.Step 3 — hold gives the lower limit on the FAST path:tpd,min≥thold−tccq=60−20=40ps.Answer: every path must satisfy
40ps≤tpd≤410ps.WHY the two ends come from different constraints: the upper bound protects against arriving too late (setup, top timeline), the lower bound protects against arriving too early (hold, bottom timeline). A legal design keeps all logic delays inside this window.
Full-system reasoning, edge cases, and clock skew.
Recall Solution 5.1
(a) Setup with zero logic:Tc,min=tpcq+0+tsetup=30+20=50ps⇒fmax=50ps1=20GHz.
Even with no logic the clock cannot be infinitely fast — the flip-flops' own tpcq+tsetup sets a hard ceiling. This is the register-to-register floor of any technology.
(b) Hold with zero logic:tccq+tpd,min=10+0=10≥thold=35?10<35⇒VIOLATION❌WHY this is the worst possible hold case: with no logic to slow it, the new data races through instantly. Direct FF-to-FF connections are the classic hold-failure hotspot — you almost always need padding buffers. Deficit =35−10=25 ps must be added.
WHY the mirror image: the two skew signs are exact opposites. Positive skew buys frequency (smaller Tc,min) but spends hold margin. Negative skew loses frequency (larger Tc,min) but gains hold safety. tcq sits at the fulcrum of this see-saw — you cannot tilt one side without tilting the other.
Recall Solution 5.3
WHAT: with positive skew the hold constraint tightens to tccq+tpd,min+n⋅9≥thold+tskew.
8+0+9n≥30+10=40⇒9n≥32⇒n≥3.56⇒n=4.Check with 4 buffers:8+4×9=8+36=44≥40✓, margin =44−40=4 ps.
Three buffers give 8+27=35<40 — fails. Answer: 4 buffers, 4 ps of margin.WHY more than the no-skew case: the positive skew adds its own 10 ps to the hold requirement, so you must pad the short path even more heavily. This is the L5 punchline: chasing frequency with positive skew silently raises the buffer bill on every short path.