FPGA; reconfigurar desde el flash SPI

1

He diseñado una tarjeta Xilinx Spartan-6 PCI con interfaz de configuración SPI (consulte la Figura 2-12 de la guía del usuario de ug380.pdf). Puedo programar el flash de serie a través del cable JTAG, también puedo modificar / programar el flash de serie a través del chip de puente PCI, para fines de actualización de campo. Desafortunadamente, me olvidé de conectar uno de los pines GPIO del chip PCI al pin PROGRAM_B del FPGA, ahora tengo que apagar y encender la computadora para reiniciar la configuración.

¿Hay alguna manera de que el firmware FPGA pueda "FORZAR" el proceso de configuración sin una aserción externa?

    
pregunta Ali

1 respuesta

1

Esta pregunta ha estado pegada en la parte posterior de mi cabeza por un tiempo y acabo de encontrarme con la respuesta en la guía de configuración de Virtex 6 y luego hice una referencia cruzada a la guía de configuración de Spartan 6. Consulte la sección de reconfiguración de IPROG en UG380 en la página 128. Esta página incluye la secuencia de palabras para escribir en la interfaz ICAP_SPARTAN6 para emular una afirmación PROGRAM_B desde la lógica del usuario. Está diseñado para reiniciar la configuración con una dirección base diferente si tiene varias imágenes FPGA almacenadas en el mismo chip flash. Reproduciré la secuencia aquí para la posteridad:

  1. enviar palabra de sincronización
  2. El programa
  3. GENERAL1,2 y GENERAL3,4 se registra con la nueva dirección de flujo de bits + código de operación de lectura flash y la dirección de flujo de bits "dorada" + código de operación de flash.
  4. enviar comando IPROG

Es posible omitir el paso 2 y simplemente enviar la palabra de sincronización y el comando IPROG para usar los valores predeterminados para las direcciones de inicio.

secuencia de bytes:

FFFF dummy word
AA99 sync word
5566 sync word
3261 write GENERAL1
XXXX start address [15:0]
3281 write GENERAL2
XXXX opcode and address [23:16]
32A1 write GENERAL3
XXXX start address [15:0]
32C1 write GENERAL4
XXXX opcode and address [23:16]
30A1 write CMD
000E IPROG
2000 NOP

Es posible que pueda salirse con la suya:

FFFF dummy word
AA99 sync word
5566 sync word
30A1 write CM
000E IPROG
2000 NOP
    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas