Một bài viết của anh PD lead tại Học Vi Mạch Cùng ICTC. Ảnh ngại đăng quá nên thôi mình đăng giùm vậy ![]()
—
Đây là câu hỏi mình cũng thường nhận được khi nói chuyện với các bạn trong lớp PD cơ bản, nên hôm nay viết bài này để chia sẻ chung với các bạn luôn nhé. Trong lĩnh vực vi mạch, vị trí PD (Physical Design) thường không đòi hỏi tư duy thiết kế logic hay ngôn ngữ phức tạp như ở vị trí RTL Design hoặc Design Verification. Thay vào đó, “code” trong PD chủ yếu là script – công cụ giúp tự động hóa quy trình, phân tích dữ liệu và xử lý file. Đây chính là yếu tố tạo nên sự khác biệt về năng suất làm việc giữa các kỹ sư với nhau.
Từ trải nghiệm cá nhân hồi còn làm ở công ty cũ, mình thấy không ít kỹ sư PD đã có 4-5 năm kinh nghiệm nhưng vẫn chưa thật sự thành thạo scripting. Điều đó khiến họ khó đạt hiệu quả cao trong công việc. Trong khi đó, những bạn giỏi script thường được giao việc quan trọng hơn, tạo được ấn tượng trong team và tất nhiên, cũng được đánh giá cao hơn.
Vai trò của scripting trong PD:
Tự động hóa quy trình (EDA flow automation): Các bước như synthesis, floorplan, placement, CTS, routing, signoff… vốn nhiều thao tác lặp lại. Script giúp rút ngắn thời gian và giảm lỗi thao tác.
Phân tích log, xử lý file, debug lỗi: Log từ tool như Innovus, ICC2 hay PrimeTime rất dài và phức tạp. Script giúp lọc lỗi timing, cell bị violate, hay net lỗi chỉ trong vài phút thay vì hàng giờ.
Tối ưu công việc và tăng hiệu quả: Bạn có thể tạo báo cáo tùy chỉnh, xử lý file định dạng .sdc, .def, .spef, .lib, .lef,… hoặc tích hợp với hệ thống kiểm thử nội bộ.
Dưới đây là các ngôn ngữ scripting thông dụng:
- TCL: Gần như là tiêu chuẩn đối với PD engineer, giúp tự động hóa flow và điều khiển EDA tool (Cadence, Synopsys).
- Shell script (CSH, bash): Quản lý flow, chạy batch job, xử lý log trong môi trường UNIX/Linux.
- Perl: Mạnh trong xử lý text, hữu ích với file định dạng phức tạp (.sdf, .spef, .lib).
Ngày nay, nhờ có AI, việc viết script đã trở nên dễ dàng hơn rất nhiều. Tuy nhiên, AI chỉ thực sự hiệu quả khi bạn đã có nền tảng kiến thức cơ bản và hiểu rõ luồng công việc. Nếu thiếu nền tảng, ngay cả AI cũng khó thể giúp bạn có giải pháp hợp lý.
Tóm lại là kỹ sư PD không cần quá giỏi code như một lập trình viên, nhưng giỏi scripting sẽ giúp bạn tiết kiệm thời gian, làm việc hiệu quả và nâng cao giá trị bản thân. Đây chính là chìa khóa để trở thành một kỹ sư PD hiện đại và được đánh giá cao trong nhóm.
Dưới đây là các bài viết về Physical Design (PD): Chuỗi bài viết về Physical Design

















