Mạch chạy nhanh đến đâu
Đầu vào của cổng đảo sau là một tụ, nên điện áp ra của cổng đảo trước lên dần theo dạng sóng
Cổng của MOS cách si li con bằng ô xít nên là tụ; cổng đảo trước phải nạp nó, điện áp ra vẽ theo thời gian lên dần.
Gate capacitor (tụ cổng) có capacitance (điện dung) mà cổng đảo trước phải nạp. Điện áp vẽ theo thời gian là waveform (dạng sóng).
Xem lời đọc
Cổng của nMOS và pMOS cách si li con bằng lớp ô xít mỏng, nên là một cái tụ. Vậy đầu vào của cổng đảo sau là một tụ, ta gọi là tụ cổng. Điện dung cho biết tụ chứa được bao nhiêu điện tích cho mỗi vôn. Điện dung lớn thì cần nhiều điện tích hơn để điện áp đổi cùng một mức. Cổng đảo trước phải nạp điện cho tụ cổng này. Điện áp ở đầu ra của cổng đảo trước vẽ theo thời gian gọi là dạng sóng. Dạng sóng này không nhảy tức thì mà lên dần, từ không vôn tới một phẩy tám vôn.
Tụ MOS: bản trên là cổng, bản dưới là si li con, giữa là SiO₂. Tụ không cho dòng một chiều chạy xuyên qua (ở mô hình này), chỉ chứa điện tích; dòng nạp chạy vào bản tụ. Điện dung = điện tích ÷ điện áp (đơn vị fara); fF là femto fara, bằng 10⁻¹⁵ fara. Điện dung vào coi không đổi cho đơn giản; thật ra nó phụ thuộc điện áp và tăng thêm do hiệu ứng Miller (đầu ra đổi mức theo đầu vào). Dạng sóng là tên chung của đồ thị điện áp theo thời gian. Chip thật còn thêm điện dung dây và điện dung chính chân máng của chính cổng đảo. Thu nhỏ transistor làm bề mặt cổng nhỏ đi, tụ cổng nhỏ đi, nên mạch nhanh hơn.
Tụ cổng nạp qua điện trở bật nên điện áp lên chậm dần, theo hằng số thời gian bằng điện trở nhân điện dung
pMOS bật coi như điện trở bật nạp tụ; tụ càng đầy dòng càng nhỏ; sau một hằng số thời gian R × C = 10 ps (ví dụ) tụ đạt hơn sáu phần mười điện áp cấp.
Time constant (hằng số thời gian) bằng điện trở nhân điện dung, R × C. Sau chừng ấy thời gian tụ đạt khoảng 63 % điện áp cấp.
Xem lời đọc
Khi đầu vào xuống mức không, pMOS bật và dòng từ điện áp cấp nạp tụ cổng. Theo mô hình công tắc, pMOS bật coi như điện trở bật, ví dụ mười ki lô ôm. Tụ càng đầy thì dòng nạp càng nhỏ, nên điện áp lên chậm dần. Điện trở nhân điện dung gọi là hằng số thời gian. Sau một hằng số thời gian, tụ đã đầy hơn sáu phần mười. fF là đơn vị điện dung cực nhỏ. Ví dụ một fF nhân mười ki lô ôm bằng mười ps. Đây là xấp xỉ, vì ta coi điện trở bật không đổi suốt lúc nạp.
Mạch RC: dòng I = (V_DD − V_tụ) ÷ R nên giảm khi V_tụ tăng; lời giải V_tụ = V_DD × (1 − e^(−t/τ)), τ = R × C. Tại t = τ điện áp tụ đạt 63 % V_DD (≈ 1,14 V, ví dụ). Mô hình này gọi là bậc nhất vì chỉ có MỘT hằng số thời gian. Điện trở bật thật đổi theo điện áp (đặc tuyến cong); coi không đổi là xấp xỉ, đủ để ước lượng. pMOS làm rộng hơn nMOS nên điện trở bật hai loại coi như bằng nhau (lỗ trống chạy chậm hơn electron). 10 kΩ và 1 fF là hai số ví dụ trong bậc độ lớn thật của cổng đảo, chọn độc lập; R × C = 10⁴ Ω × 10⁻¹⁵ F = 10⁻¹¹ s = 10 ps. Khi đầu vào lên mức một, nMOS xả tụ theo cùng quy luật.
Trễ là khoảng thời gian từ lúc đầu vào đổi tới lúc đầu ra qua nửa điện áp cấp, cỡ bảy phần mười hằng số thời gian
Trong mô hình, đầu vào đổi tức thì; đo trễ tại nửa điện áp cấp (0,9 V); với hằng số thời gian 10 ps (ví dụ) trễ ≈ 7 ps; điện trở hoặc điện dung lớn hơn thì trễ lớn hơn.
Propagation delay (trễ) đo tại nửa điện áp cấp. Tụ nạp tới nửa điện áp cấp mất cỡ 0,69 hằng số thời gian.
Xem lời đọc
Trong mô hình này, đầu vào đổi tức thì, còn điện áp ra chỉ lên dần. Trễ là khoảng thời gian từ lúc đầu vào đổi tới lúc đầu ra đi qua nửa điện áp cấp. Với điện áp cấp một phẩy tám vôn, nửa điện áp cấp là không phẩy chín vôn. Tụ nạp tới nửa điện áp cấp mất cỡ bảy phần mười hằng số thời gian. Với hằng số thời gian mười ps, trễ cỡ bảy ps. Điện trở hoặc điện dung lớn hơn thì trễ lớn hơn.
Điện áp tụ V_DD × (1 − e^(−t/τ)) = V_DD ÷ 2 cho t = τ × ln 2 ≈ 0,693 τ; 0,693 × 10 ps ≈ 7 ps (ví dụ). Cách đo chuẩn: đầu vào và đầu ra cùng tại 50 % điện áp cấp; mô hình này coi đầu vào đổi tức thì ở t = 0. Cổng thật còn phụ thuộc độ dốc của đầu vào; trễ lên (nạp qua pMOS) và trễ xuống (xả qua nMOS) có thể khác nhau, nên số trễ trong thư viện thường là giá trị cho từng chiều. Mô hình 0,69 R × C là xấp xỉ.
Một cổng đảo nối tới nhiều cổng đảo sau thì các tụ cổng cộng lại, nên điện dung và trễ tăng theo
Các tụ cổng nối song song cùng một nút nên điện dung cộng lại; fan-out 4 thì tải gấp bốn, trễ gấp bốn trong mô hình.
Fan-out là số cổng sau mà một đầu ra nối tới. Thứ đầu ra phải nạp điện là load (tải).
Xem lời đọc
Một cổng đảo có thể nối đầu ra vào đầu vào của nhiều cổng đảo sau. Số cổng đảo sau mà một đầu ra nối tới gọi là fan-out. Mỗi cổng đảo sau là một tụ cổng, và các tụ này nối song song với nhau. Các tụ nối song song thì diện tích bản cộng lại, nên điện dung cộng lại. Ví dụ fan-out bằng bốn, mỗi tụ một fF. Thứ mà đầu ra phải nạp điện gọi là tải. Tải thành bốn fF, hằng số thời gian thành bốn mươi ps. Trong mô hình này trễ cũng gấp bốn lần, cỡ hai mươi tám ps.
Ví dụ fan-out 4: 4 × 1 fF = 4 fF; hằng số thời gian 10 kΩ × 4 fF = 40 ps; trễ ≈ 0,69 × 40 ps ≈ 28 ps (ví dụ). Mô hình chỉ cộng tụ cổng; chip thật thêm điện dung dây nối và điện dung chân máng của chính cổng đảo trước, nên trễ không đúng gấp bốn. Mạch số hạn chế fan-out hoặc dùng khối kéo lớn để giữ trễ vừa phải; chuỗi khối kéo tăng dần kích thước (buffer chain) là cách đã được dùng khi tải rất lớn. Thu nhỏ transistor làm tụ cổng nhỏ đi, nên cùng fan-out nhưng trễ giảm.
Làm cổng đảo rộng hơn giảm điện trở bật nhưng tăng điện dung đầu vào, nên lợi khi tải lớn và có thể thiệt khi tải nhỏ
Ba khối nối tiếp (cổng đảo trước, cổng đảo làm rộng, tải); gấp đôi bề rộng thì R_on giảm một nửa, C vào gấp đôi; tổng hằng số thời gian giảm chỉ khi tải đủ lớn.
Tăng width (bề rộng) giảm điện trở bật nhưng tăng điện dung đầu vào. Lợi hay thiệt tùy tải.
Xem lời đọc
Ba khối nối tiếp gồm cổng đảo trước, cổng đảo làm rộng, tải. Gấp đôi bề rộng thì điện trở bật giảm một nửa. Nhưng điện dung đầu vào tăng gấp đôi, nên cổng đảo trước chậm đi. Cộng hằng số thời gian của hai cổng đảo ta được tổng hằng số thời gian. Trong mô hình này, ví dụ tải một fF, tổng hằng số thời gian tăng. Nếu tải lớn, ví dụ hai mươi fF, rộng hơn có lợi. Tổng ấy giảm từ hai trăm mười xuống một trăm hai mươi ps. Vậy tăng bề rộng lợi khi tải lớn, và có thể thiệt khi tải nhỏ.
Chuỗi ví dụ: cổng đảo trước (R = 10 kΩ) → cổng đảo làm rộng → tải. Mô hình: R_on tỉ lệ 1 ÷ bề rộng (hai đường dòng song song), điện dung vào tỉ lệ bề rộng. Tổng hằng số thời gian = R_trước × C_vào của cổng đảo rộng + R_rộng × C_tải. Tải 1 fF: trước khi rộng, 10 kΩ × 1 fF + 10 kΩ × 1 fF = 20 ps; rộng gấp đôi: 10 kΩ × 2 fF + 5 kΩ × 1 fF = 20 + 5 = 25 ps (tăng). Tải 20 fF: trước: 10 ps + 10 kΩ × 20 fF (200 ps) = 210 ps; rộng gấp đôi: 20 ps + 5 kΩ × 20 fF (100 ps) = 120 ps (giảm). Đây là TỔNG hằng số thời gian, chưa nhân 0,69: trễ ≈ 0,69 lần các số này. Ví dụ tải 1 fF 'thiệt' (20 → 25 ps) phụ thuộc việc bỏ qua điện dung chân máng của chính cổng đảo rộng (thực tế nó cũng tăng theo bề rộng, làm lợi ít hơn), nên chỉ đúng trong mô hình này. pMOS làm rộng hơn nMOS nên R_on hai loại coi như bằng nhau. Hệ số tối ưu của chuỗi buffer tùy công nghệ. Tải đủ lớn để rộng hơn có lợi là bao nhiêu thì tùy công nghệ, nên chỉ nói 'lợi khi tải lớn'. Hai ô thanh trên hình có thang thời gian riêng: thanh của ô tải nhỏ (20 → 25 ps) và thanh của ô tải lớn (210 → 120 ps) không so với nhau, chỉ so thanh cũ với thanh mới trong từng ô.
Ba cổng đảo nối vòng đổi mức liên tục, nên đo thời gian lặp lại rồi chia cho sáu ra trễ trung bình của một cổng đảo
Số lẻ cổng đảo nối vòng không có mức yên; một lần lặp mất 2 × 3 lần trễ; chia ra trễ trung bình một cổng.
Ring oscillator (vòng dao động) là số lẻ cổng đảo nối vòng. Mạch đổi mức liên tục, dùng để đo trễ.
Xem lời đọc
Ta nối ba cổng đảo thành vòng, đầu ra của cổng đảo cuối quay về cổng đảo đầu. Ba lần đảo cho kết quả đảo, nên vòng không có mức nào đứng yên. Điện áp ở mỗi đầu ra cứ đổi mức liên tục, nên gọi là vòng dao động. Một lượt đi quanh vòng mất ba lần trễ và đảo mức, nên cần hai lượt để lặp lại. Ta chia thời gian lặp lại cho sáu, được trễ trung bình của một cổng đảo. Trung bình ấy tính chung lúc lên và lúc xuống. Ví dụ trễ bảy ps thì lặp lại sau bốn mươi hai ps.
Số cổng lẻ N: một lượt đi quanh vòng đảo mức nên cần hai lượt lặp lại, thời gian lặp = 2 × N × trễ; N = 3: 6 × 7 ps = 42 ps (ví dụ). Số chẵn thì vòng giữ yên ở một trong hai trạng thái. Trễ đo được là trung bình của trễ lên và trễ xuống, với fan-out 1 và điện dung dây của vòng; mạch thật làm vòng dài, ví dụ vài chục cổng đảo, để đo được và dùng đo chất lượng công nghệ. Mô hình lý tưởng; vòng thật cần đủ độ khuếch đại để dao động.
Mạch nhiều cổng NAND ổn định sau trễ của đường dài nhất, nên hai lần đổi đầu vào nên cách nhau ít nhất cỡ trễ ấy
Trong XOR bốn NAND, đường dài nhất qua ba cổng NAND; NAND ① có fan-out 2 nên trễ gấp đôi: 14 + 7 + 7 = 28 ps (ví dụ).
Critical path (đường dài nhất) là chuỗi cổng NAND nối tiếp có tổng trễ lớn nhất từ đầu vào tới đầu ra.
Xem lời đọc
Một đường là chuỗi cổng NAND nối tiếp từ đầu vào tới đầu ra. Đường có tổng trễ lớn nhất gọi là đường dài nhất. Mạch XOR dựng từ bốn cổng NAND có đường dài nhất qua ba cổng NAND. Ví dụ cổng NAND có fan-out bằng một thì trễ bảy ps. Cổng NAND thứ nhất có fan-out bằng hai, nên trễ mười bốn ps. Đường dài nhất mất mười bốn cộng bảy cộng bảy, tức hai mươi tám ps. Muốn đọc đầu ra đúng, ta phải chờ đường dài nhất ổn định. Vậy hai lần đổi đầu vào nên cách nhau ít nhất cỡ trễ của đường dài nhất.
Dùng lại XOR bốn NAND (①–④: ① nối tới ② và ③; ② và ③ cùng nối tới ④). Đường: vào 1 → ① → ② → ④ (ba cổng NAND) và vào 2 → ① → ③ → ④ (ba cổng NAND), cả hai dài nhất; vào 1 → ② → ④ hoặc vào 2 → ③ → ④ (hai cổng NAND) ngắn nhất, 7 + 7 = 14 ps. Cách tính theo mô hình fan-out: NAND có fan-out 1 trễ 7 ps (ví dụ); ① nối tới hai cổng NAND (② và ③) nên fan-out 2, tải gấp đôi, trễ gấp đôi 14 ps; ② nối tới một cổng NAND (④) nên 7 ps; ④ nối tới đầu ra (tải một cổng) nên 7 ps. Đường dài nhất = 14 + 7 + 7 = 28 ps. NAND hai đầu vào thực tế chậm hơn cổng đảo (chuỗi nMOS nối tiếp), nên 7 ps chỉ để tính. Hai lần đổi đầu vào còn cần thêm biên an toàn. 'Đường dài nhất' trong thiết kế còn gọi đường tới hạn. Chip hàng tỉ cổng có đường dài hàng chục cổng; cách rút ngắn đường là một lĩnh vực riêng.
Mạch có trễ thì các tầng đổi lệch nhau, nên tín hiệu của hai lần đổi đầu vào có thể lẫn vào nhau
Mỗi tầng đổi sau tầng trước một trễ; đầu vào mới đến sớm thì các tầng mang tín hiệu của hai lần đổi khác nhau; đầu ra chỉ đúng sau 28 ps (ví dụ); chỉ nêu vấn đề.
Mỗi stage (tầng) là một cổng NAND trên một đường. Các tầng đổi lệch nhau vì trễ.
Xem lời đọc
Ta gọi mỗi cổng NAND trên một đường là một tầng. Mỗi tầng chờ tầng trước ổn định mới nhận được đầu vào đúng, nên các tầng đổi lệch nhau. Ví dụ ba tầng đổi lúc mười bốn, hai mươi mốt, hai mươi tám ps. Đầu vào mới đến lúc mười tám ps, khi tầng ba chưa đổi theo lần đổi đầu. Sau đó có lúc tầng một mang lần đổi sau, còn tầng ba vẫn mang lần đổi đầu. Đầu ra chỉ đúng sau hai mươi tám ps, nên trong lúc đó có thể sai tạm. Vậy ta đọc đầu ra vào lúc nào?
Ba tầng ví dụ (đường dài nhất qua ①, ②, ④): đổi lúc 14, 21, 28 ps (ví dụ), tức 14, 14 + 7, 14 + 7 + 7. Lần đổi đầu vào đầu tiên ở t = 0, đầu vào mới (lần đổi sau) lúc 18 ps. Lúc 18 ps tầng 1 đã theo lần đổi đầu (từ 14 ps), tầng 2 và 3 chưa. Lần đổi sau làm tầng 1 đổi lại lúc 32 ps, tầng 2 lúc 39 ps, tầng 3 lúc 46 ps. Ví dụ lúc 35 ps: tầng 1 mang lần đổi sau, tầng 2 và 3 mang lần đổi đầu; vì ② nhận cả ① lẫn đầu vào nên đầu ra có thể nhảy sai tạm. Màu trong hình: xám = chưa đổi, hai màu còn lại = theo lần đổi đầu / lần đổi sau (chữ nhỏ 'đầu', 'sau' trong khối).
Số liệu
- Loại số liệu: bài này không có số từ mô phỏng TCAD. Mọi số trên hình là VÍ DỤ minh họa, hình ghi "(ví dụ)" hoặc "≈": điện trở bật 10 kΩ, điện dung vào một cổng đảo 1 fF, hằng số thời gian 10 ps, trễ ≈ 7 ps. Số ví dụ không phải số DEVSIM. 10 kΩ và 1 fF là hai số ví dụ trong bậc độ lớn thật của một cổng đảo, chọn độc lập với nhau.
- Điện áp cấp 1,8 V: chọn bằng điện áp máng lớn nhất của mô phỏng mẫu (DEVSIM, một nMOS 180 nm); mỗi công nghệ chọn điện áp cấp riêng.
- Cảnh 2 và 3, mạch RC bậc nhất: dòng nạp I = (V_DD − V_tụ) ÷ R, lời giải V_tụ = V_DD × (1 − e^(−t/τ)) với τ = R × C = 10⁴ Ω × 10⁻¹⁵ F = 10⁻¹¹ s = 10 ps. Tại t = τ điện áp tụ đạt 63 % V_DD ≈ 1,14 V (ví dụ). Điện áp tụ bằng một nửa V_DD (0,9 V) tại t = τ × ln 2 ≈ 0,693 τ = 6,93 ps, làm tròn 7 ps (ví dụ). Điện trở bật coi không đổi nên đây là xấp xỉ; kết quả này là kiến thức chuẩn của giáo trình mạch số (Rabaey, Weste–Harris).
- Cảnh 4, fan-out: tải 4 × 1 fF = 4 fF, hằng số thời gian 10 kΩ × 4 fF = 40 ps, trễ ≈ 0,693 × 40 ps ≈ 27,7 ps, làm tròn 28 ps (ví dụ). Mô hình chỉ cộng tụ cổng; chip thật còn điện dung dây và điện dung chân máng nên trễ không đúng gấp bốn.
- Cảnh 5, tăng bề rộng: điện trở bật tỉ lệ nghịch với bề rộng, điện dung vào tỉ lệ thuận. Tải 1 fF: trước 10 kΩ × 1 fF + 10 kΩ × 1 fF = 20 ps; rộng gấp đôi 10 kΩ × 2 fF + 5 kΩ × 1 fF = 20 + 5 = 25 ps. Tải 20 fF: trước 10 + 10 kΩ × 20 fF (200) = 210 ps; rộng gấp đôi 20 + 5 kΩ × 20 fF (100) = 120 ps. Đây là TỔNG hằng số thời gian, chưa nhân 0,69 (ví dụ). Hai ô thanh trên hình mỗi ô một thang riêng.
- Cảnh 6, vòng dao động: số lẻ N cổng đảo nối vòng, thời gian lặp lại = 2 × N × trễ; N = 3 và trễ 7 ps cho 42 ps (ví dụ). Kiến thức chuẩn của giáo trình mạch số (Rabaey, Weste–Harris).
- Cảnh 7 và 8, đường dài nhất: XOR dựng từ bốn cổng NAND; cổng NAND có fan-out bằng một thì trễ 7 ps (ví dụ), cổng NAND thứ nhất nối tới hai cổng NAND sau nên fan-out bằng hai, trễ 2 × 7 = 14 ps; đường qua ba cổng NAND dài nhất: 14 + 7 + 7 = 28 ps (ví dụ). Cảnh 8: ba tầng đổi lúc 14, 14 + 7 = 21 và 14 + 7 + 7 = 28 ps; đầu vào mới lúc 18 ps làm tầng một đổi lại lúc 18 + 14 = 32 ps, tầng hai lúc 18 + 21 = 39 ps, tầng ba lúc 18 + 28 = 46 ps (ví dụ).