¿Se dañará un FPGA si se produce una contención en un pin bidireccional?

4

En la universidad me dijeron que la contención de autobuses puede causar daños en el hardware. Me refiero a una situación en la que dos piezas de hardware fuerzan / manejan diferentes niveles lógicos en la misma señal.

Tomando un ejemplo de un FPGA que está conectado a un dispositivo PS2 o cualquier otro ejemplo donde se requiera el uso de señales bidireccionales, ¿qué ocurrirá si ambos dispositivos en esta señal bidireccional manejan diferentes niveles lógicos en él?

    
pregunta quantum231

2 respuestas

6

Como te dijeron. Si un dispositivo intenta elevarse alto mientras que el otro intenta reducirlo, la corriente fluirá a voluntad hasta un nivel determinado por la resistencia al silicio de las dos estructuras de salida en los dispositivos. Algunos dispositivos pueden tener un límite de corriente diseñado en ellos, pero incluso entonces es muy probable que la corriente sea mucho más alta que el límite de seguridad especificado para las partes.

El flujo de alta corriente como este puede acumular calor rápidamente a un nivel que destruye el chip IC en el área alrededor de la conexión del pin. En algunos casos el fallo podría destruir todo el chip. En otros, puede haber partes del IC que permanezcan funcionales con la pérdida de la funcionalidad de algunos pines.

Si tiene problemas para resolver problemas con una placa que se acaba de construir y tiene un problema de contención debido a una conexión incorrecta o una soldadura corta, a menudo es posible corregir la mala conexión y tener la función de la placa normalmente. Sin embargo, siempre es posible que los dispositivos afectados hayan sido estresados y puedan fallar en algún momento posterior. La migración del metal en el chip podría suceder para crear un cortocircuito o la tensión podría haber dañado un óxido de modo que falle cuando hay un transitorio en el momento de encendido o apagado.

    
respondido por el Michael Karas
2

Sí, un FPGA puede dañarse si hay otro dispositivo que maneja un voltaje diferente en un pin que usa como salida.

¿Ocurrirá la primera vez que hagas eso? Probablemente no.

¿Debería diseñar algo donde esto suceda como parte del comportamiento diseñado? Yo diría que no.

    
respondido por el The Photon

Lea otras preguntas en las etiquetas