Trong thiết kế IC hiện đại, mạng lưới phân phối điện (PDN) đóng vai trò then chốt — tương tự như hệ thống tuần hoàn trong cơ thể người. Khi một chip đã đạt được sự hội tụ về timing nhưng vẫn gặp lỗi không rõ nguyên nhân, hoặc hiệu năng suy giảm mạnh ở nhiệt độ cao, rất có thể vấn đề bắt nguồn từ tính toàn vẹn của nguồn điện. Bài viết này trình bày phương pháp thực tiễn để xây dựng, phân tích và tối ưu hóa PDN trong công cụ Synopsys ICC, tập trung vào việc đánh giá và khắc phục hiện tượng sụt áp IR trên các rail VDD và VSS.
1. Thiết lập mạng lưới điện cơ bản
Quá trình tổng hợp mạng lưới điện (Power Network Synthesis – PNS) không đơn thuần là việc kéo dây kim loại theo quy tắc cố định, mà là bài toán cân bằng giữa điện trở, điện dung, giới hạn công nghệ và yêu cầu thiết kế. Trước khi chạy PNS trong ICC, cần đảm bảo ba thành phần nền tảng:
- Tệp công nghệ (
techfile) chứa thông số điện trở và điện dung từng lớp kim loại - Mô hình tiêu thụ công suất (VCD/SAIF) phản ánh hoạt động chuyển mạch thực tế
- Ràng buộc vật lý: cấu trúc lưới PG (power grid), khoảng cách strap, chiều rộng, và thứ tự ưu tiên lớp kim loại
Dưới đây là lệnh Tcl khởi tạo mạng lưới dọc trên lớp M8 với tham số điều chỉnh linh hoạt:
create_power_straps -direction vertical \
-start_offset 0.4 \
-pitch 12 \
-nets {VDD VSS} \
-layer M8 \
-width 2.4 \
-spacing 0.6
Giá trị pitch (khoảng cách giữa các strap) được chọn dựa trên chiều cao cell chuẩn và dòng điện dự kiến; chiều rộng width phải đảm bảo mật độ dòng dưới ngưỡng cho phép (thường < 0.5 mA/µm đối với M8 ở 28nm). Trong một dự án thực tế, việc tăng chiều rộng strap từ 1.3 µm lên 2.6 µm kết hợp giảm pitch từ 16 µm xuống 11 µm đã cải thiện độ ổn định điện áp cục bộ tới 47%.
2. Phân tích sụt áp IR: Từ bản đồ nhiệt đến xác định nguyên nhân gốc
Sau khi xây dựng sơ bộ PDN, bước phân tích giúp phát hiện các điểm yếu tiềm ẩn. Có hai chế độ phân tích chính:
2.1 Phân tích tĩnh
Dựa trên giả định dòng cực đại liên tục, dùng lệnh:
analyze_power -early -report ir_drop_summary.rpt
Các mẫu lỗi thường gặp:
- Vùng biên: điện áp giảm mạnh tại rìa die do đường dẫn dài và trở kháng cao
- Vùng tập trung: các khối logic mật độ cao gây sụt áp cục bộ
- Biên giới domain: chênh lệch điện áp giữa các rail khác nhau (VDDA/VDDD)
2.2 Phân tích động
Kết hợp mô hình hoạt động thời gian thực và kịch bản làm việc đặc trưng:
set_scenario -name high_activity -voltage 0.85 -temperature 105
analyze_power -scenario high_activity -dynamic
Lưu ý: Dữ liệu hoạt động nên lấy từ mô phỏng cổng (gate-level simulation) với file VCD được tạo ở tần số và điều kiện tải phù hợp. Bảng so sánh sau minh họa sự khác biệt cốt lõi:
| Loại phân tích | Thời gian chạy | Độ chính xác | Giai đoạn áp dụng | Mục đích chính |
|---|---|---|---|---|
| Tĩnh | < 15 phút | ±12–18% | Early floorplan | Xác định nhanh các vùng rủi ro cấp nguồn |
| Động | 1.5–3 giờ | ±4–7% | Signoff verification | Đánh giá chính xác ảnh hưởng của biến đổi điện áp theo thời gian lên timing |
3. Chiến lược tối ưu hóa đa cấp
Việc chỉ tăng chiều rộng strap là giải pháp ngắn hạn và thường gây lãng phí diện tích. Một tiếp cận hiệu quả hơn là kết hợp nhiều lớp tối ưu:
3.1 Điều chỉnh tham số
Phân bổ lại trọng số dòng trên các lớp kim loại để tận dụng khả năng dẫn điện của từng lớp:
set_power_plan_strategy -layer_weights {M1 0.25 M5 0.35 M8 0.4}
3.2 Cải tiến cấu trúc
Sử dụng tổ hợp topologies: lưới toàn cục + vòng khu vực + mạng sao cục bộ. Lệnh chèn tụ bypass thông minh:
add_decoupling_cells -lib_cell DEC_12F -target_density 0.015 -max_distance 45
3.3 Kiến trúc cấp cao
Một thiết kế 7nm yêu cầu PDN ba tầng:
- Tầng 1 (Global): Lưới dày trên M9/M10, đảm bảo phân phối điện cơ bản
- Tầng 2 (Regional): Vòng khép kín trên M6/M7, cô lập các domain điện áp
- Tầng 3 (Local): Mạng sao trên M1–M3, cung cấp dòng tức thời cho cell gần đó
4. Kiểm chứng cuối cùng: Đóng vòng phân tích điện – nhiệt – timing
Một PDN được coi là "đạt chuẩn" chỉ khi vượt qua cả ba kiểm tra liên hoàn:
- Kiểm tra quy tắc điện:
verify_power_plan -check all— phát hiện hở mạch, chập mạch, và cách ly domain sai - Phân tích điện – nhiệt: Kích hoạt chế độ
-electrothermalđể tính toán ảnh hưởng của nhiệt độ lên điện trở kim loại - Liên kết với phân tích timing: Gắn bản đồ điện áp vào engine STA để kiểm tra lại slack dưới điều kiện điện áp thực tế:
annotate_voltage -file voltage_map.vmap
update_timing
report_timing -delay_type max -significant_digits 3
Trong một dự án SoC 5G, phân tích liên hoàn này đã phát hiện ra vi phạm thiết lập (setup violation) 0.9 ps trên đường dẫn critical — không xuất hiện trong phân tích timing chuẩn, nhưng hiện rõ khi đưa vào bản đồ điện áp động.
5. Mẹo thực chiến từ kinh nghiệm thực tế
Một số lưu ý quan trọng thường không được đề cập trong tài liệu chính thức:
- Kiểm tra mật độ kim loại: Khu vực strap quá dày có thể vi phạm ràng buộc DFM. Luôn chạy kiểm tra trước khi gửi đi sản xuất:
check_metal_density -layer M8 -min_area 1000 -max_density 0.82
- Hướng dòng trên các lớp liền kề: Với công nghệ ≤ 16nm, nên bố trí dòng trên M5 và M6 vuông góc nhau để giảm nhiễu cảm ứng.
- Biên giới domain điện áp: Sử dụng kiểu phân chia răng cưa (
staggered) thay vì đường thẳng — giảm dao động điện áp biên tới 16%:
set_power_plan_strategy -boundary_pattern staggered -boundary_width 3