The convolutional neural network has been implemented in VHDL and synthesized for the Intel
Cyclone V FPGA. The convolutions are calculated using the convolution layer component.
The Central CNN Unit performs the communication with the convolution layer, HPS and SD-Ram
Controller.

Central CNN Unit

  • Receives the weights and images from HPS
  • Transmits processed images to HPS
  • Performs layer configuration and weight transmission to convolution layer
  • Calculates Pooling and Upsampling of the image
  • Transmits weights from SD-Ram to convolution layer

Convolution Layer

  • Convolution layer implementation with configurable image size, number of feature maps and input channels
  • Utilizes two weight buffers for receiving new weights during calculation of convolution