Estou programando microcontroladores há alguns anos e acabei de descobrir os FPGAs depois de fazer uma aula de design digital. Depois de fazer algumas pesquisas sobre diferentes FPGAs, placas de desenvolvimento etc., ainda hesito em comprá-las porque não sei como criar minha própria versão do "produto" final. Coloquei PICs, SAMs, AVRs etc. em PCBs personalizadas sem problemas, por isso não estou preocupado com isso - minha principal preocupação é programar um FPGA sem a placa do fabricante.
Minha pergunta específica: Um FPGA funcionaria se eu pegasse o arquivo de bitmap gerado pelo Quartus, Vivado, iCEcube, etc, o escrevesse em um chip de memória flash SPI começando no endereço 0 (por exemplo, através de um FT2232H) e conectasse a memória flash ao os pinos SPI de um FPGA (com a configuração MODE configurada corretamente)?
Peço desculpas pelo hipotético parcial; Tenho certeza de que é tudo o que o Diamond Programmer da Lattice faz, mas me perguntei se essa abordagem funcionaria para FPGAs de diferentes fabricantes ou se, digamos, a Quartus adicionou "revestimentos de janelas" ou cabeçalhos adicionais à memória durante a gravação.
Deixe-me saber se há algo que eu possa fazer para melhorar / esclarecer a pergunta ou se estou perdendo um grande ponto no processo de programação do FPGA. Obrigado!