Você pode realmente quebrar um FPGA programando-o incorretamente?
Eu sou um cara de software realmente. Não é segredo que, se o seu software estiver errado, você poderá destruir todos os tipos de dados importantes e talvez até travar a máquina inteira. Mas é realmente difícil danificar fisicamente um computador apenas programando-o.
(Há rumores intermináveis de uma instrução Halt-and-Catch-Fire, ou ser capaz de atualizar o firmware do sistema para bloquear a placa-mãe, ou programar valores incorretos na placa gráfica para fritar o monitor. Mas tudo isso parece ser exatamente isso : rumores. E tudo sobre hardware obsoleto. Parece muito, muito difícil quebrar equipamentos de computadores modernos com uma programação ruim.)
Com um FPGA, você está (pelo menos nominalmente) conectando circuitos individuais. Parece completamente plausível que danos físicos possam ocorrer em caso de erro.
Por exemplo, você pode escrever alguns VHDL solicitando que duas saídas sejam ligadas. Se eles produzem níveis lógicos diferentes, imagino que provavelmente fritariam alguma coisa. ( Espero que sua ferramenta de síntese grite para você não fazer isso ... mas não sei se essas ferramentas realmente implementam esse nível de verificação de erros.)
Também parece bem possível escolher acidentalmente o modelo errado de FPGA na ferramenta de síntese e, assim, acabar programando seu chip com um fluxo de bits destinado a um modelo totalmente diferente. Não sei o que isso faria, mas suspeito que seria "ruim".
Nesse caso, você definitivamente pode conectar o chip FPGA ao resto do circuito incorretamente. Por exemplo, se você bagunçar os números dos pinos, poderá acabar com a placa tentando acionar um pino de E / S que o próprio FPGA também está tentando acionar. Os pinos de E / S normalmente têm alguma "proteção" contra esse erro? Ou o chip apenas fritará?