Convolutional Neural Network Accelerator Based on Pynq Fp
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
In deep learning applications, speed and performance are of utmost importance, which is often provided by neural network accelerators. The neural network accelerator is a hardware design used in artificial intelligent (AI) applications to improve efficiency. The Convolutional Neural Networks (CNNs) are used in training and testing of AI applications. The design complexity of CNNs has been steadily increasing to improve accuracy. To achieve high accuracy, CNNs need massive amount of computations and bulk resources. To support high speed functionality and efficient resource management, customized hardware accelerator units targeting AI applications can be designed leveraging computer architecture concepts such as architecture pipelining.
The objective of this research is the design and development of an optimized Field Programmable Gate Arrays (FPGA) based accelerator for convolutional neural networks (CNNs). The neural network accelerator is implemented by the concept of embedding customized hardware multiplier with Xilinx FPGA board files. To improve the performance of the designed hardware, architecture concepts are utilized to reduce the access time required for the neural network application. The dependency of the neural network accelerator performance on utilization of hardware resources is analyzed in detail in this thesis. A comparative analysis of the different optimization techniques based on performance and resource utilization is also carried out. A comparative performance analysis of the fixed-point numerical representation with floating-point numerical representation on the neural network accelerator is also presented. These analyses are carried out taking accuracy into consideration.