¿Por qué mis programas no permanecen en la FPGA MAX 10 después de un ciclo de encendido? [cerrado]

2

Programo mi FPGA (MAX 10) con un archivo .sof y funciona, pero cuando apago mi dispositivo, todo se borra de mi FPGA. Después de la exploración en Internet, encontré el IC de EPCS y descubrí que mi placa necesita EPCS. Pero EPCS no es compatible con MAX 10, así que exploré más profundamente y descubrí que MAX 10 tiene flash interno.

¿Pero no entiendo cómo puedo usar el flash interno para la programación persistente?

    
pregunta Devil_HKH13

1 respuesta

5

Necesitará configurar Quartus para producir un archivo POF. Puede generar un POF directamente o convertir un SOF en un POF. Este archivo se puede cargar en la memoria flash. Consulte la página 37 de este documento: enlace . Una vez que haya generado el archivo POF, se puede escribir en la memoria flash interna FPGA a través de la interfaz JTAG con un cable blaster USB.

También hay un proceso similar para los FPGA de Xilinx, donde se genera un archivo MCS en lugar de (o desde) un archivo de bits. La razón por la que este paso es necesario es que realmente solo hay una forma de programar el FPGA directamente, pero hay varias formas diferentes de programar un chip flash. Ahora, normalmente son solo los datos del archivo de bits cargados que comienzan en la dirección 0 ... pero hay otras opciones si es necesario. Por ejemplo, se pueden cargar dos diseños diferentes en el chip flash en diferentes desplazamientos, lo que permite que las actualizaciones fallidas del firmware del FPGA vuelvan a caer en una imagen de arranque "dorada". O múltiples diseños en el mismo chip flash que se dirigen a diferentes FPGA. O múltiples diseños que se pueden intercambiar sobre la marcha (bueno, más o menos). O quizás se requieren algunos datos adicionales después del archivo de bits, tal vez una imagen de arranque para un núcleo suave que se carga en una DRAM externa.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas