Error "error" del programador Nano-Soc

0

Soy muy nuevo en la programación FPGA. Conseguí mi tarjeta Atlas DE0-Nano-SoC 5CSEMA4U23C5N hoy y ahora estoy intentando programar la tarjeta usando Quartus Prime Lite. Creé un código VHDL y ejecuté el análisis y la síntesis con éxito, completé la asignación de pines y compilé y el programador está recogiendo mi dispositivo. Sin embargo, cuando agrego mi archivo de salida y pulso 'Inicio', simplemente obtengo un error en la barra de progreso. Sospecho que tiene algo que ver con los ajustes de configuración en el tablero. El material de mi tutorial universitario menciona poner el interruptor con RUN y PROG en RUN, pero no tengo idea de qué son estos interruptores. (La consulta del manual del dispositivo tampoco aclaró esto).

Actualmente tengo la configuración establecida en 1 arriba, 2 abajo, 3 arriba, 4 arriba, 5 abajo, 6 abajo.

¿Podría alguien explicar por favor qué hace cada conmutador en la configuración y qué debería configurarse para poder poner mi programa en la pizarra? Estoy usando Windows 10. He puesto imágenes de la configuración actual, el código y el error a continuación.

libraryieee;useieee.std_logic_1164.all;entityFirstProjectisport(i1,i2:instd_logic;o1:outstd_logic);endFirstProject;architecturedataflowofFirstProjectisbegino1<=i1andi2;enddataflow;

    
pregunta Blargian

1 respuesta

0

La programación con JTAG se puede realizar bajo cualquier configuración MSEL válida (el interruptor de la foto).

La configuración de MSEL especifica que con manera se programará automáticamente un FPGA en el encendido (una descarga desde la memoria Flash EPCS, o una carga por el software de arranque de la parte HPS-SoC), < strong> y qué configuración formato se espera que se lea (comprimido / no comprimido, cifrado / no cifrado), lo que se hace con las herramientas de conversión de Quartus.

at power-on, with way?
MSEL[4..0] 10010 (swith 1-6: ON OFF ON ON  OFF * ) from Flash, compressed/uncompressed
MSEL[4..0] 01010 (swith 1-6: ON OFF ON OFF ON  * ) from HPS software, compressed
MSEL[4..0] 01000 (swith 1-6: ON ON  ON OFF ON  * ) from HPS software, uncompressed
MSEL[4..0] etc

Pero JTAG funciona con cualquier configuración de MSEL válida, por lo que no está relacionado con su problema:

Intenta comenzar con la programación JTAG desde el principio (sin los dispositivos listados).

  1. Presione el botón de configuración de hardware - > En Hardware seleccionado actual seleccione DE-SoC [USB-1] y cierre la ventana.

  2. Pulse Autodetect y, en la ventana emergente, seleccione 5CSEMA4

  3. El autodetect hará que aparezcan dos dispositivos enumerados: SOCVHPS y 5CSEMA4 (¿Ocurre esto?)

  4. Seleccione 5CSEMA4, haga clic con el botón derecho - > Editar - > Cambiar Archivo

  5. Seleccione el archivo sof generado por la compilación y presione abrir. El nombre del dispositivo 5CSEMA4 se convierte en 5CSEMA4U23.

  6. Seleccione la casilla de verificación Programar / Configurar ubicada en la línea 5CSEMA4U23.

  7. Push Start

En el paso 4, si hiciste una Edición - > Agregar Archivo, probablemente alteró la cadena de dispositivos de forma no deseada. Sospecho que esto es lo que te sucedió.

Con lo anterior, coloca la configuración de su programa en la memoria interna del FPGA, no en el Flash EPCS, por lo que será temporal.

En el futuro, cuando se desee conservar la configuración de programación:

Para cargar la configuración del programa en la memoria Flash, el archivo sof se debe convertir en un archivo jic , además de agregar al paso 4 el dispositivo EPCS128. , donde subirás el archivo jic. El FPGA lo leerá en el próximo encendido si el MSEL lo permite (o con un reinicio en los diseños de placas que lo incluyó, no es este el caso).

Para almacenar la configuración del programa en la partición FAT de la tarjeta SD, utilizada por HPS SoC boot, el archivo sof se debe convertir en un archivo rbf (y el el proceso de arranque del software lo cargará en el FPGA).

Esto significa que un 'reinicio de HPS' volverá a cargar la configuración de programación en el FPGA si la configuración de MSEL lo permite, y es por eso que se usa generalmente el MSEL de Flash cuando se está probando y subiendo con JTAG, como un 'por si acaso', o al menos lo veo de esta manera.

    
respondido por el ClassicOcean

Lea otras preguntas en las etiquetas