Picture a register to register path: a launching flip-flop, some logic, and a capturing flip-flop on the same clock. At one edge, new data leaves the launching flip-flop. It must reach the capturing flip-flop and be stable tsu before the next edge.
In the worst case the data:
- leaves the flip-flop after the clock to q delay
tcq, - spends the critical path delay
tpdin the logic, - must then be steady for the setup time
tsu.
So the period must satisfy:
T ≥ tcq + tpd + tsu
The smallest legal period is the minimum clock period Tmin = tcq + tpd + tsu, and the fastest clock is fmax = 1 / Tmin. Every path on the chip must pass, so the slowest path sets the clock for everything.
This check uses maximum delays, because the latest-arriving data is the danger. If a path fails, you have a setup violation. You can fix it by slowing the clock, speeding up the logic, or pipelining it. With clock skew, the rule becomes T ≥ tcq + tpd + tsu − tskew.