Configuración
Configuración de VIVADO para la utilización con la placa PYNQ
Instalación de Vim y configuración de Vim-LatexSuite
La idea del artículo es realizar la configuración de la placa PYNQ como FPGA, y realizar un ejemplo básico con los botones y led que la placa dispone. No hay mucho texto en el tutorial, pero supongo que con las imágenes es suficiente, están cubiertos los pasos y también los "pop-up" que iban apareciendo.
Paso 1

Paso 2

Paso 3
Colocar el nombre del proyecto y la carpeta donde se guardara el proyecto.

Paso 4
RTL = Register Transfer Level

Paso 5
Crear el archivo VHDL. Especificar el formato del archivo en la pestaña de abajo.

Paso 6

Paso 7

Paso 8

Paso 9
Archivo en el cual se asignan los pines a las señales utilizadas en el proyecto.

Paso 10

Paso 11
Información proporcionada por el manual de PYNQ, en donde especifica la versión de integrado para definir en el paso siguiente.

Paso 12

Paso 13
Click en Finish

Paso 14

Paso 15
En esta ventana se deben crear los puertos de nuestro proyecto (entradas y salidas), colocar el nombre de la entidad (Entity name) que por defecto es el mismo nombre dado al proyecto, y el nombre de la arquitectura que esta ligada a la entidad.

Paso 16
Paso 17
Asignar las entradas a las salidas. Los pulsadores a los LEDs.

Paso 18
Guardar el proyecto con el botón en la barra de tareas.

Paso 19

Paso 20
Procesando.

Paso 21
Sigue procesando.

Paso 22

Paso 23

Paso 24
Implementando el diseño.

Paso 25
Finalizando la implementación.

Paso 26
Se abre un nuevo entorno gráfico, en donde se definirán lo pines de salida.

Paso 27
Vamos a la pestaña Window-|I/O Ports.

Paso 28
Abajo aparecen los puertos a configurar.

Paso 29
Expandir los puertos para poder modificarlos.

Paso 30
Se deben cargar los valores de la imágen. Tener cuidado en los niveles de tensión a colocar. Para modificar todos éstos al mismo tiempo, solocarse en la fila de "BOTONES(4)" y en la columna de I/O std colocar el valor correspondiente a 3.3V. Estos valores se sacaron de la hoja de datos[PDF Warning] de la placa.

Paso 31
Guardar los cambios.

Paso 32
OK.

Paso 33
Se debe elegir el archivo de configuración creado en el paso 8. Puede por defecto aparecer ya seleccionado.

Paso 34
Correr la implementación desde la pestaña Flow-|Run Implementation.

Paso 35
Puede comprobarse en la esquina superior derecha que se está procesando.

Paso 36
OK.

Paso 37

Paso 38
Implementación terminada. Se puede comprobar el estado en la parte superior derecha.

Paso 39
Generar el archivo .bit desde la pestaña Flow-|Generate Bitstream

Paso 40
Arriba a la derecha indica "Running..."

Paso 41
Tener cuidado de seleccionar "Open Hardware..."

Paso 42
Aparece una barra verde arriba.

Paso 43
Agregar un nuevo dispositivo para cargarlo.

Paso 44

Paso 45
Conectar la placa por el cable USB sin la tarjeta de memoria.

Paso 46

Paso 47
La terjeta es reconocida por el programa.

Paso 48

Paso 50
En este punto solo falta cargar la FPGA.

Paso 49
Seleccionar en "Program Device" la placa configurada anteriormente.

Paso 51
Buscar el archivo de configuración. Tiene el mismo nombre que la entidad y está ubicado dentro de la carpeta llamada nombre_proyecto.runs, en la ruta del proyecto. Dentro de esta carpeta hay otra llamada *_runs, así se encuentra el archivo de configuración. tutorial.bit

Paso 52
Cargando el archivo a la placa. A partir de este punto puede comprobarse el funcionamiento en la placa.
