Setup time and hold time are the two timing constraints every flip-flop imposes on the data arriving at its input. Setup time is how long data must be stable before the clock edge; hold time is how long it must stay stable after the edge. If either is violated, the flip-flop can go metastable and capture an unknown value. Meeting setup and hold across every path is the central job of static timing analysis (STA). This guide explains both, with the timing equations.
What is setup time?
Setup time (tsu) is the minimum interval before the active clock edge during which the data input must be stable. If data arrives too late — too close to the edge — the flip-flop may not resolve it in time. A setup violation is a max-delay (slow-path) problem: the data took too long to arrive.
What is hold time?
Hold time (th) is the minimum interval after the active clock edge during which the data input must remain stable. If data changes too soon after the edge, the new value can corrupt the capture. A hold violation is a min-delay (fast-path) problem: the data changed too quickly.
The setup and hold equations
For a launch flip-flop driving a capture flip-flop one clock cycle (T) apart:
- Setup check:
tcq + tcomb(max) + tsu ≤ T + tskew - Hold check:
tcq + tcomb(min) ≥ th + tskew
where tcq is the clock-to-Q delay, tcomb is the combinational path delay, and tskew is the clock skew between launch and capture. Setup depends on the clock period; hold does not — which is why hold violations cannot be fixed by slowing the clock.
Setup vs hold at a glance
| Aspect | Setup time | Hold time |
|---|---|---|
| Relative to clock edge | Before | After |
| Violated by | Too-slow (long) data path | Too-fast (short) data path |
| Check type | Max delay | Min delay |
| Fixed by slowing the clock? | Yes | No |
| Typical fix | Faster cells, fewer logic levels, pipelining | Add buffers/delay to the data path |
What happens on a violation: metastability
If data transitions inside the setup-hold window, the flip-flop output can hover between 0 and 1 for an indeterminate time before settling randomly — metastability. In clock-domain crossings this is managed with synchronizer flip-flops, but within one domain the timing must simply be met.
Why setup and hold dominate STA
Closing timing on a chip means proving that every flip-flop-to-flip-flop path meets both checks across all process, voltage and temperature corners. Setup failures are fixed by optimizing slow paths; hold failures are fixed by padding fast paths with delay. Both are reported by static timing analysis tools as slack (positive = met, negative = violated).
FAQs on setup and hold time
What is setup and hold time?
Setup time is how long data must be stable before a clock edge; hold time is how long it must stay stable after the edge. Violating either can push a flip-flop into metastability.
Why can’t hold violations be fixed by slowing the clock?
The hold equation has no clock-period term — it compares the shortest data path against the hold requirement at the same edge. Changing the period does not help; you must add delay to the fast data path instead.
What is metastability?
An unstable state where a flip-flop’s output lingers between 0 and 1 after a setup/hold violation, eventually settling to a random value. It is a key risk in clock-domain crossings.
What is slack in timing analysis?
Slack is the margin by which a timing check is met: required time minus arrival time. Positive slack means the path passes; negative slack means a setup or hold violation.
Learn STA hands-on in ChipXpert’s Physical Design course. Related: latch vs flip-flop, sequential circuits.
Related digital electronics topics
- JK Flip-Flop: Truth Table & Working
- T Flip-Flop: Truth Table & Circuit
- D Flip-Flop & D Latch
- SR Latch (NAND & NOR)
- Karnaugh Map (K-Map)
- Full Adder & Half Adder
- Universal Gates: NAND & NOR
- Finite State Machines (FSM)
- Sequential Circuits
- Shift Registers (SISO/SIPO/PISO/PIPO)
- 4:1 Multiplexer
- Encoders & Decoders
- Binary to Gray Code Conversion
- One's & Two's Complement
- Counters in Digital Electronics
- Demultiplexer (DEMUX)
- Logic Gates: Types & Truth Tables
- Boolean Algebra & De Morgan's Theorem
- Number Systems (Binary, Octal, Hex)
- Combinational Circuits
- Half Subtractor & Full Subtractor
- Latch vs Flip-Flop
- Master-Slave Flip-Flop
- Ring Counter & Johnson Counter
- Digital Comparator
Share your question in comments or talk to our mentor team for batch guidance.
Ask the Admin Team
Drop your basic question in comments: eligibility, prerequisites, tools, fee range, and placement support.
Our team reviews and responds regularly.
