跳至主要内容

FOM 的理論天花板

先備tank_swing(FOM 定義與 phase-noise × power 取捨)、white_noise_to_phase_noise([P1] Eq.(21) 與 factor-of-2 慣例)、lc_vs_ring([P2] Eq.(23) ring FOM、91-91 dBc/Hz 例)|接下來real_oscillator_topologiespll_noise_budget

這頁回答三個所有 VCO 設計者遲早會問的問題:

  1. FOM(figure of merit,振盪器品質指標)有沒有物理上限? 上限是多少、由什麼決定?
  2. 文獻上最好的 LC 設計 FOM 在 190 dB 上下——它們離天花板還有幾 dB?
  3. ring oscillator 為什麼天生落後 LC 約 25 dB? 落後的每一 dB 是誰吃掉的?

物理直覺(先講結論):FOM 的構造刻意把 (f0/Δf)2(f_0/\Delta f)^2 與功率 PP 完全消掉, 剩下的只有兩個東西:一個是大自然的價目表 kTkT(1 Hz 頻寬內的熱雜訊能量 vs 1 mW), 在 300 K 折合 173.8 dB;另一個是拓樸雜訊因子 FeffF_{eff}——你的電路把 kTkT 放大 (ring:Feff3.6F_{eff}\ge3.6,天花板 168.3 dB)或用高 QQ 儲能把它比下去 (LC:Feff1/Q2F_{eff}\propto 1/Q^2,天花板隨 QQ 每十倍升 20 dB)。 所以沒有單一魔術數字:天花板是一個「家族」,家族成員由你允許 FeffF_{eff} 裡放什麼物理決定。

第 0 步:FOM 的定義與正負號慣例

本頁採用正值慣例(越大越好,survey 表格最常見):

FOM  =  L(Δf)  +  20log10 ⁣(f0Δf)    10log10 ⁣(P1 mW)[dB]\mathrm{FOM}\;=\;-\mathcal{L}(\Delta f)\;+\;20\log_{10}\!\left(\frac{f_0}{\Delta f}\right)\;-\;10\log_{10}\!\left(\frac{P}{1\ \text{mW}}\right)\qquad[\text{dB}]
  • L(Δf)\mathcal{L}(\Delta f):offset Δf\Delta f 處的 SSB phase noise,單位 dBc/Hz(負數,故 L-\mathcal{L} 為正)。
  • f0f_0:載波頻率 [Hz];Δf\Delta f:offset 頻率 [Hz];PP總 DC 功耗 [W],以 1 mW 歸一化。
  • tank_swing 的對照:該頁寫的是 FOM=L20log10(f0/Δf)+10log10(P/1mW)\mathrm{FOM}'=\mathcal{L}-20\log_{10}(f_0/\Delta f)+10\log_{10}(P/1\text{mW})——正負號相反的同一個量FOM=FOM\mathrm{FOM}=-\mathrm{FOM}',該慣例下越負越好)。兩種寫法文獻都有;本頁用正值慣例, 數值上例如 ring 例的 FOM=165.0\mathrm{FOM}=165.0 dB 就是該頁慣例的 FOM=165.0\mathrm{FOM}'=-165.0 dB。
  • 隱藏的參考單位L\mathcal{L} 的「per Hz」其實是「1 Hz 量測頻寬內的 sideband 功率 ÷ 載波功率」。 把這個 Bref=1B_{ref}=1 Hz 寫出來,FOM 的 log 引數才嚴格無因次;FOM 的完整參考基準是 「1 Hz 頻寬、1 mW 功率」。下一步會看到這件事不是學究——它正好讓 kTkT 乾淨現身。
  • Dimension check:三項各是無因次比值的 10log1010\log_{10}LlinBref\mathcal{L}_{lin}B_{ref}(f0/Δf)2(f_0/\Delta f)^2P/PrefP/P_{ref})→ dB ✓。

第 1 步:參考常數——173.8 dB 是 1kT1\cdot kT,不是 2kT2kT

假設某拓樸在 1/f21/f^2(白噪)區的 phase noise 可以整理成下面這個萬用形(下兩步會證明 ring 與 LC 都可以):

Llin(Δf)  =  FeffkTP(f0Δf)2[1Hz]\mathcal{L}_{lin}(\Delta f)\;=\;F_{eff}\cdot\frac{kT}{P}\cdot\left(\frac{f_0}{\Delta f}\right)^2\qquad\left[\tfrac{1}{\text{Hz}}\right]

其中 FeffF_{eff} 是無因次的拓樸雜訊因子(這條式子就是它的定義)。 單位檢查kTP=[J][W]=[s]=1[Hz]\dfrac{kT}{P}=\dfrac{[\text{J}]}{[\text{W}]}=[\text{s}]=\dfrac{1}{[\text{Hz}]}, 乘無因次的 Feff(f0/Δf)2F_{eff}(f_0/\Delta f)^2 後正是 Llin\mathcal{L}_{lin} 需要的 per-Hz ✓。代入 FOM 定義,逐步約分:

