¿Puedes realmente romper un FPGA programándolo incorrectamente?
Soy un chico de software realmente. No es ningún secreto que si su software está equivocado, podría destruir todo tipo de datos importantes y quizás incluso bloquear toda la máquina. Pero es realmente difícil dañar físicamente una computadora con solo programarla.
(Hay un sinfín de rumores de una instrucción de detener y encender fuego, o de poder volver a actualizar el firmware del sistema para bloquear la placa base, o programar valores incorrectos en la tarjeta gráfica para freír su monitor. Pero todo esto parece ser exactamente eso : rumores. Y todo sobre el hardware obsoleto desde hace mucho tiempo. Parece muy, muy difícil romper los equipos informáticos modernos con una mala programación).
Con un FPGA, está (al menos nominalmente) conectando circuitos individuales juntos. Parece completamente plausible que pueda producirse daño físico en caso de error.
Por ejemplo, podría escribir algunos VHDL solicitando que dos salidas se unan. Si producen diferentes niveles lógicos, imagino que probablemente freiría algo. ( Espero que su herramienta de síntesis le grite que no haga esto ... pero no sé si tales herramientas realmente implementan ese nivel de verificación de errores).
También parece bastante posible elegir accidentalmente el modelo incorrecto de FPGA en la herramienta de síntesis y, por lo tanto, terminar tratando de programar su chip con un flujo de bits destinado a un modelo totalmente diferente. No sé qué haría eso, pero sospecho que sería "malo".
Para el caso, definitivamente podría conectar el chip FPGA al resto del circuito de forma incorrecta. Por ejemplo, si confunde los números de pin, podría terminar con la placa tratando de manejar un pin de E / S que el propio FPGA también está tratando de manejar. ¿Los pines de E / S suelen tener alguna "protección" contra tal error? ¿O el chip simplemente se freirá?