β: This English translation is in beta — the Traditional-Chinese original is the authoritative version.
LC vs ring oscillator through the ISF lens
Prerequisites: tank_swing ( and the swing lever), tank_Q_and_energy_restoration (what LC's "high- energy storage" actually buys, why ring lacks this advantage), rms_isf (, Parseval, ring's scaling) | Next: serdes_clocking_connection, varactor_tuning_supply_pushing
This page treats the ISF as a single unified ruler and measures the difference between LC and ring oscillators item by item. The point is not "which is better" (each has its use) but what the ISF framework lets us see, and what it doesn't. We first build an explicitly-labeled honest toy model, then quantify the differences using the [P1] / [P2] formulas.
Physical intuition (conclusion first): LC is like a heavy pendulum — most of the energy is stored in the tank ( and trading back and forth), with only a small device occasionally topping up the loss. The waveform is close to sinusoidal, the ISF is smooth (), and phase sensitivity is spread across the whole period. ring is like a row of relay-passing gates — no energy-storage element, every stage is switching, every stage leaks noise, the waveform is close to a square wave, the ISF is concentrated at the transition, and phase sensitivity is sharp. LC buys low phase noise with "energy storage + high "; ring trades phase noise for "small area, tunability, multiphase output."
Toy model assumptions (explicitly labeled)
The following is a pedagogical toy model, not transistor-level. It captures the qualitative difference but is not a measurement of any real circuit.
- LC: ideal sinusoidal state, , ISF ([P1] Fig. 7(a)). Amplitude restoration is provided by the limit cycle ([P1] Sec. III-A).
- ring: -stage inverter delay + independent timing noise per stage; ISF modeled as a triangular toy shape, peak , energy concentrated at the transition (actual simulated ISF curve: [P2] Fig. 5, p.793; triangular approximation: [P2] Fig. 6, p.793). Accumulated jitter uses a random-walk model ([P2] Eq.(8)).
- Full scripts:
simulations/lab_02_lc_toy_model.py,simulations/lab_03_ring_toy_model.py.
Item-by-item comparison table
| Aspect | LC oscillator | Ring oscillator | How the ISF explains it |
|---|---|---|---|
| Waveform | Close to sinusoidal | Close to square (rail-to-rail) | Determines ISF shape (smooth vs. concentrated at transition) |
| ISF shape | , smooth, spread over the full period | Triangular, sharp, concentrated at transition | See [P1] Fig. 7 |
| Amplitude restoration | Tank + nonlinear , radial perturbation decays | Each stage saturates to the rail, strong restoration | Amplitude perturbation decays → only phase is tracked (claim C2) |
| Transition slope | Moderate (sinusoidal zero-crossing slope) | Steep (fast switching) | Steep edge → low threshold jitter, concentrated |
| Stored energy (tank energy) | High (, trade back and forth) | Almost none | High stored energy → large → low phase noise |
| Number of noisy devices | Few (1-2 active devices) | Many ( stages, each leaks noise) | More noise sources contribute more (but each stage has smaller swing) |
| Phase-sensitivity distribution | Spread over the whole period | Concentrated in the transition window | concentrated |
| (rms of ) | ([P2] Eq.16) | [P2] Eq.(16) | |
| Jitter accumulation | Slow (high- resists drift) | Fast (no reference, random walk) | |
| Typical phase noise | Low (10-30 dB better) | High | |
| Area / tunability / multiphase | Large (spiral inductor), narrow tuning range | Small, wide tuning, inherently multiphase output | (not an ISF quantity, but a common design metric) |
Step 1: — why LC's phase sensitivity is "flattened out"
Ideal LC , rms value:
Note the normalization convention: this site uses ([P1] Eq.(20)). For only , so . This site's canonical example takes as the representative value "after applying the cyclostationary discount" — both are used, but when computing a concrete dBc/Hz number we always use the canonical (see notation and rms_isf).
The figure below overlays LC's with the triangular ISF of ring (): the ring peak gets shorter as grows (peak ), but more numerous ( transitions), so the overall decreases with .

