← Về trang chủ
Cơ bản IC 23 tháng 6, 2026 ⟳ 20 phút đọc

Two-Stage Miller Op-Amp bằng gm/ID — Thiết Kế Bằng Cách Tra Số, Không Đoán Vov

Flow end-to-end cho two-stage Miller op-amp 180nm bằng phương pháp gm/ID: specs dẫn từ SAR ADC, chọn gm/ID cho từng transistor, tra thẳng W/gain/fT/noise từ đường cong BSIM — kèm tool gm/ID Calculator, DC check, noise và corner.

op-amptwo-stagegm-IDMiller compensation180nmsizingnoisephase-marginSAR ADC
Nhận bài viết mới

Không spam. Chỉ bài kỹ thuật AMS đáng đọc — gửi qua email khi có bài mới.

Có một câu hỏi mà thầy hướng dẫn hay ném ra giữa buổi seminar: “Con số này là bao nhiêu?” — và bạn trình bày thường đứng hình. Không phải vì không biết công thức, mà vì trong đầu không có sẵn con số.

Vấn đề là: bộ con số đó rất khó “có sẵn” nếu thiết kế bằng square-law. Công thức ID=12μCoxWL(VGSVTH)2I_D = \frac{1}{2}\mu C_{ox}\frac{W}{L}(V_{GS}-V_{TH})^2 giả định VTHV_{TH} cố định, λ\lambda cố định, saturation lý tưởng — ở 180nm trở xuống thì cả ba đều sai. Bạn tính ra một VovV_{ov}, sim lại lệch, chỉnh tay, lặp lại. Con số không bao giờ “đứng yên”.

gm/ID sửa đúng chỗ đó. Thay vì đoán VovV_{ov}, bạn chọn một con số — gm/IDg_m/I_D — rồi tra mọi thứ còn lại (mật độ dòng, fTf_T, gain nội, noise) từ đường cong đã đặc trưng sẵn từ chính BSIM model của process. Không công thức gần đúng, không λ\lambda tay.

Bài này đi qua toàn bộ flow một two-stage Miller op-amp 180nm bằng gm/ID — specs dẫn từ ứng dụng SAR ADC, mọi con số tra thẳng từ tool gm/ID Calculator, rồi DC check, noise và corner.


Mục lục

  1. gm/ID là gì — và tại sao nó “đứng yên”
  2. Ba đường cong cần đọc
  3. Specs: dẫn từ SAR ADC
  4. Topology two-stage Miller
  5. Flow gm/ID — 6 bước
  6. Worked design: bảng 7 transistor (số thật)
  7. DC operating point — và bẫy ICMR
  8. Verify: gain · GBW · PM · slew
  9. Noise: thermal, flicker, 1/f corner
  10. L ảnh hưởng gain & noise như thế nào
  11. Trade-off — ba núm vặn, sáu đánh đổi
  12. Worst-case corners
  13. Bài học

1. gm/ID là gì — và tại sao nó “đứng yên”

gm/IDg_m/I_Dhiệu suất chuyển dòng thành transconductance — bạn “mua” được bao nhiêu gmg_m trên mỗi ampere. Nó dao động trong dải hẹp, gần như không đổi theo process/temp:

  • Weak inversion (gm/ID20g_m/I_D \gtrsim 20): hiệu suất cao nhất (1/(nUT)28\to 1/(nU_T)\approx 28), gain nội lớn, nhưng chậm và transistor to.
  • Strong inversion (10\lesssim 10): nhanh (fTf_T cao), nhỏ, nhưng tốn dòng cho cùng gmg_m và gain nội thấp.
  • Moderate (10102020): vùng cân bằng — nơi phần lớn op-amp sống.

Điểm hay: với một gm/IDg_m/I_D đã chọn, mọi đại lượng chuẩn hoá là hằng số tra được — không phụ thuộc WW hay IDI_D:

  • JD=ID/WJ_D = I_D/W (µA/µm) → cho ra W=ID/JDW = I_D/J_D
  • fTf_T (tốc độ)
  • gm/gdsg_m/g_{ds} = gain nội Av0A_{v0}

Flow đảo lại rất gọn: chọn gm/IDg_m/I_D → biết Av0A_{v0}, fTf_T ngay; có IDI_D → ra WW. Con số “đứng yên” vì gm/IDg_m/I_D gần như bất biến process.

