Skip to content

A Multi-Core Winograd F(2,3) FPGA Accelerator with Low On-Chip Memory Footprint for VGG16 Convolution

Aug 2026 · Symposium on Integrated Circuits and Systems Design · pp. 1-5 · 0 citations · 14 references

Abstract

Convolutional layers remain one of the main computational bottlenecks in deep neural networks, motivating specialized hardware accelerators for efficient inference. Winogradbased FPGA accelerators reduce the cost of $3 \times 3$ convolutions, but their efficiency depends heavily on how transformed activations and weights are stored, buffered, and delivered to the compute fabric. This paper presents a parameterized multi-core Winograd F(2,3) convolution engine described in Verilog and implemented on a Xilinx ZCU104 FPGA. The design streams the input feature map as narrow row-stripes and caches weights on chip, so that only a few image rows ever reside in block RAM (BRAM); this is the source of its distinctive low-memory profile. Tile-level parallelism across seven compute cores and a broadcast PE array sustain throughput, and a bit-accurate flow based on Pythongenerated VGG16 tensors validates the hardware. On the target FPGA the accelerator reaches 1452 GOPS for the VGG16 conv1 workload at 222 MHz using 16-bit fixed-point arithmetic, while occupying only 3.2% of BRAM, 24% of LUTs, 22.6% of FFs, and $\mathbf{1 0 0 \%}$ of DSPs, at $\mathbf{9, 8 2 ~ W}$. The proposed design therefore offers a strong low-memory operating point for FPGA Winograd acceleration, with the current evaluation focused on the VGG16 conv1 layer.

View source

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.