Desarrollo de un motor de reconfiguración HW para plataformas Zynq

García Santamaría, Laura (2017). Desarrollo de un motor de reconfiguración HW para plataformas Zynq. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM), Madrid.

Descripción

Título: Desarrollo de un motor de reconfiguración HW para plataformas Zynq
Autor/es:
  • García Santamaría, Laura
Director/es:
  • Torre Arnanz, Eduardo de la
  • Rodríguez Medina, Alfonso
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería en Tecnologías Industriales
Fecha: Febrero 2017
Materias:
Palabras Clave Informales: FPGA, reconfiguración dinámica y parcial, Bitstream, ICAP, PCAP, Master AXI4-Full, bloque IP.
Escuela: E.T.S.I. Industriales (UPM)
Departamento: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (2MB) | Vista Previa

Resumen

El Trabajo de Fin de Grado (TFG) presentado en este documento consiste en el diseño de un motor de reconfiguración hardware, empleado para la reconfiguración parcial de una FPGA de la familia Zynq-7000. El objetivo fundamental de este trabajo es por tanto, conseguir desarrollar un controlador que permita gestionar completamente en hardware la reconfiguración dinámica y parcial de una FPGA de Xilinx empleando la herramienta de Vivado. Este tipo de reconfiguración, permite modificar parte de la FPGA manteniendo intacta la región estática, para ello es necesario el empleo de bitstreams parciales que solo reconfiguren la región dinámica. La motivación inicial de este TFG surge a raíz de un proyecto de carácter internacional conocido con el acrónimo ENABLE-S3. Como consecuencia de este proyecto, se decide desarrollar un motor de reconfiguración capaz de reconfigurar de forma parcial y dinámica a gran velocidad. Por lo tanto, las limitaciones que presentan los diseños comerciales actuales suponen a su vez, una motivación para el trabajo presentado. Actualmente, el soporte que Xilinx propone para reconfigurar parcial y dinámicamente la familia Zynq-7000, cuenta con una gran carga software, como puede ser el control programado en SW, que permite reconfigurar de forma sencilla. No obstante, por este motivo el soporte que ha ofrecido tradicionalmente Xilinx puede llegar a ser ineficiente en algunos escenarios que requieran de una reconfiguración rápida. Por este motivo, surge la necesidad de desarrollar un motor de reconfiguración gestionado en Hardware que permita aprovechar las ventajas competitivas que ofrece la rápida reconfiguración en HW. El motor de reconfiguración que se desarrolla en el presente trabajo, pretende desmarcarse en algunos aspectos del modelo de Xilinx. La reconfiguración se realiza de la misma forma que plantea Xilinx en el modelo comercial, sin embargo, lo que se modificada es la gestión del proceso de reconfiguración, con el fin de optimizar y maximizar el rendimiento del sistema. Concretamente, en el presente TFG se busca alcanzar un diseño parecido al que ya se desarrolló en el CEI para otras familias antiguas de FPGAs, pero adaptándose a las nuevas generaciones de placas de Xilinx, como es el caso de la familia Zynq-7000. Puesto que las técnicas disponibles actualmente en el centro no son aplicables actualmente sobre dichas placas, se ha tratado de diseñar un motor de reconfiguración intermedio que busca desmarcarse de las especificaciones establecidas y fijadas por Xilinx, para aproximarse a un modelo más flexible y de mayor rendimiento y velocidad de reconfiguración. La metodología adoptada para la consecución de los objetivos planteados sigue la siguiente línea de ejecución: 1º Desarrollo del Master AXI4-Full con capacidad de escritura y lectura de ráfagas de datos. La necesidad de trabajar con ráfagas de datos se debe al gran tamaño que presenta la región reconfigurable, y por tanto los bitstreams parciales requeridos. 2º Adaptación del controlador ICAP para escritura en ráfaga. El controlador ICAP permite la gestión del proceso de reconfiguración, y además, cumple un papel fundamental en la configuración final de los bitstreams parciales durante dicho proceso. 3º Implementación del diseño de bloques, que permite la comunicación entre las distintas partes que conformar la región estática de la FPGA. 4º Generación de Bitstreams susceptibles de extracción parcial. En este trabajo se emplean bitstreams parciales extraídos mediante una herramienta experimental, y por lo tanto, esto requiere de la generación de bitstreams mediante un modelo que difiere del pautado por Xilinx. 5º Validación de resultados: ICAP vs PCAP. Esta comprobación de los resultados permite comparar dos métodos de reconfiguración muy efectivos y diferentes, que cuentan actualmente con un gran reconocimiento y aceptación en el mercado. El motor de reconfiguración consiste en un bloque IP, el cual está constituido por el Master AXI4-Full creado, el controlador ICAP adaptado y un Slave AXI4-Lite desarrollado en el “CEI-UPM”. El bloque IP creado se integra dentro del diseño de bloques, conformando el sistema estático de la FPGA que controla la reconfiguración dinámica y parcial. Una vez diseñado el sistema encargado de gestionar la reconfiguración, se deben generar los bitstreams globales del sistema, a partir de los cuales se extraerán los bitstreams parciales mediante una herramienta experimental desarrollada en el CEI. El capítulo 5 del presente documento se ha dedicado a desarrollar de forma detallada el proceso empleado para la obtención de dichos bitstreams globales, ya que se ha seguido una metodología diferente a la comercial que propone Xilinx, y que permite el empleo posterior de dicha herramienta. Los bitstreams parciales extraídos permiten modificar la ubicación de los módulos reconfigurables, ya que a diferencia del método propuesto por Xilinx, no se generan LUTs en las regiones reconfigurables. Además, dichos bitstreams no contienen la información relativa a su ubicación dentro del mapa de memoria. Para la validación del motor de reconfiguración, se ha diseñado un sistema basado en la reconfiguración dinámica y parcial de los LEDs presentes en la Zedboard. El motivo por el cual se ha escogido un diseño basado en los LEDs se debe a la oportunidad que estos ofrecen de comprobar a simple vista el proceso de reconfiguración que tiene lugar. Para ello se han diseñado tres configuraciones distintas de LEDs, las cuales deberán ser implementadas a lo largo de la generación de los bitstreams globales. Concretamente, se deberá generar un bitstream global para cada uno de los diseños implementados, con el fin de poder extraer posteriormente los bitstreams parciales que contienen las tres configuraciones por separado. El último paso presentado en la línea de ejecución de este trabajo consiste en comparar los resultados obtenidos por el motor de reconfiguración diseñado frente a la reconfiguración utilizando el PCAP. Esta comparación es necesaria para poder validar el diseño presentado en este TFG, puesto que la implementación en Software con el PCAP es más descriptiva y transparente para el programador, lo que aporta elevada productividad frente al diseño planteado en Hardware, que requiere de una mayor labor de implementación, la cual se ve compensada con sus mejores prestaciones. Por este motivo, ya que ambos métodos reconfiguran la FPGA correctamente, para poder estudiar la ventaja de un método frente al otro se emplea como métrica de comparación la velocidad de reconfiguración en MB/s. Los resultados obtenidos en ambos casos, permiten validar el diseño planteado en el presente Trabajo de Fin de Grado, ya que la velocidad de reconfiguración supone casi el triple de la obtenida mediante la utilización del PCAP. Además, los resultados obtenidos por el motor de reconfiguración se encuentran muy próximos del límite teórico que se podría alcanzar. Por lo tanto, queda justificado el valor competitivo que ofrece la utilización del motor de reconfiguración diseñado, para la reconfiguración parcial y dinámica de las FPGAs correspondiente a la familia Zynq-7000. Finalmente, cabe destacar que el motor de reconfiguración y el diseño de bloques que conforman el sistema creado, presentan una utilización optimizada de los recursos de la placa.

Más información

ID de Registro: 45804
Identificador DC: http://oa.upm.es/45804/
Identificador OAI: oai:oa.upm.es:45804
Depositado por: Biblioteca ETSI Industriales
Depositado el: 10 May 2017 07:11
Ultima Modificación: 10 May 2017 07:11
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM