cambiar a curso:   2018-19   2020-21


Grado en Ingeniería Informática


TRABAJOS FIN DE GRADO
curso: 2019-20

Uso de una plataforma basada en FPGA para la docencia de arquitectura de computadores


Tecnologías Específicas

Ingeniería de Computadores
 


Descripcion y Objetivos

Las FPGA son dispositivos programables muy versátiles y potentes hoy en día. Existen numerosas plataformas de desarrollo basados en FPGA. Un ejemplo es la placa de desarrollo Nexys 4 DDR de Digilent (ahora "Nexys A7"), que integra una FPGA Artix 7 de Xilinx. Este modelo de FPGA ofrece suficientes recursos lógicos como para integrar un procesador moderno relativamente potente (tipo MIPS o ARM), así como el resto de subsistemas de computador básico (entrada/salida, memoria, etc.).

El objetivo principal de este TFG es analizar la posiblidad de emplear esta plataforma para la realización de actividades prácticas en asignaturas relacionadas con la arquitectura y la organización de computadores. 

 


Metodología y Competencias

El plan de trabajo será el siguiente:

  1. Puesta en marcha y familiarización con el entorno de trabajo (software Vivado, placa Nexys 4 DDR, etc.). En particular, la herramienta Xilinx IP Integrator (IPI).
  2. Descarga de distintos IP cores para ARM ("ARM Cortex-M0/M3 DesignStart") y MIPS ("MIPSfpga").
  3. Programación de la FPGA y pruebas de funcionamiento.
  4. Análisis de las distintas opciones, poniendo especial énfasis en las ventajas e inconvenientes de cada una de ellas de cara a su uso docente.
  5. Desarrollo de pequeñas actividades prácticas que pongan de manifiesto su utilidad en las asignaturas correspondientes.

Las competencias de la Tecnología Específica de Ingeniería de Computadores que se aplican son:

  • [IC1] Capacidad de diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesador y sistemas de comunicaciones.
  • [IC2] Capacidad de desarrollar procesadores específicos y sistemas  empotrados, así como desarrollar y optimizar el software de dichos sistemas.
  • [IC3] Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software para las mismas.
  • [IC5] Capacidad de analizar, evaluar y seleccionar las plataformas hardware y software más adecuadas para el soporte de aplicaciones empotradas y de tiempo real.
  • [IC7] Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos.
 


Medios a utilizar

  • Software gratuito de desarrollo de Xilinx (Vivado WebPACK Ediction).
  • Placa Digilent Nexys 4 DDR.
  • IP cores (gratuitos).
 


Bibliografía

  1. Material (cursos, manuales, tutoriales...) proporcionado por Xilinx (Xilinx University Program) y Digilent a través de sus sitios web.
  2. Daniel Chaver. "TEACHING COMPUTER ARCHITECTURE USING MIPSfpga v2.0". Disponible en: http://www.dacya.ucm.es/dchaver/Tutorial_Isca18_MIPSfpga_v2.htm
  3. Sarah L. Harris et al. "MIPSfpga: using a commercial MIPS soft-core in computer architecture education". IET Circuits Devices & Systems, 11(4), March 2017.
  4. ARM. "ARM DesignStart". https://developer.arm.com/ip-products/designstart
  5. David Flynn et al. "Teaching IC Design with the ARM Cortex-M0 DesignStart Processor and Synopsys 90nm Educational Design Kit". IEEE Interdisciplinary Engineering Design Education Conference (IEDEC), 2013.
  6.  Francisco Charte et al. "Uso de dispositivos FPGA como apoyo a la enseñanza de asignaturas de arquitectura de computadores". Enseñanza y Aprendizaje de Ingeniería de Computadores, 7, 2017.
 


Tutores


LOPEZ BONAL, Mª TERESA
BERMÚDEZ MARÍN, AURELIO
 

Alumno