Self-bias mức transistor: nối body vào source để cắt body effect — và cái giá phải trả ở layout
Source follower đo ra gain 0.81 thay vì gần 1, cặp vi sai tail chậm bất thường — thủ phạm hay là cái body bị ghim GND. Nối body↔source (Vsb=0) khử body effect, kéo gain về ~0.98 và trả lại swing. Nhưng với NMOS nó bắt bạn mua một deep n-well, thêm diện tích và một C_well nặng treo vào chính node source. Bài này dựng số body effect thật rồi cân đo được/mất.
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 con số hay làm người mới bực: dựng một source follower NMOS chuẩn chỉnh, mô phỏng ra gain 0.81 thay vì gần 1 như sách hứa. Kiểm lại , kiểm lại dòng, mọi thứ đúng — mà vẫn thiếu gần hai phần mười. Hoặc một cặp vi sai chạy tốt nhưng node đuôi (tail) chậm bất thường, chuyển dòng ì ạch dù transistor không to. Hai chuyện tưởng không liên quan, hoá ra chung một thủ phạm: cái body của con NMOS đang bị ghim xuống GND.
Mẹo chữa thì cũ và gọn — nối body thẳng vào source để . Trên blog さわざわブログ tác giả gọi đây là self-bias, và điểm mình thấy đáng viết lại không phải cái mẹo (ai học analog cũng gặp), mà là cái giá của nó ở layout — thứ mà, đúng như tác giả nhắc, nhiều người vẽ schematic xong quên mất. Với NMOS, “nối body vào source” không miễn phí: nó bắt bạn mua một deep n-well, tốn diện tích, và treo một tụ well khá nặng vào đúng node bạn đang muốn cho nhanh.
Đây không phải cái self-bias của mạch dòng tham chiếu không phụ thuộc nguồn — cái đó mình viết riêng ở bài constant-gm. Cùng một chữ, hai mạch khác hẳn nhau; bài này nói về self-bias ở mức một con transistor.
Mục lục
- Body effect: Vsb kéo Vth lên
- Chỗ nào Vsb ≠ 0 cắn vào mình
- Self-bias: nối thẳng body vào source
- Trả giá ở layout: well cách ly
- Nên hay đừng — bảng cân nhắc
- Tổng kết
1. Body effect: Vsb kéo Vth lên
MOSFET là linh kiện bốn cực, và cái cực thứ tư — body (đế) — hay bị quên vì trong sơ đồ nó thường nối lẳng lặng về GND (NMOS) hay VDD (PMOS). Nhưng nó là một cái “gate thứ hai” yếu: điện áp giữa source và body điều chế độ dày vùng nghèo dưới kênh, và qua đó điều chế luôn ngưỡng . Khi source bị đẩy lên cao hơn body một lượng , ngưỡng phình theo:
Lấy bộ tham số điển hình ( V, , V): chỉ cần V — mức rất bình thường ở source của một follower — ngưỡng đã đội thêm ~0.14 V, và tới V là ~0.22 V. Trong một thế giới nguồn 1.2 V thì 0.14–0.22 V headroom mất trắng là chuyện lớn.
Nhưng phình mới là nửa vấn đề. Nửa còn lại tinh hơn: cái “gate thứ hai” ấy có transconductance riêng, . Ở mọi phân tích small-signal nó song song với , và tỉ số
thường rơi vào 0.15–0.25 (panel phải). Nghĩa là body lặng lẽ bơm thêm 15–25% transconductance “ma” vào mạch — đôi khi có lợi, thường thì phá.
2. Chỗ nào Vsb ≠ 0 cắn vào mình
Với NMOS đế chung, body đứng ở GND. Chừng nào source cũng ở GND thì , chẳng sao. Rắc rối bắt đầu ở đúng những mạch mà source bị nhấc lên khỏi GND:
- Source follower. Source chính là ngõ ra, đu đưa theo tín hiệu và ngồi ở một mức DC dương. luôn luôn. Đây là nạn nhân kinh điển, và là ví dụ mình dùng cả bài.
- Đuôi cặp vi sai / các tầng xếp chồng. Con transistor ngồi trên một con khác có source cao hơn GND cả một . Cascode, current source xếp tầng, level shifter — tất cả đều dính.
- Switch truyền dẫn. Transmission gate hay sampling switch dẫn một mức áp cao thì thân–source cũng lệch, đội lên làm điện trở ON xấu đi (liên quan tới bài sampling switch).
Quay lại con số 0.81 ở đầu bài. Gain DC của source follower:
Cắm (ở V) và vào: . Không phải mạch sai — chính ăn mất gần 0.2 gain đó. Trong sơ đồ nó vô hình, vì cái cực gây ra nó không được vẽ ra.
3. Self-bias: nối thẳng body vào source
Nếu là thủ phạm, cách triệt để nhất là ép nó về 0: nối body thẳng vào source. Source đi đâu, body theo đó, hiệu điện thế thân–source luôn bằng 0. Thế là đứng yên ở và — cái gate thứ hai bị vô hiệu.
Đặt cạnh nhau thấy rõ: cùng một con NMOS, cùng dòng đuôi, chỉ khác chỗ nối cái cực thứ tư. Bên trái body xuống GND — gain 0.81, và đỉnh ngõ ra còn bị phình cắt bớt. Bên phải body bám source — về 0, gain
gần như bằng 1, và trả lại luôn phần swing đã mất vì ngưỡng không còn đội lên theo tín hiệu. Với một cascode hay tầng xếp chồng, lợi ích y hệt: headroom lấy lại được vài trăm mV, đúng thứ quý nhất ở nguồn thấp.
Trên schematic, đây là một sợi dây. Vấn đề nằm ở chỗ sợi dây đó về mặt vật lý là gì.
4. Trả giá ở layout: well cách ly
Đây là phần mình muốn nhấn, và là chỗ blog gốc nói đúng cái nhiều người bỏ qua. “Nối body vào source” nghe như thêm một via, nhưng nó đòi hỏi mỗi transistor phải có một body riêng để mà nối — và với NMOS trong công nghệ bulk chuẩn, body là cả tấm đế p chung của chip. Không tách ra được. Muốn có một p-well riêng cho con NMOS này, bạn phải bọc nó trong một deep n-well.
Nhìn hai mặt cắt cạnh nhau:
- Trái — NMOS thường. Source, drain nằm thẳng trong đế p. Body là cái đế, bị ghim GND cùng với cả chip. Rẻ, gọn, không tốn gì thêm — nhưng bạn không có quyền chọn thế body, nên source nổi lên là ăn body effect, hết cách.
- Phải — NMOS cách ly. Con NMOS giờ ngồi trong một p-well riêng, được cô lập khỏi đế chung bằng một cái “bồn tắm” deep n-well cộng vành n-well hai bên. p-well đó mới nối được vào source cho . Còn cái bồn deep n-well thì phải nối lên VDD để giữ tiếp giáp ngược.
Giá phải trả có ba khoản, và khoản thứ ba là cái hay bị quên:
- Diện tích. Deep n-well cần khoảng cách bao và spacing tới các well khác — một con NMOS cách ly to hơn hẳn con thường. Nhồi cả một cặp vi sai hay một dãy cascode vào well cách ly là một khoản diện tích thật.
- Latch-up và nhiễu đế. Thêm một tiếp giáp p–n–p–n nữa là thêm đường latch-up phải lo, thêm guard ring, thêm quy tắc.
- Điện dung well treo vào source. Đây là điểm mấu chốt. Tiếp giáp p-well–deep-n-well là một diện tích lớn, và vì p-well nối source còn deep n-well nối VDD (đất xoay chiều), cái đó treo thẳng từ node source xuống đất AC. Bạn vừa chữa body effect thì lại vừa chất một tụ ký sinh không nhỏ lên đúng node source — mà source thường là node bạn cần cho nhanh (đuôi cặp vi sai, ngõ ra follower). Đổi một khuyết tật DC (gain, headroom) lấy một khuyết tật AC (tốc độ). Chuyện này họ hàng với mấy tụ ký sinh mình mổ ở bài MOSFET tự ký sinh — cùng một bài học: cực thứ tư không bao giờ miễn phí.
Để không phải đoán, mình vẽ hẳn con này ra layout sky130 thật. Lấy nfet_01v8, chạy tail 100 µA ở nguồn 1.8 V, dựng bản cách ly deep-nwell (kèm vành n-well và n+ tap để bọc kín) rồi cho magic DRC tới khi sạch. Cái tub p-well cách ly đo ra 67 µm² — to hơn hẳn trực giác, vì chỉ riêng luật bao deep-nwell với vành n-well đã ăn diện tích. Ghép mật độ tiếp giáp p-well–deep-nwell từ model PDK (pw2dn: , ) lên đúng hình học đó cho ở phân cực làm việc, well ngược ~1.4 V (và ~41 fF lúc chưa phân cực). Tụ tiếp giáp của riêng cái source con NMOS chỉ tầm 1.8–2.6 fF; cộng thêm , node source vọt từ ~1.8 lên ~31 fF, gấp ~17 lần so với NMOS thường (panel giữa) — chỉ vì một sợi dây nối body vào source.
Panel trái hình dưới là con NMOS cách ly đó sau khi cho DRC sạch: cột poly dọc ở giữa là gate , vành p+ ôm sát là body tie, ngoài cùng là tub deep-nwell với vành n-well và n+ tap để bọc kín. Chính cái tub 67 µm² này là diện tích tiếp giáp treo lên source.
Cái giá ở miền tần số thì cho một source follower chạy AC trên ngspice là ra ngay. Ở node source, tần số cực tụt trông thấy — với tải nhẹ 20 fF, băng thông rơi từ 5.4 xuống 2.4 GHz, chậm 2.3 lần (panel phải).
Nhưng 2.3 lần đó không phải một mình gây ra. Ngoài ba khoản layout ở trên còn một khoản thứ tư — khoản duy nhất không đến từ layout, và cũng là chỗ rất dễ quy sai nguyên nhân: mất . Tách ra thì tụ chịu khoảng 1.9 lần, còn 1.2 lần nữa là của nó. Ở follower, nằm ngay trong điện dẫn ngõ ra, , nên khử body effect thì gain bò lên gần 1 mà cũng phình lên đúng tỉ số ấy (). Cái vừa bị dập tắt hoá ra vẫn đang âm thầm giúp node source nhanh hơn — bỏ nó đi là mất luôn phần đó.
Hai đầu đồ thị cho thấy hai cơ chế tách bạch. Tải nhẹ thì trội, hai đường doãng rộng — node càng nhanh phạt càng đau. Tải nặng hàng trăm fF thì thêm 28 fF chẳng đáng gì, nhưng hai đường không chập lại: ở 1000 fF vẫn còn chậm 1.2 lần, đúng bằng phần — dấu vết của đã mất. Đây là câu “đổi khuyết tật DC lấy khuyết tật AC” nói bằng số: trên chính con này gain follower đi từ 0.84 (body→GND) lên 0.99, đổi lại cực ở source lùi hơn gấp đôi.
Một điểm đáng ghi lại từ lúc extract: magic mặc định không tự lộ tụ tiếp giáp p-well–deep-nwell (tech chỉ mô hình hoá deep-nwell↔đế ~0.12 fF/µm²), nên con ở trên là lấy model junction pw2dn của PDK áp lên hình học tub trích từ layout DRC-clean — đúng phép mà một công cụ PEX làm cho junction. Và vì bám theo diện tích tub, device to hơn thì nó còn phình tiếp.
Với PMOS thì câu chuyện dễ thở hơn nhiều: PMOS vốn đã nằm trong n-well riêng của nó, nên nối body (n-well) vào source gần như miễn phí — chỉ là một tiếp xúc n-well thay vì kéo về VDD. Đó là lý do bạn thấy self-bias body–source ở PMOS thường xuyên hơn, còn ở NMOS thì người ta cân nhắc kỹ vì phải cõng nguyên cái deep n-well.
5. Nên hay đừng — bảng cân nhắc
Không có câu trả lời chung; nó là một phép đổi. Mình gom lại thành bảng để lúc ngồi vẽ còn nhớ:
| Body → GND/VDD (thường) | Body → Source (self-bias) | |
|---|---|---|
| phình theo | giữ nguyên | |
| có (η ≈ 0.15–0.25) | = 0 | |
| Gain source follower | ~0.8 | ~0.98 |
| Headroom | mất theo | lấy lại |
| Diện tích (NMOS) | nhỏ | lớn (deep n-well) |
| Tụ vào node source | nhẹ | nặng () |
| Latch-up / guard ring | ít lo | phải lo thêm |
Rút thành mấy nếp gấp quyết định:
- Nên khi node source chậm mà cần chính xác: source follower/buffer cần gain sát 1, cascode ở nguồn thấp cần headroom, mạch mà mất mát ăn thẳng vào spec — và tốc độ ở node đó không phải giới hạn.
- Đừng vội khi node source là node tốc độ cao: chất thêm vào đuôi cặp vi sai đang chuyển dòng nhanh có thể hại nhiều hơn lợi. Cân cụ thể bằng sim, đừng nối theo phản xạ.
- PMOS thì gần như cứ nối — vốn đã có well riêng, giá rẻ.
- NMOS thì tính diện tích trước: một con cách ly có đáng không, hay cả khối gom chung một well cách ly cho đỡ tốn.
Điểm mình mang về từ blog gốc, và cũng là điểm mình hay dặn lại chính mình: cái cực thứ tư luôn có mặt trong phương trình dù nó không có mặt trong sơ đồ. Vẽ nó ra — cả trên schematic lẫn trong đầu — trước khi nó cắn mình ở lần đo đầu tiên.
6. Tổng kết
- Body effect khiến đội lên (~0.14 V ở V với ) và thêm một với –.
- Nó cắn ở mọi mạch có source nổi khỏi GND: source follower (gain tụt còn ~0.8), đuôi cặp vi sai, cascode, switch.
- Self-bias = nối body↔source ép : về , , gain follower lên ~0.98 và lấy lại headroom.
- Với NMOS cái giá là deep n-well: diện tích, latch-up, và nhất là nặng treo vào node source — trên con sky130 10/0.5 µm (layout thật, DRC sạch) đo ra ~28 fF. Băng thông node source chậm ~2.3× ở tải 20 fF, mà chỉ ~1.9× trong đó là do tụ; ~1.2× còn lại là do mất làm của follower phình lên (đổi khuyết tật DC lấy khuyết tật AC). PMOS thì gần như miễn phí.
- Quyết định là một phép đổi: nối khi node source cần chính xác mà không cần nhanh; cân nhắc kỹ khi nó là node tốc độ cao.
Tham khảo
-
さわざわブログ — “ボディ・ソース接続構造について(セルフバイアスの使い方)” — nguồn ý tưởng cho bài này; nhấn đúng cái treo vào source mà designer hay quên. Blog analog rất đáng đọc: sawazawablog.com.
-
Razavi, Design of Analog CMOS Integrated Circuits, 2nd ed. — body effect (§2), và gain source follower (§3), well/đế trong layout.
-
Baker, CMOS Circuit Design, Layout, and Simulation, 4th ed. — mặt cắt deep n-well / triple-well, luật spacing và latch-up. cmosedu.com.
-
Bài MOSFET tự ký sinh — các tụ ký sinh cùng họ với . Bài constant-gm bias — cái self-bias nghĩa khác (mạch dòng tham chiếu), đừng lẫn.