¿Cómo se escribe el firmware FPGA en flash?

1

En algunas tarjetas, como Papilio , spi flash se conecta solo a fpga. Como puedo entender, el firmware escribe a flash a través de fpga. ¿Cómo funciona? ¿Fpga no necesita firmware primero para trabajar? Si es así, ¿cómo pasa con fpga antes de escribir cualquier firmware en flash?

    
pregunta vnuEndru

2 respuestas

2

En primer lugar, el punto central de JTAG es que permite que el software de prueba manipule los pines del dispositivo para probar sus conexiones externas a otros dispositivos en la placa. La capacidad de manipular el estado interno del dispositivo es una función secundaria. Por lo tanto, debería ser obvio que será posible hacer que los pines ejecuten el protocolo requerido para escribir datos en la memoria flash.

Sin embargo, esto tiende a ser bastante lento en la práctica, debido a la gran cantidad de transacciones JTAG requeridas para realizar una sola escritura flash. Por lo tanto, la mayoría de los sistemas de desarrollo descargan un diseño pequeño y fijo al FPGA cuyo único propósito es escribir en la memoria flash, y luego le transfieren los datos de configuración utilizando un protocolo más eficiente (aún sobre la interfaz JTAG).

    
respondido por el Dave Tweed
0

Hay varias maneras en que el FPGA puede obtener su configuración:

  • El Spartan 6 LX9 FPGA tiene la capacidad de leer activamente su propia configuración desde la EEPROM a través de SPI.

    Consulte dataseheet : p.4

      

    La Interfaz Periférica Serial Maestra (SPI) y la Interfaz Periférica Periódica Maestra (BPI) son dos métodos comunes   Utilizado para configurar el FPGA. El Spartan-6 FPGA lo configura.   auto de una serie SPI estándar de la industria conectada directamente   flash PROM. El Spartan-6 FPGA puede configurarse a través de BPI   cuando se conecta a un flash NOR paralelo de la industria.   Tenga en cuenta que la configuración BPI no es compatible con el XC6SLX   4, XC6SLX25 y XC6SLX25T ni BPI está disponible cuando se usa   Spartan-6 FPGA en paquetes TQG144 y CPG196.

  • Otra posibilidad es que un controlador de µ (o IC de interfaz USB) "alimente" el FPGA con la configuración. El µC puede obtener los datos de configuración de una EEPROM o vía USB de una PC host.

  • La tercera y probablemente la forma más común durante el desarrollo es programar el FPGA a través de la interfaz JTAG.

Una vez que se haya cargado el firmware, le indica al FPGA que haga lo que quiera (también puede escribir en la EEPROM a través de SPI si lo desea).

    
respondido por el Curd

Lea otras preguntas en las etiquetas