Các Kỹ Sư Phần Cứng Tranh Luận Liệu Các HDL Mới Như SUS Có Đang Giải Quyết Sai Vấn Đề

Nhóm Cộng đồng BigGo
Các Kỹ Sư Phần Cứng Tranh Luận Liệu Các HDL Mới Như SUS Có Đang Giải Quyết Sai Vấn Đề

Cộng đồng thiết kế phần cứng đang có cuộc thảo luận sôi nổi về việc liệu các ngôn ngữ mô tả phần cứng (HDL) mới như SUS có đang giải quyết những thách thức thực sự mà các nhà thiết kế chip đang đối mặt ngày nay hay không. Trong khi SUS hứa hẹn các tính năng như tự động đếm độ trễ và cải thiện metaprogramming, các chuyên gia trong ngành đang đặt câu hỏi liệu những đổi mới này có giải quyết được những vấn đề cấp bách nhất trong phát triển phần cứng hay không.

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

  • Tự động đếm độ trễ cho thời gian và pipelining
  • Metaprogramming tại thời điểm biên dịch để tạo LUT
  • Thiết kế chỉ đồng bộ (không hỗ trợ phần cứng bất đồng bộ)
  • Đối thủ cạnh tranh trực tiếp với Verilog và VHDL có thể tổng hợp
  • Duy trì khả năng tương thích với các công cụ tổng hợp truyền thống
Logo của Đại học Paderborn , làm nổi bật sự tham gia của trường trong nghiên cứu thiết kế phần cứng
Logo của Đại học Paderborn , làm nổi bật sự tham gia của trường trong nghiên cứu thiết kế phần cứng

Các Nút Thắt Thực Sự Không Nằm Ở Cú Pháp HDL

Các nhà thiết kế phần cứng chuyên nghiệp cho rằng các HDL hiện tại như Verilog và VHDL đã đủ đáp ứng nhu cầu hiện tại. Những khó khăn chính nằm ở nơi khác - đặc biệt là trong khả năng xác minh và kiểm thử. Thiết kế testbench hiện tại đòi hỏi phải vượt qua nhiều ranh giới ngôn ngữ, sử dụng các công cụ như Verilator với C++ hoặc cocotb dựa trên Python, tạo ra một quy trình phức tạp và máy móc làm chậm quá trình phát triển.

Quá trình xác minh đã trở thành giới hạn chính cho độ phức tạp của thiết kế. Các kỹ sư chỉ có thể xây dựng phần cứng phức tạp bằng mức độ họ có thể kiểm thử và xác minh hiệu quả. Nút thắt này khiến các tính năng HDL fancy trở nên ít tác động hơn so với vẻ ngoài ban đầu.

Các Tùy Chọn Công Cụ Xác Minh Hiện Tại:

  • Verilator + C++: Ranh giới liên ngôn ngữ, thiết lập máy móc
  • Verilator + cocotb: Testbench dựa trên Python , tích hợp phức tạp
  • Công cụ thương mại + UVM: Chủ yếu có sẵn tại các công ty thiết kế chip
  • GHDL: Trình mô phỏng VHDL trưởng thành
  • NVC: Mới hơn, có khả năng hiệu suất cao hơn cho trình mô phỏng VHDL

Công Cụ EDA Vẫn Là Vấn Đề Lớn Trong Phòng

Cộng đồng chỉ ra các công cụ Electronic Design Automation (EDA) là vấn đề cơ bản đang cản trở sự phát triển của phần cứng. Không giống như phát triển phần mềm, vốn được hưởng lợi từ các công cụ mã nguồn mở như GCC, thiết kế phần cứng thiếu các lựa chọn thay thế mã nguồn mở tương đương cho các công cụ quan trọng. Hệ sinh thái EDA hiện tại hoạt động nhưng tạo ra ma sát đáng kể cho các kỹ sư.

Chúng ta bị giới hạn một cách ngu ngốc bởi công cụ và cơ sở hạ tầng EDA của mình. Tôi ước những nỗ lực này đã được đưa vào sử dụng ở mặt trận đó.

Các công cụ thiết kế backend và chi phí chế tạo chiếm ưu thế trong ngân sách dự án, khiến việc cải thiện HDL frontend có cảm giác như đang tối ưu hóa sai phần của pipeline. Chi phí re-spin chip do lỗi xác minh vượt xa bất kỳ lợi ích năng suất nào từ việc cải thiện cú pháp HDL.

Logo của Trung tâm Điện toán Song song Paderborn , đại diện cho nhu cầu về các công cụ tiên tiến trong phát triển phần cứng
Logo của Trung tâm Điện toán Song song Paderborn , đại diện cho nhu cầu về các công cụ tiên tiến trong phát triển phần cứng

Quan Điểm Học Thuật So Với Công Nghiệp

Có sự phân chia rõ ràng giữa hướng nghiên cứu học thuật và nhu cầu công nghiệp. Trong khi các nhà nghiên cứu tập trung vào việc tạo ra các HDL thanh lịch hơn với các tính năng tiên tiến, các kỹ sư thực hành phải đối phó với tự động hóa xác minh, quản lý độ phức tạp thiết kế và các thách thức tích hợp công cụ hàng ngày. Sự ngắt kết nối này có nghĩa là các cải tiến ngôn ngữ có ý tốt có thể không giải quyết được những điểm đau thực sự giới hạn năng suất.

Lĩnh vực thiết kế phần cứng dường như cần cải thiện cơ sở hạ tầng hơn là đổi mới ngôn ngữ. Các công cụ mô phỏng tốt hơn, framework xác minh mạnh mẽ hơn và công cụ EDA được cải thiện có thể sẽ mang lại lợi ích lớn hơn so với cú pháp HDL mới, bất kể những ngôn ngữ mới này có thể thanh lịch hoặc giàu tính năng đến mức nào.

Các Dự Án HDL Thay Thế:

  • ROHD ( Intel ): Framework mô tả phần cứng sử dụng ngôn ngữ lập trình Dart
  • Spade: Tính năng trình quản lý gói và các công cụ tích hợp ngôn ngữ
  • SUS: Tập trung vào thiết kế RTL với theo dõi độ trễ và lập trình meta

Kết Luận

Cuộc thảo luận về SUS HDL làm nổi bật căng thẳng rộng lớn hơn trong thiết kế phần cứng giữa đổi mới và nhu cầu thực tế. Trong khi các HDL mới cung cấp các tính năng kỹ thuật thú vị, phản ứng của cộng đồng cho thấy rằng việc giải quyết các thách thức xác minh, công cụ và cơ sở hạ tầng sẽ mang lại giá trị tức thì hơn cho các kỹ sư đang làm việc. Cuộc tranh luận phản ánh thực tế phức tạp của phát triển phần cứng, nơi những vấn đề dễ thấy nhất không phải lúc nào cũng là những vấn đề quan trọng nhất cần giải quyết.

Tham khảo: The SUS Hardware Description Language