Paso 3: Añadiendo bloques GPIO
Ahora vamos a añadir algunos bloques "GPIO" al sistema. GPIO es bueno porque nos permite fácilmente enviar pequeñas cantidades de información de periféricos FPGA al procesador o viceversa. Para grandes cantidades de datos AXI es una mejor opción. Siga adelante y haga clic derecho en algún espacio en blanco en el lienzo de diseño y haga clic en "Agregar IP". Escribe en GPIO y haga doble clic en "GPIO de AXI". Va a necesitar cinco de estos bloques total, así que adelante y añadir cuatro más. El resultado debería verse como la imagen de abajo.
Cuatro de los bloques GPIO tendrá que ser lo que se llama "dual channel". Esto significa que cada bloque GPIO puede aceptar/enviar dos diferentes piezas de datos. Haga doble clic en GPIO bloque 0. Debe saltar una ventana con un montón de opciones. Marque la casilla "Habilitar dos canales". Consulte "Todas las entradas" para ambos canales. Que el ancho de la primera 1 de GPIO y la anchura de la segunda 24 de GPIO. También, marque la casilla "Habilitar interrupción" en la parte inferior de la pantalla. Haga clic en Aceptar.
Ahora pasa el cursor sobre el bloque pequeño unido a la etiqueta "GPIO" GPIO bloque 0. Un pequeño lápiz debe aparecer como el cursor. Luego haga clic derecho y seleccione "Hacer externos". Ello, para el sello "GPIO2" así. Haga doble clic en el puerto GPIO que fue creado y cámbiele el nombre a "LDATA_RDY". Luego haga doble clic en el puerto de GPIO2 que fue creado y el nombre "LDATA". Este GPIO se utilizará para leer los datos desde el códec de audio, así como para ver cuándo están listos datos.
Ahora haga clic en la línea negra pequeña que sale "ip2intc_irpt" y lo arrastramos a "IRQ_F2P [0:0]" en el bloque ZYNQ.
Repita el proceso anterior con el bloque de GPIO 1 excepto hacer no haga clic en "doble canal", haz clic en "Todas las salidas" en lugar de "Todas las entradas", el ancho de canal 4 y no haga clic en "Permitir interrumpir". Crear un puerto externo nuevo y asígnele el nombre "Interruptores". Este GPIO se utilizará para determinar lo que se muestra en la matriz de LED.
Para GPIO 2, permiten doble canal y hacer ambos canales "Todas las salidas". El primer canal debe ser amplia 7 bits y el segundo canal debe ser 9 bits de ancho. NO permite interrupciones. Hacer dos puertos externos. Nombre el primero de ellos "Addr" y el segundo "datos". Este GPIO se utilizará para configurar el códec de audio en el tablero de zybo.
Para GPIO 3, activar el doble canal, hacer el primer canal de "Todas las entradas" y hacer el segundo canal "Todas las salidas". Ambos canales deben tener un ancho de bit de 1. NO permite interrupciones. Crear puertos externos para ambos canales. Nombre el primer "listo" y el segundo un "reset". Este GPIO participa con configurar el códec de audio.
Finalmente, para 4 de GPIO, activar el doble canal y hacer el primer y segundo canal "Todas las salidas". Hacer el ancho de canal 1 para ambos. No comprobar habilitar las interrupciones. Hacer los puertos externos y el nombre de la primera "timer_GPIO" y el segundo "gpio_rtl". Este GPIO se utiliza sólo para facilitar las pruebas.