Nota: la pregunta se puede interpretar como un problema de diseño, lo dirijo como tal.
Si desea probar el chip FTDI, omitiría el FPGA. Si lo usas, estarás probando dos cosas a la vez, y no sabrás dónde está el error en caso de que no funcione.
El bucle invertido es una buena idea, pero yo iría directamente desde la salida FTDI a su entrada y conectaría un analizador de alcance o lógico a eso. SPI es muy fácil de reconocer y decodificar directamente desde la pantalla. Envíe un byte, verifique el alcance / analizador lógico y vea si recupera el byte.
Una vez que el FTDI esté bien, puede continuar con el siguiente paso, la implementación de SPI en el FPGA.
editar
Para una prueba de producción también puede usar un bucle de retorno. Su FPGA tiene implementado el SPI y su registro de desplazamiento actúa como un retraso. Haga que la PC envíe un byte específico, que cambiará en el registro de cambios SPI. Luego, deje que la PC envíe otro byte y recuperará el anterior (asumiendo que tiene un registro de desplazamiento de 8 bits. IIRC, los controladores NXP Cortex tienen un SPI de 16 bits). Eso no requiere ninguna lógica de prueba adicional en el FPGA.
Esto le permite obtener una verificación buena / mala para el bucle completo, pero no tiene ninguna información de dónde está el error en caso de que la prueba falle. Por lo tanto, dejaría que el FPGA comparara el primer byte recibido con el valor esperado, y generara un bit bueno / malo que luego puede ser leído por la plantilla de prueba. Entonces, en caso de error, al menos sabrá si la ruta de PC a FPGA está bien o no.