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

Vth của MOSFET — Tại Sao Nó Thay Đổi và Ảnh Hưởng Đến Thiết Kế Thế Nào?

Vth không phải con số cố định. Nó thay đổi theo process, nhiệt độ, body effect, và short-channel effects. Hiểu những thay đổi này là chìa khóa để thiết kế mạch analog thành công.

MOSFETanalogIC designAMSthreshold voltage

Nếu bạn hỏi một sinh viên năm 3 “Vth là gì?”, họ sẽ trả lời ngay: “Threshold voltage — điện áp để transistor bắt đầu dẫn.” Đúng. Nhưng nếu hỏi tiếp “Vth của con transistor này trong mạch của bạn đang là bao nhiêu?”, phần lớn sẽ im lặng.

Vấn đề không phải ở chỗ họ không biết định nghĩa. Vấn đề là Vth không phải một con số cố định — nó thay đổi theo nhiệt độ, theo điện áp, theo process, và thậm chí theo từng con transistor trên cùng một tấm wafer. Nếu mình không hiểu nó thay đổi thế nàobao nhiêu, thì mạch thiết kế đẹp trên giấy rất có thể fail im lặng trên silicon.

Bài này mình sẽ đi qua ba phần: (1) tại sao Vth thay đổi, (2) ví dụ thiết kế current mirror với body effect, và (3) ví dụ differential pair qua PVT corners. Hai ví dụ sau mới là phần quan trọng — đó là lúc mấy con số Vth trở thành quyết định thiết kế thực sự.


Vth thay đổi vì bốn lý do chính

1. Process variation

Fab sản xuất transistor không bao giờ cho ra kết quả hoàn toàn đồng đều — oxide thickness, dopant concentration, channel length đều có sai số. Kết quả là Vth phân bố Gaussian với σ(Vth)\sigma(V_{th}) thường vào khoảng 5–20 mV tùy node công nghệ (global variation giữa các wafer, lot).

Trong corner simulation, đây là fast/slow corner: fast thì VthV_{th} thấp hơn (transistor dẫn mạnh hơn), slow thì VthV_{th} cao hơn. Giữa hai cực đoan, VthV_{th} có thể lệch nhau ±50–100 mV là bình thường.

2. Nhiệt độ

VthV_{th} có hệ số nhiệt độ âm, khoảng 1-1 đến 2 mV/°C-2\ \text{mV/°C}. Ví dụ: Vth=0.5 VV_{th} = 0.5\ \text{V}27°C27°\text{C} thì ở 125°C125°\text{C}:

ΔVth1.5 mV°C×(12527)°C147 mVVth0.35 V\Delta V_{th} \approx -1.5\ \frac{\text{mV}}{°\text{C}} \times (125 - 27)°\text{C} \approx -147\ \text{mV} \quad \Rightarrow \quad V_{th} \approx 0.35\ \text{V}

40°C-40°\text{C} thì ngược lại: VthV_{th} tăng lên ~0.6 V0.6\ \text{V}. Mạch có thể không đủ gmg_m ở nhiệt độ thấp.

3. Body effect

Khi source không nối với bulk — tức Vsb>0V_{sb} > 0VthV_{th} tăng lên theo:

Vth(Vsb)=Vth0+γ(2ϕF+Vsb2ϕF)V_{th}(V_{sb}) = V_{th0} + \gamma \left(\sqrt{2\phi_F + V_{sb}} - \sqrt{2\phi_F}\right)

Với γ0.5 V1/2\gamma \approx 0.5\ \text{V}^{1/2}2ϕF0.7 V2\phi_F \approx 0.7\ \text{V}, nếu Vsb=1 VV_{sb} = 1\ \text{V} thì:

ΔVth0.5×(1.70.7)=0.5×(1.3040.837)+0.23 V\Delta V_{th} \approx 0.5 \times \left(\sqrt{1.7} - \sqrt{0.7}\right) = 0.5 \times (1.304 - 0.837) \approx +0.23\ \text{V}

Đây là con số không nhỏ, và hay bị bỏ qua nhất trong các mạch có stacked transistor.

4. Short-channel effects (DIBL)

Khi LL giảm xuống dưới 100 nm, điện trường từ drain “lấn” vào channel làm VthV_{th} giảm theo VdsV_{ds} — gọi là Drain-Induced Barrier Lowering (DIBL). Đây là lý do transistor analog thường cần LL gấp 2–5× minimum length.


Ví dụ 1 — Cascode current mirror: body effect ảnh hưởng thế nào đến output swing

Đây là ví dụ rất thực tế vì cascode mirror xuất hiện ở khắp nơi trong mạch analog — bias circuit, load của amplifier, current DAC. Và body effect chính là thứ hay làm junior designer bị bất ngờ.

Mạch và bài toán

