PLL and Clock Generation: How Hardware Makes Its Own Heartbeat

2026-04-27

Every digital system needs clocks, and rarely just one. Your CPU might need 3.2 GHz internally but talks to memory at 1.6 GHz and to a PCIe bus at 100 MHz. A single crystal oscillator can't provide all of these. That's where the Phase-Locked Loop (PLL) comes in — it takes one reference clock and synthesizes others from it.

A PLL has four core components wired in a feedback loop:

The math is simple: fout = fref × (N / M), where M is an optional pre-divider on the reference. Want 148.5 MHz (HDMI pixel clock) from a 25 MHz crystal? Set M=2, N=59: 25 × 59/5 = no, better: M=5, N=297/5... In practice, you consult the PLL's datasheet and its valid N/M ranges. FPGA tools calculate this for you.

Real-world example: On a Xilinx FPGA, you instantiate a Mixed-Mode Clock Manager (MMCM) — which is a PLL with fine phase shift capability. Feed it a 100 MHz board oscillator, and configure it to produce 200 MHz for your DDR3 controller, 74.25 MHz for HDMI 720p, and 10 MHz for a SPI peripheral. One primitive, three output clocks, all phase-aligned to the reference.

Jitter is the critical spec. PLLs don't produce perfect clocks — the output edges wander slightly. For a 1 Gbps SERDES link, you typically need under 50 ps RMS jitter. The loop filter bandwidth controls the tradeoff: narrow bandwidth rejects more reference jitter but tracks frequency changes slowly.

Lock time matters at power-on. A typical FPGA PLL locks within 1–10 ms. Your reset logic must hold the entire design in reset until the PLL asserts its locked signal. Releasing reset before lock is a classic bug — the design runs on a garbage clock for a few milliseconds and enters an unpredictable state.

Rule of thumb: PLL loop bandwidth should be roughly 1/10th of the reference frequency. A 10 MHz reference suggests ~1 MHz loop bandwidth for stable operation.

Key Takeaway: A PLL is a feedback loop that multiplies a reference clock by locking a VCO's output to the reference phase — it's how one cheap crystal becomes every clock your system needs.

All newsletters