Skip to content

Acefrrag/DNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 

Repository files navigation

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.

About

VHDL design of a deep neural network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published