Skip to content

Latest commit

 

History

History
44 lines (26 loc) · 2.71 KB

README.md

File metadata and controls

44 lines (26 loc) · 2.71 KB

Reconfigurable serial feed forward DNN

This github repository consists in a VHDL serial implementation architecture of a reconfigurable fully-connected feed forward deep neural network. This architecture as well as reconfiguration capabilities are inspired to ZyNet package developed by Vipin Kizhepatt.

Architecture

DNN

The DNN consists in layers connected in cascade where every layer triggers the next one when output is computed. Every layer fetches sequentially the inputs from the previous layer. When output is ready the neurons' outputs are fed one by one in a serial way to the next layer.

Layer

Internally the layer contains a FSM that implements the control logic of the layer. A layer_CNTR is used to fetch the neurons' weights and previous layer's outputs, to compute the neurons' output $y_{i}=\Phi (x_{1}*w_{1}+ ... +x_{N}*w_{N}+b)$, where N is the number of inputs. The output multiplexer is driven by next layer layer_CNTR and is used to serially fetch the layer's output (neurons' output).

Neuron

The neuron's cumulative sum is progressively computed at every clock cycle. At every clock cycle the weighted product $x_i*w_i$ is computed. The partial result is stored inside SUM_REG. When BIAS is added to the cumulative sum register, the activation function is applied by sending SUM_REG content to ACT_LOG entity. At the last step, the ACT_LOG output is loaded into the OUT_REG.

Reconfiguration

The DNN model is trained offline starting from the DNN parameters(number of layer, neurons per layer, activation function type) and training hyperparameters and the VHDL architecture is automatically generated and loaded into the ModelSim project.

Motivation

The aim of the development of such architecture is the integration with NORM to enable the reconfiguration and evaluation of performance of an hardware-based intermittent inference under uncertain energy environment obtaining I-DNN.

Repository Content

This github repository contains the VHDL architecture developed under two different EDA tools (Vivado and ModelSim).

Warning

The Vivado project folder is deprecated. ModelSim is the project to refer to.