Đường cong đặc trưng từ BSIM model thật của 180nm (gm/ID starter kit của Murmann). Tool ở mục 8 tra đúng bộ dữ liệu đó.


2. Ba đường cong cần đọc

Với mỗi cặp (device, L), starter kit cho ba đường theo trục gm/IDg_m/I_D — và chỉ ba đường đó đủ để size cả con op-amp:

Đường congĐọc ra cái gìDùng ở bước nào
JD=ID/WJ_D = I_D/W (µA/µm)mật độ dòng → W=ID/JDW = I_D/J_Dbước 4–5: ra kích thước
gm/gds=Av0g_m/g_{ds} = A_{v0}gain nội của devicebước 6: check DC gain
fTf_T (GHz)tốc độ nội tạisanity check fTGBWf_T \gg GBW

Trục V=2/(gm/ID)V^\star = 2/(g_m/I_D) chỉ là cách đọc khác của cùng trục hoành — tiện khi cần quy ngược ra VovV_{ov} để check headroom (mục 7).

Quy luật để nhớ:

  • Tăng gm/IDg_m/I_DAv0A_{v0} ↑, fTf_T ↓, JDJ_D ↓ (W to ra).
  • Tăng LAv0A_{v0} ↑ (ror_o lớn), fTf_T ↓, JDJ_D ↓ (W cũng to ra).

→ Input pair cần gain + ít noise + đủ slew → gm/IDg_m/I_D vừa, L vừa. Current source/load cần ror_o lớn → L dài, gm/IDg_m/I_D thấp.


3. Specs: dẫn từ SAR ADC

Specs không nên là bảng con số rơi từ trên trời. Hiểu tại sao mỗi con số tồn tại — ràng buộc nào sinh ra nó — là điều quan trọng hơn người ta nghĩ: nếu không, khi sim fail bạn sẽ không biết kéo thông số nào.

Ứng dụng: op-amp làm sample-and-hold buffer cho SAR ADC 10-bit, fs=1f_s = 1 MHz trên 180nm.

Op-amp buffer cho SAR ADC

Tại sao cần op-amp? SAR ADC có sampling cap Cs5C_s \approx 5 pF. Mỗi lần sample, switch đóng CsC_s vào source → dòng kickback chạy ngược. Nếu qua source impedance RsR_s lớn, sụt áp ΔV=ikbRs\Delta V = i_{kb}R_s đúng lúc ADC chốt → distortion. Với 10-bit trên 1.8V, 1 LSB ≈ 1.76 mV — glitch vài chục mV là sai 5–6 LSB. Op-amp buffer cho Rout50 ΩR_{out}\sim 50\ \Omega + feedback chủ động bù dòng → glitch kickback hồi phục nhanh (τ=RoutCs250\tau=R_{out}C_s\approx 250 ps → < 2 ns; đây là recovery của glitch, không phải thời gian settle tín hiệu 150 ns nói ở ngay dưới).

Dẫn từng spec:

  • DC gain: unity-gain buffer, sai số ϵ1/Av\epsilon \approx 1/A_v. 10-bit, 0.5 LSB → Av1/0.05%=2000A_v \ge 1/0.05\% = 2000 → 66 dB. Gain là đại lượng trôi mạnh nhất theo corner (ror_o giảm ở FF/nóng) → margin ~1.4× → ≥ 69 dB.
  • Chia thời gian: acquisition tACQ300t_{ACQ}\approx 300 ns gồm hai pha nối tiếp — slew 150 ns rồi settle 150 ns.
  • GBW: pha settle 150 ns phải đạt 10-bit (<0.05%<0.05\%): tsettle/τ>ln(2000)7.6t_{settle}/\tau > \ln(2000)\approx 7.6 với τ=1/(2πGBW)\tau = 1/(2\pi\,GBW)GBW>8GBW > 8 MHz. Margin PVT ~1.25× → ≥ 10 MHz.
  • Slew rate: step 0.8×0.8\times full-scale (1.441.44 V) trong pha slew 150 ns → SR9.6SR \ge 9.6 V/µs → ≥ 10 V/µs. (Step full-scale đủ 1.8 V cần 12 V/µs, nhưng đó là ca hiếm — chấp nhận pha slew dài hơn, ăn vào margin của pha settle.)
  • PM: unity-gain với CLC_L capacitive → ≥ 60° tránh ring.
  • CL=Cs=5C_L = C_s = 5 pF — cứng.
  • Power ≤ 1 mW.
