Computing Library › Digital Logic & Circuits
Digital Logic & Circuits

Clocking

A clock is the periodic signal that synchronizes a digital system, defining the moments when all storage elements update.

What a clock does

In synchronous design a single clock signal orchestrates the whole system. Storage elements capture new values only on the clock's active edge, so the entire circuit advances in lockstep. Between edges, combinational logic settles to its new values undisturbed.

Period and frequency

Kronos motion — when

The clock period is the time between successive edges; its inverse is the frequency. The period must be long enough for the slowest combinational path between two flip-flops to settle, plus setup time and clock overhead. That slowest path is the critical path and it sets the maximum clock rate.

Clock skew

Ideally the clock reaches every flip-flop at the same instant. In reality wiring delays make it arrive at different times, a difference called skew. Skew eats into the timing budget and, if severe, can cause hold-time violations. Clock distribution networks are designed to keep skew small.

Clock gating

To save power, the clock to an idle block can be switched off, called clock gating, so its flip-flops stop toggling. Gating must be done carefully to avoid introducing glitches on the clock line.

Why synchronous

Synchronous clocking makes timing analysis tractable: designers reason about one clock period at a time. The alternative, fully asynchronous logic, avoids a clock but is far harder to design and verify.