Mixed-signal IC design
Hiểu một cách đơn giản về thiết kế Mixed-signal IC là thiết kế một IC mà trong đó bao gồm cả phần thiết kế tương tự và phần thiết kế số. Vì không đi sâu vào khái niệm để trả lời câu hỏi “thiết kế mixed-signal là gì? "nên ở đây chỉ đưa ra một ví dụ cơ bản về thiết kế mixed-signal. Đó là thiết kế mạch NOT và có thể hiểu như sau:
+ Thiết kế mạch NOT là thiết kế số nếu chỉ quan tâm tới out <= NOT(in) và kết quả INV X1 (.A(in) .Z(out));
+ Thiết kế mạch NOT là thiết kế tương tự nếu chỉ quan tâm tới hệ số khuyếch đại tín hiệu (mạch NOT cũng có thể làm mạch khuyếch đại rất tốt trong dải điện áp nhỏ nằm giữa ngưỡng tín hiệu 0 và tín hiệu 1 của mạch số) hay gọi cách khác là độ “strong” của mạch NOT và thiết kế điều chỉnh W/L để đạt được độ “strong” mong muốn.
+ Và thiết kế mạch NOT là thiết kế mixed-signal nếu quan tâm tới cả hai điều trên và kết quả là ra đời các thư viện INVX2/4/8, . . . với các độ “strong” tương ứng.
Mô phỏng mixed-signal IC cũng là một lĩnh vực khá thú vị. Về mặt nguyên tắc thì sản phẩm cuối cùng của việc thiết kế sẽ là một mạch điện gồm các linh kiện cơ bản nhất của mạch tích hợp bao gồm MOS, Bipolar, điện trở, tụ điện, . . . nên hoàn toàn có thể “netlist” và dùng phần mềm SPICE (phần mềm mô phỏng mạch tương tự) để mô phỏng. Nhưng với mật độ tích hợp khoảng một triệu cổng chẳng hạn thì việc áp dụng mô hình mạng hai cửa vào tất cả các “node” theo cách mô phỏng mạch tương tự truyền thống là không thực tế. Để mạch tương tự có thể mô phỏng được theo nguyên lý mô phỏng của mạch số (dựa vào các look-up table) thì cần phải số hóa các mạch tương tự. Đây chính là công việc viết “hehaviour model” cho các mạch tương tự, ở đó các tín hiệu tương tự thông thường được số hóa thành các dãy số thực (vector) và chức năng của mạch tương tự sẽ được mô tả bang một hàm số quan hệ mà có thể biểu diễn được dưới dạng một “look-up table” của dãy số thực vào và ra (vấn đề này nên được bàn tới trong một bài viết riêng).
Hiện nay, khi thiết kế mạch tương tự với mật độ tích hợp cao người ta cũng dùng cách này để mô phỏng top-level. Tuy nhiên phải đảm báo là các thiết kế lớp “module” đã được kiêm tra kỹ càng vì mô phỏng theo cách này không có khả năng mô phỏng phẩm chất của mạch tương tự mà chỉ kiểm tra tính đúng/sai khi kết nối các module với nhau mà thôi.
Một cách khác là viết một chương trình cho phép mô phỏng mạch tương tự và mô phỏng mạch số chạy song song. Ví dụ mạch thực hiến chức năng so sánh sẽ được SPICE mô phỏng, sau đó tín hiệu đầu ra sẽ được chuyển sang số đề làm dữ liệu đầu vào cho chương trình Modelsim, đến lượt mình tín hiệu số đầu ra của Modelsim sẽ được chuyển ngược lại thành tín hiệu tương tự dùng cho SPICE. Như vậy không phải tất cả các mạch analog đều được số hóa (behaviour model) mà chỉ các mạch “mixed-signal” “ảo” (đôi khi là các mạch ADC và DAC “thật”) làm nhiệm vũ giao tiếp giữa phần mềm mô phỏng tương tự và phần mêm mô phỏng số sẽ được mô phỏng dưới dạng là các “behaviour model”. Do đó cách này sẽ làm tăng độ tin cậy khi mô phỏng mixed-signal IC.
Nhiệm vụ chính của thiết kế mixed-signal là giải quyết phần giao tiếp giữa mạch tương tự và mạch số, làm sao để khi nối ghép hai phần này với nhau thì IC sẽ hoạt động như mong muốn.
+ Về phí tương tự thì chủ yếu là nhiễu từ xung “clock” từ mạch số vì nhiễu sẽ có ảnh hưởng rất lớn đến phẩm chất của mạch tương tự. Có ba đường ảnh hưởng chủ yếu, thứ nhất là qua đế vì chúng cùng nằm trên một phiến “silicon”; thứ hai là không khí vì kích thước hình học của IC có thể so sánh được với bước sóng bức xạ từ dao động 0 – 1 từ mạch số, và các lớp “metal” trên cùng sẽ trở thành những “antenna” vô cùng nhạy; cuối cùng là phân bố nguồn cung cấp cho phần mạch tương tự và phần mạch số.
+ Về phía digital thì chủ yếu là phần timing tức là cần đồng bộ tín hiệu tương tự với xung “clock” của mạch số và lọc “glitch” trước khi làm tín hiệu đầu vào cho mạch số.
Trên đây là những hiểu biết, kinh nhiệm của mình khi thiết kế mixed-signal chủ yếu trong các ứng dụng ở dải tần số thấp, bạn nào nghiên cứu, làm việc trong lĩnh vực thiết kế RF IC thì bổ xung thêm nhé.
Thân mến!
Hiểu một cách đơn giản về thiết kế Mixed-signal IC là thiết kế một IC mà trong đó bao gồm cả phần thiết kế tương tự và phần thiết kế số. Vì không đi sâu vào khái niệm để trả lời câu hỏi “thiết kế mixed-signal là gì? "nên ở đây chỉ đưa ra một ví dụ cơ bản về thiết kế mixed-signal. Đó là thiết kế mạch NOT và có thể hiểu như sau:
+ Thiết kế mạch NOT là thiết kế số nếu chỉ quan tâm tới out <= NOT(in) và kết quả INV X1 (.A(in) .Z(out));
+ Thiết kế mạch NOT là thiết kế tương tự nếu chỉ quan tâm tới hệ số khuyếch đại tín hiệu (mạch NOT cũng có thể làm mạch khuyếch đại rất tốt trong dải điện áp nhỏ nằm giữa ngưỡng tín hiệu 0 và tín hiệu 1 của mạch số) hay gọi cách khác là độ “strong” của mạch NOT và thiết kế điều chỉnh W/L để đạt được độ “strong” mong muốn.
+ Và thiết kế mạch NOT là thiết kế mixed-signal nếu quan tâm tới cả hai điều trên và kết quả là ra đời các thư viện INVX2/4/8, . . . với các độ “strong” tương ứng.
Mô phỏng mixed-signal IC cũng là một lĩnh vực khá thú vị. Về mặt nguyên tắc thì sản phẩm cuối cùng của việc thiết kế sẽ là một mạch điện gồm các linh kiện cơ bản nhất của mạch tích hợp bao gồm MOS, Bipolar, điện trở, tụ điện, . . . nên hoàn toàn có thể “netlist” và dùng phần mềm SPICE (phần mềm mô phỏng mạch tương tự) để mô phỏng. Nhưng với mật độ tích hợp khoảng một triệu cổng chẳng hạn thì việc áp dụng mô hình mạng hai cửa vào tất cả các “node” theo cách mô phỏng mạch tương tự truyền thống là không thực tế. Để mạch tương tự có thể mô phỏng được theo nguyên lý mô phỏng của mạch số (dựa vào các look-up table) thì cần phải số hóa các mạch tương tự. Đây chính là công việc viết “hehaviour model” cho các mạch tương tự, ở đó các tín hiệu tương tự thông thường được số hóa thành các dãy số thực (vector) và chức năng của mạch tương tự sẽ được mô tả bang một hàm số quan hệ mà có thể biểu diễn được dưới dạng một “look-up table” của dãy số thực vào và ra (vấn đề này nên được bàn tới trong một bài viết riêng).
Hiện nay, khi thiết kế mạch tương tự với mật độ tích hợp cao người ta cũng dùng cách này để mô phỏng top-level. Tuy nhiên phải đảm báo là các thiết kế lớp “module” đã được kiêm tra kỹ càng vì mô phỏng theo cách này không có khả năng mô phỏng phẩm chất của mạch tương tự mà chỉ kiểm tra tính đúng/sai khi kết nối các module với nhau mà thôi.
Một cách khác là viết một chương trình cho phép mô phỏng mạch tương tự và mô phỏng mạch số chạy song song. Ví dụ mạch thực hiến chức năng so sánh sẽ được SPICE mô phỏng, sau đó tín hiệu đầu ra sẽ được chuyển sang số đề làm dữ liệu đầu vào cho chương trình Modelsim, đến lượt mình tín hiệu số đầu ra của Modelsim sẽ được chuyển ngược lại thành tín hiệu tương tự dùng cho SPICE. Như vậy không phải tất cả các mạch analog đều được số hóa (behaviour model) mà chỉ các mạch “mixed-signal” “ảo” (đôi khi là các mạch ADC và DAC “thật”) làm nhiệm vũ giao tiếp giữa phần mềm mô phỏng tương tự và phần mêm mô phỏng số sẽ được mô phỏng dưới dạng là các “behaviour model”. Do đó cách này sẽ làm tăng độ tin cậy khi mô phỏng mixed-signal IC.
Nhiệm vụ chính của thiết kế mixed-signal là giải quyết phần giao tiếp giữa mạch tương tự và mạch số, làm sao để khi nối ghép hai phần này với nhau thì IC sẽ hoạt động như mong muốn.
+ Về phí tương tự thì chủ yếu là nhiễu từ xung “clock” từ mạch số vì nhiễu sẽ có ảnh hưởng rất lớn đến phẩm chất của mạch tương tự. Có ba đường ảnh hưởng chủ yếu, thứ nhất là qua đế vì chúng cùng nằm trên một phiến “silicon”; thứ hai là không khí vì kích thước hình học của IC có thể so sánh được với bước sóng bức xạ từ dao động 0 – 1 từ mạch số, và các lớp “metal” trên cùng sẽ trở thành những “antenna” vô cùng nhạy; cuối cùng là phân bố nguồn cung cấp cho phần mạch tương tự và phần mạch số.
+ Về phía digital thì chủ yếu là phần timing tức là cần đồng bộ tín hiệu tương tự với xung “clock” của mạch số và lọc “glitch” trước khi làm tín hiệu đầu vào cho mạch số.
Trên đây là những hiểu biết, kinh nhiệm của mình khi thiết kế mixed-signal chủ yếu trong các ứng dụng ở dải tần số thấp, bạn nào nghiên cứu, làm việc trong lĩnh vực thiết kế RF IC thì bổ xung thêm nhé.
Thân mến!
Comment