FOM=10log10 ⁣(FeffkTBrefP(f0Δf)2)+10log10 ⁣((f0Δf)2)10log10 ⁣(PPref)=10log10 ⁣(FeffkTBrefPPPref)(兩個 (f0/Δf)2 項相消)=10log10 ⁣(kTBrefPref)Cref(T),只跟溫度有關    10log10Feff.\begin{aligned} \mathrm{FOM} &=-10\log_{10}\!\left(F_{eff}\,\frac{kT\,B_{ref}}{P}\Big(\frac{f_0}{\Delta f}\Big)^{2}\right) +10\log_{10}\!\left(\Big(\frac{f_0}{\Delta f}\Big)^{2}\right) -10\log_{10}\!\left(\frac{P}{P_{ref}}\right)\\[4pt] &=-10\log_{10}\!\left(F_{eff}\cdot\frac{kT\,B_{ref}}{P}\cdot\frac{P}{P_{ref}}\right) \qquad\text{(兩個 }(f_0/\Delta f)^{2}\text{ 項相消)}\\[4pt] &=\underbrace{-10\log_{10}\!\left(\frac{kT\,B_{ref}}{P_{ref}}\right)}_{\equiv\,C_{ref}(T)\text{,只跟溫度有關}}\;-\;10\log_{10}F_{eff}. \end{aligned}
  • 每一步用到什麼:第 1→2 行,(f0/Δf)2(f_0/\Delta f)^2L-\mathcal{L}+20log10(f0/Δf)+20\log_{10}(f_0/\Delta f) 之間精確相消;第 2→3 行,PPkT/PkT/PP/PrefP/P_{ref} 之間精確相消。 這兩個相消就是 FOM 被發明的目的(把「L×P\mathcal{L}\times P\approx 常數」的取捨歸一化掉, 見 tank_swing 第 4 步)。
  • Dimension checkkTBrefPref=[J][Hz][W]=[W][W]\dfrac{kT\,B_{ref}}{P_{ref}}=\dfrac{[\text{J}][\text{Hz}]}{[\text{W}]}=\dfrac{[\text{W}]}{[\text{W}]} 無因次 ✓—— 第 0 步藏的 Bref=1B_{ref}=1 Hz 在這裡剛好把 kTkT 的量綱補齊。
  • 物理意義kT(1 Hz)kT\cdot(1\ \text{Hz}) 是 1 Hz 頻寬內電阻能交出的熱雜訊可用功率 (kT4.14×1021kT\approx4.14\times10^{-21} J @ 300 K);CrefC_{ref} 就是「1 mW 比熱雜訊地板大幾個 dB」。

數值(k=1.380649×1023k=1.380649\times10^{-23} J/K,T=300T=300 K):kT=4.142×1021kT=4.142\times10^{-21} J, kT1Hz/1mW=4.142×1018kT\cdot1\,\text{Hz}/1\,\text{mW}=4.142\times10^{-18}Cref=10log10(4.142×1018)=173.83C_{ref}=-10\log_{10}(4.142\times10^{-18})=173.83 dB。

  FOM  =  173.8 dB    10log10Feff(T=300 K)  \boxed{\;\mathrm{FOM}\;=\;173.8\ \text{dB}\;-\;10\log_{10}F_{eff}\qquad(T=300\ \text{K})\;}

⚠️ 記憶陷阱(本站算過,別背錯):快速筆記常把這個常數寫成「10log10(2kT/1mW)=173.8-10\log_{10}(2kT/1\text{mW})=173.8」—— 2kT2kT 配對的是 170.8170.8 dB;173.8173.8 dB 配對的是 1kT1\cdot kT本頁的推導自然落在 1kT1\cdot kT:因為 [P2] Eq.(23) 印出來的就是 kT/PkT/P 形式(第 2 步), 而 LC 的歸約(第 3 步)把所有 2 與 4 都收進 FeffF_{eff}所有 factor-of-2 慣例 (SSB 的 /4 vs 時域的 /2)都住在 FeffF_{eff} 裡、只挪動 FOM 共 3.01 dB;CrefC_{ref} 本身是無慣例的。

import numpy as np
kB, T = 1.380649e-23, 300.0
print(round(-10*np.log10(kB*T*1.0/1e-3), 2)) # -> 173.83
print(round(-10*np.log10(2*kB*T/1e-3), 2)) # -> 170.82 (2kT 的配對值,常被誤記成 173.8)
print(round(10*np.log10(kB*290.0/1e-3), 2)) # -> -173.98 (即 RF 圈著名的 -174 dBm/Hz 熱雜訊地板)
  • 順帶收穫:kTkTT0=290T_0=290 K(IEEE 雜訊指數的參考溫度,源自 Friis 1944,外部文獻,非本站 5 篇 PDF, 完整引用見頁尾)換算成 dBm/Hz 就是著名的 174-174 dBm/Hz;300 K 給 173.83-173.83,兩者都四捨五入成 174-174
  • 溫度效應:CrefC_{ref} 每升溫 10 K 降約 0.140.14 dB(Cref(310K)Cref(300K)=0.142C_{ref}(310\,\text{K})-C_{ref}(300\,\text{K})=-0.142 dB)—— 比較不同溫度量的 FOM 時要記得這條斜率。

第 2 步:ring——[P2] Eq.(23) 一步歸約,天花板 168.3 dB

[P2] Eq.(23), p.796(已對照原始 PDF 核實,前置係數 8/(3η)8/(3\eta))本身已經是萬用形

