Hardware implementation of an artificial neural network on a Xilinx FPGA, to support advanced parallel calculations performed by dedicated software.
Artificial neural networks are a mathematical abstraction provided to enable advanced parallel calculations of any kind. They mimic the biological decision making system of the human body and improve computers’ capabilities in many fields, such as natural language processing, image recognition and many more applications.
The neural network implemented in this project includes a hardware implementation and software from connected projects in the lab. The hardware implementation presented demonstrates the use of the basic neural object – a neuron that performs a sum-of-products calculation, to build a scalable and versatile network using multiple neural units. The implemented network consists of many neurons that build a neural layer, and enable parallel calculations to provide improved performance.
The hardware implementation also enables serial calculations using dedicated software, thereby enabling the use of a deep learning network.
The project was developed and implemented using a Xilinx Zedboard Zynq based FPGA with hardware programming capabilities, as well as an ARM based processor for on-system software processes. Two additional software teams were involved in the definition and implementation of the system.