Computing Library › Digital Logic & Circuits
Digital Logic & Circuits

Asynchronous Circuits

Asynchronous circuits coordinate through local handshakes instead of a global clock, trading design complexity for potential efficiency.

Life Without a Clock

Almost all digital design is synchronous: a global clock marks the instant every flip-flop updates. Asynchronous (self-timed) circuits abandon the global clock entirely. Instead, blocks coordinate through local handshakes, signaling one another when data is ready and when it has been consumed. Computation advances as fast as each stage actually completes rather than waiting for a fixed clock edge.

Handshake Protocols

Kronos motion — conversion efficiency

The coordination uses request and acknowledge signals. In a typical protocol a sender asserts request when data is valid; the receiver asserts acknowledge when it has taken the data; then both reset for the next transfer. Encodings differ: bundled-data keeps normal data wires plus a matched delay on the request, while dual-rail encodes each bit on two wires so validity is implicit in the data itself, needing no separate timing assumption.

Advantages

Because each stage runs at its own natural speed, an asynchronous circuit can exhibit average-case rather than worst-case performance and dissipates dynamic power only where and when activity occurs, with no clock network toggling everywhere. It also emits less concentrated electromagnetic interference, since switching is spread out rather than aligned to clock edges.

Why It Is Rare

The obstacles are practical. Avoiding hazards and glitches is delicate, the mainstream tool flow assumes a clock, and timing verification cannot lean on static timing analysis in the usual way. As a result asynchronous design stays niche, appearing in specific low-power blocks, some interconnect fabrics, and research. Notably, the safe transfer of data across clock domains in otherwise synchronous chips borrows directly from asynchronous handshake theory.