Llin{Δf}=83ηkTPVDDVchar(f0Δf)2        Feffring=83ηVDDVchar\mathcal{L}_{lin}\{\Delta f\}=\frac{8}{3\eta}\cdot\frac{kT}{P}\cdot\frac{V_{DD}}{V_{char}}\cdot\left(\frac{f_0}{\Delta f}\right)^{2} \;\;\Longrightarrow\;\; F_{eff}^{ring}=\frac{8}{3\eta}\cdot\frac{V_{DD}}{V_{char}}
  • η\eta:級延遲比例常數([P2] Eq.(14),1\approx1,無因次);VDDV_{DD}:supply 電壓 [V]; Vchar=ΔV/γV_{char}=\Delta V/\gamma:device 的特徵電壓 [V](ΔV\Delta V = gate overdrive [V]、γ\gamma = 通道熱雜訊係數,無因次)。
  • 單位檢查FeffringF_{eff}^{ring} 是(無因次)×(V/V)= 無因次 ✓;整條 Llin\mathcal{L}_{lin} 的單位由 kT/P=[s]kT/P=[\text{s}] 提供 per-Hz ✓。
  • 為什麼 PP 會自然出現:[P2] Eq.(21) 給 P=2ηNVDDqmaxf0P=2\eta N V_{DD}q_{max}f_0——功率把 NNqmaxq_{max}f0f_0 全部吸收,這正是 lc_vs_ring 講的 N-independence 在 FOM 語言下的樣子。

天花板Vchar=ΔV/γV_{char}=\Delta V/\gamma,而 overdrive 受 supply 限制 ΔVVDD/2\Delta V\le V_{DD}/2VT=0V_T=0 時取等號),所以

VDDVchar=γVDDΔV    2γ        Feffring    16γ3η\frac{V_{DD}}{V_{char}}=\gamma\,\frac{V_{DD}}{\Delta V}\;\ge\;2\gamma \;\;\Longrightarrow\;\; F_{eff}^{ring}\;\ge\;\frac{16\gamma}{3\eta}

這就是 [P2] Eq.(25), p.796 的下限。取長通道 γ=2/3\gamma=2/3η=1\eta=1Feff,minring=32/9=3.556F_{eff,min}^{ring}=32/9=3.55610log10(3.556)=5.5110\log_{10}(3.556)=5.51 dB,

FOMmaxring=173.835.51=168.32 dB(300 K)\mathrm{FOM}_{max}^{ring}=173.83-5.51=168.32\ \text{dB}\quad(300\ \text{K})

本站 ring worked example 的驗證lc_vs_ring 例 1: L=91.0\mathcal{L}=-91.0 dBc/Hz @ 1 MHz、f0=5f_0=5 GHz、P=1P=1 mW、VDD/Vchar=3V_{DD}/V_{char}=3):

FOM=91.0+20log10(5000)0=91.0+73.98=165.0 dB\mathrm{FOM}=91.0+20\log_{10}(5000)-0=91.0+73.98=165.0\ \text{dB}
import numpy as np
kB, f0, df = 1.380649e-23, 5e9, 1e6
Cref = -10*np.log10(kB*300/1e-3)
Feff_ring = 8/3 * 3 # [P2] Eq.(23):(8/(3η))·(V_DD/V_char),η=1、V_DD/V_char=3
print(round(Cref - 10*np.log10(Feff_ring), 2)) # -> 164.8 (F_eff 路徑,kT 用 300 K 精確值)
print(round(91.0 + 20*np.log10(f0/df) - 0.0, 2)) # -> 164.98 (直接由該頁 -91.0 dBc/Hz、P=1 mW)
Feff_min = 16*(2/3)/3 # [P2] Eq.(25):V_T=0 下限,γ=2/3
print(round(Cref - 10*np.log10(Feff_min), 2)) # -> 168.32 (ring 天花板)
  • 兩條路差 0.2 dB 的來源(誠實記帳)FeffF_{eff} 路徑用精確 kT(300K)=4.142×1021kT(300\,\text{K})=4.142\times10^{-21} J 得 164.80164.80lc_vs_ring 的鏈用了四捨五入的 kT=4.0×1021kT=4.0\times10^{-21} J (那其實是 290290 K 的值)得 L=91.0\mathcal{L}=-91.0FOM=165.0\mathrm{FOM}=165.0。兩者在 kTkT 取值一致時逐位相等simulations/fig_fom_limit.py 印出 identity check =0.00=0.00)。本頁引用時一律寫「165\approx165 dB」。
  • 這個例子離 ring 天花板只有 168.32164.80=3.52168.32-164.80=3.52 dB(正好是 VDD/Vchar=3V_{DD}/V_{char}=3 vs 下限 2γ=4/32\gamma=4/3 的比值 2.253.522.25\to3.52 dB)——ring 的萬用形幾乎沒有揮灑空間,這是重點。
  • 適用/失效:single-ended CMOS inverter ring、白噪、long-channel γ=2/3\gamma=2/3。短通道 γ\gamma 更大 → 天花板更低γ=1\gamma=116γ/3=5.33166.616\gamma/3=5.33\to166.6 dB);flicker、supply/substrate 耦合都只會再往下扣。

第 3 步:LC——從 [P1] Eq.(21) 推 Feff=FΓrms22Q2ηPF_{eff}=\dfrac{F\,\Gamma_{rms}^2}{2Q^2\,\eta_P}

LC 沒有現成的 kT/PkT/P 形式,要自己走。從 [P1] Eq.(21), p.185(SSB、分母 4Δω24\Delta\omega^2 慣例)出發:

Llin{Δω}=Γrms2qmax2in2/Δf4Δω2\mathcal{L}_{lin}\{\Delta\omega\}=\frac{\Gamma_{rms}^2}{q_{max}^2}\cdot\frac{\overline{i_n^2}/\Delta f}{4\,\Delta\omega^2}

