Estoy diseñando la placa Spartan 6 dev con interfaz FT2232H, y me gustaría usar FT2232H para programar el flash AT45 con flujo de bits y luego cambiar FTDI al modo FT245 y usar el reloj de 60MHz del 2232H como reloj principal de Spartan.
En cuanto a la programación del flash AT45 lo cubrí, mantendré Spartan en High-Z manteniendo el PROGRAM_B de Spartan bajo con FT2232H (lo que debería ser posible mediante el uso de pines GPIO del puerto B en modo SPI).
Luego liberaría PROGRAM_B a alto (tengo 4.7k pull-up en el pin PROGRAM_B) y cambiaría FT2232H al modo FT245, lo que debería hacer que Spartan cargue el flujo de bits desde el flash y se inicialice con 60MHz provenientes de FTDI.
Y este último paso es de lo que no estoy seguro. ¿El cambio al modo FT245 dejará los pines del puerto B de FTDI en High-Z o en el último estado? ¿Espará Spartan a que FTDI apague el reloj FT245 60MHz?
Esta imagen muestra el diagrama de la conexión actual (aún no está pulido porque, dado que se trata del paquete BGA, estaba intentando usar pines óptimos, pero debería ser lo suficientemente claro, ya que la nota de 60MHz en el pin 32 de ftdi está conectada a GCLK0 de Spartan)