Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Desarrollo de un Framework para la generación rápida de rutas de datos segmentadas para el procesamiento de imágenes en FPGAs

Loading...
Thumbnail Image

Official URL

Full text at PDC

Publication date

2023

Editors

Journal Title

Journal ISSN

Volume Title

Publisher

Citations
Google Scholar

Citation

Abstract

La gran cantidad de información contenida en las imágenes hace que su procesamiento demande gran capacidad de computación. Por suerte, la naturaleza de las mismas, divididas en píxeles, hace que las operaciones a realizar sean repetitivas en tiempo y espacio. El procesamiento en pipeline se adapta perfectamente a estas características y consigue unos rendimientos excelentes. Sin embargo, el proceso de desarrollo de un proyecto de estas características es complejo y requiere una importante inversión de tiempo. En este Trabajo de Fin de Grado se ha creado un framework que agiliza y simplifica esta tarea. El framework será capaz de generar rápidamente pipelines segmentados que mantengan el rendimiento de aquellos obtenidos con un desarrollo tradicional. Por un lado, creamos una biblioteca de módulos que sigan un estándar diseñado específicamente para las condiciones de este framework. Este estándar permite la fácil conexión y comunicación entre los módulos al mismo tiempo que asegura que los propios módulos sean los encargados de mantener la segmentación necesaria para un rendimiento cercano a una muestra por ciclo. Por otro lado, se ha diseñado un lenguaje que permita describir de manera sencilla arquitecturas complejas construidas a base de la conexión de los módulos de la biblioteca. El framework procesa archivos en este lenguaje, de nombre afw, generando los módulos en lenguaje VHDL que definen el kernel descrito. Por último, para comprobar la capacidad generativa del framework y la validez de los kernels generados, se aborda el desarrollo de un filtro de imágenes. Usando al framework, creamos un kernel de convolución de imágenes que procesa imágenes con un rendimiento cercano al ciclo. por muestra. El desarrollo demuestra ser mucho m´as sencillo que empleando los m´etodos HDL habituales, escribiendo en torno a 250 sencillas l´ıneas de c´odigo afw, frente a las m´as de 1250 de VHDL necesarias para definir el mismo m´odulo. A partir de los resultados obtenidos para el kernel de procesamiento de im´agenes se eval´ua el proyecto analizando el proceso de desarrollo, las caracter´ısticas del framework resultante y reflexionando sobre posibles trabajos futuros.
The large amount of information contained in the images makes their processing very computationally demanding. Fortunately, the nature of these images, divided into pixels, means that the operations to be performed are repetitive in time and space. Pipeline processing is perfectly adapted to these characteristics and achieves excellent performance. However, the development process of such a project is complex and requires a significant investment of time. In this Final Degree Project a framework has been created to speed up and simplify this task. The framework will be able to quickly generate segmented pipelines that maintain the performance of those obtained with traditional development. On the one hand, we created a library of modules that follow a standard designed specifically for the conditions of this framework. This standard allows for easy connection and communication between modules while ensuring that the modules themselves are responsible for maintaining the segmentation necessary for near sample-per-cycle performance. On the other hand, a language has been designed to describe in a simple way complex architectures built based on the connection of the library modules. The framework processes files in this language, named afw, generating the modules in VHDL language that define the described kernel. Finally, to test the generative capability of the framework and the validity of the generated kernels, the development of an image filter is addressed. Using the framework, we create an image convolution kernel that processes images with a performance close to one cycle per sample. The development proves to be much simpler than using the usual HDL methods, writing around 250 simple lines of afw code, compared to the more than 1250 lines of VHDL code needed to define the same module. From the results obtained for the image processing kernel, the project is evaluated by analyzing the development process, the characteristics of the resulting framework and reflecting on possible future work.

Research Projects

Organizational Units

Journal Issue

Description

Trabajo de fin de Grado en Ingeniería de Computadores, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2022/2023.

Keywords