SpecNguồn gốcGiá trị
DC gain10-bit, 0.5 LSB (66 dB) + margin≥ 69 dB
GBWsettle 150 ns + margin≥ 10 MHz
SR0.8×full-scale / slew 150 ns≥ 10 V/µs
PMtránh ring với CLC_L≥ 60°
CLC_LCsC_s của ADC5 pF
Powerbudget front-end≤ 1 mW

Khi sếp hỏi “GBW bao nhiêu?”, câu trả lời đúng không phải “10 MHz” — mà “10 MHz, vì ADC cần settle 10-bit trong 150 ns (nửa sau của 300 ns acquisition), tối thiểu 8 MHz, chọn 10 cho margin PVT.”


4. Topology two-stage Miller

Sơ đồ two-stage Miller op-amp
  • Stage 1: PMOS input pair (M1,M2) + NMOS mirror load (M3,M4), tail PMOS (M5). Output = node A.
  • Stage 2: NMOS common-source (M6) + PMOS current-source load (M7).
  • Miller comp: CcC_c + nulling resistor RzR_z giữa A và OUT — tách dominant/non-dominant pole và dời RHP zero.

5. Flow gm/ID — 6 bước

Công thức nền — từ đâu ra

Ba kết quả small-signal của two-stage Miller-compensated op-amp dưới đây là chuẩn sách giáo khoa (chứng minh đầy đủ: Razavi Design of Analog CMOS IC Ch.10, Allen–Holberg CMOS Analog Circuit Design Ch.6) — ở đây chỉ lấy kết quả để ráp vào flow:

Đại lượngCông thứcTừ đâu
Unity-gain (GBW)GBW=gm12πCcGBW = \dfrac{g_{m1}}{2\pi C_c}pole-splitting: CcC_c bị Miller nhân ở ngõ ra stage 1 → dominant pole; gm1g_{m1} nạp vào CcC_c
Non-dominant polep2=gm6CLp_2 = \dfrac{g_{m6}}{C_L}pole ngõ ra, gm6g_{m6} lái CLC_L
RHP zeroz=gm6Ccz = \dfrac{g_{m6}}{C_c}feedforward qua CcC_c → triệt bằng Rz=1/gm6R_z = 1/g_{m6}

Điều kiện PM 60° (rule của Allen–Holberg, đặt zero ≈ 10·GBW để phần phase còn lại không đáng kể): non-dominant pole phải lùi xa, p22.2GBWp_2 \ge 2.2\,GBW. Thay gm1=2πGBWCcg_{m1}=2\pi\,GBW\,C_c vào, CcC_c triệt tiêu: gm62.2CLCcgm1=2.22πGBWCLg_{m6} \ge 2.2\,\frac{C_L}{C_c}\,g_{m1} = 2.2\cdot 2\pi\,GBW\,C_L

Phần “gm/ID” của bài chỉ là viết slew theo gm/IDg_m/I_D thay vì VovV_{ov}. Từ SR=Itail/CcSR = I_{tail}/C_c, gm1=(gm/ID)1ID1g_{m1}=(g_m/I_D)_1\,I_{D1}Itail=2ID1I_{tail}=2I_{D1}: SR=ItailCc=2ID1Cc=2gm1(gm/ID)1Cc=2(2πGBWCc)(gm/ID)1Cc=4πGBW(gm/ID)1SR = \frac{I_{tail}}{C_c} = \frac{2\,I_{D1}}{C_c} = \frac{2\,g_{m1}}{(g_m/I_D)_1\,C_c} = \frac{2\,(2\pi\,GBW\,C_c)}{(g_m/I_D)_1\,C_c} = \frac{4\pi\,GBW}{(g_m/I_D)_1} CcC_c tự khử → slew chỉ phụ thuộc GBW và (gm/ID)1(g_m/I_D)_1, không phụ thuộc CcC_c.

