Configuración de una FPGA en la instalación

Estoy trabajando en un proyecto usando un Virtex-5 FPGA. Los pequeños proyectos en los que he trabajado con FPGA solo me han requerido programar los FPGA en placas de desarrollo usando JTAG o cargando el archivo de bits en el FPGA. Sin embargo, tengo una placa de nuevo diseño que usa un FPGA que creo que aún no se ha encendido.

Estaba leyendo un poco sobre la necesidad de configurar el FPGA y también estaba leyendo la guía de configuración que habla sobre la memoria interna que se escribe con los datos de configuración. No sé si me he perdido algo o si Xilinx ISE lo hace automáticamente cuando programo el FPGA con él. ¿Alguien puede arrojar alguna luz adicional sobre esto?

¡Gracias!

La configuración es un eufemismo para "cargar el archivo de bits".
La mayoría de los FPGA están basados ​​en SRAM (hay excepciones, pero su parte no es una de ellas) y, por lo tanto, debe configurarse cada vez que se enciende , no solo el primero.

Respuestas (1)

La propia configuración de FPGA se almacena en SRAM (es decir, flip-flops). Una FPGA recién iniciada tiene una configuración vacía en la que, por lo general, todos los pines están en un estado un tanto inactivo (por ejemplo, pull-up débil) y los relojes no se reenvían dentro de la FPGA, por lo que no tiene lugar ninguna actividad.

A partir de ese estado, la FPGA arranca de forma activa accediendo a un dispositivo externo (generalmente, una memoria flash) o espera hasta que se configura mediante un circuito externo. El camino que se toma generalmente depende de algunas resistencias en algunos pines.

La memoria de bloques interna también puede inicializarse a partir de los datos de configuración, aunque no es necesario.

Las placas nuevas y brillantes se programan como todas las demás, conectándose a JTAG y escribiendo una configuración en el chip, o insertando el chip para que escriba en flash y, posteriormente, activando una reconfiguración para que se carguen los datos.