In a sequential digital logic circuit, data is stored in memory devices called flip-flops or latches.
Ideally, the input to each storage element has reached its final value before the next clock occurs, so the behaviour of the whole circuit can be predicted exactly.
Practically, some delay is required for each logical operation, resulting in a maximum speed limitations at which each synchronous system can run.
To make these circuits work correctly, a great deal of care is needed in the design of the clock distribution networks.
Static timing analysis is often used to determine the maximum safe operating speed.