Xét NMOS cascode current mirror gồm bốn transistor: M1, M2 là transistor gương (diode-connected và mirror), M3, M4 là transistor cascode phía trên. Thông số process 180 nm điển hình:

  • Vth0=0.5 VV_{th0} = 0.5\ \text{V}
  • γ=0.5 V1/2\gamma = 0.5\ \text{V}^{1/2}, 2ϕF=0.7 V\quad 2\phi_F = 0.7\ \text{V}
  • VDD=1.8 VV_{DD} = 1.8\ \text{V}, Iref=100 μA\quad I_{ref} = 100\ \mu\text{A}
  • VovV_{ov} target =0.2 V= 0.2\ \text{V} (tức Vgs=0.7 VV_{gs} = 0.7\ \text{V} cho mỗi transistor)

Câu hỏi: Vout,minV_{out,min} của mirror này là bao nhiêu?

Phân tích không có body effect

Để M2 và M4 ở saturation, Vout,minV_{out,min} cần tối thiểu:

Vout,minlyˊ tưởng=2×Vov=2×0.2=0.4 VV_{out,min}^{\text{lý tưởng}} = 2 \times V_{ov} = 2 \times 0.2 = 0.4\ \text{V}

Nghe có vẻ thoải mái với VDD=1.8 VV_{DD} = 1.8\ \text{V}.

Phân tích có body effect — con số thực tế

Nhìn vào M4 (transistor cascode): source của M4 nối với drain của M2, không phải GND. Gọi điện áp tại node đó là VxV_x.

Để M2 vừa ở edge of saturation: Vx=Vov,M2=0.2 VV_x = V_{ov,M2} = 0.2\ \text{V}. Vậy M4 có Vsb=Vx=0.2 VV_{sb} = V_x = 0.2\ \text{V}.

Tính VthV_{th} của M4 với body effect:

Vth,M4=0.5+0.5×(0.7+0.20.7)=0.5+0.5×(0.9490.837)0.556 VV_{th,M4} = 0.5 + 0.5 \times \left(\sqrt{0.7 + 0.2} - \sqrt{0.7}\right) = 0.5 + 0.5 \times (0.949 - 0.837) \approx 0.556\ \text{V}

VthV_{th} tăng thêm 56 mV56\ \text{mV} — không nhiều, nhưng hệ quả quan trọng hơn: Vgs,M4V_{gs,M4} phải bằng:

Vgs,M4=Vth,M4+Vov,M4=0.556+0.2=0.756 VV_{gs,M4} = V_{th,M4} + V_{ov,M4} = 0.556 + 0.2 = 0.756\ \text{V}

thay vì 0.7 V0.7\ \text{V}. Điều này có nghĩa là Vout,minV_{out,min} thực tế:

Vout,minthực teˆˊ=Vgs,M4+Vov,M2=0.756+0.2=0.956 VV_{out,min}^{\text{thực tế}} = V_{gs,M4} + V_{ov,M2} = 0.756 + 0.2 = \boxed{0.956\ \text{V}}

So với 0.4 V0.4\ \text{V} tính lý tưởng, con số thực tế gần gấp 2.4 lần. Mạch mất gần 1 V1\ \text{V} output swing chỉ vì body effect của một transistor.

Hệ quả thiết kế

Đây là lý do trong thiết kế thực tế, nếu cần output swing rộng mà vẫn dùng cascode, mình phải dùng low-voltage cascode bias — bias VgsV_{gs} của transistor cascode thấp hơn, chấp nhận VovV_{ov} nhỏ hơn để giảm Vout,minV_{out,min}. Baker có trình bày kỹ kỹ thuật này ở phần high-swing cascode.

Bài học: Khi nhìn vào schematic cascode, hỏi ngay VsbV_{sb} của transistor cascode là bao nhiêu. Nếu Vsb0V_{sb} \neq 0, VthV_{th} thực tế trong mạch khác với datasheet — và output swing tính lý tưởng sẽ sai.


Ví dụ 2 — Differential pair qua PVT corners: gm có đủ không?

Bài toán

Thiết kế NMOS differential pair với:

  • Voltage gain Av20 V/VA_v \geq 20\ \text{V/V} (tức 26 dB\geq 26\ \text{dB})
  • Load là PMOS current mirror với Rout,load=50 kΩR_{out,load} = 50\ \text{k}\Omega
  • Dòng tail current Itail=200 μAI_{tail} = 200\ \mu\text{A} → mỗi nhánh Id=100 μAI_d = 100\ \mu\text{A}
  • Process 180 nm: Vth0,NMOS=0.5 VV_{th0,NMOS} = 0.5\ \text{V}, μnCox=270 μA/V2\mu_n C_{ox} = 270\ \mu\text{A/V}^2

Bước 1 — Tính gmg_m cần thiết ở nominal