引入四條標準電路關係(每條先檢查單位):

  1. 雜訊源:tank 損耗電阻 RpR_p 的熱雜訊 in2/Δf=4kT/Rp\overline{i_n^2}/\Delta f=4kT/R_p[J]/[Ω]=[A2s]=[A2/Hz][\text{J}]/[\Omega]=[\text{A}^2\text{s}]=[\text{A}^2/\text{Hz}] ✓;見 tank_Q_and_energy_restoration)。 多個雜訊源時定義噪聲因子 FF(無因次):把所有源經各自 Γeff\Gamma_{eff} 加權後折算回 tank 源, in2/Δftot=F4kT/Rp\overline{i_n^2}/\Delta f\big|_{tot}=F\cdot4kT/R_pF1F\ge1(tank 自己就貢獻 1)。 理想 class-B cross-coupled(tail 理想濾波)F=1+γF=1+\gamma——此值為外部文獻標準結果 (Hegazi–Sjöland–Abidi 2001;Andreani et al. 2005,完整引用見頁尾),非 5 篇 PDF 內。
  2. 電荷擺幅qmax=CVmaxq_{max}=C\,V_{max}[F][V]=[C][\text{F}][\text{V}]=[\text{C}] ✓,[P1] 定義)。
  3. 功率:正弦擺幅 VmaxV_{max} 打在 RpR_p 上的平均耗散 Ptank=Vmax2/(2Rp)P_{tank}=V_{max}^2/(2R_p)[V2/Ω]=[W][\text{V}^2/\Omega]=[\text{W}] ✓);總 DC 功耗 PDC=Ptank/ηPP_{DC}=P_{tank}/\eta_PηP1\eta_P\le1 為功率效率(無因次)。
  4. 品質因數:並聯 RLC 的 Q=ω0RpCQ=\omega_0 R_p C[s1][Ω][F][\text{s}^{-1}][\Omega][\text{F}]ΩF=s\Omega\cdot\text{F}=\text{s} → 無因次 ✓)。

逐步代入(不跳步):

