{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,18]],"date-time":"2026-06-18T15:40:45Z","timestamp":1781797245267,"version":"3.54.5"},"reference-count":45,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2020,3,11]],"date-time":"2020-03-11T00:00:00Z","timestamp":1583884800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2020,3,31]]},"abstract":"<jats:p>Image classification is known to be one of the most challenging problems in the domain of computer vision. Significant research is being done on developing systems and algorithms improving accuracy, performance, area, and power consumption for related problems. Convolutional Neural Networks (CNNs) have shown to give outstanding accuracies for problems such as image classification, object detection, and semantic segmentation. While CNNs are pioneering the development of high accuracy systems, their excessive computational complexity presents a barrier for a more permeated deployment. Although Graphical Processing Units (GPUs), due to their massively parallel architecture, have shown to give performance orders of magnitude better than general purpose processors, the former are limited by their high power consumption and generality. Consequently, Field Programmable Gate Arrays (FPGAs) are being explored to implement CNN architectures, as they also provide massively parallel logic resources but with a relatively lower power consumption than GPUs. In this article, we present FFConv, an efficient FPGA-based fast convolutional layer accelerator for CNNs. We design a pipelined, high-throughput convolution engine based on the Winograd minimal filtering (also called Fast Convolution) algorithms for computing the convolutional layers of three popular CNN architectures: VGG16, Alexnet, and Shufflenet. We implement our accelerator on a Virtex-7 FPGA platform where we exploit the computational parallelization to the maximum while exploring optimizations aimed at improving performance. The resultant design loses only 0.43%, 0.47%, and 0.61% Top-1 classification accuracy for VGG16, Alexnet, and Shufflenet-v1, respectively, while significantly improving throughput, resource, and power efficiency compared to previous state-of-the-art designs.<\/jats:p>","DOI":"10.1145\/3380548","type":"journal-article","created":{"date-parts":[[2020,3,11]],"date-time":"2020-03-11T12:08:17Z","timestamp":1583928497000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":25,"title":["FFConv"],"prefix":"10.1145","volume":"19","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4491-5440","authenticated-orcid":false,"given":"Afzal","family":"Ahmad","sequence":"first","affiliation":[{"name":"Lahore University of Management Sciences (LUMS), Lahore, Pakistan"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9892-5201","authenticated-orcid":false,"given":"Muhammad Adeel","family":"Pasha","sequence":"additional","affiliation":[{"name":"Lahore University of Management Sciences (LUMS), Lahore, Pakistan"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2020,3,11]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE\u201919)","author":"Ahmad A."},{"key":"e_1_2_1_2_1","volume-title":"Proceedings of the ACM\/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA\u201917)","author":"Aydonat Utku"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/3242898"},{"key":"e_1_2_1_4_1","unstructured":"Tony Bybell. 2010. GtkWave Electronic Waveform Viewer. http:\/\/gtkwave.sourceforge.net\/.  Tony Bybell. 2010. GtkWave Electronic Waveform Viewer. http:\/\/gtkwave.sourceforge.net\/."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2017.574"},{"key":"e_1_2_1_6_1","volume-title":"cuDNN: Efficient primitives for deep learning. CoRR abs\/1410.0759","author":"Chetlur Sharan","year":"2014"},{"key":"e_1_2_1_7_1","unstructured":"Soumith Chintala. 2017. convnet-benchmarks. Technical Project (GitHub). https:\/\/github.com\/soumith\/convnet-benchmarks.  Soumith Chintala. 2017. convnet-benchmarks. Technical Project (GitHub). https:\/\/github.com\/soumith\/convnet-benchmarks."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-11179-7_36"},{"key":"e_1_2_1_9_1","volume-title":"BinaryNet: Training deep neural networks with weights and activations constrained to +1 or \u22121. CoRR abs\/1602.02830","author":"Courbariaux Matthieu","year":"2016"},{"key":"e_1_2_1_10_1","volume-title":"Training deep neural networks with low precision multiplications. arXiv preprint arXiv:1412.7024 2015","author":"Courbariaux Matthieu","year":"2015"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR\u201909)","author":"Deng J."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.sysarc.2018.12.008"},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of the International Conference on Field-Programmable Technology (FPT\u201918)","author":"Fan H.","year":"2018"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPAMI.2015.2437384"},{"key":"e_1_2_1_15_1","volume-title":"Proceedings of the 4th International Conference on Learning Representations (ICLR\u201916)","author":"Han Song"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2016.90"},{"key":"e_1_2_1_17_1","volume-title":"MobileNets: Efficient convolutional neural networks for mobile vision applications. CoRR abs\/1704.04861","author":"Howard Andrew G.","year":"2017"},{"key":"e_1_2_1_18_1","volume-title":"Speeding up convolutional neural networks with low rank expansions. CoRR abs\/1405.3866","author":"Jaderberg Max","year":"2014"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3065386"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2016.435"},{"key":"e_1_2_1_21_1","volume-title":"Fully convolutional networks for semantic segmentation. CoRR abs\/1411.4038","author":"Long Jonathan","year":"2014"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the IEEE 25th International Symposium on Field-Programmable Custom Computing Machines (FCCM\u201917)","author":"Lu L.","year":"2017"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the IEEE 25th International Symposium on Field-Programmable Custom Computing Machines (FCCM\u201917)","author":"Lu L."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3174243.3174266"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the IEEE 28th International Conference on Application-specific Systems, Architectures, and Processors (ASAP\u201917)","author":"Podili A."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2847263.2847265"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/1886436.1886446"},{"key":"e_1_2_1_28_1","volume-title":"Very deep convolutional networks for large-scale image recognition. CoRR abs\/1409.1556","author":"Simonyan Karen","year":"2014"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2847263.2847276"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2015.7298594"},{"key":"e_1_2_1_31_1","volume-title":"Fast convolutional nets with fbfft: A GPU performance evaluation. CoRR abs\/1412.7580","author":"Vasilache Nicolas","year":"2014"},{"key":"e_1_2_1_32_1","unstructured":"Stephen Williams. 2006. Icarus Verilog. http:\/\/iverilog.icarus.com\/.  Stephen Williams. 2006. Icarus Verilog. http:\/\/iverilog.icarus.com\/."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/1498765.1498785"},{"key":"e_1_2_1_34_1","doi-asserted-by":"crossref","volume-title":"Arithmetic Complexity of Computations","author":"Winograd Shmuel","DOI":"10.1137\/1.9781611970364"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2016.521"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the 54th ACM\/EDAC\/IEEE Design Automation Conference (DAC\u201917)","author":"Xiao Q."},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the 14th IEEE International Conference on Solid-state and Integrated Circuit Technology (ICSICT\u201918)","author":"Yang C."},{"key":"e_1_2_1_38_1","volume-title":"Designing energy-efficient convolutional neural networks using energy-aware pruning. CoRR abs\/1611.05128","author":"Yang Tien-Ju","year":"2016"},{"key":"e_1_2_1_39_1","volume-title":"Proceedings of the International Conference on Field Programmable Technology (ICFPT\u201917)","author":"Yu J."},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2684746.2689060"},{"key":"e_1_2_1_41_1","first-page":"11","article-title":"Caffeine: Towards uniformed representation and acceleration for deep convolutional neural networks","volume":"38","author":"Zhang C.","year":"2018","journal-title":"IEEE Trans. Comput.-aided Des. Integr. Circ. Syst."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/3020078.3021698"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/CVPR.2018.00716"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3020078.3021741"},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the International Conference on Learning Representations, (ICLR\u201917)","author":"Zhou Aojun","year":"2017"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3380548","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3380548","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T21:31:32Z","timestamp":1750195892000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3380548"}},"subtitle":["An FPGA-based Accelerator for Fast Convolution Layers in Convolutional Neural Networks"],"short-title":[],"issued":{"date-parts":[[2020,3,11]]},"references-count":45,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2020,3,31]]}},"alternative-id":["10.1145\/3380548"],"URL":"https:\/\/doi.org\/10.1145\/3380548","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,3,11]]},"assertion":[{"value":"2019-03-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-01-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2020-03-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}