He estado programando microcontroladores durante algunos años, y acabo de descubrir los FPGA después de tomar una clase de diseño digital. Después de investigar un poco sobre diferentes FPGA, placas de desarrollo, etc., todavía dudo en comprar alguna porque no sabría cómo hacer mi propia versión del "producto" final. Puse PIC, SAM, AVR, etc. en PCB personalizados sin ningún problema, por lo que no me preocupa eso: mi principal preocupación es programar un FPGA sin una placa de fabricante.
Mi pregunta específica: ¿funcionaría una FPGA si tomara el archivo de mapa de bits generado por Quartus, Vivado, iCEcube, etc., lo escribiera en un chip de memoria flash SPI que comience en la dirección 0 (por ejemplo, a través de un FT2232H) y conecte la memoria flash a los pines SPI de un FPGA (con la configuración MODE configurada correctamente)?
Pido disculpas por la hipotética parcial; Estoy bastante seguro de que eso es todo lo que hace el Programador de diamantes de Lattice, pero me preguntaba si ese enfoque funcionaría para FPGA de diferentes fabricantes, o si, por ejemplo, Quartus agregó "escaparates" o encabezados adicionales a la memoria mientras lo escribía.
Avíseme si hay algo que pueda hacer para mejorar / aclarar la pregunta, o si me falta un punto importante en el proceso de programación de FPGA. ¡Gracias!