33 / 37 · Concept
Setup, hold and timing budgets
Separate maximum and minimum path delays and calculate hold requirements independently of clock frequency.
Lessons are free to read. Enroll to save your learning progress.
Correct data must also arrive on time
A synchronous path consists of a launch flip-flopFlip-flop An element that captures its input at a specified clock edge and holds it until the next edge. The input must meet setup and hold requirements. Learn more → combinational logic → capture flip-flop. In a simple model with zero clock skew, the setupSetup The minimum time that input data must be stable before the capturing clock edge. If it is violated, the stored result is not guaranteed. condition is below. Uncertainty conservatively accounts for jitter, design margin and related effects.
is clock-to-Q delay and the maximum combinational delay. Only the time remaining after the source registerRegister A circuit that stores multiple bits of state. The synchronous registers in this course store their specified inputs at a clock edge. Learn more produces data and the destination reserves setup time is available for combinational logic.
Calculate a path limit numerically
For clock-to-Q=0.12 ns, combinational delay=1.80 ns, setup=0.15 ns and uncertainty=0.08 ns, the minimum period is 2.15 ns.
500 MHz corresponds to 2 ns, giving setup slack of -0.15 ns. This example concerns one specified path and its assumptions. Guaranteeing an actual operating frequency requires checking every relevant path, corner and constraint.
Follow the delay terms added in series below: their sum is 2.15 ns. Arrows show the budget-addition order, not device sizes or proportional delays.
- Launch FF: clock-to-Q: 0.12ns
- Combinational path: Maximum delay: 1.80ns
- Capture requirement: setup: 0.15ns
- Design margin: uncertainty: 0.08ns
Hold concerns the fastest path
If launched data changes too quickly at the same edge, it intrudes on the time the receiving flip-flop needs to capture the previous value. With skew=0 and no additional margin, a simple hold conditionHold time The minimum time that input data must remain stable after the capturing clock edge. Check the context to distinguish it from ordinary value retention. is
Minimum clock-to-Q=0.05 ns, minimum combinational delay=0.03 ns and hold=0.10 ns leave a 0.02 ns shortfall. Lengthening the period does not fix this same-edge condition. Implementation changes such as added data delay or clock-path adjustment are needed.
Positive skew, with capture clock later than launch clock, can help ordinary single-cycle setup but hurt hold. Draw data arrival and capture edges on a timeline instead of memorizing signs. Do not use multicycle or false-path exceptions merely to silence timing warnings without a functional justification.
Try it yourself
For a 4 ns period, ns, ns and uncertainty=0.1 ns, what maximum combinational delay is allowed? Does changing the period to 8 ns fix a hold violation?
Read the explanation
The allowed maximum is ns. Increasing the period does not fix the usual same-edge hold requirement. Analyze minimum data-path delay and clock arrival times separately.