¿Cómo puedo usar un puerto IO en Digilent Genesys Virtex 5 para controlar 6 LED externos?

Tengo un proyecto que requiere salida led. En este momento estoy usando los LED integrados, pero me gustaría usar 6 LED externos en su lugar.

¿Qué pines IO debo usar y cómo debo hacerlo?

Supongo que es tan simple como encontrar seis puertos de salida, cablear cada LED en serie con una resistencia y conectar cada ruta a tierra, y luego editar el archivo ucf para asignar los nombres de los puertos de salida de la entidad a los puertos io. ¿Es así de simple? ¿Alguien me dará una explicación detallada? Gracias.

¿Necesita un control individual sobre los LED?
@Ignacio Sí, en mi descripción de comportamiento en la arquitectura, controlo los LED integrados individualmente. Entonces, seis LED de salida diferentes, varios patrones que representan diferentes estados.
Básicamente, sus configuraciones funcionarán. Si su LED puede consumir una gran cantidad de corriente, es posible que necesite un búfer (como BJT o FET) para controlarlos en lugar de controlarlos directamente mediante pines de E/S.

Respuestas (1)

Un Virtex-5 puede controlar hasta 24 mA por pin de E/S según el estándar de E/S seleccionado y el voltaje del banco de E/S (consulte DS202, página 7 en la hoja de datos de Virtex-5 FPGA: características de CC y conmutación ) . La fuerza de la unidad se puede configurar en un archivo ucf.

Ejemplo de línea ucf:

NET "ML505_GPIO_LED[0]" ....... IOSTANDARD = LVCMOS33 DRIVE = 12 SLEW = SLOW;

Consulte la Guía de restricciones de Xilinx para obtener más detalles.

Si su LED necesita una corriente más alta, use un FET como lo sugiere @diverger. Puede usar los esquemas de ML505 como referencia sobre cómo Xilinx conectó los LED a la FPGA (consulte la página 10). Esta placa está equipada con docenas de NDS331N FET ( Modo de mejora de nivel lógico de canal N FET ) para controlar dispositivos externos. Estos FET proporcionan las corrientes para impulsar el LED y también actúan como conmutadores de nivel de voltaje. Entonces, un pin 1.8VI / O puede cambiar un LED de 2.5V. ¡Usar el NDS331N como cambiador de nivel para cables de datos de velocidad media, como se hace en la placa ML505, no es una buena solución! (por ejemplo, cables I²C)