Programación no volátil FPGA

Recientemente compré un FPGA Cyclone II aquí . Lo he podido programar con un cable USB Blaster y el Software Altera Quartus. El problema es que cuando desconecto la corriente, pierdo el programa. ¿Cómo lo programo para que continúe funcionando después de que se corte la energía?

Nota: esta pregunta es similar a esta , pero el nombre de la pregunta dificultó la búsqueda, por lo que estoy de acuerdo con "The Photon" en que esta debe mantenerse abierta.

Esto es un duplicado, investiga por favor electronics.stackexchange.com/questions/213653/…
@ laptop2d, puede ser un duplicado, pero la redacción de esta pregunta es mucho más clara, por lo que esta pregunta será mucho más fácil de encontrar para los futuros usuarios que busquen una respuesta a esta pregunta.
Cuando programa su FPGA, ¿ve algún otro dispositivo indicado en la cadena JTAG?
Aparentemente, hay un chip de almacenamiento no volátil en la parte posterior de esa placa. Debe leer la documentación para saber cómo programar eso y cómo hacer que la placa se configure desde ese chip al encenderlo. La página a la que se vinculó no parece tener esa información.
Si cree que esto es un engaño, marque la otra pregunta como un engaño de este . Eso preservará el mejor título de la pregunta.
Para resumir, las respuestas se superponen (y tal vez incluso mucho), pero las preguntas son completamente diferentes. Hacer referencia a este problema tiene sentido, pero marcarlo como un duplicado sería muy confuso para los futuros lectores. Como lector, pensando en el futuro de estos comentarios, al menos para mí, si no también para otros, diría que preservar estas respuestas y preguntas me ayudó mucho a llegar a mi respuesta de manera más rápida y efectiva .

Respuestas (2)

Un FPGA (con algunas excepciones, que no incluyen la familia Cyclone) no tiene almacenamiento no volátil, por lo que perderá su configuración cuando se desconecte la alimentación.

Sin embargo, se puede programar (mediante conexiones pull-up/down en su pin) para recargar automáticamente datos de configuración desde otro dispositivo en la PCB tan pronto como se encienda.

Deberá consultar la Guía del usuario de configuración (lo siento, ese es el nombre de Xilinx, Altera tendrá algo similar) para que su dispositivo determine cómo configurar su FPGA para recargar automáticamente su programa al encenderlo.

Y deberá observar el diseño de su placa de demostración para averiguar qué tipo de dispositivo de almacenamiento no volátil se proporciona para programar el FPGA.

Luego, deberá programar su flujo de bits en el dispositivo de almacenamiento no volátil y reiniciar el FPGA para que su FPGA se reconfigure automáticamente al encenderlo.

Si bien la respuesta de The Photon respondió a mi pregunta original, pude descubrir cómo programar el chip EEPROM en la placa que publiqué originalmente (EP2C5T144 Altera Cyclone II).

Al enchufar el USB Blaster en el puerto etiquetado como AS (Active Serial) en la placa, se escribe en la EEPROM. En el programador de Altera, seleccione el método de programación como Programación en serie activa. Agregue un dispositivo y seleccione EPCS4, que es el chip EEPROM en la placa. Agregue el archivo a la lista para que se programe y seleccione iniciar. El proceso llevará más tiempo que la programación estándar. Cuando se apaga y enciende, el programa de arranque será el que se almacenó en la memoria flash.

Tenga en cuenta que la Programación en serie activa no actualizará el programa actual hasta que se apague y encienda el dispositivo.