Foundations — Setup and hold time constraints
Before you can read a single line of the parent note, you need to know what a clock edge is, what a wire being "stable" means, what each little timing symbol (, , , , ) measures, and how "delay" turns into a picture on a timeline. This page builds all of them from zero, in an order where each one leans only on the ones before it.
0. The one object everything sits on: a signal on a timeline
Every symbol in this topic is a length of time measured along a horizontal line. So we must first agree on how to draw a signal over time.
A signal is a wire whose voltage is either low (we call it 0) or high (we call it 1). Drawn against time, it looks like a staircase: flat while the value holds, a steep ramp where it switches.
Why the topic needs this: setup and hold are rules about when the staircase is allowed to have a ramp. If you can't picture "flat vs. ramp on a timeline," none of the constraints mean anything.
1. The clock and its edge
The little arrow on the rising ramp is the shutter click. Everything in this topic is measured relative to that arrow: "before the edge" = to its left, "after the edge" = to its right.
Why the topic needs it: setup time lives left of the arrow, hold time lives right of it. No edge → no reference point → no constraint.
2. The clock period
Look at the two arrows in the figure above: the gap between them is .
Why we need : it is the total budget of time the data has to travel from one flip-flop to the next. The whole setup constraint is the sentence "your journey must fit inside ."
3. "Delay" — the width of a journey on the timeline
Signals don't teleport. When a gate or wire processes a value, the new value appears later than the cause. That lateness is a delay — again, just a horizontal length on the timeline.
Why we need both min and max: setup asks "what if it's too slow?" (uses ). Hold asks "what if it's too fast?" (uses ). Two opposite fears → two different delay numbers. This is exactly the parent note's "Setup uses MAX, Hold uses MIN."
4. The three flip-flop timing numbers: , ,
Now that "a length of time on the timeline" is second nature, the flip-flop's own three numbers are easy — they are just three specific lengths measured from the active-edge arrow.
5. Clock skew — when two clocks don't tick together
We assumed both flip-flops hear the clock at the same instant. In a real chip the clock wire is longer to some flip-flops, so their edge arrives later.
Picture: two shutter-click arrows that should line up vertically, but the second one is shifted right by .
Why we need it: shifting the capture arrow right gives data more room before it (setup gets easier) but stretches the keep-still window into the fast data (hold gets harder) — the parent note's central trade-off.
6. The pipeline: two flip-flops with logic between
Trace it: timeline and edge are the ground floor; period, delay, and the three flip-flop numbers sit on them; those combine into the setup and hold constraints, and skew tilts both — which is exactly the parent topic.
Equipment checklist
Cover the right side and answer out loud. If any stumps you, re-read that section before opening the parent note.
What does it mean for a signal to be "stable"?
What is the active edge of a clock?
0→1) at which the flip-flop samples its data — the "shutter click."What is the clock period , in one phrase?
How are frequency and period related, and why?
What is a "delay" on a timeline?
Why does every path have both a and a ?
Where does setup time sit relative to the edge?
D must be flat there.Where does hold time sit relative to the edge?
D must stay flat there.What does measure, and is it about input or output?
Q appears — it's about the output.What is clock skew (with our sign convention)?
In the pipeline, which flip-flop "launches" and which "captures"?
D is what we protect.Connections
- ↑ Parent: Setup and hold time constraints — where these symbols get assembled into the two inequalities.
- Flip-Flops and Latches — the device that defines , , and .
- Combinational Logic Delay — where and come from.
- Clock Skew and Jitter — deeper dive on .
- Metastability — what breaks when the keep-still window is violated.
- Static Timing Analysis (STA) — the tool that checks these constraints automatically.
- Pipelining — why we chain launch–capture pairs in the first place.