Lõi RISC-V tối ưu hóa cho FPGA - VexRiscv - được công nhận bởi ngành công nghiệp nhờ tính linh hoạt và tốc độ phát triển

BigGo Editorial Team
Lõi RISC-V tối ưu hóa cho FPGA - VexRiscv - được công nhận bởi ngành công nghiệp nhờ tính linh hoạt và tốc độ phát triển

Triển khai RISC-V mang tên VexRiscv đã nổi lên như một nhân tố quan trọng trong lĩnh vực phát triển FPGA, thu hút sự chú ý nhờ cách tiếp cận sáng tạo trong thiết kế CPU và các ứng dụng thực tế trong ngành công nghiệp. Được viết bằng SpinalHDL, việc triển khai bộ xử lý này thể hiện một bước chuyển đổi trong cách các nhà phát triển tiếp cận mô tả phần cứng cho FPGA.

Các tính năng chính của VexRiscv:

  • Hỗ trợ tập lệnh RV32I[M][A][D][J][C]
  • Cấu hình đường ống 2-5+ giai đoạn
  • Hiệu suất 1.44 DMIPS/MHz (-no-inline)
  • Tùy chọn bộ nhớ đệm cho lệnh và dữ liệu
  • Hỗ trợ tiện ích mở rộng gỡ lỗi thông qua GDB/OpenOCD
  • Kiến trúc dựa trên plugin cho phép tùy chỉnh

Phát triển HDL hiện đại

SpinalHDL, ngôn ngữ được sử dụng để tạo ra VexRiscv, đại diện cho một phần của hệ sinh thái đang phát triển của các ngôn ngữ mô tả phần cứng hiện đại, bao gồm Chisel, Amaranth, và Clash. Trong khi các HDL truyền thống như Verilog vẫn thống trị ngành công nghiệp, những công cụ mới hơn này đang dần được chấp nhận, đặc biệt là trong môi trường phát triển FPGA và nghiên cứu. Các chuyên gia trong ngành báo cáo về những cải thiện đáng kể về năng suất khi sử dụng các HDL hiện đại này, với một nhà phát triển thương mại nhận xét:

Thư viện chuẩn, tính tiện dụng cho nhà phát triển, khả năng kiểm thử, và những chi tiết nhỏ như việc có các miền đồng hồ như một phần của hệ thống kiểu dữ liệu làm cho việc phát triển nhanh hơn và ít lỗi hơn đến mức việc sử dụng Verilog không còn hợp lý nữa.

Kiến trúc tối ưu hóa cho FPGA

Định hướng thân thiện với FPGA của VexRiscv xuất phát từ những lựa chọn kiến trúc có chủ đích. Việc triển khai đặc biệt xem xét đến các ràng buộc phần cứng của FPGA, chẳng hạn như việc sử dụng nhiều khối nhân 18-bit song song thay vì cố gắng thực hiện phép nhân đơn chu kỳ lớn hơn. Cách tiếp cận này dẫn đến tốc độ xung nhịp tối đa (fmax) tốt hơn và sử dụng tài nguyên hiệu quả hơn trên các nền tảng FPGA.

Ứng dụng thực tế

Các thảo luận cho thấy các CPU mềm như VexRiscv đóng vai trò thiết yếu trong các thiết kế FPGA hiện đại. Thay vì là đơn vị xử lý chính, những lõi này thường xử lý việc quản lý ngoại vi, các quy trình khởi tạo và nhiệm vụ gỡ lỗi. Chúng đặc biệt có giá trị trong việc quản lý các máy trạng thái phức tạp và cung cấp logic điều khiển có thể lập trình mà không cần tổng hợp lại FPGA khi có thay đổi.

Các Ứng Dụng Phổ Biến:

  • Điều khiển và quản lý thiết bị ngoại vi
  • Xử lý tín hiệu thời gian thực
  • Gỡ lỗi và phân tích phần cứng
  • Triển khai máy trạng thái phức tạp
  • Logic điều khiển có thể lập trình

Tác động đến ngành và tương lai

Trong khi các HDL truyền thống vẫn chiếm ưu thế trong sản xuất ASIC khối lượng lớn, VexRiscv và SpinalHDL đã tìm được thị trường ngách của mình trong các ứng dụng FPGA chuyên biệt và các dự án khối lượng thấp. Thiết kế module hóa và kiến trúc dựa trên plugin làm cho nó đặc biệt phù hợp cho thử nghiệm vi kiến trúc và nghiên cứu học thuật, với người dùng báo cáo khả năng đọc và bảo trì mã nguồn vượt trội so với các triển khai Verilog truyền thống.

Sự thành công của VexRiscv đã dẫn đến các dự án kế nhiệm như VexiiRiscv và NaxRiscv, cho thấy một hệ sinh thái đang phát triển xung quanh cách tiếp cận này trong thiết kế CPU. Sự phát triển này cho thấy một sự tiến hóa liên tục trong cách các nhà phát triển tiếp cận việc triển khai bộ xử lý dựa trên FPGA, đặc biệt là cho các ứng dụng chuyên biệt đòi hỏi tính linh hoạt và chu kỳ phát triển nhanh.

Tham khảo: SpinalHDL VexRiscv: A FPGA friendly 32 bit RISC-V CPU