Góc quy trình và biến thiên
Một bộ số chưa mô tả được mọi chip, vì hai chip cùng thiết kế vẫn không giống nhau
Chế tạo không hoàn hảo nên mỗi linh kiện lệch một chút; mạch phải chịu được sự lệch đó.
Cùng một thiết kế, mỗi chip và mỗi transistor vẫn lệch kích thước và pha tạp nhẹ, nên điện áp ngưỡng và dòng lệch theo.
Xem lời đọc
Một bộ số chưa mô tả được mọi chip. Hai chip cùng một thiết kế, cắt từ hai tấm silicon, chạy nhanh chậm khác nhau. Thậm chí hai transistor nằm cạnh nhau trên cùng một chip cũng không giống hệt. Nguyên nhân là chế tạo không hoàn hảo, nên kích thước và pha tạp lệch nhẹ mỗi lần. Điện áp ngưỡng và dòng điện vì thế đổi theo từng linh kiện. Mạch muốn chạy đúng thì thiết kế phải chịu được cả những lệch thường gặp. Ta cần biết lệch đến đâu, và cách mô phỏng tính nó.
Nguyên nhân gốc là biến thiên chế tạo (kích thước, pha tạp, lớp mỏng không đều), cùng nguồn gốc với năng suất (yield) khi chế tạo. Hình định tính, chưa có số; số đo thật hiện ở cảnh 2, 5, 6.
Điện áp ngưỡng của nhiều transistor tạo một phân bố hình chuông, có giữa và độ rộng
Đo nhiều linh kiện, đếm theo mức, ra hình chuông; giữa là trung bình, độ rộng là mức lệch.
Phân bố (distribution) là đồ thị số linh kiện theo từng mức đo; thường có hình chuông.
Xem lời đọc
Đo điện áp ngưỡng của nhiều transistor cùng thiết kế rồi đếm có bao nhiêu cái ở mỗi mức. Kết quả là một hình chuông gọi là phân bố. Đa số transistor nằm gần giữa chuông, ít cái nằm xa hai bên. Giữa chuông là giá trị trung bình, ứng với bộ số duy nhất của mô hình compact. Độ rộng chuông cho biết transistor lệch nhau nhiều hay ít. Tốc độ của chip cũng có một chuông như vậy.
Dữ liệu giả lập: 300 nMOS (L 0,15 µm, W 0,65 µm) cùng thiết kế, thư viện SKY130 bản có lệch riêng từng transistor, ngspice 42 (`b7-chay.py`). V_th trích bằng độ dốc cực đại như bài 6: trung bình 0,741 V, độ lệch chuẩn 14,9 mV, từ 0,689 V đến 0,790 V. Hình chuông là mô hình hóa thông dụng; chỉ dạy giữa và độ rộng. Chuông tốc độ ở câu 6 lấy từ 200 lần chạy cổng đảo (cảnh 6).
Năm góc quy trình tt, ff, ss, fs, sf là các điểm ở mép phân bố mà thiết kế phải đạt
Chọn vài điểm ở mép chuông tốc độ nMOS và pMOS; mỗi điểm là một bộ tham số cố định cho mô phỏng.
Góc quy trình (process corner) là một bộ tham số cố định ở mép phân bố; chữ đầu chỉ nMOS, chữ sau chỉ pMOS, f là nhanh, s là chậm, t là điển hình.
Xem lời đọc
Thiết kế không thể thử từng chip, nên ta chọn vài điểm ở mép của chuông tốc độ. Mỗi điểm như thế gọi là một góc quy trình. Góc tt là bộ số trung bình, còn gọi là điển hình. Góc ff là cả nMOS và pMOS đều nhanh. Góc ss là cả hai đều chậm. Hai loại còn có thể lệch ngược nhau, nMOS nhanh pMOS chậm là fs, ngược lại là sf. Năm góc này bao quanh phần lớn chip có thể gặp.
Vị trí chấm từ dòng bật I_on (V_G = V_D = 1,8 V) của nMOS/pMOS ở từng góc, SKY130, ngspice 42: nMOS tt 335, ff 414, ss 256, fs 250, sf 420 µA; pMOS tt 201, ff 265, ss 140, fs 266, sf 135 µA. Xưởng định nghĩa góc ở vài lần độ rộng quanh giữa (sigma). Góc chỉ phủ biến thiên cả chip, chưa gồm lệch riêng từng linh kiện (xem cảnh 6).
Quy trình, điện áp và nhiệt độ ghép lại thành PVT, và thiết kế phải đạt ở mọi tổ hợp
Tốc độ còn phụ thuộc điện áp cấp và nhiệt độ; mỗi thứ lấy vài nấc thì số tổ hợp nhân lên.
PVT (process, voltage, temperature) là bộ ba quy trình, điện áp cấp, nhiệt độ; mỗi bộ ba là một điều kiện chạy.
Xem lời đọc
Tốc độ của chip còn phụ thuộc điện áp cấp và nhiệt độ lúc chạy. Điện áp cấp có thể sụt nhẹ, và chip lúc nóng lúc nguội. Quy trình, điện áp và nhiệt độ ghép lại gọi là PVT. Mỗi thứ lấy vài nấc, nên số tổ hợp nhân lên rất nhanh. Ví dụ ba nấc mỗi thứ đã cho hai mươi bảy tổ hợp. Thiết kế phải đạt ở mọi tổ hợp, không chỉ ở tổ hợp điển hình. Với cổng mẫu này, trễ lên lớn nhất ở góc ss, điện áp cấp nhỏ nhất, và lạnh nhất.
27 = 3 × 3 × 3 là ví dụ, ba nấc quy trình là tt, ff, ss (năm góc thì 5 × 3 × 3); không phải số của xưởng. Số thật (SKY130, ngspice 42, cổng đảo mẫu, điện áp 1,62 / 1,8 / 1,98 V, nhiệt độ −40 / 27 / 125 °C): trễ lên lớn nhất 149,7 ps ở ss, 1,62 V, −40 °C (pMOS yếu đi khi lạnh); trễ xuống lớn nhất 90,6 ps ở ss, 1,62 V, 125 °C; nhanh nhất ff, 1,98 V, 125 °C (xuống 44,6 ps) hoặc ff, 1,98 V, 27 °C (lên 59,5 ps). Nghĩa là chiều xấu nhất của nhiệt độ phụ thuộc vào đầu ra đi lên hay đi xuống nên phải chạy cả hai đầu. Với dòng rò và kiểm tra giữ dữ liệu thì ff, điện áp lớn, nóng mới xấu nhất.
Cùng một cổng đảo, trễ ở góc ss lớn hơn ff hơn một lần rưỡi
Giữ nguyên mạch, chỉ đổi góc quy trình, điện áp cấp một phẩy tám vôn: trễ xuống và lên đổi theo ff, tt, ss.
Chạy ba lần cùng mạch cổng đảo ở ff, tt, ss, rồi đo trễ đầu ra xuống và lên.
Xem lời đọc
Ta chạy lại cổng đảo, giữ nguyên kích thước và tải mười phem tô fa ra. Chỉ đổi góc quy trình, ở điện áp cấp một phẩy tám vôn. Góc tt cho đầu ra xuống trong năm mươi sáu pi cô giây, và lên trong tám mươi mốt. Góc ff nhanh hơn, xuống bốn mươi lăm và lên sáu mươi lăm. Góc ss chậm hơn, xuống bảy mươi và lên một trăm linh tám. Góc ss chậm hơn góc ff hơn một lần rưỡi, dù mạch hoàn toàn giống nhau. Chu kỳ xung nhịp phải đủ dài để cả đường dài nhất kịp ổn định ở góc ss.
SKY130, ngspice 42, 06/11/2026; `nghien-cuu/spice-thu/thu1.sh`. ff 45/65, tt 56/81, ss 70/108 ps (xuống/lên; t_pHL/t_pLH). Tự tính: 70 ÷ 45 ≈ 1,56 và 108 ÷ 65 ≈ 1,66, cả hai hơn 1,5. 1,8 V, tải 10 fF, nhiệt độ mặc định thư viện. Mạch dùng bộ tên khóa: nút `vdd vao ra 0`, `XMP`, `XMN`, `CL`. fs đã chạy: xuống 72 ps, lên 63 ps; sf: xuống 43 ps, lên 111 ps (hai góc lệch ngược nhau, một chiều chậm một chiều nhanh); hình chỉ vẽ ff, tt, ss.
Monte Carlo chạy hàng trăm lần với tham số rút ngẫu nhiên và cho ra phân bố của trễ
Góc chỉ là điểm ở mép; Monte Carlo chạy lặp, mỗi lần rút ngẫu nhiên theo chuông, rồi gom trễ thành phân bố.
Monte Carlo là cách chạy mô phỏng lặp nhiều lần, mỗi lần rút ngẫu nhiên tham số theo phân bố của chúng, rồi gom kết quả.
Xem lời đọc
Góc chỉ là vài điểm ở mép, chưa cho biết cả chuông trông ra sao. Cách khác là Monte Carlo, chạy mô phỏng hàng trăm lần liên tiếp. Mỗi lần, tham số của từng transistor được rút ngẫu nhiên theo chuông. Mỗi lần chạy cho một giá trị trễ, và hàng trăm lần cho hàng trăm giá trị. Xếp các giá trị đó lại, ta được chuông phân bố của trễ. Từ chuông này ta đọc trễ trung bình và độ rộng. Từ đó ta thấy bao nhiêu lần chạy có trễ nhỏ hơn giới hạn.
N = 200 lần chạy cổng đảo (SKY130, thư viện bản có lệch riêng từng transistor, ngspice 42): trễ xuống trung bình 55,8 ps, độ lệch chuẩn 1,1 ps; trễ lên trung bình 81,2 ps, độ lệch chuẩn 2,7 ps, từ 73,0 đến 89,3 ps. Thư viện chỉ có lệch riêng từng transistor nên lời nói đúng như vậy; lệch này chỉ cỡ 3 % trễ, nhỏ hơn nhiều so với chênh giữa các góc (ss lớn hơn ff hơn 1,5 lần). Giới hạn trên hình là giá trị chọn để minh họa. Kết quả chỉ là một cổng đảo mẫu, không phải cả chip. Lệch cặp (mismatch): sự khác nhau ngẫu nhiên giữa hai linh kiện cạnh nhau; khác góc ở chỗ góc dịch cả chip cùng hướng. Quy luật Pelgrom: lệch của hiệu V_th ≈ A_VT ÷ √(W·L), nên diện tích lớn thì lệch cặp nhỏ; mạch cần khớp (ô SRAM, cặp vi sai) vẽ lớn hơn. Nguồn: [designers-guide](https://designers-guide.org/Forum/Attachments/Transistor_matching_in_analog_CMOS_applications_.pdf). Nếu thêm hình sau thì lấy số đo từ `mismatch-cap-nmos.sp`, không vẽ tay.
Chạy qua mô phỏng nghĩa là chạy nhiều tổ hợp và còn biên, nên ta cần mô hình đáng tin
Qua mọi góc, PVT và Monte Carlo, kết quả xấu nhất vẫn dưới giới hạn một khoảng gọi là biên; vấn đề mới là đường đi của mô hình.
Biên (margin) là phần còn dư giữa kết quả xấu nhất và giới hạn yêu cầu.
Xem lời đọc
Vậy chạy qua mô phỏng nghĩa là chạy nhiều góc, nhiều điện áp, nhiều nhiệt độ. Cộng thêm Monte Carlo cho phần lệch ngẫu nhiên. Mỗi lần chạy, ta so kết quả với yêu cầu, ví dụ trễ phải nhỏ hơn giới hạn. Phần còn dư giữa kết quả xấu nhất và giới hạn gọi là biên. Biên càng lớn thì càng an toàn, nhưng chip chạy chậm hơn. Vấn đề mới là mô hình đến tay thiết kế viên bằng đường nào, và có chuẩn chung không.
Sơ đồ margin định tính, không số. Biên lớn đổi lấy chip chậm hơn hoặc tốn diện tích; biên nhỏ thì rủi ro chip sai. Câu cuối khớp cột 'Vấn đề MỚI' của đề cương; bài kế trả lời đường đi (PDK) và chuẩn chung.
Số liệu
- Dữ liệu trong bài là dữ liệu giả lập: chạy ngspice 42 trên thư viện mở SKY130 (SkyWater, 130 nm), bản có lệch riêng từng transistor. Đây không phải số đo thật của xưởng. Lệch riêng từng transistor chỉ cỡ 3 % trễ, nhỏ hơn nhiều so với chênh giữa các góc.
- Điện áp ngưỡng V_th của 300 nMOS (L = 0,15 µm, W = 0,65 µm) cùng thiết kế: trung bình 0,741 V, độ lệch chuẩn 14,9 mV, từ 0,689 V đến 0,790 V (trích bằng độ dốc cực đại như bài 6).
- Trễ cổng đảo ở 1,8 V, 27 °C, tải 10 fF: ff 45 ps xuống và 65 ps lên; tt 56 và 81 ps; ss 70 và 108 ps; fs (nMOS nhanh, pMOS chậm) 43 và 111 ps; sf (nMOS chậm, pMOS nhanh) 72 và 63 ps. Hình chỉ vẽ ff, tt, ss. Trong file thư viện SKY130 hai tên fs và sf đang đảo so với quy ước chữ đầu là nMOS; bài gán tên theo dòng bật đo được.
- Tổ hợp PVT chậm nhất: trễ lên 149,7 ps ở góc ss, 1,62 V, −40 °C (pMOS yếu đi khi lạnh). Trễ xuống lớn nhất 90,6 ps ở ss, 1,62 V, 125 °C; nhanh nhất ff, 1,98 V, 125 °C với trễ xuống 44,6 ps.
- Monte Carlo 200 lần chạy cổng đảo: trễ xuống 55,8 ± 1,1 ps; trễ lên 81,2 ± 2,7 ps, từ 73,0 đến 89,3 ps. Giới hạn 86 ps trên hình là giá trị chọn để minh họa; 95,5 % lần chạy có trễ lên dưới 86 ps.
- Góc quy trình là bộ tham số cố định cho cả chip; Monte Carlo là lệch ngẫu nhiên từng transistor. Lệch cặp (mismatch) giữa hai linh kiện cạnh nhau khác với góc: theo quy luật Pelgrom, lệch của hiệu V_th ≈ A_VT ÷ √(W·L), nên transistor lớn có lệch cặp nhỏ hơn.