Tổng quan Bối cảnh Phương pháp Topology Kết quả Mô phỏng Lý thuyết Quy trình Tác giả
Đồ án 1 · Thiết kế IC tương tự · GPDK45nm

Low-Power Sense Amplifiercho SRAM

Thiết kế, mô phỏng và đánh giá core sense amplifier ở mức transistor trên Cadence Virtuoso / Spectre — qua ba lớp đánh giá: nominal, PVT corner và Monte-Carlo yield.

Thực hiện: Hà Toàn Phú Trường ĐH Bách Khoa — ĐHQG TP.HCM GPDK45nm · Cadence Virtuoso · Spectre
45nm
Công nghệ CMOS GPDK, device LVT 1V
3
Topology khảo sát & so sánh
500
Mẫu Monte-Carlo / điểm (Errors=0)
98.8%
Yield cao nhất @ DVBL=30mV
Tổng quan

Đồ án này nói về điều gì?

Mỗi lần CPU đọc một bit từ bộ nhớ SRAM, nó dựa vào một mạch nhỏ gọi là sense amplifier để "đọc" được tín hiệu điện áp cực nhỏ (chỉ vài chục milivolt) và khuếch đại thành mức logic 0/1 rõ ràng — thật nhanh và thật tin cậy.

Đồ án thiết kế khối sense amplifier đó ở mức transistor, tối ưu cho chế độ low-power (tín hiệu nhỏ, điện áp thấp), rồi đánh giá nghiêm ngặt xem nó có thực sự đáng tin cậy khi gặp sai số sản xuất và điều kiện vận hành khắc nghiệt hay không.

Phạm vi đồ án

Tập trung vào core sense amplifier: cặp bitline BL/BLB được mô hình kiểu SRAM-style (precharge gần VDD, một phía bị kéo xuống một lượng nhỏ DVBL). Không thiết kế toàn bộ mảng SRAM, bitcell hay mạch ngoại vi.

DVBL
Sai biệt bitline cần "đọc"
SAE
Tín hiệu kích hoạt sense
Yield
% mẫu quyết định đúng
PVT
Process·Voltage·Temp
Bối cảnh & Vấn đề

Đánh đổi giữa năng lượng và độ tin cậy

Để tiết kiệm năng lượng, SRAM low-power chỉ tạo ra một sai biệt điện áp rất nhỏ trên bitline. Nhưng tín hiệu càng nhỏ, mạch càng dễ "đọc nhầm". Đó chính là bài toán trung tâm.

🔋

Tín hiệu vào nhỏ

DVBL chỉ vài chục mV để giảm năng lượng nạp/xả bitline — nhưng biên độ quyết định cũng nhỏ theo.

📉

Điện áp thấp

Giảm VDD tiết kiệm điện nhưng làm yếu overdrive transistor, chậm quá trình tái sinh tín hiệu.

⚖️

Offset & mismatch

Sai khác ngẫu nhiên giữa các transistor tạo offset. Khi offset ≳ DVBL, mạch quyết định sai bit.

Kickback & nhiễu

Dòng quá độ lớn "đá ngược" về đầu vào, ảnh hưởng chính tín hiệu cần đo khi nhiều SA chạy song song.

💡 Điểm mấu chốt: một mạch chạy tốt ở điều kiện lý tưởng (nominal) chưa chắc tin cậy khi xét biến thiên sản xuất. Vì vậy đồ án luôn phân biệt rõ ba mức đánh giá ở phần tiếp theo.

Phương pháp đánh giá

Ba lớp đánh giá — không nhầm lẫn

Đóng góp phương pháp luận quan trọng nhất của đồ án: mỗi con số phải đi kèm "nó thuộc lớp đánh giá nào". Một thiết kế chỉ thực sự robust khi vượt qua cả ba.

01 / NOMINAL

Nominal

Điều kiện điển hình (TT, 27°C, VDD danh định). Trả lời: mạch có chạy đúng không? Dễ pass nhất — nhưng ít ý nghĩa về độ tin cậy.

02 / PVT CORNER

PVT Corner

9 góc = {TT,FF,SS} × {−40,25,125°C}, quét cả VDD. Trả lời: mạch có sống sót qua biến thiên toàn cục không? Góc SS_125 thường khắc nghiệt nhất.

03 / MONTE-CARLO

Monte-Carlo Yield

500 mẫu mismatch ngẫu nhiên / điểm. Trả lời: trong sản xuất thực tế, bao nhiêu % chip đọc đúng? Đây mới là độ tin cậy thật.

