Viết netlist và bốn loại phân tích

Cùng một cổng đảo, bốn câu hỏi khác nhau cần bốn loại phân tích khác nhau

Netlist chỉ mô tả mạch; hỏi điều gì thì phải chọn loại phân tích.

Một mạch, bốn câu hỏi, bốn loại phân tích: mỗi loại là một cách tính cho một kiểu câu hỏi.

Xem lời đọc

Muốn dùng SPICE, ta phải viết netlist và chọn loại phân tích. Netlist chỉ mô tả mạch, chưa nói ta muốn hỏi điều gì. Với cùng một cổng đảo, ta có thể hỏi bốn câu khác nhau. Khi đứng yên, các điện áp bằng bao nhiêu? Quét điện áp vào chậm thì điện áp ra đi thế nào? Một xung vào làm điện áp ra đổi theo thời gian ra sao? Tín hiệu đổi nhanh dần thì mạch còn đáp ứng không? Mỗi câu hỏi cần một cách tính riêng.

Bốn loại này là bốn loại cơ bản của họ SPICE; còn nhiều loại khác, chưa nói. Nguồn: hướng dẫn ngspice (Analyses and Output Control).

Viết netlist cổng đảo là gọi tên nút ngay trên từng dòng linh kiện, rồi chọn loại phân tích

Netlist có dòng tiêu đề, các dòng linh kiện kèm nút nối, một dòng thư viện và một lệnh phân tích.

Mỗi linh kiện một dòng, kèm các nút nó nối; nút xuất hiện khi ta gọi tên nó. Dòng lệnh cuối chọn loại phân tích.

Xem lời đọc

Dòng đầu của netlist chỉ là tiêu đề, máy bỏ qua. Sau đó mỗi linh kiện một dòng, gọi tên các nút nó nối. Có bốn nút, gồm nút cấp, nút vào, nút ra và nút đất. Có năm dòng linh kiện, gồm pin cấp, pin vào, pMOS, nMOS và tụ tải. Kích thước của transistor ghi ngay trên dòng của nó. Một dòng nạp thư viện của xưởng, nơi có mô tả transistor. Cuối cùng là một lệnh chọn loại phân tích. Đổi lệnh này thì cùng mạch cho ra câu trả lời khác.

SPICE không có dòng khai báo nút: nút sinh ra khi xuất hiện trên dòng linh kiện. Nút `0` luôn là đất. Tiền tố cho biết loại: V pin, C tụ, X transistor lấy từ thư viện. `10f` là mười phem tô fa ra. Dòng bắt đầu bằng `+` nối tiếp dòng trên. `tt` là bộ tham số điển hình, sẽ nói ở bài về góc quy trình. Mã chạy được ở `ma-mau/`.

Phân tích điểm làm việc cho điện áp mọi nút và dòng mọi nhánh khi các pin giữ nguyên

Điểm làm việc là vài con số, không phải đường cong; vào ở mức không, giữa, hoặc điện áp cấp cho kết quả rất khác.

Operating point (điểm làm việc) là điện áp từng nút và dòng từng nhánh khi mọi pin giữ nguyên. Lệnh `.op` ra vài con số.

Xem lời đọc

Câu hỏi đầu là khi mọi thứ đứng yên, mạch đang ở đâu. Câu trả lời gọi là điểm làm việc. Đó là điện áp của từng nút và dòng của từng nhánh, khi các pin giữ nguyên. Đặt điện áp vào bằng không vôn, máy cho điện áp ra gần điện áp cấp. Dòng lấy từ pin cấp chỉ cỡ dòng rò. Đặt điện áp vào ở giữa, cả hai transistor cùng dẫn và dòng cấp lớn hơn nhiều. Đặt điện áp vào bằng điện áp cấp, nMOS dẫn và điện áp ra gần không. Kết quả là vài con số, không phải một đường cong.

Còn gọi là điểm làm việc DC: tính khi mọi thứ đứng yên; mọi phân tích khác của SPICE bắt đầu từ nó. Vào 0,9 V là điểm giữa (1,8 ÷ 2); pMOS rộng hơn nMOS nên điểm đảo thật lệch khỏi 0,9 V, số lấy khi chạy.

Phân tích quét tăng dần điện áp vào rồi nối các điểm làm việc thành đặc tuyến truyền đạt điện áp

Quét là lặp điểm làm việc cho nhiều điện áp vào; kết quả đúng hình đặc tuyến quen, nhưng là đường mô phỏng thật.

DC sweep (phân tích quét) đổi một pin từng bước nhỏ và ghi kết quả ở mỗi bước. Đường điện áp ra theo điện áp vào chính là đặc tuyến truyền đạt điện áp.

Xem lời đọc

Nếu ta chạy điểm làm việc nhiều lần, mỗi lần đổi điện áp vào một chút thì sao? Đó chính là phân tích quét. Ta khai báo pin nào đổi, từ bao nhiêu đến bao nhiêu, và mỗi bước bao nhiêu. Máy tính điểm làm việc ở từng giá trị rồi nối các điểm thành đường. Đường ra là đặc tuyến truyền đạt điện áp, dốc đứng quanh điểm đảo. Hình dạng quen thuộc, nhưng lần này là kết quả mô phỏng thật. Vẽ thêm dòng cấp, ta thấy dòng lớn nhất gần chỗ đường dốc nhất.

