FPGA-based Acceleration for Convolutional Neural Networks: A Comprehensive Review
Junye Jiang, Yaan Zhou, Yuanhao Gong, Haoxuan Yuan, Shuanglong Liu
TL;DR
This survey addresses the challenge of running large CNNs within resource-constrained environments by evaluating FPGA-based CNN accelerators. It synthesizes algorithmic optimization (pruning, quantization, distillation, layer fusion, FFT/Winograd) with hardware strategies (dataflow, tiling, unrolling, parallelism) and formal evaluation metrics that relate model performance to hardware efficiency. The authors introduce a dual-focus evaluation framework (model- and hardware-level metrics) and discuss toolflows, design-space exploration methods, and performance/resource modeling to guide FPGA implementations. The work highlights dynamic parallelism and co-design as central themes for achieving high compute and overall efficiency, especially in edge and embedded deployments, while outlining future directions in heterogeneous computing and AI-driven DSE for CNN accelerators.
Abstract
Convolutional Neural Networks (CNNs) are fundamental to deep learning, driving applications across various domains. However, their growing complexity has significantly increased computational demands, necessitating efficient hardware accelerators. Field-Programmable Gate Arrays (FPGAs) have emerged as a leading solution, offering reconfigurability, parallelism, and energy efficiency. This paper provides a comprehensive review of FPGA-based hardware accelerators specifically designed for CNNs. It presents and summarizes the performance evaluation framework grounded in existing studies and explores key optimization strategies, such as parallel computing, dataflow optimization, and hardware-software co-design. It also compares various FPGA architectures in terms of latency, throughput, compute efficiency, power consumption, and resource utilization. Finally, the paper highlights future challenges and opportunities, emphasizing the potential for continued innovation in this field.