Sáu bước

  1. gm6g_{m6} từ phase margin — công thức trên: gm62.22πGBWCLg_{m6} \ge 2.2\cdot 2\pi\cdot GBW\cdot C_L.
  2. (gm/ID)1(g_m/I_D)_1 từ slewSR=4πGBW/(gm/ID)1SR = 4\pi\,GBW \,/\, (g_m/I_D)_1 → chọn (gm/ID)1(g_m/I_D)_1 đủ thấp để đạt SR.
  3. CcC_cgm1g_{m1}: gm1=2πGBWCcg_{m1} = 2\pi\, GBW\, C_c. Chọn Cc0.22CLC_c\gtrsim 0.22\,C_L (điều kiện AH để zero không phá PM).
  4. Tra W: input pair từ (gm/ID)1(g_m/I_D)_1, ID1=gm1/(gm/ID)1I_{D1}=g_{m1} \,/\, (g_m/I_D)_1. 2nd stage: (gm/ID)6(g_m/I_D)_6 không tự chọn — bị mirror tầng 1 ghim bằng (gm/ID)3(g_m/I_D)_3 (mục 6) → ID6=gm6/(gm/ID)6I_{D6}=g_{m6} \,/\, (g_m/I_D)_6.
  5. Mirror & current sources (M3,4,5,7): tra W theo dòng; load mirror lấy gm/IDg_m/I_D thấp.
  6. Check: gain (mỗi tầng gm/(gds,drive+gds,load)g_m/(g_{ds,\text{drive}}+g_{ds,\text{load}})không phải Av0,1Av0,2A_{v0,1}A_{v0,2}, xem mục 8), DC saturation, noise → iterate nếu fail.

6. Worked design — số thật từ tool

Bước 1: gm6=2.22π10M5p=691 μSg_{m6} = 2.2\cdot 2\pi\cdot 10\text{M}\cdot 5\text{p} = \mathbf{691\ \mu S}. Bước 2: SR=4π10M/(gm/ID)110SR = 4\pi\cdot 10\text{M} \,/\, (g_m/I_D)_1 \ge 10 V/µs → (gm/ID)112.6(g_m/I_D)_1 \le 12.6. Chọn (gm/ID)1=12(g_m/I_D)_1 = 12 (SR = 10.5 V/µs). Bước 3: Cc=1.5C_c = 1.5 pF → gm1=2π10M1.5p=94 μSg_{m1} = 2\pi\cdot 10\text{M}\cdot 1.5\text{p} = \mathbf{94\ \mu S}.

Bước 4 có một ràng buộc không được chọn tự do: (gm/ID)6(g_m/I_D)_6. Gate của M6 nối thẳng vào node A, mà node A chính là VGSV_{GS} của mirror M3/M4 → VGS6=VGS3=Vthn+Vov3=0.70V_{GS6} = V_{GS3} = V_{thn}+V_{ov3} = 0.70 V. Muốn VDS4=VDS3V_{DS4}=V_{DS3} (điều kiện systematic offset = 0, Allen–Holberg), M6 phải nằm cùng mức đảo với M3/M4: (gm/ID)6=(gm/ID)3=10(g_m/I_D)_6 = (g_m/I_D)_3 = \mathbf{10}. Mà gm6=691g_{m6}=691 µS đã bị PM ghim cứng → ID6=691/10=69.1 μAI_{D6} = 691/10 = \mathbf{69.1\ \mu A}, cũng không phải con tự chọn. Đây là chỗ hay bị bỏ sót: hai tầng không độc lập — mirror load của tầng 1 ghim luôn điểm làm việc của tầng 2.

Tra thẳng từ tool (180nm, VDS=0.9V_{DS}=0.9 V). Lưu ý driver dùng L ngắn (0.5), tải/nguồn dòng dùng L dài (1.0) — M3/4, M5, M7 lấy L=1.0L=1.0 µm cho ror_o lớn (mục 2: tải cần ror_o lớn → L dài), trực tiếp nâng gain mỗi tầng:

MOSVai tròdevL (µm)gm/IDg_m/I_DIDI_DWgmg_mAv0A_{v0}fTf_T
M1,2input pairPMOS0.5127.85 µA4.37 µm94 µS900.79 G
M3,4mirror loadNMOS1.0107.85 µA1.66 µm78 µS1270.97 G
M5tailPMOS1.0915.7 µA10.7 µm141 µS58*0.27 G
M62nd-stage CSNMOS0.510 (bị ghim)69.1 µA7.08 µm691 µS993.62 G
M72nd-stage loadPMOS1.0969.1 µA46.9 µm622 µS1230.27 G

Comp: Cc=1.5C_c = 1.5 pF, Rz=1/gm6=1447 ΩR_z = 1/g_{m6} = 1447\ \Omega.

