BÀI 6: Khái Niệm Về Congestion Trong Physical Design

Chủ Nhật, 02 tháng 11, 2025

Một bài viết của anh PD lead tại Học Vi Mạch Cùng ICTC. Đăng giùm hoài riết ai cũng tưởng mình làm PD 😆


Congestion là một khái niệm quan trọng trong ASIC Design nói chung và PD nói riêng. Trong mấy lớp PD mà mình dạy, mình hay ví von congestion giống như tình trạng kẹt xe trên đường phố vậy. Các tuyến đường (routing resource) vốn có hạn, trong khi số lượng xe lưu thông (các kết nối – net connection) lại quá nhiều. Khi đó, việc sắp xếp và phân luồng trở nên khó khăn, khiến toàn bộ hệ thống bị tắc nghẽn.

Giải quyết congestion là một nhiệm vụ đặc biệt quan trọng bởi nếu để tồn tại tình trạng này, nó sẽ ảnh hưởng lớn đến Place & Route. Để tránh vùng có congestion quá cao, EDA tool buộc phải làm dây dẫn dài hơn hoặc vòng vèo hơn, kéo theo độ trễ của tín hiệu tăng lên. Dây dẫn dài và gần nhau cũng làm gia tăng hiện tượng coupling noise, khiến tín hiệu bị nhiễu. Congestion còn buộc tool phải reroute nhiều lần, làm timing violation trở nên nghiêm trọng hơn. Hệ quả là thời gian chạy (run time) tăng lên đáng kể, đôi khi gấp nhiều lần so với một thiết kế có bố cục thoáng và cân bằng.

Nguyên nhân gây ra congestion xuất phát từ nhiều yếu tố. Phổ biến nhất là mật độ cell quá cao tại một số vùng, tạo thành “hot-spot” khiến số lượng kết nối vượt xa khả năng routing. Ngoài ra, sự hiện diện của các macro hoặc block lớn chiếm chỗ và chặn đường đi cũng khiến khó tìm lối đi hợp lý. Những cell có pin access kém (là khả năng mà router có thể reach và kết nối được với các pin của standard cell, macro, hoặc block), ví dụ như bị kẹt sát macro hoặc cạnh của cell phức tạp, cũng làm cho việc kết nối khó khăn hơn. Trong các thiết kế có nhiều I/O hoặc bus dày đặc, mật độ kết nối tăng vọt dẫn tới tắc nghẽn. Một nguyên nhân khác là số lớp kim loại (metal) hạn chế hoặc metal pitch chưa phù hợp, khiến dung lượng đường đi (routing capacity) không đáp ứng được nhu cầu.

Để kiểm tra tình trạng congestion, các kỹ sư thường sử dụng bản đồ heatmap thể hiện sự chênh lệch giữa nhu cầu routing và khả năng cung cấp. Những con số như router overflow count, congestion score, mức overflow tại vùng tệ nhất hay tỷ lệ routing utilization đều phản ánh mức độ chồng chéo. Ngoài ra, khi congestion gia tăng, chỉ số timing như WNS (worst negative slack) thường xấu đi rõ rệt, đây cũng là tín hiệu cho thấy thiết kế đang gặp vấn đề.

Khắc phục congestion đòi hỏi sự kết hợp của nhiều biện pháp. Cách cơ bản nhất là điều chỉnh lại việc placement, phân bố cell hợp lý và di chuyển macro để không gây cản trở. Trong một số trường hợp, có thể bổ sung thêm routing resources, chẳng hạn yêu cầu thêm lớp metal, hoặc tối ưu lại power grid để nhường chỗ cho đường đi, miễn sao vẫn đảm bảo cấp nguồn an toàn cho mạch. Các cell đặt ngay dưới lưới nguồn cũng cần được cân nhắc, vì pin của chúng sẽ khó kết nối hơn. Việc thiết kế floorplan từ đầu theo hướng floorplan-aware với các channel rộng và thông thoáng cũng giúp giảm tắc nghẽn. Ở mức netlist, các kỹ thuật như buffer insertion, clustering hoặc rebuffering có thể giảm bớt tải kết nối. Ngoài ra, routing hoặc placement blockage cũng là công cụ hữu ích để giới hạn số lượng cell hoặc net trong những vùng vốn đã chật chội.

Congestion nếu không được xử lý tốt sẽ là nút thắt lớn trong PD, kéo theo hàng loạt vấn đề về timing, nhiễu và runtime. Ngược lại, một thiết kế ít congestion sẽ giúp flow chạy mượt mà, đảm bảo tính khả thi và chất lượng cuối cùng của chip.

