Aegis: Khởi tạo FPGA mã nguồn mở từ silicon

05 tháng 4, 2026·3 phút đọc

Aegis là dự án FPGA hoàn toàn mã nguồn mở, bao gồm thiết kế silicon, chuỗi công cụ và quy trình sản xuất. Khác với các nỗ lực trước đây, Aegis cung cấp thiết kế fabric hoàn chỉnh và hỗ trợ quy trình tape-out đến nhà máy silicon.

Aegis: Khởi tạo FPGA mã nguồn mở từ silicon

Aegis: Khởi tạo FPGA mã nguồn mở từ silicon

Aegis là một thiết bị FPGA hoàn toàn mã nguồn mở, bao trùm từ khâu thiết kế silicon cho đến các công cụ hỗ trợ. Trong bối cảnh các nỗ lực FPGA mã nguồn mở hiện tại thường tập trung vào việc ngược thiết kế kiến trúc độc quyền hoặc xây dựng công cụ xung quanh silicon đóng, Aegis đánh vào một góc độ khác: thiết kế fabric được mở, chuỗi công cụ được mở và lộ trình để chuyển sang silicon thực thông qua các PDK mở và dịch vụ shuttle như wafer.space.

Dự án này có khả năng tạo ra các thiết bị FPGA được tham số hóa với LUT4, BRAM, DSP, SerDes và các ô quản lý đồng hồ, cùng với tất cả các công cụ cần thiết để tổng hợp thiết kế người dùng và gộp bitstream để sản xuất.

Thiết bị Aegis Terra 1

Thiết bị đầu tiên của Aegis, mang tên Terra 1, hướng tới GF180MCU thông qua dịch vụ wafer.space. Dưới đây là thông số kỹ thuật chính:

  • LUT4: Khoảng 2.880
  • BRAM (128x8): 128 ô
  • DSP18 (18x18 MAC): 64 ô
  • Pad đầu vào/đầu ra: 224
  • SerDes: 4
  • Ô đồng hồ: 2 (8 đầu ra)
  • Lộ trình kết nối: 4 theo mỗi cạnh

Chuỗi công cụ (Toolchain)

Mỗi thiết bị sẽ nhận được một chuỗi công cụ FPGA hoàn chỉnh thông qua đầu ra tools. Quy trình phát triển bao gồm các bước sau:

nix build .#terra-1 # Tạo IP (SV, JSON, chipdb, techmap) nix build .#terra-1-tapeout # Full RTL-to-GDS cho fab

Cụ thể để tổng hợp một thiết kế Verilog:

  • Tổng hợp: Sử dụng Yosys để chuyển đổi thiết kế sang các ô Aegis.
  • Place và route: Sử dụng nextpnr-aegis-terra_1 để định vị và kết nối trên fabric.
  • Pack bitstream: Sử dụng terra_1-pack để tạo ra file nhị phân.
  • Mô phỏng: Sử dụng terra_1-sim để kiểm tra hoạt động với bitstream đã tải.

Quy trình Tape-out (Gửi nhà máy)

Quy trình tape-out sẽ tổng hợp fabric FPGA bản thân nó thành các ô tiêu chuẩn (standard cells) của PDK:

  • nix build .#terra-1-tapeout
  • ls result/: Liệt kê các file đầu ra bao gồm terra_1_synth.v (netlist mức cổng), terra_1_final.def (layout đã place & route), terra_1.gds (GDS2 để gửi nhà máy), terra_1_layout.png (bản vẽ layout), và các báo cáo thời gian (timing) và điện năng (power).

Dự án hỗ trợ PDK GF180MCU (wafer.space) và Sky130.

Kiến trúc

Fabric FPGA được tạo ra bởi ROHD (khung khối HDL Dart) và xuất ra SystemVerilog có thể tổng hợp. Kiến trúc này tuân theo các quy ước kiểu Xilinx:

  • CLB: LUT4 + Flip-flop + MUXCY (chuỗi mang), cấu hình 18-bit.
  • Tile: CLB + Bộ chọn kết nối 4 hướng (46-bit).
  • BRAM: RAM khối song đôi 128x8 (8-bit).
  • DSP: Nhân tích hợp 18x18 với pipeline tùy chọn (16-bit).
  • IO: Pad hai chiều với đăng ký đầu vào/đầu ra (8-bit).
  • SerDes: Bộ chuyển đổi định dạng bít truyền thông không phụ thuộc giao thức (32-bit).
  • Đồng hồ: Bộ chia tần 4 đầu ra có kiểm soát pha (49-bit).

Cấu hình được tải qua chuỗi shift register nối tiếp: các ô đồng hồ -> IO tiles -> SerDes tiles -> fabric tiles (theo thứ tự hàng).

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