* M5 là ngoại lệ của giả định VDS=0.9V_{DS}=0.9 V. VSD5V_{SD5} thật chỉ 0.23 V (mục 7). Tra lại tại 0.23 V: Av0=58A_{v0} = 58 chứ không phải 123, JDJ_D gần như không đổi (1.41 vs 1.47 µA/µm → W=11.1W = 11.1 µm). Không ảnh hưởng gain — tail không nằm trong đường tín hiệu, nó chỉ vào CMRR — nhưng đừng chép con 123 sang chỗ khác. Các con còn lại đều làm việc quanh 0.7–0.9 V nên tra ở 0.9 V là hợp lệ (sai lệch gain < 0.3 dB).

Mọi cột W/gm/Av0/fT đọc trực tiếp từ tool ở mục 8 — gõ thẳng vào ô gm/IDg_m/I_DIDI_D (đừng dùng V★: nó làm tròn 2 chữ số nên sẽ lệch nhẹ), chọn L, là ra ngay. Đây là chỗ gm/ID khác square-law: bạn không tính W, bạn tra nó.


7. DC operating point — và bẫy ICMR

Bước hay bị bỏ qua nhất. Mọi tính AC giả định transistor saturation (VDSVovV_{DS}\ge V_{ov}). gm/ID cho VovV_{ov} ngay qua VV^\star (overdrive hiệu dụng, Vov\approx V_{ov}) =2/(gm/ID)= 2 \,/\, (g_m/I_D): gm/ID=12Vov0.17g_m/I_D=12\to V_{ov}\approx 0.17 V; =100.20=10\to 0.20; =90.22=9\to 0.22.

Ở đây VCMV_{CM} = mức common-mode mà hệ thống đưa vào hai input (với SAR buffer: common-mode của tín hiệu lấy mẫu). Nó không nằm trong flow gm/ID — gm/ID chỉ lo AC; VCMV_{CM} là ràng buộc DC do bên ngoài áp đặt. Thử xem cặp PMOS @ 1.8 V với được lên tới đâu.

Tail M5 (PMOS, Vov5=0.22V_{ov5}=0.22 V) là current source (không diode-connected), chỉ cần VSD5Vov5V_{SD5}\ge V_{ov5} để còn saturation. Node tail vì thế dâng cao nhất tới: VTAIL,max=VDDVov5=1.80.22=1.58 VV_{TAIL,\max}=V_{DD}-V_{ov5}=1.8-0.22=1.58\text{ V}

Để M1/M2 vừa bật vừa saturation cần VSG1=VTAILVCMVthp+Vov1V_{SG1}=V_{TAIL}-V_{CM}\ge |V_{thp}|+V_{ov1}. Tại trần tail: VCM,max=VTAIL,maxVthpVov1=1.580.50.17=0.91 VV_{CM,\max}=V_{TAIL,\max}-|V_{thp}|-V_{ov1}=1.58-0.5-0.17=\mathbf{0.91\text{ V}}

Đây là bẫy. Trần VCM,max0.91V_{CM,\max}\approx 0.91 V — đúng bằng mid-rail 0.9 V nhưng margin ≈ 0. Ở −40°C, Vthp|V_{thp}| dâng ~0.1 V (hệ số nhiệt âm  ⁣1.5\sim\!-1.5 mV/°C) lên ~0.6 V → VCM,max0.81V_{CM,\max}\approx 0.81 V < 0.9 V → fail (SS process cộng thêm nữa thì càng fail). Tức cặp PMOS @ 1.8 V không cover an toàn được trung rail. Khả thi hay không tùy VCMV_{CM} hệ thống yêu cầu:

VCMV_{CM} hệ thống cầnPMOS pair @ 1.8 V
≤ 0.6 V (thấp)thừa headroom✅ khả thi
0.9 V (mid-rail)đụng trần 0.91, margin ≈ 0⚠️ qua nominal, fail ở corner
> 1.0 V (cao)vượt trần❌ không khả thi

Muốn chắc chắn phủ mid-rail: nâng VDD2.5V_{DD}\gtrsim 2.5 V, hoặc dùng low-VthV_{th} (giảm Vthp|V_{thp}|), hoặc đổi sang NMOS input pair (đối xứng — phủ tốt ICMR phía cao). Đây là ràng buộc phải chốt với system designer trước — số AC đẹp (gain 70 dB, GBW 10 MHz) vẫn có thể đi kèm một block chết vì DC common-mode.

Headroom tại VCM=0.9V_{CM}=0.9 V (node tail VTAIL=VCM+Vthp+Vov1=1.57V_{TAIL}=V_{CM}+|V_{thp}|+V_{ov1}=1.57 V):

