[ca] En aquests darrers anys, l'arquitectura hardware i el disseny de nous sistemes s'han convertit en àrees de recerca predominants en el món de la intel·ligència artificial en termes d'innovació i eficiència. Aquest increment de popularitat es tradueix en un interès creixent per l'àmbit de les Xarxes Neuronals Convolucionals (l'acrònim anglès és CNN), a causa de la seva alta precisió i aplicabilitat, que varia des del reconeixement facial i de veu a la classificació i segmentació d'imatges. La intensa demanda computacional de les CNNs requereix la implementació d'acceleradors hardware per augmentar el seu rendiment. Les matrius de portes programables (l'acrònim anglès és FPGA) representen una solució interessant per afrontar les limitacions de consum d'energia i petjada de memòria en les CNNs. L'objectiu d'aquest projecte és el disseny d'un accelerador de xarxes neuronals convolucionals basat en una matriu de portes programables. El treball presentat en aquest informe està centrat en la implementació d'una unitat de convolució bidimensional de 16 bits amb representació de coma fixa, que compta amb la capacitat de calcular convolucions bidimensional de mides arbitràries i de realitzar operacions de multiplicació-i-acumulació en un únic cicle de rellotge. Amb l'objectiu de dissenyar i implementar la unitat de convolució, la proposta plantejada es basa en una estratègia per extreure finestres de píxels a partir d'un únic flux de dades. L'estudi inclou l'ús de diferents famílies de FPGAs de Xilinx, entre les quals es realitza un anàlisi de la portabilitat del disseny en dispositius amb diferents mides i prestacions. Els resultats obtinguts mitjançant l'optimització del model original i la comparació amb altres dissenys de referència són molt favorables.

[en] In recent years, hardware architecture and system design have become relevant research areas for artificial intelligence in terms of innovation and efficiency. This growing popularity leads to increasing interest in Convolutional Neural Networks (CNNs), due to its high accuracy and applicability, ranging from facial and speech recognition to image classification and segmentation. The intense computational demand of CNNs requires the implementation of hardware accelerators for boosting their performance. Field-programmable devices (FPGAs) represent an interesting solution for dealing with CNNs power consumption and memory footprint constraints. FPGAs high energy efficiency, computing capabilities and reconfigurability offer a strong ground for meeting CNNs latency, accuracy and complexity requirements. The aim of this project is to design a FPGA-based accelerator for CNNs, which presents good energy-efficiency and high-speed results. The work presented in this report is focused on the implementation of a two-dimensional 16-bit fixed-point hardware convolver with the capability of computing arbitrary-size 2-D convolutions and performing single-cycle multiply-and-accumulate operations. In order to design and implement the convolver unit, which will constitute the core block of the CNN hardware accelerator, the adopted approach is based on a strategy to extract windows of pixels from a single data stream. This study involves the use of different FPGA families by Xilinx, analyzing design portability on devices with different sizes and performances. Promising comparative results have been achieved by optimizing the original convolver model and comparing it with other reference designs.