Mở Đầu
Một trong những việc quan trong nhất khi các bạn xác định muốn theo ngành vi mạch và theo học vi mạch là xác định được vị trí mà mình muốn theo đuổi. Do quy trình sản xuất vi mạch bán dẫn rất phức tạp và cần nhiều nhân lực nên sẽ có rất nhiều vị trí kỹ sư khác nhau. Bài viết này sẽ liệt kê các vị trí này và các công việc cụ thể của các kỹ sư vi mạch trong từng công đoạn. Mình sẽ cập nhật bài viết thường xuyên để bổ sung các vị trí mới.
Các vị trí kỹ sư vi mạch
1. RTL Design
Kỹ sư thiết kế RTL (Register Transfer Level) đóng vai trò quan trọng trong quá trình phát triển các mạch tích hợp kỹ thuật số, bao gồm vi xử lý, vi mạch tích hợp cụ thể (ASICs), và các hệ thống kỹ thuật số phức tạp khác. Đây là một vị trí kỹ sư vi mạch dễ tiếp cận và được nhiều bạn quan tâm. ICTC cũng đã có khóa học IC Overview và RTL Design Advanced tập trung vào vị trí này. Dưới đây là mô tả về công việc của một kỹ sư thiết kế RTL:
- Giải thích đặc tả thiết kế: Nhà thiết kế RTL làm việc chặt chẽ với các kiến trúc sư hệ thống và các bên liên quan khác để hiểu rõ các thông số kỹ thuật và yêu cầu của mạch hoặc hệ thống kỹ thuật số mà họ được giao thiết kế. Sau đó họ sẽ tiến hành viết tài liệu về cấu hình vi mạch mà họ thiết kế để các kỹ sư khác sử dụng.
- Viết mã RTL: Sử dụng ngôn ngữ mô tả phần cứng (HDL) như Verilog hoặc VHDL, kỹ sư thiết kế RTL viết mã mô tả hành vi và chức năng của mạch. Việc này bao gồm việc định nghĩa logic, đường dẫn dữ liệu và tín hiệu điều khiển của mạch.
- Phân tích kiến trúc và tối ưu hóa: Kỹ sư RTL thường tiến hành phân tích kiến trúc và tối ưu hóa để đạt được hiệu suất, tiêu thụ năng lượng và diện tích mong muốn. Họ có thể tìm kiếm các lựa chọn thiết kế khác nhau và cân nhắc giữa các yếu tố để tối ưu hóa thiết kế cho các chỉ số cụ thể.
- Kiểm tra chức năng cơ bản: Trước khi chuyển sang các giai đoạn tiếp theo của quá trình thiết kế, kỹ sưthiết kế RTL thực hiện kiểm tra chức năng cơ bản để đảm bảo rằng mã RTL hoạt động đúng theo các thông số kỹ thuật. Điều này bao gồm việc tạo các bộ kiểm tra và kịch bản kiểm tra để mô phỏng và xác nhận tính năng của thiết kế. Các công việc kiểm tra sâu hơn sẽ được các kỹ sư Design Verification thực hiện.
- Ràng buộc thời gian và tối ưu hóa: Kỹ sư RTL chịu trách nhiệm định nghĩa các ràng buộc thời gian và tối ưu hóa thiết kế để đạt được kết quả thời gian mong muốn. Họ phân tích các đường dẫn quan trọng, xác định các vi phạm thời gian và sử dụng các kỹ thuật như pipelining, retiming và đồng bộ hóa trong miền xung lập để đáp ứng yêu cầu về thời gian.
- Tổng hợp và Tổng hợp logic: Mã RTL được tổng hợp thành một danh sách các cổng logic bởi các công cụ tổng hợp. Kỹ sư thiết kế RTL hợp tác với các kỹ sư tổng hợp để đảm bảo rằng netlist được tổng hợp đáp ứng yêu cầu về thời gian, diện tích và công suất mà vẫn giữ lại chức năng của thiết kế.
- Phân tích và sửa lỗi: Trong quá trình làm việc, sẽ có các lỗi trong thiết kế (thường được các kỹ sư DV – Design Verification tìm ra), các kỹ sư RTL sẽ phải phân tích và sửa các lỗi này.
2. Design Verification
Một vị trí phổ biến khác trong ngành vi mạch là kỹ sư kiểm tra thiết kế. Một kỹ sư kiểm tra thiết kế đảm nhận vai trò quan trọng trong quá trình phát triển và kiểm tra tính đúng đắn của các mạch tích hợp và hệ thống kỹ thuật số. Bản thân mình cũng là một kỹ sư DV. Các khóa học và công cụ về kiểm tra vi mạch của ICTC đều do chính mình góp phần xây dựng. Dưới đây là mô tả về công việc của một kỹ sư kiểm tra thiết kế:
- Phân tích Yêu cầu: Kỹ sư kiểm tra thiết kế làm việc cùng các nhà kiến trúc để hiểu và phân tích các yêu cầu của thiết kế, bao gồm cả yêu cầu chức năng và yêu cầu về đặc tính.
- Phát triển Testbench: Họ phát triển các testbench và bộ kiểm tra để kiểm tra các tính năng và chức năng của mạch tích hợp. Điều này bao gồm viết các kịch bản kiểm tra và sử dụng các công cụ mô phỏng để chạy các bộ kiểm tra.
- Chạy và Phân tích Kết quả Kiểm tra: Kỹ sư xác nhận thiết kế chạy các bộ kiểm tra trên mô phỏng và phân tích kết quả để đảm bảo rằng mạch tích hợp hoạt động đúng theo các yêu cầu đã đề ra.
- Xác nhận Thời gian và Độ chính xác: Họ cũng kiểm tra thời gian phản hồi của mạch tích hợp và đảm bảo rằng nó đáp ứng các yêu cầu thời gian. Ngoài ra, họ cũng thực hiện các bước xác nhận độ chính xác của mạch.
- Tối ưu hóa Testbench và Quy trình: Kỹ sư thường xuyên tối ưu hóa các bộ kiểm tra và quy trình xác nhận để cải thiện hiệu suất và giảm thời gian kiểm tra.
- Đánh giá và Báo cáo Kết quả: Họ thường phải đánh giá và báo cáo kết quả kiểm tra cho các nhóm thiết kế và quản lý để đảm bảo rằng mọi vấn đề được phát hiện và giải quyết kịp thời.
- Tương tác với các Nhóm Liên quan: Kỹ sư xác nhận thiết kế thường phải tương tác chặt chẽ với các nhóm thiết kế khác như nhóm kiến trúc, nhóm RTL, và nhóm tổng hợp để đảm bảo rằng mọi phần của thiết kế hoạt động đúng cách và tương thích với nhau.
Tóm lại, vai trò của một kỹ sư kiểm tra thiết kế là đảm bảo rằng các mạch tích hợp kỹ thuật số hoạt động đúng theo các yêu cầu và tiêu chuẩn đã đề ra, đồng thời giúp cải thiện chất lượng và hiệu suất của sản phẩm cuối cùng.
Nếu các bạn có thắc mắc về vị trí RTL hay DV thì có thể liên hệ với mình và tham gia hội thảo vi mạch tại ICTC để giao lưu với các kỹ sư nhé!
3. Physical Design Engineer
Vai trò của một kỹ sư thiết kế vật lý (Physical Design Engineer) là thực hiện quá trình thiết kế chi tiết của mạch tích hợp trên chip (IC) từ ý tưởng ban đầu đến sản phẩm cuối cùng. Công việc của họ bao gồm lập kế hoạch địa vị (floor planning), thiết kế ngắn mạch (logic synthesis), định vị và đồng bộ hóa mạch (placement and routing), và kiểm tra xác thực (verification) để đảm bảo rằng mạch hoạt động đúng cách và đáp ứng các yêu cầu về hiệu suất và tiêu thụ năng lượng.
Dưới đây là các bước trong công việc của một kỹ sư thiết kế vật lý (Physical Design Engineer):
- Lập kế hoạch địa vị (Floor Planning):
- Xác định kích thước của chip và phân bố các phần tử chức năng trên chip.
- Xác định vị trí của các khối logic, bộ nhớ và các thành phần khác trên bề mặt chip.
- Thiết kế ngắn mạch (Logic Synthesis):
- Chuyển đổi mô tả logic từ ngôn ngữ mô phỏng (ví dụ: Verilog hoặc VHDL) thành mạch logic tương ứng.
- Tối ưu hóa mạch để đảm bảo hiệu suất và diện tích tối ưu trên chip.
- Định vị và đồng bộ hóa mạch (Placement and Routing):
- Định vị và xác định vị trí của các cổng vào/ra, các ô logic và các thành phần khác trên chip.
- Đồng bộ hóa đường dẫn của mạch để đảm bảo tín hiệu chạy đúng và không có xung đột.
- Kiểm tra xác thực (Verification):
- Tiến hành kiểm tra mô phỏng và kiểm tra xác thực để đảm bảo tính chính xác và hoạt động đúng đắn của mạch.
- Sử dụng các công cụ mô phỏng và phân tích để đảm bảo tuân thủ các yêu cầu chức năng và hiệu suất.
- Đánh giá và tối ưu hóa (Evaluation and Optimization):
- Đánh giá hiệu suất, diện tích và tiêu thụ năng lượng của mạch.
- Tối ưu hóa các tham số thiết kế để đáp ứng các yêu cầu về hiệu suất, diện tích và tiêu thụ năng lượng.
- Gia công và sản xuất (Manufacturing and Production):
- Chuẩn bị dữ liệu sản xuất cho quá trình sản xuất hàng loạt.
- Hợp tác với nhà sản xuất để đảm bảo chất lượng và độ tin cậy của sản phẩm cuối cùng.
Các bước này được thực hiện một cách liên tục và lặp lại trong quá trình phát triển sản phẩm IC để đảm bảo rằng mạch được thiết kế đáp ứng được các yêu cầu và tiêu chuẩn cần thiết.
4. DFT Engineer
Vai trò của một kỹ sư thiết kế chức năng kiểm tra (DFT – Design for Test) là tích hợp các tính năng kiểm tra vào mạch để dễ dàng thực hiện quá trình kiểm tra và chẩn đoán lỗi. Dưới đây là các bước trong công việc của họ:
- Phân tích yêu cầu kiểm tra:
- Xác định yêu cầu kiểm tra và chẩn đoán của hệ thống hoặc mạch.
- Đánh giá các kịch bản kiểm tra khác nhau để đảm bảo kiểm tra đầy đủ và hiệu quả.
- Thiết kế DFT Architecture:
- Lên kế hoạch và thiết kế kiến trúc DFT cho mạch, bao gồm các phần tử như lưới kiểm tra (scan chain), multiplexer kiểm tra, và bộ nhớ kiểm tra (test memory).
- Xác định vị trí và kết nối các lối vào/ra kiểm tra trên mạch.
- Tích hợp DFT vào mạch:
- Thực hiện thiết kế DFT vào mạch chính.
- Đảm bảo tính toán được các tính năng kiểm tra trong quá trình thiết kế.
- Thiết kế và kiểm tra Patterns Kiểm tra (Test Patterns):
- Tạo và kiểm tra các mẫu kiểm tra để đảm bảo chúng phát hiện được các lỗi có thể xảy ra trên mạch.
- Đánh giá hiệu suất của các mẫu kiểm tra và điều chỉnh nếu cần.
- Kiểm tra và Chẩn đoán (Testing and Debugging):
- Thực hiện quá trình kiểm tra để đảm bảo rằng mạch hoạt động đúng và không có lỗi.
- Chẩn đoán và xác định nguyên nhân của các lỗi được phát hiện trong quá trình kiểm tra.
- Tối ưu hóa DFT:
- Đánh giá và tối ưu hóa hiệu suất và diện tích của kiến trúc DFT.
- Đảm bảo rằng các tính năng kiểm tra được thiết kế một cách hiệu quả và tối ưu chi phí.
Vai trò của một kỹ sư DFT là đảm bảo rằng mạch có thể được kiểm tra và chẩn đoán một cách hiệu quả để đảm bảo chất lượng và độ tin cậy của sản phẩm.
Lời kết
Còn rất nhiều các vị trí kỹ sư vi mạch khác mình sẽ update ở các phần sau nhé!