TransistorVDS/VSDV_{DS}/V_{SD} @ VCMV_{CM}=0.9VVovV_{ov}Saturation?
M5 tailVDDVTAIL=0.23V_{DD}-V_{TAIL}=0.23 V0.22⚠ sát biên — chính chỗ ghim ICMR
M1/M2 diffVTAILVD1=0.87V_{TAIL}-V_{D1}=0.87 V0.17✓ (nhưng VSG1V_{SG1} vừa đủ $
M3/M4 load (diode)Vov3+Vthn0.7V_{ov3}+V_{thn}\approx 0.7 V0.20
M6 / M7 (out ≈ 0.9V)0.9 V0.20✓ (M6 bị node A ghim ở VGS=0.70V_{GS}=0.70 V)

8. Verify

Chỉ tiêuCông thứcKết quảSpec
DC gaingm1gds1+gds3gm6gds6+gds756×57\dfrac{g_{m1}}{g_{ds1}+g_{ds3}}\cdot\dfrac{g_{m6}}{g_{ds6}+g_{ds7}}\approx 56\times 5770 dB≥ 69 ✓ (margin 1.2 dB)
GBWgm1/(2πCc)g_{m1}/(2\pi C_c)10 MHz10 ✓
p2p_2 (PM)gm6/CLg_{m6}/C_L22 MHz (=2.2GBW=2.2\,GBW)✓ → PM≈60°
SlewItail/Cc=15.7μA/1.5pFI_{tail}/C_c = 15.7\,\mu\text{A} \,/\, 1.5\,\text{pF}10.5 V/µs≥ 10 ✓
Power(Itail+ID6)VDD=84.8μA×1.8V(I_{tail}+I_{D6})\,V_{DD} = 84.8\,\mu\text{A} \times 1.8\,\text{V}153 µW≤ 1mW ✓

⚠️ Gain 2-stage KHÔNG phải tích gain nội Av0,1 ⁣× ⁣Av0,6=90×99A_{v0,1}\!\times\!A_{v0,6}=90\times99. Mỗi tầng có tải ror_o song song với device dẫn, nên gain tầng là gm/(gds,drive+gds,load)g_m/(g_{ds,\text{drive}}+g_{ds,\text{load}}) — sụt ~4–5 dB so với gm/gdsg_m/g_{ds} đơn lẻ (tải ror_o càng lớn càng sụt ít). Cách ra số 56/57: lấy gds=gm/Av0g_{ds}=g_m/A_{v0} từ bảng mục 6 → stage1 =94/(gds1+gds3)56=94/(g_{ds1}+g_{ds3})\approx 56, stage2 =691/(gds6+gds7)57=691/(g_{ds6}+g_{ds7})\approx 57. Nếu để tải L=0.5L=0.5 µm như driver, gain chỉ 67 dB → fail; phải cho tải L=1.0L=1.0 µm (ror_o lớn) mới đạt 70 dB.

GBW/PM/SR/Power pass thẳng vì gm/ID đặt gm1,gm6g_{m1},g_{m6} theo spec rồi mới quy ra dòng; riêng gain phải kéo bằng L của tải — đó là vòng iterate đầu tiên.

⏳ Đang load lookup table... (analytical model đang dùng tạm)
Controls
V★ / (gm/ID)VS/A
0.07 V0.60 V
ID targetµA
1 µA1 mA
VDSV
0.3 V1.8 V
VSBV
0.0 V0.9 V
Channel length
Operating Point
Node180nm
TypeNMOS
L0.18 µm
V★0.20 V
VDS0.9 V
VSB0.00 V
gm/ID9.3 S/A
ID30.0 µA
Strong Inversion
● Analytical fallback
Output Metrics
gm/ID
9.3S/A
ID/W
6.95µA/µm
W
4.32µm
gm
279.6µS
fT
6.7GHz
Cgg
6.68fF
gds/gm
0.016
gm/ID (S/A) vs V★ — all L
* Analytical model (EKV-inspired, calibrated cho 180nm). VDS/VSB chỉ có hiệu lực khi lookup table đã load.

9. Noise: thermal, flicker, 1/f corner

Input-referred noise của two-stage op-amp do stage 1 quyết định. Thermal (γ = 2/3): vn,th2=16kT3gm1(1+gm3gm1)\overline{v_{n,th}^2} = \frac{16kT}{3\,g_{m1}}\left(1+\frac{g_{m3}}{g_{m1}}\right)

Flicker (gate-referred, 1/WL\propto 1/WL), tổng input-referred: vn,1/f2=KFpCoxW1L1f+(gm3gm1)2KFnCoxW3L3f\overline{v_{n,1/f}^2} = \frac{K_{Fp}}{C_{ox}W_1L_1\,f} + \left(\frac{g_{m3}}{g_{m1}}\right)^2\frac{K_{Fn}}{C_{ox}W_3L_3\,f}

Thay số của sizing trên (gm3/gm1=0.83g_{m3}/g_{m1}=0.83, Cox=8.6C_{ox}=8.6 fF/µm², KFn2KFpK_{Fn}\approx 2K_{Fp} minh hoạ):

Thành phần@ 1 kHz
Thermal floor20.7 nV/√Hz
Flicker M1/M2 (PMOS input)515 nV/√Hz
Flicker M3/M4 (NMOS load, referred)697 nV/√Hz
Tổng input-referred866 nV/√Hz
1/f corner1.8 MHz

Hai điều rút ra:

M3/M4 vẫn dẫn đầu flicker (~1.35×, ≈1.8× công suất) dù không phải input stage — vì gm/ID=10g_m/I_D=10JDJ_D cao → W nhỏ. Nhưng cắt nó không cần thủ thuật riêng: chính việc chọn L=1.0L=1.0 µm cho tải (vì gain ở mục 8) đã phóng W3L3W_3L_3 từ 0.40 lên 1.66 µm² → flicker M3/4 tụt từ chỗ áp đảo (~2.75× nếu để L=0.5L=0.5) xuống còn 1.35×. Một công đôi việc: L dài cho cả gain lẫn flicker. Muốn thấp hơn nữa thì tăng W3L3W_3L_3 tiếp.

1/f corner 1.8 MHz — flicker vẫn chiếm gần hết băng hữu ích. Với SAR 1 MHz, noise DC→1MHz hầu như toàn bộ là flicker. Đòn bẩy còn lại: tăng W1L1W_{1}L_{1}, tăng gm1g_{m1}, giảm gm3/gm1g_{m3}/g_{m1}.


10. L ảnh hưởng gain & noise như thế nào

Giữ gm1g_{m1}ID1I_{D1} cố định, chỉ đổi LL của input pair (tra tool):

L (µm)W (µm)Av0,1A_{v0,1}2-stage gainfTf_T
0.181.113063.2 dB6.25 G
0.362.927268.9 dB1.51 G
0.504.379070.2 dB0.79 G
0.706.4711171.3 dB0.41 G
1.009.6714272.5 dB0.20 G

(2-stage gain tính đúng = stage1 · stage2, với tải cố định ở L=1.0L=1.0.) Gain tăng ~9 dB khi LL input từ 0.18 → 1 µm — “free lunch”: chỉ tốn diện tích, không tốn power (vì gm1g_{m1} giữ nguyên). Đây là lý do chọn L=0.5L=0.5 µm cho input pair: 70.2 dB (vừa đủ trên 69 dB) mà fTf_T chưa quá thấp. L=0.18L=0.18 µm chỉ cho 63 dB — fail nặng; L=0.36L=0.36 ra 68.9 dB — thiếu 0.1 dB, vẫn fail. Margin ở L=0.5L=0.5 chỉ 1.2 dB, nên nếu sim corner ăn mất là phải nhảy lên L=0.7L=0.7.


11. Trade-off — ba núm vặn, sáu đánh đổi

gm/ID làm trade-off ra mặt qua đúng ba núm: gm/IDg_m/I_D, L, IDI_D. Sáu đỉnh hexagon của Razavi (gain · speed · noise · power · swing · linearity) ánh xạ thẳng:

  • Gain ↑: tăng L hoặc gm/IDg_m/I_D → đổi lấy speed (fTf_T ↓) và diện tích.
  • Speed ↑: gm/IDg_m/I_D ↓ (strong inv) hoặc IDI_D ↑ → đổi lấy power và gain.
  • Noise ↓: gm1g_{m1} ↑ (thermal), W1L1W_1L_1 ↑ (flicker) → đổi lấy power và cap.
  • Power ↓: IDI_D ↓ → SR và GBW giảm; nhưng gain tăng (dòng thấp → ror_o lớn) — trade-off ít người để ý.
  • Swing/ICMR ↑: gm/IDg_m/I_D ↑ → V=2/(gm/ID)V^\star = 2/(g_m/I_D) nhỏ → mỗi con tốn ít headroom hơn → dải output và ICMR rộng ra (mục 7: chính Vov5V_{ov5}Vov1V_{ov1} ghim trần VCMV_{CM}) → đổi lấy speed.
  • Linearity ↑: gm/IDg_m/I_D ↓ (strong inversion) → gmg_m ít phụ thuộc VGSV_{GS} hơn so với weak inversion (quan hệ mũ) → méo thấp hơn ở tín hiệu lớn → đổi lấy power.

Không có thiết kế “tốt nhất” — chỉ có trade-off hợp ứng dụng. Chỗ tốn dòng ở đây là stage 2 (69.1 µA so với 15.7 µA stage 1 — gấp 4.4×): gm6g_{m6} bị ghim cứng bởi GBW×CLGBW\times C_L, mà (gm/ID)6(g_m/I_D)_6 lại bị mirror tầng 1 ghim ở 10 → không lách được bằng CcC_c lẫn bằng mức đảo.


12. Worst-case corners

First-cut nominal chưa đủ — phải check SS/FF + nhiệt độ:

CornerGBWSRPMGhi chú
SS / −40°C~9.2 MHz ✗11 V/µs ✓64° ✓GBW thiếu ~8%
TT / 27°C10.0 MHz ✓10.5 V/µs ✓60° ✓nominal
FF / 125°C~10.7 MHz ✓15 V/µs ✓67° ✓

GBW ở SS fail (µ giảm → gm1g_{m1} giảm). Fix: thêm ~30% margin dòng input. Và ICMR: corner này gộp cả SS process (+~0.1 V) lẫn lạnh (+~0.1 V)Vthp|V_{thp}| lên ~0.7 V → trần VCM,maxV_{CM,\max} tụt từ 0.91 còn ~0.71 V → mid-rail fail nặng (mục 7) — phải hạ VCMV_{CM} vận hành hoặc dùng một cách thoát ở mục 7.


13. Bài học

Chọn gm/IDg_m/I_D, đừng đoán VovV_{ov}. Một con số → tra ra Av0A_{v0}, fTf_T, JDJ_D, noise từ model thật. Con số “đứng yên” trong đầu vì gm/IDg_m/I_D bất biến process.

Đặt gmg_m trước, dòng sau. GBW ghim gm1g_{m1}; PM ghim gm6g_{m6}; SR ghim (gm/ID)1(g_m/I_D)_1. Chỉ sau đó mới chọn gm/IDg_m/I_D để đổi ra IDI_D — và đó là chỗ cân power vs gain/speed.

DC check trước AC. Tính tay VGS,VDSV_{GS},V_{DS} từng con lộ ra bẫy ICMR mà flow sizing chưa nói — tốn 10 phút, tiết kiệm hàng giờ debug.

gm/ID làm lộ chỗ tốn dòng sớm (stage 2) và chỗ tốn noise (M3/M4 tải W nhỏ → flicker, cứu bằng L dài). Trade-off ra mặt ngay bước đầu, không đợi sim.

Vẫn phải verify bằng sim ở corner. Bảng trên là first-cut tốt (số từ BSIM lookup), nhưng mismatch, VDSV_{DS} thật, RzR_z tracking, và SS corner (GBW/ICMR) vẫn cần sim xác nhận.


Tham khảo

  • P. Jespers & B. Murmann, Systematic Design of Analog CMOS Circuits using gm/ID — sách chuẩn cho phương pháp; bộ gm/ID starter kit dùng cho tool ở bài này.
  • B. Razavi, Design of Analog CMOS Integrated Circuits, 2nd ed., Ch. 7 (noise), Ch. 9 (two-stage op-amp, gain), Ch. 10 (stability/compensation — pole-splitting, p2=gm6/CLp_2=g_{m6}/C_L, RHP zero, nulling RzR_z), Fig. 1.5 (analog hexagon).
  • Allen & Holberg, CMOS Analog Circuit Design, 3rd ed., Ch. 6 — two-stage op-amp procedure, ví dụ 23-1 (đối chiếu góc square-law).
  • Razavi, Principles of Data Conversion System Design, Ch. 6 — dẫn specs GBW/SR/noise từ resolution và sampling rate của ADC.