Av=gm×Rout,loadgm,min=AvRout,load=2050 kΩ=0.4 mA/VA_v = g_m \times R_{out,load} \quad \Rightarrow \quad g_{m,min} = \frac{A_v}{R_{out,load}} = \frac{20}{50\ \text{k}\Omega} = 0.4\ \text{mA/V}

Bước 2 — Size transistor ở nominal (TT / 27°C)

Từ gm=2μnCoxId(W/L)g_m = \sqrt{2 \mu_n C_{ox} I_d (W/L)}:

gm2=2μnCoxIdWLWL=gm22μnCoxId=(0.4×103)22×270×106×100×1062963g_m^2 = 2 \mu_n C_{ox} \cdot I_d \cdot \frac{W}{L} \quad \Rightarrow \quad \frac{W}{L} = \frac{g_m^2}{2 \mu_n C_{ox} I_d} = \frac{(0.4 \times 10^{-3})^2}{2 \times 270 \times 10^{-6} \times 100 \times 10^{-6}} \approx 2963

Làm tròn W/L=3000W/L = 3000, ví dụ W=30 μmW = 30\ \mu\text{m}, L=0.36 μmL = 0.36\ \mu\text{m} (2× minimum).

Check VovV_{ov}:

gm=2IdVovVov=2×100 μA0.4 mA/V=0.5 Vg_m = \frac{2 I_d}{V_{ov}} \quad \Rightarrow \quad V_{ov} = \frac{2 \times 100\ \mu\text{A}}{0.4\ \text{mA/V}} = 0.5\ \text{V} Vgs=Vth+Vov=0.5+0.5=1.0 V(ổn với VDD=1.8 V)V_{gs} = V_{th} + V_{ov} = 0.5 + 0.5 = 1.0\ \text{V} \quad \checkmark \quad (\text{ổn với } V_{DD} = 1.8\ \text{V})

Bước 3 — Check ở SS corner / −40°C (worst case)

Ở slow corner và nhiệt độ thấp, hai thứ xấu xảy ra cùng lúc.

VthV_{th} tăng do nhiệt độ thấp:

ΔVth=1.5 mV°C×(4027)°C=+100 mVVth,SS0.6 V\Delta V_{th} = -1.5\ \frac{\text{mV}}{°\text{C}} \times (-40 - 27)°\text{C} = +100\ \text{mV} \quad \Rightarrow \quad V_{th,SS} \approx 0.6\ \text{V}

Process slow: μnCox\mu_n C_{ox} giảm khoảng 10–15% → lấy μnCox,SS230 μA/V2\mu_n C_{ox,SS} \approx 230\ \mu\text{A/V}^2.

Tính gmg_m ở SS / 40°C-40°\text{C} với W/L=3000W/L = 3000, Id=100 μAI_d = 100\ \mu\text{A}:

gm,SS=2×230×106×100×106×3000=138×1060.371 mA/Vg_{m,SS} = \sqrt{2 \times 230 \times 10^{-6} \times 100 \times 10^{-6} \times 3000} = \sqrt{138 \times 10^{-6}} \approx 0.371\ \text{mA/V}

Gain ở SS corner:

Av,SS=gm,SS×Rout,load=0.371×50 kΩ=18.6 V/Vthaˆˊp hơn spec 20 V/V!A_{v,SS} = g_{m,SS} \times R_{out,load} = 0.371 \times 50\ \text{k}\Omega = 18.6\ \text{V/V} \quad \xrightarrow{\text{thấp hơn spec } 20\ \text{V/V!}}

Bước 4 — Fix: tăng W/LW/L

Để đảm bảo gm,SS0.4 mA/Vg_{m,SS} \geq 0.4\ \text{mA/V}, mình cần:

WL=gm,SS22μnCox,SSId=(0.4×103)22×230×106×100×1063478\frac{W}{L} = \frac{g_{m,SS}^2}{2 \mu_n C_{ox,SS} \cdot I_d} = \frac{(0.4 \times 10^{-3})^2}{2 \times 230 \times 10^{-6} \times 100 \times 10^{-6}} \approx 3478

Làm tròn lên W/L=3600W/L = 3600 (W=36 μmW = 36\ \mu\text{m}, L=0.36 μmL = 0.36\ \mu\text{m}) để có margin. Check lại ở nominal: gmg_m sẽ cao hơn 0.4 mA/V0.4\ \text{mA/V}, gain vượt spec — tốt.

Bài học: Sizing ở nominal rồi submit là sai quy trình. Phải check worst-case corner trước, size cho worst case, rồi verify lại nominal không bị quá spec. VthV_{th} tăng ở SS corner không trực tiếp làm gmg_m giảm, nhưng nó đi kèm với μ\mu giảm — và toàn bộ transistor performance kém hơn nominal.


Verify trong SPICE

Verify ví dụ 1 — Body effect trong cascode mirror

