Tôi đã đọc ở đâu đó rằng mã VHDL xấu có thể dẫn đến thiệt hại cho đồ họa.
Thậm chí có thể làm hỏng một FPGA với mã VHDL? Những loại điều kiện sẽ gây ra điều này và các trường hợp xấu nhất là gì?
Tôi đã đọc ở đâu đó rằng mã VHDL xấu có thể dẫn đến thiệt hại cho đồ họa.
Thậm chí có thể làm hỏng một FPGA với mã VHDL? Những loại điều kiện sẽ gây ra điều này và các trường hợp xấu nhất là gì?
Câu trả lời:
Thêm vào câu trả lời của @ Anonymous, có những thiết kế bạn có thể xây dựng có thể làm hỏng kết cấu của một đồ họa.
Đối với người mới bắt đầu, nếu bạn xây dựng một thiết kế rất lớn bao gồm số lượng lớn các thanh ghi (ví dụ 70% của FPGA), tất cả đều ở mức gần tần số tối đa của các GPU, có thể làm nóng silicon đáng kể. Nếu không làm mát đầy đủ, điều này có thể gây ra thiệt hại vật lý. Chúng tôi đã mất một chiếc GPU trị giá $ 13k vì nó quá nóng do bộ dev-kit có hệ thống làm mát khủng khiếp.
Một trường hợp đơn giản hơn có thể là các vòng lặp tổ hợp. Ví dụ: nếu bạn khởi tạo ba cổng không được nối với nhau trong một vòng và vô hiệu hóa hoặc bỏ qua các cảnh báo tổng hợp về cấu trúc như vậy, bạn có thể tạo thành một cái gì đó rất tệ cho một đồ họa. Trong ví dụ này, bạn sẽ tạo ra một bộ dao động đa GHz có thể tạo ra rất nhiều nhiệt trong một khu vực rất nhỏ, có thể làm hỏng ALM và logic xung quanh.
Mã không phải là một từ đúng trong bối cảnh này. Trong khi Verilog hoặc VHDL trông giống như chương trình, đầu ra của trình biên dịch là một cấu hình được nạp vào chip FPGA hình thành mạch điện tử bên trong nó.
Hai loại đến với tâm trí của tôi:
Định cấu hình sai một khối các chân đầu vào vì đầu ra có thể làm điều đó nếu bất cứ điều gì khác đang lái chúng đủ cứng.
Tôi không biết nếu định cấu hình một số chân cho LVDS hoặc một trong các tiêu chuẩn LVCMOS trong khi ngân hàng IO được cấp nguồn từ điện áp quá cao (ví dụ như nguồn 3,3V với tiêu chuẩn IO 1,8V hoặc ngược lại với đầu vào) nó không
Rõ ràng các vấn đề về nhiệt có thể là một khả năng bằng cách làm một cái gì đó ngớ ngẩn như khởi tạo nhiều, nhiều, dao động vòng.
Các GPU có thể được cấu hình lại trong thời gian chạy với dòng bit mới (một phần). Thông thường, luồng này được tải từ một nguồn bên ngoài, nhưng bạn cũng có thể tự tạo luồng này trong bản đồ họa (ví dụ: bằng CPU mềm được nhúng). Sử dụng một giải pháp như vậy, ví dụ như di chuyển động các phân lớp con, không cung cấp tất cả các kiểm tra tính nhất quán như được thực hiện bởi các công cụ của nhà cung cấp. Vì vậy, nếu thuật toán của bạn bị hỏng, bạn có thể kích hoạt các bóng bán dẫn đường dẫn sai trong một đồ họa và ghi chúng.
Bạn cũng có thể chọn các chế độ hoạt động sai cho các nguyên hàm FPGA như PLL hoặc máy thu phát.
Cấu hình lại động giống như mã tự sửa đổi trong phần mềm.