Dưới đây là các bài viết về Physical Design (PD): Chuỗi bài viết về Physical Design

——————————————————

Hiện tại ICTC đang mở các khóa học thiết kế vi mạch từ cơ bản đến nâng cao, các bạn có thể tìm hiểu tại các bài viết sau nhé:

 

Truy cập Server EDA Miễn Phí của ICTC để thực hành thiết kế vi mạch:
Truy cập Server EDA Miễn Phí

 

Chủ Nhật, 02 tháng 11, 2025

Đội Ngũ Giảng Viên Đến Từ Các Công ty vi mạch hàng đầu với NHiều năm kinh nghiệm

Khóa học thiết kế vi mạch ICTC giảng viên từ Ampere
Khóa học thiết kế vi mạch ICTC giảng viên từ Renesas
Khóa học thiết kế vi mạch ICTC giảng viên từ MediaTek Singapore
Khóa học thiết kế vi mạch ICTC giảng viên từ BOS
Khóa học thiết kế vi mạch ICTC giảng viên từ Marvell
Khóa học thiết kế vi mạch ICTC giảng viên từ Renesas
Khóa học thiết kế vi mạch ICTC giảng viên từ NSING

Nổi Bật

Workshop Làm Quen Với Linux

Workshop Làm Quen Với Linux

Để giúp các bạn làm quen với command line, terminal trong Linux, ICTC sẽ tổ chức một buổi workshop về Linux với cơ hội thực hành trực tiếp trên Server ICTC cùng host là anh Thông (người xây dựng và quản lý Server ICTC). Nội dung workshop: Hướng dẫn làm quen và thực...

Final Project Của Lớp Thiết Kế Vi Mạch Cơ Bản

Final Project Của Lớp Thiết Kế Vi Mạch Cơ Bản

Boom!  Cảm giác vỡ òa khi màn hình hiện kết quả design của bạn đã "pass" golden model – cửa ải cuối cùng trước khi “tốt nghiệp”!À quên, còn một điều kiện là coverage phải đủ nữa nha  Nhưng mà... cái cảm giác được thông báo ALL_PASSED vẫn là một điều gì đó thật đặc...

Bài Viết Mới

BÀI 8: Clock Tree Synthesis Trong Physical Design

BÀI 8: Clock Tree Synthesis Trong Physical Design

Mời các bạn theo dõi bài viết tiếp theo của anh PD lead tại Học Vi Mạch Cùng ICTC nhé. --- Ở những bài trước, chúng ta đã tìm hiểu về 2 vấn đề quan trọng trong PD đó là congestion và timing violation. Hôm nay sẽ là chủ đề tiếp theo - CTS. Nếu bạn từng học về...

BÀI 5: Kỹ Sư Physical Design Có Cần Giỏi Lập Trình Không?

BÀI 5: Kỹ Sư Physical Design Có Cần Giỏi Lập Trình Không?

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...

Đôi Khi Mát Là Yếu Tố Quyết Định Hiệu Năng

Đôi Khi Mát Là Yếu Tố Quyết Định Hiệu Năng

Mới đây máy tính mình gặp vấn đề là đang dùng bình thường thì máy bỗng lag, kiểm tra thì thấy xung nhịp CPU bị bóp xuống còn chưa đến 1 GHz. Nguyên nhân không phải do phần cứng hay phần mềm, mà là chip quá nóng khi chạy 1 số ứng dụng, buộc hệ thống phải tự hạ xung để...

BẠN CHƯA BIẾT BẮT ĐẦU TỪ ĐÂU?

Sau nhiều năm tư vấn và đào tạo vi mạch cho hàng trăm bạn sinh viên, học sinh và phụ huynh, kết hợp với kinh nghiệm từ các anh chị kỹ sư vi mạch có nhiều năm kinh nghiệm, đây là tất cả những kinh nghiệm và tài liệu mà mình đúc kết, tổng hợp lại được thành một quy trình tìm hiểu ngành vi mạch để các bạn mình mới tham gia vào ngành có thể bắt đầu một cách hiệu quả nhất.

 

Bấm nút bên dưới để tìm hiểu về ngành, về nghề nghiệp cũng như những thứ bản thân cần chuẩn bị để tham gia vào hành trình trở thành kỹ sư vi mạch tuy có phần gian nan nhưng vô cùng thú vị bạn nhé!

LỘ TRÌNH TỰ HỌC VI MẠCHGROUP CHAT HỌC TẬP VI MẠCH