Llin=Γrms2(CVmax)2F4kT/Rp4Δω2=FΓrms2kTRpC2Vmax2Δω2(代 1、2,約掉 4=FΓrms2kTRpC22PtankRpΔω2=FΓrms2kT2Ptank(RpC)2Δω2(代 3:Vmax2=2PtankRp=FΓrms22Q2kTPtank(ω0Δω)2(代 4:RpC=Q/ω0\begin{aligned} \mathcal{L}_{lin} &=\frac{\Gamma_{rms}^2}{(CV_{max})^2}\cdot\frac{F\cdot4kT/R_p}{4\Delta\omega^2} =\frac{F\,\Gamma_{rms}^2\,kT}{R_p\,C^2V_{max}^2\,\Delta\omega^2} &&\text{(代 1、2,約掉 }4\text{)}\\[4pt] &=\frac{F\,\Gamma_{rms}^2\,kT}{R_p\,C^2\cdot 2P_{tank}R_p\cdot\Delta\omega^2} =\frac{F\,\Gamma_{rms}^2\,kT}{2P_{tank}\,(R_pC)^2\,\Delta\omega^2} &&\text{(代 3:}V_{max}^2=2P_{tank}R_p\text{)}\\[4pt] &=\frac{F\,\Gamma_{rms}^2}{2Q^2}\cdot\frac{kT}{P_{tank}}\cdot\left(\frac{\omega_0}{\Delta\omega}\right)^{2} &&\text{(代 4:}R_pC=Q/\omega_0\text{)} \end{aligned}

ω0/Δω=f0/Δf\omega_0/\Delta\omega=f_0/\Delta f2π2\pi 上下相消),再把 Ptank=ηPPDCP_{tank}=\eta_P P_{DC} 換成總功耗,得萬用形與

  FeffLC=FΓrms22Q2ηP  \boxed{\;F_{eff}^{LC}=\frac{F\,\Gamma_{rms}^2}{2\,Q^2\,\eta_P}\;}
  • Dimension check(整條)FeffLCF_{eff}^{LC} 全由無因次量組成 ✓;kT/Ptank=[s]kT/P_{tank}=[\text{s}] 給 per-Hz ✓。
  • 物理意義(本頁最重要的一句話):分母的 Q2Q^2 說明 LC 憑什麼打穿 173.8 dB「參考線」—— 諧振腔把訊號能量無雜訊地儲存起來,每瓦損耗只有 RpR_p 一份 kTkT 雜訊進帳;QQ 越高, 「儲存的訊號 ÷ 買進的雜訊」越大,Feff<1F_{eff}\lt1 完全合法。參考線不是 LC 的天花板; LC 的天花板由製程能給的 QQ 決定(片上 spiral 電感在 GHz 頻段典型 Q815Q\approx8\sim15)。
  • 失效條件:swing 大到波形失真(Γrms\Gamma_{rms}FF 改變)、voltage-limited 後 ηP\eta_P 崩落、 varactor/開關的損耗吃掉 QQ、flicker 主導的 offset(萬用形只涵蓋 1/f21/f^2 區)。

數值一致性驗證(把 canonical 例 B 反向工程成一顆 tank):例 B(Γrms=0.5\Gamma_{rms}=0.5qmax=1q_{max}=1 pC、 Si=1024S_i=10^{-24} A²/Hz、f0=5f_0=5 GHz → L=148.0\mathcal{L}=-148.0 dBc/Hz @ 1 MHz)若把 SiS_i 解讀成單一 tank 源、 假設 Vmax=1V_{max}=1 V,則 Rp=4kT/Si=16.6R_p=4kT/S_i=16.6 kΩ、C=1C=1 pF、Q=ω0RpC=520.5Q=\omega_0R_pC=520.5Ptank=30.2P_{tank}=30.2 µW—— 兩條路(Eq.(21) 直接算 vs FeffF_{eff} 萬用形)必須給同一個 L\mathcal{L}

import numpy as np
kB, T, f0, df = 1.380649e-23, 300.0, 5e9, 1e6
grms, qmax, Si = 0.5, 1e-12, 1e-24
dw = 2*np.pi*df
L_direct = 10*np.log10(grms**2/qmax**2 * Si/(4*dw**2)) # [P1] Eq.(21)
Rp = 4*kB*T/Si; C = qmax/1.0; Q = 2*np.pi*f0*Rp*C; Pt = 1.0**2/(2*Rp)
Feff = 1.0*grms**2/(2*Q**2) # F=1、η_P=1
L_feff = 10*np.log10(Feff*(kB*T/Pt)*(f0/df)**2)
print(round(L_direct, 2), round(L_feff, 2)) # -> -148.0 -148.0 (兩條路逐位一致:代數鏈正確)
print(round(Q, 1), round(Pt*1e6, 2)) # -> 520.5 30.18 (Q≈520:晶片上不存在這種 tank)
FOM = -L_direct + 20*np.log10(f0/df) - 10*np.log10(Pt/1e-3)
print(round(FOM, 1)) # -> 237.2
  • 教學點(FOM 會抓包):例 B 的 148-148 dBc/Hz 本身沒問題,但換算成 FOM 高達 237 dB, 等價於 Q520Q\approx520 的 tank——立刻暴露「Si=1024S_i=10^{-24} A²/Hz 配 1 pC」是刻意理想化的單源教學參數, 不是可實作的設計點。dBc/Hz 會騙人(沒講功率),FOM 不會。

第 4 步:天花板是「家族」,不是一個數字

把三步合起來:任何拓樸只要白噪區能寫成萬用形,就有

FOM=173.8 dB10log10Feff(300 K)\mathrm{FOM}=173.8\ \text{dB}-10\log_{10}F_{eff}\qquad(300\ \text{K})

這是恆等式FeffF_{eff} 的定義使然);「天花板」的內容全看你允許 FeffF_{eff} 裡放什麼物理:

家族成員FeffF_{eff}10log10Feff10\log_{10}F_{eff}FOMmax\mathrm{FOM}_{max}(300 K)來源/假設
參考線(Feff=1F_{eff}=11100 dB173.8173.8 dB定義;「sideband 密度 = 熱雜訊地板」
ring 天花板16γ/(3η)=3.5616\gamma/(3\eta)=3.56+5.5+5.5 dB168.3168.3 dB[P2] Eq.(25):VT=0V_T=0γ=2/3\gamma=2/3η=1\eta=1、白噪
本站 ring 例88+9.0+9.0 dB164.8164.8165.0\approx165.0)dB[P2] Eq.(23):VDD/Vchar=3V_{DD}/V_{char}=3;= 91-91 dBc/Hz 例
LC 理想、Q=10Q=104.17×1034.17\times10^{-3}23.8-23.8 dB197.6197.6 dB[P1] Eq.(21)(SSB /4)+F=1+γF=1+\gammaΓrms2=12\Gamma_{rms}^2=\tfrac12ηP=1\eta_P=1
同上、時域 /2 慣例8.33×1038.33\times10^{-3}20.8-20.8 dB194.6194.6 dB同一物理、Leeson 2FkT2FkT 記帳(低 3.01 dB)
LC 理想、Q=20Q=201.04×1031.04\times10^{-3}29.8-29.8 dB203.7203.7 dB同上(/4 慣例)
import numpy as np
Cref = -10*np.log10(1.380649e-23*300/1e-3)
gamma = 2/3
def fom_lc_ceiling(Q, F=1+gamma, grms2=0.5, eta_p=1.0):
return Cref - 10*np.log10(F*grms2/(2*Q**2*eta_p))
print(round(fom_lc_ceiling(10), 2)) # -> 197.63 ([P1] Eq.(21) SSB /4 慣例)
print(round(fom_lc_ceiling(10) - 10*np.log10(2), 2)) # -> 194.62 (時域 /2 慣例;同物理,低 3.01 dB)
print(round(fom_lc_ceiling(20), 2)) # -> 203.65
小測驗(先自己算,再檢查)
dB
判定:相對誤差 ±1% 內算對;可用科學記號輸入。

Factor-of-2 紀律(哪個 2、哪個慣例):本站在 white_noise_to_phase_noise 記錄過:同一組例 B 參數, [P1] Eq.(21) 的 SSB「/4」給 148.0-148.0 dBc/Hz,時域乾淨推導的「/2」給 145.0-145.0 dBc/Hz。 在 FOM 語言裡這顆 2 整顆搬進 FeffF_{eff}:/2 慣例的 FeffF_{eff} 是 /4 慣例的兩倍、FOM 低 10log102=3.0110\log_{10}2=3.01 dB(上表兩列)。Leeson 的 2FkT/Ps2FkT/P_s 形(見 derivation_leeson)化簡成 Feff=F/(2Q2)F_{eff}=F/(2Q^2),屬 /2 那一族—— 與本頁 [P1] 推導的 FΓrms2/(2Q2)=F/(4Q2)F\Gamma_{rms}^2/(2Q^2)=F/(4Q^2)Γrms2=12\Gamma_{rms}^2=\tfrac12)正好差這顆 2 ✓。 量測的 FOM 沒有這個問題(儀器量到什麼就是什麼);這 3 dB 只影響「理論天花板」的標定, 所以上表把兩種慣例都列出來。 另注意 Γrms2=12\Gamma_{rms}^2=\tfrac12 是 true-LC(Γ=sinθ\Gamma=-\sin\theta)的代表值而非硬下限—— 波形工程(class-F 等)動的正是這一項與 FFηP\eta_P

