Ring Oscillators: How Hardware Builds a Clock From an Odd Number of Inverters That Can't Make Up Their Mind

2026-06-10

Take an inverter. Feed its output back to its input. The output wants to be the opposite of itself — which is a contradiction. In an ideal world it would settle at the metastable midpoint (Vdd/2). In the real world, a single inverter usually does settle there, because the feedback is instantaneous compared to the gate delay. But chain three inverters (or any odd number), close the loop, and the contradiction now has to propagate through three gate delays before it bites itself. The result oscillates forever.

The frequency is determined by the loop delay:

f = 1 / (2 × N × tpd)

where N is the number of stages and tpd is the propagation delay per inverter. The factor of 2 is because a full period requires a signal to traverse the loop twice (once for each polarity). For 5 inverters at 50 ps each: f = 1 / (2 × 5 × 50ps) = 2 GHz.

Ring oscillators show up everywhere in real chips:

Rule of thumb: A ring oscillator's frequency varies roughly linearly with supply voltage and inversely with temperature (hotter = slower carriers = longer delay). Expect about 0.3-0.5% frequency change per °C. This temperature sensitivity is why you never use a free-running RO as your system clock — but it's exactly what makes them useful as on-chip thermometers.

One last subtlety: an even number of inverters in a loop is a latch, not an oscillator. The contradiction resolves into a stable state. This is the same reason cross-coupled NAND/NOR latches work — and why SRAM cells use exactly two inverters, not three.

Key Takeaway: An odd-length inverter loop oscillates because the contradiction takes longer to propagate than to exist, and that simple fact powers everything from on-die thermometers to cryptographic random number generators.

All newsletters