Tối ưu hóa mạng lưới điện trong ICC: Phân tích và giảm thiểu sụt áp IR cho VDD/VSS

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 đó
Kết quả: sụt áp toàn cục giảm từ 115 mV xuống còn 34 mV, đồng thời độ phủ kim loại tăng 19% so với giải pháp lưới truyền thống.

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

Thẻ: ICC Synopsys IR-Drop Power-Integrity PDN

Đăng vào ngày 19 tháng 7 lúc 21:09