Mục tiêu: Xác nhận VthV_{th} của M4 thực sự bị shift do body effect, và Vout,minV_{out,min} thực tế khớp với con số tính tay (~0.956 V0.956\ \text{V}).

Setup: DC sweep VoutV_{out} từ 0 V0\ \text{V} đến 1.8 V1.8\ \text{V}, quan sát IoutI_{out}. Điểm mà IoutI_{out} bắt đầu “flatten out” chính là Vout,minV_{out,min} thực tế.

Check VthV_{th} trực tiếp: Sau khi chạy .op, print vth của M4. Nếu simulator không print trực tiếp, tính ngược:

Vth=VgsVov,Vov=2IdμnCox(W/L)V_{th} = V_{gs} - V_{ov}, \quad V_{ov} = \sqrt{\frac{2 I_d}{\mu_n C_{ox} (W/L)}}

So sánh với Vth0=0.5 VV_{th0} = 0.5\ \text{V} — nếu ra ~0.556 V0.556\ \text{V} thì body effect đang được model đúng.

Tip: Sau mỗi .op, check VgsV_{gs}, VdsV_{ds}, VthV_{th}, và region (saturation hay linear?) của từng transistor quan trọng. Nếu có transistor nào đang ở linear region mà mình không để ý thì toàn bộ gain và output resistance tính được đều sai.

Verify ví dụ 2 — Differential pair qua PVT corners

Cách đo gmg_m chính xác:

Không tính từ công thức — đo trực tiếp trong simulation:

  1. Set mạch ở DC operating point với Vdiff=0V_{diff} = 0
  2. Thêm AC source nhỏ (1 mV1\ \text{mV}) vào một input
  3. Chạy AC simulation, đo Iout/VinI_{out} / V_{in} ở tần số thấp (gần DC):
gm=IoutVinω0g_m = \left.\frac{I_{out}}{V_{in}}\right|_{\omega \to 0}

Hoặc lấy thẳng từ .op — hầu hết simulator (HSPICE, Spectre, LTspice) đều print gmg_m trong operating point output.

Check gain qua corners: Plot AvA_v vs corner:

Av=gm×Rout,loadA_v = g_m \times R_{out,load}
  • TT / 27°C: kỳ vọng Av>20 V/VA_v > 20\ \text{V/V}
  • SS / 40°C-40°\text{C}: worst case — nếu Av<20 V/VA_v < 20\ \text{V/V} thì tăng W/LW/L
  • FF / 125°C: thường gain cao hơn nominal, cần check stability (phase margin)

Nguyên tắc chung: Simulation là để confirm, không phải để discover. Trước khi chạy sim, phải có con số kỳ vọng trong đầu — gmg_m phải là bao nhiêu, Vout,minV_{out,min} phải là bao nhiêu. Nếu sim ra khác thì phải hiểu tại sao — không phải chỉnh số cho khớp rồi tiếp tục. Đây là điểm khác biệt rõ nhất giữa engineer thiết kế và engineer chạy simulator.


Tổng kết

VthV_{th} thay đổi do bốn nguyên nhân: process variation (±50–100 mV giữa corners), nhiệt độ (~1.5 mV/°C-1.5\ \text{mV/°C}), body effect (có thể +200 mV+200\ \text{mV} nếu VsbV_{sb} lớn), và DIBL khi LL nhỏ.

Hệ quả thiết kế quan trọng nhất:

  • Body effect trong cascode làm Vout,minV_{out,min} thực tế có thể gấp đôi so với tính lý tưởng — phải account ngay khi nhìn vào bất kỳ stacked transistor nào.
  • PVT corners không phải formality — chúng là nơi mạch thực sự bị test. Size ở nominal rồi hy vọng corners pass là công thức để tapeout fail.
  • VovV_{ov} đủ lớn (150\geq 150200 mV200\ \text{mV}) không phải “lãng phí headroom” mà là margin chống lại VthV_{th} variation.

Bài tiếp theo mình sẽ đi vào sizing transistor có hệ thống — từ spec → current budget → VovV_{ov}W/LW/L, và tại sao gm/Idg_m/I_d method lại tiện hơn cách tính trực tiếp từ công thức.


Tham khảo

  • Baker, CMOS Circuit Design, Layout, and Simulation, 3rd ed., Chương 9–10 — phân tích VthV_{th}, body effect, và short-channel effects với ví dụ SPICE cụ thể. Đây là nguồn chính cho bài này.
  • Razavi, Design of Analog CMOS Integrated Circuits, Chương 3 — phần differential pair và ảnh hưởng của process variation được giải thích theo góc độ circuit designer rất rõ.
  • Tsividis, Operation and Modeling of the MOS Transistor, Chương 4 — nếu muốn hiểu sâu hơn về body effect và short-channel physics.