FOM 天花板家族:(a) 各 F_eff 對溫度的天花板線;(b) 300 K 下 LC 天花板 vs Q、ring 天花板與參考線

  • scriptsimulations/fig_fom_limit.py(跑法 PYTHONPATH=. python3 simulations/fig_fom_limit.py, 會把本頁全部關鍵數字印出來並存圖)。
  • 參數k=1.380649×1023k=1.380649\times10^{-23} J/K;ring:η=1\eta=1γ=2/3\gamma=2/3VDD/Vchar{2γ,3}V_{DD}/V_{char}\in\{2\gamma,3\}; LC:F=1+γF=1+\gammaΓrms2=12\Gamma_{rms}^2=\tfrac12ηP=1\eta_P=1Q[2,100]Q\in[2,100]
  • 如何解讀:(a) 每條線是一個 FeffF_{eff} 的天花板對溫度 TT 的走勢(斜率 0.14\approx-0.14 dB/10 K); (b) 綠線是 LC 理想天花板 vs QQ(實線 /4、虛線 /2 慣例),水平線由上而下是參考線 173.8、 ring 天花板 168.3、本站 ring 例 164.8。圖上刻意不放發表設計散點——本站 5 篇 PDF 內沒有 可核實的 per-design FOM 數據,畫線不畫點是誠實的做法(紫點與綠方塊是本頁自己算的例子)。

距離天花板還有幾 dB?

  • 好的發表 LC 設計:survey 表格常見的優秀值在 188195188\sim195 dB(量級敘述;對應 Feff0.0080.03F_{eff}\approx0.008\sim0.03,可由本頁 bound family 反推,如下面例 2 的 189189 dB → Q5.7Q\approx5.7 等效點)。對照它們自己的 QQ 天花板(Q=1015Q=10\sim15197.6201.2197.6\sim201.2 dB,/4 慣例), 典型距離約 5105\sim10 dB——被 ηP<1\eta_P\lt1、tail 與 bias 雜訊(F>1+γF\gt1+\gamma)、 varactor/開關損耗(有效 QQ 下降)、佈局寄生分掉。換句話說:LC 這題已經被解到離物理極限 一隻手掌的距離,剩下的 dB 一顆比一顆貴。
  • Colpitts vs LC-tank(Andreani et al., JSSC 2005;外部文獻,非本站 5 篇 PDF,完整引用見頁尾): 該文對 CMOS Colpitts 與 differential LC-tank 給出封閉式雜訊因子並用實作驗證,著名結論是 CMOS 下 LC-tank 的 phase-noise 表現至少與 Colpitts 一樣好——Colpitts 的 cyclostationary 優勢(電流脈衝對準 ISF 波谷;本站 real_oscillator_topologies 例 2 估約 7 dB 的 Γeff,rms2\Gamma_{eff,rms}^2 壓低)被其偏壓效率與起振裕度的代價抵銷。兩種拓樸都在同一條 LC 天花板家族下 (都含 1+γ1+\gamma 一族的 FF1/Q21/Q^2),沒有誰能繞過 QQ 這道牆。
  • ring:本站例距 ring 天花板僅 3.53.5 dB——ring 的萬用形裡沒有 QQ 可以買, 天花板本身(168.3 dB)就比 LC 的低了約 30 dB。

ring 落後 LC 的 dB 記帳(拿本站 ring 例 164.8 dB 對 LC Q=10Q=10 理想天花板 197.63 dB, 差 32.8332.83 dB,fig_fom_limit.py 驗證分解逐項相加精確等於總差):

