FPGA implementation of AAD pooling unit and performance analysis

Rajamahanti Meher Kiran *, Toram Naga Jahnavi, Yarabati Mohana Rao, Yamala Sudheer and Udatha Prudhvi Naga Durgesh

Electronics and Communication Engineering, GMRIT, Rajam, Andhra Pradesh, India.
 
Research Article
World Journal of Advanced Research and Reviews, 2022, 16(01), 697–704
Article DOI: 10.30574/wjarr.2022.16.1.1085
 
Publication history: 
Received on 14 September 2022; revised on 19 October 2022; accepted on 22 October 2022
 
Abstract: 
Convolutional Neural Network (CNN) has been witnessing a massive growth for its various applications in different fields. It is a category of Neural Network or Deep learning that is being used in text detection, image classification, etc. It is also very effective for the classifications which are non-image like audio classifications, signal data classifications, etc. CNN is composed of convolutional layer, pooling layer and finally the fully connected layer. In this work, we mainly focus on pooling layer which impacts accuracy and speed of CNN. This work implements validation of CNN based CIFAR-10 classifier and Field Programmable Gate Array (FPGA) implementation of Absolute Average Deviation (AAD) Pooling unit. Pooling techniques like max pooling, average pooling, mixed pooling, min pooling, etc., are currently being used. This work uses AAD pooling in CNN to support that this pooling is having higher accuracy, i.e., 89% and less computational complexity. A benchmark CNN structure using TensorFlow is adopted to quantify the performance of the AAD pooling unit. Further, Register Transfer Level (RTL) coding is done in Verilog HDL and the testbench is developed. The FPGA implementation is carried out using the Xilinx Vivado tool.
 
Keywords: 
VLSI; FPGA; Convolutional Neural Network (CNN); Deep learning; Absolute Average Deviation (AAD) pooling
 
Full text article in PDF: 
Share this