Step 2: three [P2] formulas for ring (verified against the PDF)
(a) Ring frequency ([P2] Eq.(15), p.794):
- is the per-stage delay. The factor of 2 is because the signal must traverse the loop twice to complete one full period (a single-ended ring needs an odd number of inverting stages).
- Unit check: ✓.
- Design implication: at fixed , larger means smaller per-stage delay (each stage must be faster, with a steeper transition).
(b) Ring scaling ([P2] Eq.(16), p.794 (re-verified in v7: the radical covers only the constant, ; cross-checked three ways against the body text's at and App.B Eq.(55). v3 had previously misread this as )):
- Intuition: with more stages, each transition occupies a narrower "sensitivity window" of the period, each stage's ISF peak is shorter, and the rms drops accordingly.
- Radical-scope note: in the printed formula the radical covers only the constant , with outside the radical, so ; at , , matching the paper's body-text statement "solid line = " ([P2] Fig. 8), consistent with the body text's "the dependence of " and with the independent algebra of App.B Eq.(52)+(54) — a three-way match. Verbatim formula and full discussion: paper_002 deep-dive.
(c) Ring white-noise phase-noise FOM ([P2] Eq.(23), p.796, verified against the original PDF ✓):
- The prefactor is : is the stage-delay proportionality constant ([P2] Eq.(14), ); (MOSFET channel thermal-noise coefficient, for long channel) enters only through . is power dissipation ([P2] Eq.(21): ). Note: (noise coefficient) (frequency proportionality constant).
- Unit check: , taking gives dBc/Hz ✓.
- The lower bound is [P2] Eq.(25): . The prefactor of [P2] Eq.(23) is ( being the stage-delay proportionality constant, Eq.(14), ); enters only through . (v2 mistakenly changed this to and mislabeled it "verified verbatim"; v3 corrected it against the original PDF, p.796.)
(d) N-independence conclusion (claim C7, verified):
Key fact: [P2] Eq.(23)'s FOM contains no at all — at fixed and power , a single-ended ring's phase noise is independent of the stage count . Microscopically, increasing lowers (Eq.16), but it also lowers the per-stage swing (each stage must be faster at fixed ) and increases the number of noisy stages; these -dependent effects cancel each other at fixed , , so Eq.(23) ends up with no . Full derivation: [P2] Sec. V and paper_002 deep-dive.
- Conclusion: at fixed center frequency and power dissipation, adding stages does not improve ring phase noise/jitter — [P2]'s signature counter-intuitive result.
- Design implication: choose based on tuning range, multiphase requirements, area, and maximum — not for phase noise.
Step 2b: differential ring — the lost other half of N-independence ([P2] Eq.(31)–(35), p.796, verified ✓)
The N-independence above tells only half the story: it is the conclusion for a single-ended CMOS ring. [P2] Sec. V-B (p.796) redoes the same bookkeeping for a differential MOS ring (resistive load , tail-current biasing) and the ending flips — the phase-noise formula contains an explicit factor of . All five formulas below have been verified verbatim against the original [P2] PDF, p.796 (rendered-page comparison).
(a) The power bookkeeping turns from "dynamic" into "static" ([P2] Eq.(31), p.796):
- The differential pair is biased by a tail current source: whether or not it is switching, each stage continuously draws from (class-A-style static bookkeeping); stages means shares.
- Unit check: ✓.
- Contrast with single-ended Eq.(21) : there the power is the dynamic "charge/discharge every period" bookkeeping, automatically tied to ; here the static power has no in it — this bookkeeping difference is the seed of the flipped ending.
(b) Frequency = tail current slewing the node charge ([P2] Eq.(32), p.796):
- The physics of the last step: each stage transition is the tail current slewing the node charge , so , with the proportionality constant absorbed into (the same stage-delay constant as Eq.(14)–(15), ).
- Unit check: ✓.
- Factor-2 flag: the 2 in is the physical count "the signal must go around the ring twice to return in phase" (same as Eq.(15)) — it has nothing to do with the SSB/time-domain convention.
(c) Raising at fixed , : two chains tighten at once
- Inverting Eq.(31): — with power fixed, one more stage means cutting each stage's current.
- Substituting into Eq.(32): — the current shrinks () and the transition must complete within a shorter stage delay (another ). [P2] p.797, verbatim: "increasing the number of stages at a fixed total power dissipation demands a proportional reduction of tail-current sources, which will reduce the swing, and hence , by a factor of ."
- Contrast with single-ended: Eq.(21) at fixed , gives only (first power). Why the differential ring gets squeezed once more: the power no longer self-scales with the charge/discharge bookkeeping, so cutting the tail current is the only path — and cutting current directly cuts the swing.
(d) The noise on each node ([P2] Eq.(33), p.796):
- Two contributions: the differential transistor (subscript , the NMOS differential device) plus the load resistor . : for a balanced stage in the long-channel limit, in the short-channel regime ([P2] p.796, verbatim).
- Unit check: ; with this is ✓.
- nodes: each differential stage has two output nodes, so the whole ring has single-ended nodes; [P2] p.796, verbatim: "The phase noise and jitter due to all noise sources is times the value given by (6) and (12)." — this 2 is a node count, not the SSB convention's 2.
- Where did the tail source go? Same page, verbatim: "Surprisingly, tail-current source noise in the vicinity of does not affect the phase noise." — what does affect the phase noise is the tail's low-frequency noise (taking the symmetry/ 1/f³ path, see symmetry) and its noise near even harmonics (suppressible with a series inductor / parallel capacitor), so the white-noise bookkeeping counts only the differential device + load.
(e) Convergence: the differential ring's phase-noise and jitter floor ([P2] Eq.(34)/(35), p.796):
( is the paper's in site notation; the paper states verbatim that both are "valid in both long- and short-channel regimes of operation with the right choice of "; a bipolar differential ring folds its shot + load noise (Eq.(36), p.797) back into the same two equations with .)
Compared with single-ended Eq.(23) there are only two differences: an explicit , and an extra load-resistor share in the bracket. Where does the come from? Do the exponent bookkeeping of term by term (toy bookkeeping, fixed , , fixed swing ):
| Factor | single-ended (the Eq.23 path) | differential (the Eq.34 path) |
|---|---|---|
| noise-source count | (each stage's NMOS+PMOS already merged in Eq.18) | (two output nodes per stage) |
| (Eq.16) | ||
| per-source | ( unchanged at fixed ) | (both terms of Eq.33) |
| () | () | |
| product |
Single-ended cancels exactly ( = no in Eq.23); the differential ring's contributes two extra positive powers, leaving a net — exactly the sitting in plain sight in Eq.(34).
[P2]'s own conclusion sentence (pp.796–797, verbatim): "Note that, in contrast with the single-ended ring oscillator, a differential oscillator does exhibit a phase noise and jitter dependency on the number of stages, with the phase noise degrading as the number of stages increases for a given frequency and power dissipation. This result may be understood as a consequence of the necessary reduction in the charge swing that is required to accommodate a constant frequency of oscillation at a fixed power level as increases." — At fixed frequency and power dissipation, a differential ring's phase noise gets worse as increases; the culprit is the forcibly shrunken charge swing ().
Convention flag (owed every time a 2 or 4 appears): the prefactor of Eq.(34) is of the same family as Eq.(23), inheriting the SSB bookkeeping of [P2] Eq.(6) (the same convention family as the 4 in the denominator of [P1] Eq.(21); switching to the time-domain convention shifts all absolute dBc/Hz numbers by dB, e.g. example B's (SSB, ) vs (time-domain, ), see white_noise_to_phase_noise). The in example 3 below is a difference of two 's, so the convention factor cancels — both conventions give the same answer.
Example 3 (differential ring: vs , same , same — what is ?) Take GHz, MHz, J (300 K), mW, , (the same illustrative value as example 1 later on this page), and a fixed-swing design (bracket ; the design scales up to maintain the swing, so the bracket does not change with ). Use [P2] Eq.(34).
Step-by-step substitution (with units):
- Result: stage count 4→12 () degrades the phase noise from to dBc/Hz, a difference of dB. General form: at fixed , , and voltage ratios, . Same for the jitter constant: Eq.(35) gives , so → .
- Cross-check (against the single-ended value of example 1, later on this page): the differential value of sits above the single-ended , decomposable as the extra load share in the bracket (, dB) plus the ( dB): (the 0.1 dB is intermediate rounding) ✓.
- Dimension check: same as Eq.(23): → per-Hz power ratio → gives dBc/Hz ✓.
- Python check:
import numpy as np
def L_ring_diff(N, kT, P, f0, df, eta=1.0, vdd_vchar=3.0, vdd_swing=2.0): # [P2] Eq.(34)
return 10*np.log10(8/(3*eta) * N * (kT/P) * (vdd_vchar + vdd_swing) * (f0/df)**2)
L4 = L_ring_diff(4, 4.0e-21, 1e-3, 5e9, 1e6)
L12 = L_ring_diff(12, 4.0e-21, 1e-3, 5e9, 1e6)
print(round(L4,1), round(L12,1), round(L12-L4,2)) # -> -82.7 -78.0 4.77
Applicability / failure conditions:
- Applies when: white-noise dominated (symmetry criteria already met, 1/f upconversion already suppressed — the stated premise at the start of [P2] Sec. V); fully switching differential pair with resistive load; Eq.(34)/(35) hold in both long- and short-channel regimes (with the right ); MOS or bipolar (the latter via Eq.(36) with ).
- Caveats: / are lower bounds (the same logic as Eq.(25)/(26) — extra noise sources, asymmetry, supply/substrate only make things worse); if the design fixes instead of fixing the swing, then and the degradation is steeper than ; the of carries over from Eq.(16) — [P2] Fig. 9 (p.795) measures the rms ISF of differential rings under three constraint scenarios (fixed power/fixed swing, fixed power/fixed , fixed tail current/fixed ), all hugging the same scaling.
One-line design rule: single-ended ring = phase noise immune to (no in Eq.23); differential ring = fewest stages wins (explicit in Eq.34, dB per doubling) — stop at the smallest that phase margin, quadrature/multiphase, and frequency-division requirements allow.
Step 3: jitter accumulation — LC slow, ring fast
Ring is free-running with no absolute time reference; each stage transition adds a bit of independent timing noise, and the edge time performs a random walk, with accumulated jitter growing as the square root of the measurement interval ([P2] Eq.(8), p.792; from Eq.(12), p.793):
- This is phase jitter (dimensionless): per [P2] Eq.(11) , so gives the phase jitter . Time jitter then follows from [P2] Eq.(10)'s phase-to-time conversion . lives in Eq.(10), not in .
- Unit check: has units ( is , is ), so dimensionless ✓ (phase); dividing by gives ✓ (time).
- ([P2] Eq.(12), p.793, verified: , no ) — the same core ratio shows up again.
- LC drifts much more slowly in phase (equivalently, small ) thanks to high ; but as long as it's free-running, both eventually drift — locking to an absolute time reference requires a PLL/CDR (see serdes_clocking_connection).
The figure below is a Monte Carlo random walk of ring edge times: rms accumulated jitter vs. measurement lag is a slope-1/2 line on a log-log plot:

Toy parameters: GHz, fs/transition, 2000 trials. Full script:
simulations/lab_03_ring_toy_model.py(fig_accumulation).
Step 4: what the ISF can and cannot see
| Visible (ISF framework's strength) | Invisible / needs other treatment |
|---|---|
| Distribution of phase sensitivity vs. injection phase ( shape) | Absolute value of tank , inductor parasitics (needs circuit model) |
| white→1/f², flicker→1/f³ scaling | Strong nonlinearity, large-signal AM-PM effects (first-order ISF insufficient) |
| Symmetry→→1/f³ corner | Supply/substrate coupling ([P2] treats this qualitatively in a separate section) |
| Relative leverage of , | Real shape (needs transient/adjoint extraction) |
| Accumulated jitter random walk | Exact , absolute value of FOM constant (needs a full device model; the formula itself is [P2] Eq.(12)/(23), verified) |
Design knobs (LC vs ring comparison)
| Goal | LC knob | Ring knob |
|---|---|---|
| Lower phase noise (1/f²) | Increase tank , increase swing () | Increase per-stage current/swing; single-ended: almost no effect; differential: fewer is better (Eq.34, see Step 2b) |
| Lower 1/f³ (close-in) | Symmetric differential, low | Symmetric load ([P2] Fig. 17 symmetry voltage) |
| Wide tuning | Varactor (narrow range) | Change bias current/ (wide range, ring's strength) |
| Multiphase output | Needs extra circuitry | Inherently phases (ring's strength) |
| Small area | Large (spiral inductor) | Small (ring's strength) |
Worked numerical examples
The following two examples use [P2]'s ring white-noise FOM to compute a concrete , and verify that "at fixed /power, phase noise is roughly independent of ." The formulas have been verified against the original [P2] PDF; below we take (stage-delay proportionality constant, entering the prefactor ), (long channel, entering only through ), (illustrative value); the numbers are an order-of-magnitude demonstration.
Example 1 (use the ring FOM to compute 1/f² phase noise, comparing N=3/5/15) Take GHz, offset MHz, J (300 K), mW, , (already absorbed into ). Compute using [P2] Eq.(23); does not appear explicitly in this expression (already absorbed by N-independence), so N=3/5/15 give the same value.
Step-by-step substitution (with units), using :
- Result: dBc/Hz @ 1 MHz — identical for N=3, N=5, N=15, because at fixed / the -dependent factors cancel (claim C7). This is dB worse than example 2's ideal LC value ( dBc/Hz), which is reasonable order-of-magnitude: ring has no high- energy storage, small , and many devices.
- Dimension check: , the per-Hz power ratio ( already absorbed into ) → gives dBc/Hz ✓.
- One-line Python check:
import numpy as np
def L_ring_fom(kT, P, f0, df, eta=1.0, vdd_vchar=3.0): # [P2] Eq.(23), prefactor 8/(3*eta)
return 10*np.log10(8/(3*eta) * (kT/P) * vdd_vchar * (f0/df)**2)
vals = {N: L_ring_fom(4.0e-21, 1e-3, 5e9, 1e6) for N in (3, 5, 15)}
print({N: round(v,1) for N,v in vals.items()}) # -> {3: -91.0, 5: -91.0, 15: -91.0}
N-independence here is a direct consequence of "Eq.(23) simply contains no " — and the toy exponents agree: (Eq.16), (from Eq.(21) at fixed , ), and noise sources, so , consistent with Eq.(23) (see lab_17 for the walkthrough).
Example 2 (LC vs ring: how much better is LC under comparable-order conditions?) Use [P1] Eq.(21) to compute a representative LC number and place it side by side with ring's dBc/Hz above. Take canonical , pC, A²/Hz, GHz, MHz.
Step-by-step substitution (with units), using [P1] Eq.(21) :
- Comparison: under ideal single-source conditions, LC vs ring