項目比值dB物理
無儲能 vs 2Q22Q^2Q=10Q=1020020023.023.0LC 的高 QQ 儲能把 kTkT 比下去;ring 每週期把能量全數丟掉重充
VDD/Vchar=3V_{DD}/V_{char}=3334.84.8overdrive/headroom:VcharV_{char} 越小雜訊放大越多
前置係數 8/38/38/38/34.34.3ring 波形/transition 記帳([P2] Eq.(23) 的 8/(3η)8/(3\eta)
LC 波形項 (1+γ)Γrms2(1+\gamma)\Gamma_{rms}^25/65/60.80.8LC 自己的 FFsin-\sin ISF 只收回一點點
合計1920192032.832.8=197.63164.80=197.63-164.80

實際發表的 LC 沒拿滿理想天花板(還掉 5105\sim10 dB),所以實務上觀察到的差距約 25 dB ——與「好的 LC 190\approx190、好的 ring 165\approx165」互相印證。結論:ring 落後不是設計不努力, 是 QQ(23 dB 那一項)加上 VcharV_{char}/波形(約 9 dB)的結構性差距;ring 的買點在面積、調諧範圍、 多相位(見 lc_vs_ring)。

Worked examples 數值例題

例 1(把本站 ring 例換算成 FOM,並對天花板定位) 給定 lc_vs_ring 例 1:L=91.0\mathcal{L}=-91.0 dBc/Hz @ Δf=1\Delta f=1 MHz、 f0=5f_0=5 GHz、P=1P=1 mW。求 FOM 與距 ring 天花板的距離。

逐步代入(帶單位)

20log10 ⁣(f0Δf)=20log10 ⁣(5×109 Hz106 Hz)=20log10(5000)=73.98 dB,10log10 ⁣(P1 mW)=10log10(1)=0 dB,FOM=(91.0)+73.980=164.98165.0 dB.\begin{aligned} 20\log_{10}\!\left(\frac{f_0}{\Delta f}\right)&=20\log_{10}\!\left(\frac{5\times10^9\ \text{Hz}}{10^6\ \text{Hz}}\right)=20\log_{10}(5000)=73.98\ \text{dB},\\[4pt] 10\log_{10}\!\left(\frac{P}{1\ \text{mW}}\right)&=10\log_{10}(1)=0\ \text{dB},\\[4pt] \mathrm{FOM}&=-(-91.0)+73.98-0=164.98\approx165.0\ \text{dB}. \end{aligned}
  • 結果FOM165\mathrm{FOM}\approx165 dB;距 ring 天花板 168.3168.3 dB 約 3.53.5 dB (全部來自 VDD/Vchar=3V_{DD}/V_{char}=3 vs 下限 2γ=4/32\gamma=4/3),距參考線 173.8173.8 dB 為 9.09.0 dB(Feff=8F_{eff}=8)。
  • Dimension check:三項皆無因次比值的 log → dB ✓(f0/Δff_0/\Delta f:Hz/Hz;P/1P/1 mW:W/W)。
  • 一行 Python 驗證
import numpy as np
print(round(91.0 + 20*np.log10(5e9/1e6) - 10*np.log10(1e-3/1e-3), 2)) # -> 164.98

例 2(設計反推:從量測 FOM 讀出「等效 QQ」) 一顆 f0=5f_0=5 GHz 的 LC VCO 燒 P=10P=10 mW,量到 L(1 MHz)=125\mathcal{L}(1\ \text{MHz})=-125 dBc/Hz。 求 FOM、隱含的 FeffF_{eff},以及在 F=2F=2Γrms2=12\Gamma_{rms}^2=\tfrac12ηP=0.5\eta_P=0.5(實際一點的損耗假設)下 隱含的 tank QQ

逐步代入(帶單位)

FOM=125+20log10(5000)10log10(10)=125+73.9810=188.98 dB,Feff=10(CrefFOM)/10=10(173.83188.98)/10=101.515=0.0305,Q=FΓrms22FeffηP=2×0.52×0.0305×0.5=32.7=5.72.\begin{aligned} \mathrm{FOM}&=125+20\log_{10}(5000)-10\log_{10}(10)=125+73.98-10=188.98\ \text{dB},\\[4pt] F_{eff}&=10^{(C_{ref}-\mathrm{FOM})/10}=10^{(173.83-188.98)/10}=10^{-1.515}=0.0305,\\[4pt] Q&=\sqrt{\frac{F\,\Gamma_{rms}^2}{2\,F_{eff}\,\eta_P}} =\sqrt{\frac{2\times0.5}{2\times0.0305\times0.5}}=\sqrt{32.7}=5.72 . \end{aligned}
  • 結果FOM=189.0\mathrm{FOM}=189.0 dB——「好設計」量級;隱含 Q5.7Q\approx5.7,片上完全合理。 若製程能給 Q=10Q=10(理想天花板 197.6197.6 dB,/4 慣例),這顆設計離自己的天花板約 8.78.7 dB ——下一步該查的是 ηP\eta_P(class 效率)、tail 雜訊(FF)與 varactor 損耗,而不是再堆電流。
  • Dimension checkFeffF_{eff} 無因次(dB 差 ÷10 後取冪)✓;根號內全無因次 → QQ 無因次 ✓。
  • 一行 Python 驗證
import numpy as np
Cref = -10*np.log10(1.380649e-23*300/1e-3)
FOM = 125.0 + 20*np.log10(5e9/1e6) - 10*np.log10(10e-3/1e-3)
print(round(FOM, 2)) # -> 188.98
Feff = 10**((Cref - FOM)/10)
print(round(Feff, 4)) # -> 0.0305
print(round(np.sqrt(2*0.5/(2*Feff*0.5)), 2)) # -> 5.72 (隱含 Q;F=2、Γrms²=0.5、η_P=0.5)

design knobs:什麼動得了 FOM、什麼動不了

Knob動哪一項效果註記
提高 tank QQFeffLC1/Q2F_{eff}^{LC}\propto1/Q^2+20+20 dB/QQ 每十倍(QQ 加倍 +6+6 dB)唯一的大槓桿;受製程電感/varactor 限制
提高功率效率 ηP\eta_P(class-B→C/D/F)1/ηP1/\eta_P最多幾 dBswing 波形與導通角工程
FF(tail filter、對稱、bias 乾淨)F1+γF\to1+\gamma幾 dBHegazi 2001(外部文獻)一族的技巧
波形/ISF 工程Γrms2\Gamma_{rms}^2121\sim2 dB 量級class-F、諧波整形
加功率 PP0 dBFOM 對 PP 已歸一化;只降 L\mathcal{L} 不升 FOM
ring 加級數 NN0 dB[P2] N-independence;NN 不在 Eq.(23) 裡
降溫Cref(T)C_{ref}(T)+0.14+0.14 dB/10-10 K通常不是你能選的
ring 的 VDD/VcharV_{DD}/V_{char}FeffringF_{eff}^{ring}至多到 2γ2\gamma 下限(差 3.5\sim3.5 dB)之後就撞 [P2] Eq.(25) 天花板

與 SerDes 的關聯

FOM 天花板直接換算成「一個功率預算內買得到的最低 jitter」。例 C (lab_08f0=5f_0=5 GHz、100-100 dBc/Hz @ 1 MHz、 1/f21/f^2、積分 1–100 MHz)給 σt=447.9\sigma_t=447.9 fs;同法之下 σt10ΔL/20\sigma_t\propto10^{\Delta\mathcal{L}/20}, 所以 1 mW 的 165-dB-FOM ring(91-91 dBc/Hz,比例 C 高 9 dB)給:

print(round(447.9 * 10**((100.0-91.0)/20), 1)) # -> 1262.4 (fs;同積分帶寬、1/f² 斜率的縮放)

1.261.26 ps rms——對 56\ge56 Gb/s 的 SerDes UI 是不可用的量級,這就是為什麼高速 SerDes 的 LC-PLL+(必要時)ring 只敢放在 PLL 帶寬內被抑制的位置 (見 serdes_clocking_connectionpll_noise_budget)。

適用與失效條件

條件成立時失效時
offset 落在 1/f21/f^2 白噪區萬用形與 FOM=173.810log10Feff\mathrm{FOM}=173.8-10\log_{10}F_{eff} 成立1/f31/f^3 區(flicker)或 floor 區:FOM 隨 Δf\Delta f 改變,比較無意義
PP = 總 DC 功耗跨設計公平比較只報 core 功耗(漏掉 buffer/bias)會虛胖 FOM
T=300T=300 K常數 173.83173.83 dB其他溫度用 Cref(T)C_{ref}(T)0.14-0.14 dB/10 K)
理論值標明 /2 或 /4 慣例天花板可互相對表(差 3.013.01 dB)混用慣例會生出幽靈 3 dB
小擾動 LTV([P1] 框架)FeffF_{eff} 是常數大注入、injection pulling(見 [P3]/[P4] 頁)另議
只看 FOM功率—雜訊取捨歸一化面積、調諧範圍(FOMT_T 變體另計)、supply pushing、良率都不在裡面

