Вы действительно можете сломать ПЛИС, неправильно запрограммировав ее?
Я действительно программист. Ни для кого не секрет, что если ваше программное обеспечение неверно, вы можете уничтожить все виды важных данных и, возможно, даже разбить всю машину. Но действительно сложно физически повредить компьютер, просто запрограммировав его.
(Существует бесконечное количество инструкций Halt-and-Catch-Fire, или возможность перепрошить системную прошивку, чтобы заглушить материнскую плату, или запрограммировать неправильные значения в графическую карту, чтобы поджарить ваш монитор. Но все это, кажется, именно : слухи. И все о давно устаревшем оборудовании. Кажется, действительно очень сложно сломать современное компьютерное оборудование при плохом программировании.)
С ПЛИС вы (по крайней мере, номинально) соединяете отдельные цепи вместе. Кажется вполне вероятным, что в случае ошибки может возникнуть физический ущерб.
Например, вы могли бы написать некоторый VHDL, запрашивающий, чтобы два выхода были связаны вместе. Если бы они выводили разные логические уровни, я думаю, что это могло бы что-то поджарить. (Я надеюсь, что ваш инструмент синтеза будет кричать, чтобы вы этого не делали ... но я не знаю, реализуют ли такие инструменты этот уровень проверки ошибок.)
Также кажется вполне возможным случайно выбрать неправильную модель FPGA в инструменте синтеза, и, таким образом, в итоге вы пытаетесь запрограммировать ваш чип с помощью битового потока, предназначенного для какой-то совершенно другой модели. Я не знаю, что это будет делать, но я подозреваю, что это будет «плохо».
В этом отношении, вы могли бы определенно подключить чип FPGA к остальной части цепи неправильно. Например, если вы перепутаете номера выводов, вы можете столкнуться с тем, что плата пытается запустить вывод ввода-вывода, который также пытается использовать сама FPGA. Как правило, контакты ввода / вывода имеют какую-либо «защиту» от такой ошибки? Или чип просто поджарится?