📌 Ví dụ thực tế trong đồ án: StrongARM baseline pass nominal xuống tới DVBL = 5mV ở VDD = 1V. Nhưng Monte-Carlo tại DVBL = 10mV chỉ đạt 71.8% yield. Vì vậy không thể kết luận mạch "robust ở 5mV" — phải tách bạch rõ ràng.

Ba Topology

Từ baseline đến kiến trúc mở rộng

Một mạch tham chiếu vững chắc, một hướng thăm dò, và một kiến trúc mở rộng — tất cả thiết kế & mô phỏng trên Cadence Virtuoso với GPDK45nm.

BASELINE · Mạch tham chiếu

StrongARM Latch

BL/BLB → input pair (M1/M2) → cross-coupled regen → OUT/OUTB

Dynamic latch kinh điển (Razavi 2015): zero static power, output rail-to-rail, offset chủ yếu do một cặp vi sai duy nhất. Được chọn làm chuẩn so sánh nhờ bộ số liệu đầy đủ & ổn định nhất.

  • Yield: 99.8% @50mV · 95.0% @30mV · 71.8% @10mV
  • PVT robust: VDD = 0.7V @ DVBL = 50mV
  • T_SENSE = 54.45ps · E = 4.019fJ (0.8V, 50mV)
✓ Gọn, nhanh, tiết kiệm năng lượng — mốc tham chiếu lý tưởng.
Cadence Virtuoso · GPDK45StrongARM schematic
SchematicDouble-tail schematic
EXPLORATION · Hướng thăm dò

Double-tail Dynamic Latch

BL/BLB → input stage → P/Q → latch stage → OUT/OUTB

Tách tầng input và tầng latch để (về lý thuyết) giảm kickback & hỗ trợ low-voltage. Nhưng trong hiện thực này, timing giữa hai tầng chưa tối ưu nên latch bật quá sớm — mismatch chi phối quyết định.

  • Output full-swing nhưng nhiều mẫu sai chiều
  • Monte-Carlo yield < 60% @30mV → không chọn
  • Bài học: topology chỉ là một nửa bài toán — timing quan trọng không kém
⚠ Không chọn làm topology chính — nhưng cho một bài học thiết kế giá trị.
EXTENDED · Đóng góp chính

Preamp-assisted StrongARM + NAND SR-latch

BL/BLB → dynamic preamp → H/HB → StrongARM core → SA_OUT → NAND SR-latch → OUT/OUTB

Thêm tầng tiền khuếch đại động để tăng sai biệt trước khi vào core, cùng NAND SR-latch giữ output static. Tách clock PCH / PA_EN tạo cửa sổ tiền khuếch đại rất ngắn trước SAE.

  • 98.8% yield @30mV (494/500) — vượt baseline 95.0%
  • Cải thiện rõ ở vùng moderate low-swing
  • Thêm bậc tự do về timing & sizing preamp
✓ Cải thiện yield đáng kể tại DVBL = 30mV sau khi tối ưu sizing (PA4).
Preamp + Core + SR-latchPreamp-assisted schematic
Kết quả & Số liệu

Số liệu mô phỏng tương tác

Toàn bộ rút ra từ Cadence Spectre. Di chuột (hoặc chạm) lên biểu đồ để xem chi tiết.

Bảng đầy đủ — Monte-Carlo yield (500 mẫu, Errors = 0)
DVBLStrongARMDouble-tailPreamp PA4Điều kiện
10 mV71.8%~50%59.6%VDD 0.8V · POL+1
30 mV95.0%<60%98.8%VDD 0.8V · POL+1
50 mV99.8%98.6%VDD 0.8V · POL+1
Bảng đầy đủ — Sizing final StrongARM (đơn vị: finger, Wunit=150nm, L=45nm)
NhómTransistorFingerVai trò
Input pairM1 / M212Nhận BL/BLB, tạo dòng vi sai
NMOS regenM3 / M48Phản hồi dương tại P/Q
PMOS regenM5 / M68Restore output về VDD
TailM710Điều khiển evaluate (SAE)
PrechargeS1–S42 / 3Reset node về VDD
Mô phỏng tương tác

Monte-Carlo Yield Explorer

Kéo các thanh trượt để xem yield thay đổi thế nào theo DVBL và VDD. Mô hình Gaussian được hiệu chỉnh theo chính số liệu đo của đồ án (σ_offset ≈ 18mV cho StrongARM).

18.0 mV
σ offset hiệu dụng
Số mẫu sai / 500