重點回顧

  • FOM=L+20log10(f0/Δf)10log10(P/1mW)\mathrm{FOM}=-\mathcal{L}+20\log_{10}(f_0/\Delta f)-10\log_{10}(P/1\text{mW})(本頁正值慣例; tank_swing 用其負值)。構造上 (f0/Δf)2(f_0/\Delta f)^2PP 精確相消。
  • 萬用歸約Llin=Feff(kT/P)(f0/Δf)2FOM=173.810log10Feff\mathcal{L}_{lin}=F_{eff}(kT/P)(f_0/\Delta f)^2\Rightarrow\mathrm{FOM}=173.8-10\log_{10}F_{eff} dB(300 K)。常數 173.83=10log10(kT1Hz/1mW)173.83=-10\log_{10}(kT\cdot1\text{Hz}/1\text{mW})1·kT2kT2kT170.8170.8,別背錯); 一切 factor-of-2 慣例都住在 FeffF_{eff}(/2 vs /4 = 3.01 dB)。
  • ringFeff=(8/(3η))(VDD/Vchar)16γ/(3η)F_{eff}=(8/(3\eta))(V_{DD}/V_{char})\ge16\gamma/(3\eta)([P2] Eq.(23)/(25))→ 天花板 168.3168.3 dB;本站 91-91 dBc/Hz 例 = 165165 dB,離頂只剩 3.53.5 dB。
  • LCFeff=FΓrms2/(2Q2ηP)F_{eff}=F\Gamma_{rms}^2/(2Q^2\eta_P)(由 [P1] Eq.(21) 推出)→ 天花板隨 QQQ=10Q=10197.6197.6 dB(/4)/194.6194.6 dB(/2)。QQ 是唯一的大槓桿。
  • 好的發表 LC(190\approx190 dB)離自己的 QQ 天花板約 5105\sim10 dB;ring 落後 LC 約 25 dB, 記帳:儲能 2Q22Q^2(23 dB)+ VcharV_{char}/波形(9\sim9 dB)。
  • 天花板是家族不是魔術數字——引用任何「FOM 極限」時,先問它假設的 FeffF_{eff}γ\gammaQQηP\eta_P、慣例)是什麼。

延伸閱讀

外部文獻(不在下載的 5 篇 PDF 內)

  • [E-Hegazi] E. Hegazi, H. Sjöland, and A. A. Abidi, "A Filtering Technique to Lower LC Oscillator Phase Noise," IEEE J. Solid-State Circuits, vol. 36, no. 12, pp. 1921–1930, Dec. 2001. (LC 噪聲因子下限 F1+γF\to1+\gamma 與 tail filter;本站 tank_swing 已引用並查證卷期/頁碼。)
  • [E-Andreani] P. Andreani, X. Wang, L. Vandi, and A. Fard, "A Study of Phase Noise in Colpitts and LC-Tank CMOS Oscillators," IEEE J. Solid-State Circuits, vol. 40, no. 5, pp. 1107–1118, May 2005.(Colpitts vs LC-tank 封閉式雜訊因子與量測比較;本站 real_oscillator_topologies 已引用, DOI 10.1109/JSSC.2005.845991。本頁只取其摘要層級結論,未轉錄其內部公式。)
  • [E1] Leeson 1966:D. B. Leeson, "A Simple Model of Feedback Oscillator Noise Spectrum," Proc. IEEE, vol. 54, no. 2, pp. 329–330, Feb. 1966.(2FkT/Ps2FkT/P_s 形;見 derivation_leeson。)
  • [E-Friis] H. T. Friis, "Noise Figures of Radio Receivers," Proc. IRE, vol. 32, no. 7, pp. 419–422, Jul. 1944.(T0=290T_0=290 K 雜訊參考溫度慣例的源頭;174-174 dBm/Hz 即 kT0kT_0 換算。)