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.
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 giả định cố định, cố định, saturation lý tưởng — ở 180nm trở xuống thì cả ba đều sai. Bạn tính ra một , 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 , bạn chọn một con số — — rồi tra mọi thứ còn lại (mật độ dòng, , 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 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
- gm/ID là gì — và tại sao nó “đứng yên”
- Ba đường cong cần đọc
- Specs: dẫn từ SAR ADC
- Topology two-stage Miller
- Flow gm/ID — 6 bước
- Worked design: bảng 7 transistor (số thật)
- DC operating point — và bẫy ICMR
- Verify: gain · GBW · PM · slew
- Noise: thermal, flicker, 1/f corner
- L ảnh hưởng gain & noise như thế nào
- Trade-off — ba núm vặn, sáu đánh đổi
- Worst-case corners
- Bài học
1. gm/ID là gì — và tại sao nó “đứng yên”
là hiệu suất chuyển dòng thành transconductance — bạn “mua” được bao nhiêu trên mỗi ampere. Nó dao động trong dải hẹp, gần như không đổi theo process/temp:
- Weak inversion (): hiệu suất cao nhất (), gain nội lớn, nhưng chậm và transistor to.
- Strong inversion (): nhanh ( cao), nhỏ, nhưng tốn dòng cho cùng và gain nội thấp.
- Moderate (–): vùng cân bằng — nơi phần lớn op-amp sống.
Điểm hay: với một đã chọn, mọi đại lượng chuẩn hoá là hằng số tra được — không phụ thuộc hay :
- (µA/µm) → cho ra
- (tốc độ)
- = gain nội
Flow đảo lại rất gọn: chọn → biết , ngay; có → ra . Con số “đứng yên” vì 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 — và chỉ ba đường đó đủ để size cả con op-amp:
| Đường cong | Đọc ra cái gì | Dùng ở bước nào |
|---|---|---|
| (µA/µm) | mật độ dòng → | bước 4–5: ra kích thước |
| gain nội của device | bước 6: check DC gain | |
| (GHz) | tốc độ nội tại | sanity check |
Trục chỉ là cách đọc khác của cùng trục hoành — tiện khi cần quy ngược ra để check headroom (mục 7).
Quy luật để nhớ:
- Tăng → ↑, ↓, ↓ (W to ra).
- Tăng L → ↑ ( lớn), ↓, ↓ (W cũng to ra).
→ Input pair cần gain + ít noise + đủ slew → vừa, L vừa. Current source/load cần lớn → L dài, 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, MHz trên 180nm.
Tại sao cần op-amp? SAR ADC có sampling cap pF. Mỗi lần sample, switch đóng vào source → dòng kickback chạy ngược. Nếu qua source impedance lớn, sụt áp đú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 + feedback chủ động bù dòng → glitch kickback hồi phục nhanh ( 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ố . 10-bit, 0.5 LSB → → 66 dB. Gain là đại lượng trôi mạnh nhất theo corner ( giảm ở FF/nóng) → margin ~1.4× → ≥ 69 dB.
- Chia thời gian: acquisition 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 (): với → MHz. Margin PVT ~1.25× → ≥ 10 MHz.
- Slew rate: step full-scale ( V) trong pha slew 150 ns → 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 capacitive → ≥ 60° tránh ring.
- pF — cứng.
- Power ≤ 1 mW.
| Spec | Nguồn gốc | Giá trị |
|---|---|---|
| DC gain | 10-bit, 0.5 LSB (66 dB) + margin | ≥ 69 dB |
| GBW | settle 150 ns + margin | ≥ 10 MHz |
| SR | 0.8×full-scale / slew 150 ns | ≥ 10 V/µs |
| PM | tránh ring với | ≥ 60° |
| của ADC | 5 pF | |
| Power | budget 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
- 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: + nulling resistor 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ượng | Công thức | Từ đâu |
|---|---|---|
| Unity-gain (GBW) | pole-splitting: bị Miller nhân ở ngõ ra stage 1 → dominant pole; nạp vào | |
| Non-dominant pole | pole ngõ ra, lái | |
| RHP zero | feedforward qua → triệt bằng |
Đ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, . Thay vào, triệt tiêu:
Phần “gm/ID” của bài chỉ là viết slew theo thay vì . Từ , và : tự khử → slew chỉ phụ thuộc GBW và , không phụ thuộc .
Sáu bước
- từ phase margin — công thức trên: .
- từ slew — → chọn đủ thấp để đạt SR.
- và : . Chọn (điều kiện AH để zero không phá PM).
- Tra W: input pair từ , . 2nd stage: không tự chọn — bị mirror tầng 1 ghim bằng (mục 6) → .
- Mirror & current sources (M3,4,5,7): tra W theo dòng; load mirror lấy thấp.
- Check: gain (mỗi tầng — không phải , xem mục 8), DC saturation, noise → iterate nếu fail.
6. Worked design — số thật từ tool
Bước 1: . Bước 2: V/µs → . Chọn (SR = 10.5 V/µs). Bước 3: pF → .
Bước 4 có một ràng buộc không được chọn tự do: . Gate của M6 nối thẳng vào node A, mà node A chính là của mirror M3/M4 → V. Muốn (điều kiện systematic offset = 0, Allen–Holberg), M6 phải nằm cùng mức đảo với M3/M4: . Mà µS đã bị PM ghim cứng → , 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, 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 µm cho lớn (mục 2: tải cần lớn → L dài), trực tiếp nâng gain mỗi tầng:
| MOS | Vai trò | dev | L (µm) | W | |||||
|---|---|---|---|---|---|---|---|---|---|
| M1,2 | input pair | PMOS | 0.5 | 12 | 7.85 µA | 4.37 µm | 94 µS | 90 | 0.79 G |
| M3,4 | mirror load | NMOS | 1.0 | 10 | 7.85 µA | 1.66 µm | 78 µS | 127 | 0.97 G |
| M5 | tail | PMOS | 1.0 | 9 | 15.7 µA | 10.7 µm | 141 µS | 58* | 0.27 G |
| M6 | 2nd-stage CS | NMOS | 0.5 | 10 (bị ghim) | 69.1 µA | 7.08 µm | 691 µS | 99 | 3.62 G |
| M7 | 2nd-stage load | PMOS | 1.0 | 9 | 69.1 µA | 46.9 µm | 622 µS | 123 | 0.27 G |
Comp: pF, .
* M5 là ngoại lệ của giả định V. thật chỉ 0.23 V (mục 7). Tra lại tại 0.23 V: chứ không phải 123, gần như không đổi (1.41 vs 1.47 µA/µm → µ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 ô và (đừ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 (). gm/ID cho ngay qua (overdrive hiệu dụng, ) : V; ; .
Ở đây = 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; 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, V) là current source (không diode-connected), chỉ cần để còn saturation. Node tail vì thế dâng cao nhất tới:
Để M1/M2 vừa bật vừa saturation cần . Tại trần tail:
Đây là bẫy. Trần V — đúng bằng mid-rail 0.9 V nhưng margin ≈ 0. Ở −40°C, dâng ~0.1 V (hệ số nhiệt âm mV/°C) lên ~0.6 V → 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 hệ thống yêu cầu:
| hệ thống cần | PMOS 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 V, hoặc dùng low- (giảm ), 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 V (node tail V):
| Transistor | @ =0.9V | Saturation? | |
|---|---|---|---|
| M5 tail | V | 0.22 | ⚠ sát biên — chính chỗ ghim ICMR |
| M1/M2 diff | V | 0.17 | ✓ (nhưng vừa đủ $ |
| M3/M4 load (diode) | V | 0.20 | ✓ |
| M6 / M7 (out ≈ 0.9V) | 0.9 V | 0.20 | ✓ (M6 bị node A ghim ở V) |
8. Verify
| Chỉ tiêu | Công thức | Kết quả | Spec |
|---|---|---|---|
| DC gain | 70 dB | ≥ 69 ✓ (margin 1.2 dB) | |
| GBW | 10 MHz | 10 ✓ | |
| (PM) | 22 MHz () | ✓ → PM≈60° | |
| Slew | 10.5 V/µs | ≥ 10 ✓ | |
| Power | 153 µW | ≤ 1mW ✓ |
⚠️ Gain 2-stage KHÔNG phải tích gain nội . Mỗi tầng có tải song song với device dẫn, nên gain tầng là — sụt ~4–5 dB so với đơn lẻ (tải càng lớn càng sụt ít). Cách ra số 56/57: lấy từ bảng mục 6 → stage1 , stage2 . Nếu để tải µm như driver, gain chỉ 67 dB → fail; phải cho tải µm ( lớn) mới đạt 70 dB.
GBW/PM/SR/Power pass thẳng vì gm/ID đặt 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.
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):
Flicker (gate-referred, ), tổng input-referred:
Thay số của sizing trên (, fF/µm², minh hoạ):
| Thành phần | @ 1 kHz |
|---|---|
| Thermal floor | 20.7 nV/√Hz |
| Flicker M1/M2 (PMOS input) | 515 nV/√Hz |
| Flicker M3/M4 (NMOS load, referred) | 697 nV/√Hz |
| Tổng input-referred | 866 nV/√Hz |
| 1/f corner | 1.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ì → cao → W nhỏ. Nhưng cắt nó không cần thủ thuật riêng: chính việc chọn µm cho tải (vì gain ở mục 8) đã phóng từ 0.40 lên 1.66 µm² → flicker M3/4 tụt từ chỗ áp đảo (~2.75× nếu để ) 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 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 , tăng , giảm .
10. L ảnh hưởng gain & noise như thế nào
Giữ và cố định, chỉ đổi của input pair (tra tool):
| L (µm) | W (µm) | 2-stage gain | ||
|---|---|---|---|---|
| 0.18 | 1.11 | 30 | 63.2 dB | 6.25 G |
| 0.36 | 2.92 | 72 | 68.9 dB | 1.51 G |
| 0.50 | 4.37 | 90 | 70.2 dB | 0.79 G |
| 0.70 | 6.47 | 111 | 71.3 dB | 0.41 G |
| 1.00 | 9.67 | 142 | 72.5 dB | 0.20 G |
(2-stage gain tính đúng = stage1 · stage2, với tải cố định ở .) Gain tăng ~9 dB khi input từ 0.18 → 1 µm — “free lunch”: chỉ tốn diện tích, không tốn power (vì giữ nguyên). Đây là lý do chọn µm cho input pair: 70.2 dB (vừa đủ trên 69 dB) mà chưa quá thấp. µm chỉ cho 63 dB — fail nặng; ra 68.9 dB — thiếu 0.1 dB, vẫn fail. Margin ở chỉ 1.2 dB, nên nếu sim corner ăn mất là phải nhảy lên .
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: , L, . Sáu đỉnh hexagon của Razavi (gain · speed · noise · power · swing · linearity) ánh xạ thẳng:
- Gain ↑: tăng L hoặc → đổi lấy speed ( ↓) và diện tích.
- Speed ↑: ↓ (strong inv) hoặc ↑ → đổi lấy power và gain.
- Noise ↓: ↑ (thermal), ↑ (flicker) → đổi lấy power và cap.
- Power ↓: ↓ → SR và GBW giảm; nhưng gain tăng (dòng thấp → lớn) — trade-off ít người để ý.
- Swing/ICMR ↑: ↑ → nhỏ → mỗi con tốn ít headroom hơn → dải output và ICMR rộng ra (mục 7: chính và ghim trần ) → đổi lấy speed.
- Linearity ↑: ↓ (strong inversion) → ít phụ thuộc 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×): bị ghim cứng bởi , mà lại bị mirror tầng 1 ghim ở 10 → không lách được bằng lẫn bằng mức đảo.
12. Worst-case corners
First-cut nominal chưa đủ — phải check SS/FF + nhiệt độ:
| Corner | GBW | SR | PM | Ghi chú |
|---|---|---|---|---|
| SS / −40°C | ~9.2 MHz ✗ | 11 V/µs ✓ | 64° ✓ | GBW thiếu ~8% |
| TT / 27°C | 10.0 MHz ✓ | 10.5 V/µs ✓ | 60° ✓ | nominal |
| FF / 125°C | ~10.7 MHz ✓ | 15 V/µs ✓ | 67° ✓ |
GBW ở SS fail (µ giảm → 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) → lên ~0.7 V → trần tụt từ 0.91 còn ~0.71 V → mid-rail fail nặng (mục 7) — phải hạ vận hành hoặc dùng một cách thoát ở mục 7.
13. Bài học
Chọn , đừng đoán . Một con số → tra ra , , , noise từ model thật. Con số “đứng yên” trong đầu vì bất biến process.
Đặt trước, dòng sau. GBW ghim ; PM ghim ; SR ghim . Chỉ sau đó mới chọn để đổi ra — và đó là chỗ cân power vs gain/speed.
DC check trước AC. Tính tay 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, thật, 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, , RHP zero, nulling ), 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.