DC là dòng một chiều: pin giữ nguyên ở mỗi bước quét. Điểm đảo là chỗ ra bằng vào; pMOS rộng hơn nên không nhất thiết đúng 0,9 V. Dòng cấp lớn nhất gần điểm đảo (dòng ngắn mạch); vị trí đỉnh lấy từ lần chạy. 0,01 V là bước quét; nhỏ hơn thì mịn hơn nhưng chạy lâu hơn.

Phân tích quá độ cho điện áp theo thời gian khi đầu vào nhảy mức, rồi một lệnh đo ra trễ

Quá độ cho đường điện áp theo thời gian; một lệnh đo ở nửa điện áp cấp lấy ra hai số trễ.

Transient analysis (phân tích quá độ) tính điện áp theo từng thời điểm khi pin đổi theo thời gian. Lệnh đo lấy trễ tại mốc nửa điện áp cấp.

Xem lời đọc

Câu hỏi thứ ba là theo thời gian, đầu ra đổi thế nào khi đầu vào nhảy mức. Phân tích quá độ cho ta điện áp theo từng thời điểm. Ta khai báo chạy bao lâu, và ghi kết quả sau mỗi khoảng bao nhiêu. Pin vào phát một dãy xung, lên điện áp cấp rồi trở về không. Điện áp ra là xung đảo, nhưng chậm hơn xung vào một chút. Đo trễ cần một mốc, chọn ở nửa điện áp cấp. Một lệnh đo tính thời gian từ lúc vào cắt mốc đến lúc ra cắt mốc. Ta được hai số trễ, một khi ra đi xuống, một khi ra đi lên.

Số 56 ps và 81 ps là kết quả mô phỏng, SKY130, ngspice 42, bộ tt, tải 10 fF, sườn vào 0,1 ns, đo ở 0,9 V, 06/11/2026; không suy rộng sang mạch khác. 0,01 ns là khoảng cách hai điểm được GHI ra; bộ giải tự chia bước tính nhỏ hơn khi cần. ps là pi cô giây, một phần nghìn tỉ giây.

Phân tích tần số cho tỷ số biên độ ra trên vào khi tín hiệu nhỏ dao động nhanh dần quanh điểm làm việc

Tần số xét dao động rất nhỏ quanh điểm làm việc; kết quả là tỷ số theo tần số, phẳng rồi giảm khi tụ tải không kịp nạp.

AC analysis (phân tích tần số) thêm vào pin vào một dao động rất nhỏ rồi xét ở từng tần số. Biên độ là độ lớn của dao động.

Xem lời đọc

Câu hỏi cuối là nếu tín hiệu vào dao động ngày càng nhanh, đầu ra theo kịp đến đâu. Phân tích tần số thêm vào điện áp vào một dao động rất nhỏ, quanh điểm làm việc. Ta nên đặt điểm làm việc ở vùng dốc, để thấy rõ điện áp ra đổi. Nếu đặt đầu vào ở mức không, dao động nhỏ gần như không làm đầu ra đổi. Kết quả là tỷ số biên độ ra trên biên độ vào, theo tần số. Tỷ số gần như phẳng ở tần số thấp, rồi giảm khi tần số lên cao. Tụ tải không kịp nạp xả nên dao động ở đầu ra nhỏ dần.

AC là tín hiệu nhỏ xoay chiều, không liên quan ổ cắm điện; DC là một chiều. Máy xét thay đổi nhỏ quanh điểm làm việc nên kết quả phụ thuộc điểm đó; phân tích này chạy được ở mọi điểm, nhưng tỷ số lớn ở vùng dốc. Ở vào 0 V nMOS tắt, dao động nhỏ không đi qua được. Độ lớn tỷ số khi phẳng và tần số bắt đầu giảm là số mô phỏng, lấy khi chạy.

Chọn loại phân tích theo câu hỏi, rồi làm ba bước viết, chạy, xem sóng

Mỗi câu hỏi ứng với một loại; mọi lần đều làm ba bước; còn lại là máy làm thế nào.

Ba bước: viết netlist, chạy bằng ngspice, xem sóng (đồ thị điện áp và dòng theo biến quét).

Xem lời đọc

Bây giờ ta có bốn công cụ cho bốn câu hỏi. Hỏi mạch đứng yên ở đâu thì dùng điểm làm việc. Hỏi đầu ra theo điện áp vào thì quét. Hỏi đầu ra theo thời gian thì quá độ, còn theo tần số thì phân tích tần số. Cách làm giống nhau, gồm ba bước. Bước một viết netlist và chọn loại phân tích. Bước hai chạy máy bằng một lệnh trong cửa sổ lệnh. Bước ba xem sóng, tức vẽ điện áp và dòng thành đường cong. Còn một câu hỏi lớn, máy làm thế nào để ra những đường cong đó?

Lệnh ví dụ theo cách dùng ngspice thường gặp: `ngspice tên-tệp`, rồi `run` và `plot`; chạy hàng loạt có `ngspice -b`. Mỗi loại phân tích là một tệp mã mẫu riêng (bốn tệp `b02-*.cir`).

Số liệu