Hola a todos!!

Hace un par de días hemos subido a Youtube un nuevo video, hablando de cómo poner en marcha un sistema basado en el procesador Microblaze sobre una placa Nexys 4 de Digilent. El tutorial es valido para cualquier otra FPGA de Xilinx que tengáis. Los pasos son exactamente iguales.

Microblaze es el procesador proporcionado por Xilinx para ser implementado sobre la lógica de la FPGA. Es un procesador RISC sencillo, pero suficiente para ejecutar Linux.

En las FPGA de la familia Zynq, Xilinx ofrece otro tipo de procesadores, basados en la arquitectura ARM, pero en ese caso no se implementan sobre la lógica de la FPGA, sino que están fisicamente dentro del chip rodeados de lógica configurable.

En el video explicamos como conectar Microblaze, crear el diseño y realizar un ejemplo de Hola Mundo a través del puerto serie. Este diseño es la base para posteriores diseños más complejos.

Aquí os dejo el video y tras él seguiré escribiendo para dar un pequeño resumen de los pasos a seguir para los que no os apetezca verlo.

Crear un sistema basado en Microblaze es bastante sencillo gracias a las herramientas que nos da Vivado.

Lo primero que vamos a necesitar es un BSP, un Board Support Package, que nos debe proporcionar el fabricante de la placa. Estos paquetes incluyen controladores estandar y la asignación de pines.

En nuestro caso Digilent proporciona el paquete con controladores de memoria y el controlador de puerto serie que vamos a utilizar, así que lo descargaremos de aqui y lo copiaremos a la carpeta boards de Vivado.

Una vez dentro los pasos son los siguientes:

  • Añadir un esquemático al proyecto. Vamos a trabajar con dibujos 🙂
  • Añadir Microblaze y configurarlo. En este caso vamos a dejarlo todo por defecto salvo que haremos una implementación que ocupe poco área.
  • Después iremos a la sección de boards y seleccionaremos la USB UART para poder enviar nuestro hola mundo a través del puerto serie.
  • Daremos al botón de automatización y en el circuito resultante:
    • Ajustaremos la polaridad del reset
    • Asignaremos los pines de reloj y reset.
    • Cambiaremos la memoria del Microblaze a 32Kb
  • Volvemos a ejecutar el automatizador
  • Generamos el bitstream
  • Exportamos el diseño cargando el bitstream
  • Lanzamos el SDK
  • Compilamos el programa Hola Mundo
  • Cargamos el bitstream
  • Lanzamos Tera Term para ver los datos enviados por la UART
  • Cargamos el programa en el Microblaze

Y en ese momento veremos nuestro hola mundo saliendo por el puerto serie de nuestro ordenador.

Echadle un vistazo, y cualquier duda, ya sabéis que estamos aqui para ayudaros.

Un saludo