* Mô hình Gaussian hiệu chỉnh theo số liệu đo, dùng để minh họa trực quan — không phải mô phỏng Spectre trực tiếp.

95.0%
Yield ước lượng (quyết định đúng)
Cơ sở lý thuyết

Bốn pha hoạt động của StrongARM

Bấm từng pha để xem mạch khuếch đại một sai biệt mV thành mức logic rail-to-rail như thế nào.

Mismatch & định luật Pelgrom

Sai khác ngẫu nhiên giữa hai transistor tỉ lệ nghịch với căn bậc hai diện tích: σ(ΔVth) ≈ A_Vth / √(W·L). Vì vậy transistor lớn hơn → mismatch nhỏ hơn → đây là cơ sở để tăng sizing nhằm cải thiện yield.

σ(ΔVth) ∝ 1/√(W·L)

Input-referred offset

Offset quy đổi đầu vào chủ yếu đến từ mismatch cặp input M1/M2; mismatch của các cặp regen bị chia bớt bởi độ khuếch đại. Khi V_offset > DVBL, mạch quyết định sai bit — đây là giới hạn của vùng tín hiệu cực nhỏ.

V_offset > DVBL ⇒ flip
Bằng chứng mô phỏng

Ảnh chụp thực tế từ Cadence ADE

Waveform, bảng PVT corner và kết quả Monte-Carlo — chụp trực tiếp trong môi trường thiết kế. Bấm để phóng to.

Monte-Carlo 98.8% @30mVPreamp PA4 · 494/500 pass · Errors=0
Bảng PVT corner — pass9 góc TT/FF/SS × −40/25/125°C
Waveform StrongARMBL/BLB · SAE · OUT/OUTB rail-to-rail
Monte-Carlo 100% @50mV500/500 pass · Std Dev 167.7n
Waveform Preamp-assistedPreamp → core → SR-latch output
Monte-Carlo 59.6% @10mVGiới hạn vùng ultra-small swing
Quy trình thực hiện

Hành trình thiết kế

Bước 1 — Đặc trưng thiết bị

OP/DC unit transistor

Đo Id, gm, Vth, gm/Id của NMOS & PMOS đơn (GPDK45, LVT). Rút ra NMOS mạnh hơn PMOS ~75% về gm → cơ sở định lượng cho sizing.

Bước 2 — Sizing ban đầu

Logic sizing từ OP/DC

Sizing theo vai trò từng nhóm transistor, PMOS nhiều finger hơn NMOS ~1.6–1.8× để cân bằng strength.

Bước 3 — Baseline

Characterize StrongARM

Nominal sweep, VDD sweep, PVT corner và Monte-Carlo 500 mẫu. Xác lập mốc tham chiếu và làm rõ khác biệt nominal vs yield.

Bước 4 — Thăm dò

Double-tail dynamic latch

Khảo sát hướng tách input/latch, debug bằng waveform P/Q. Rút ra bài học về timing — không chọn làm topology chính.

Bước 5 — Mở rộng

Preamp-assisted + NAND SR-latch

Bring-up, tách clock PCH/PA_EN, tối ưu sizing PA4 → đạt 98.8% yield @30mV, vượt baseline.

Kỹ năng & Công cụ

Năng lực rút ra từ đồ án

Design

Transistor-level designStrongARM latchDynamic comparatorgm/Id sizingLow-power circuitsSRAM sensing

Tools & Tech

Cadence VirtuosoSpectreADEGPDK 45nmSPICE

Analysis

Monte-CarloPVT cornersMismatch / OffsetPelgrom modelYield analysisDelay / Energy
Hà Toàn Phú
Tác giả

Hà Toàn Phú

Sinh viên Kỹ thuật Điện tử · Định hướng Analog / Mixed-signal IC Design

Sinh viên trường ĐH Bách Khoa — ĐHQG TP.HCM, đam mê thiết kế mạch tích hợp tương tự ở mức transistor. Đồ án này phản ánh cách tôi tiếp cận một bài toán IC: bắt đầu từ đặc trưng thiết bị, xây dựng nền tảng sizing có cơ sở, rồi đánh giá nghiêm ngặt qua nominal, PVT và Monte-Carlo thay vì chỉ dựa vào một waveform đẹp.

Điều tôi tâm đắc nhất không phải một con số yield cao, mà là một quy trình đánh giá trung thực — biết phân biệt khi nào mạch thực sự robust và khi nào chỉ là "may mắn ở điều kiện lý tưởng".