Resumen:
|
[ES] El objetivo de este proyecto es permitir el uso de un prototipo multiFPGA como
plataforma de cálculo en la que se puedan ejecutar simultáneamente núcleos FPGA
codificados en síntesis de alto nivel. El proyecto se ...[+]
[ES] El objetivo de este proyecto es permitir el uso de un prototipo multiFPGA como
plataforma de cálculo en la que se puedan ejecutar simultáneamente núcleos FPGA
codificados en síntesis de alto nivel. El proyecto se divide en dos pasos:
En el primer paso, se desarrolla el soporte para compilar un kernel HLS desnudo
para un prototipo FPGA, generando un núcleo IP. A continuación, se añade el núcleo
IP generado con bloques lógicos de comunicación y memoria (DDR, AXI) en un diseño
desarrollado para un dispositivo FPGA. Todos los dispositivos incluidos en la FPGA serán
accesibles a través de las direcciones de memoria. En el lado del host, éste utiliza el
protocolo MMI para lanzar el flujo de bits, escribir en la memoria, lanzar el kernel, leer la
memoria y comprobar la corrección. El acceso a la memoria, la sincronización del kernel y
el paso de argumentos se realizará a través de direcciones AXI mapeadas en memoria. Por
último, se realiza la validación de los pasos anteriores mediante una ejecución satisfactoria.
En el segundo paso, el diseño a nivel de sistema se adapta a una arquitectura multiFPGA interconectada. Cada FPGA será accesible individual y simultáneamente desde el
mismo host, utilizando el protocolo MMI.
Este proyecto permitirá utilizar el prototipo como demostrador de sus capacidades
computacionales.
[-]
[EN] This project aims to enable the use of a multiFPGA prototype as a to compute platform
where FPGA kernels coded in High Level Synthesis can be run concurrently. The project
is divided into two steps:
In the first ...[+]
[EN] This project aims to enable the use of a multiFPGA prototype as a to compute platform
where FPGA kernels coded in High Level Synthesis can be run concurrently. The project
is divided into two steps:
In the first step, develop support to compile a bare HLS kernel for one FPGA prototype,
generating an IP core. Next, the generated IP core is added with communication and
memory logic blocks (DDR, AXI) in a design developed for an FPGA device. All the
devices included in the FPGA will be accessible through memory addresses. On the host
side, the host uses the MMI protocol to launch the bitstream, write memory, launch the
kernel, read memory and check correctness. Memory access, kernel synchronization and
argument passing will be performed through memorymapped AXI addresses. Finally, the
validation of the previous steps is performed by mean of a successful run.
In the second step, the systemlevel design is adapted for an interconnected multiFPGA architecture. Each FPGA will be individually and simultaneously accessible from
the same host, using the MMI protocol.
This project will allow the prototype to be used as a demonstrator of its computational
capabilities.
[-]
|