Welcome to Neuromorphic Neural Network Simulator Documentation¶
Introduction¶
The Field Programmable Gate-Arrays(FPGAs) cluster offers a powerful hardware platform capable of performing realistic simulations of Biological Neural Systems(BNS). However, making use of such powerful platform is not easy and not all users have enough understanding and experetise to exploit such hardware. Having a user friendly software platform to interact with the FPGAs in a much higher abstraction level will allow more researchers to make use of such powerful hardware without having to spend a lot of time actually understanding and programming the platform. Such user interface takes away a certain level of abstraction and makes it intuitive and easy to generate desired biologically inspired neural network with desired neuron models, synpase models, network size, network topology and desired stimulation configuration for the neural network. Here, we discuss web based user interface that we developed to interface with the FPGA cluster that allows users to easily and intuitively create desired network to be run on the FPGA cluster.
Note
So far only biologically inspired spiking neuron models are implemented.
Overview of the platform¶
The simulator platform is mainly composed of three distinct functional layers - software layer (Web Interface), intermediate layer (Interface Manager(IM)) and hardware layer (FPGA cluster). Software layer is the user interface which acts as front end part of the platform that allows users to interact with the platform.
The web interface is linked to the interface manager (IM) which works as an intermediate node between web interface and the FPGA clusters and manages flow of packets to and from both FPGAs and web interface. IM receives the simulation initialisation files, which contains all the information about the simulation in the xml format, from the web interface generated by the users which are then sent to the appropriate FPGA nodes for simulation. Once the simulation has completed, the results packets are sent by the FPGA clusters to the IM with correct information of simulation and user for correct redirection. IM then handles the incoming packets from the FPGA cluster and send it to the users.
The simplified version of the workflow can be shown as below:

Figure1: Simplified work flow of the whole process
Some of the key features of the web interface are listed below:
- Custom network of spiking neurons with parameterisable simulation and models with custom stimulation parameters.
- Parameterisable neuron models from the model library(Current Models: Integrate and Fire, Leaky Integrate and Fire, Izhekevich).
- User specification of neurons with same or different neuron models. If you want same models with different paramters then you can also do that.
- Selection of layered or non-layered network. Layered network would be a feedforward network where the first layer is the input layer and last layer is the output.
- Selection of same or different neruon models on each layer. All the neurons in a single layer will have the same neuron model.
- Topology selection; fully interconnected, random or probabilistic(30% connection at the moment)
- Simulation parameter configuration, such as simualtion time, timestep size, watchdog period etc.
- Stimulation parameter configuration such as start and end time and voltage. [Only step stimulation is implemented at the moment]
- Visualisation of the spike train obtained after the simulation as raster plot.
Requirements¶
The following requirements should be met:
- Mozilla or Google chrome browser (Recommended).
- CPU requirements
Disclaimer¶
- The contents of the platform remains a sole Intellectual property of Nottingham Trent University.
Platform Features¶
This part of the documentation is focused to provide a comprehensive details of the interface for users to make it easier to understand capabilities and limitations for the desired simulation. This section covers all the components of the interface and how they all come together during network creation with different possibilities for different types of neuron models, network type, stimulation and capabilities to control how the simulation runs.
The interface employs configuration options presented in the form of questionnaires for easy and straightforward configuration. We will cover different aspects of the interface followed with an exemplary tutorials on how to use the platform.
The simulation workflow is simplied as a flow of events in a sequential order.
User Account¶
All the users must create an account before proceeding with the simulation for a simple reason that all the configurations and results are to be stored in a corresponding user folder.
Once the account has been successfully created, users can access all the previous simulations or current simulations. The users can also start, stop or abort simulations at any time.

Simulation Parameters¶
The first step of the network creation is defining the simulation parameters. Here, we define basic parameters for the simulation such as timestamp size, no.of neurons, units for simulation, how long to run the simulation etc.
The user has to choose wether to have all the neurons with the same model or have a combination of different models. In case of different model option, the user has to choose how many of the neurons will use a different model.
Parameter | Description |
---|---|
Timestamp | Time bin size |
No.of Neurons | Total no of neurons |
Are all neurons same model? | Same models for all the neurons or use different models |
How many different models? | If different model is chosen |
Simulation units | either in milliseconds or seconds |
Simulation time | How long to run the simulation in units selected earlier |
Watchdog time | Time in ms to wait for a packet |
Neuron Models¶
The simulator covers most widely used neuron models from a simplest Integrate and Fire Model to a rather complex Hodgkin-Huxley(in progress) models. All the models are parametrisable with easy interface to change the parameters. Also, a network can have a combination of these models. For examples, for a layered feedforward network, input layer can be comprised of one model and the next layer be another and so on.
Note
No two models can be in the layer for a layered network
Integrate and Fire¶
Integrate and Fire(InF) is one of the simplest and earliest neuron model. The model is given by,
which is simply the time derivative of the law of capacitance, . With input current applied, the membrane potential increases with time until it reaches a threshold voltage
at which point a spike (delta function) occurs and the voltage is reset back to the resting potential. One of the major shortcoming of this model is the fact that there is no sense of time-dependent memory meaning the voltage is retained if it is below threshold. In real neurons, there is diffusion of ions which reduces the voltage.
There are four parameters for this neuron model:
Parameter | Description |
---|---|
Absolute Refractory period | Inactive period after a spike |
Threshold voltage | Voltage at which a neuron emits a spike |
Reset voltage | Membrane voltage neuron drop to after a spike |
Action potential | Initial membrane potential |
Leaky Integrate and Fire¶
The memory problem present in Integrate and Fire model is mitigated in Leaky Integrate and Fire model by introducing a ‘leakage’ of membrane potential, reflecting diffusion of ions that takes place throught the membrane to return the membrane potential to a resting potential value. The model can be described with,
where is the membrane resistance. The leakage term
is introduced which governs the leakage of ions resulting the voltage to return back to resting potential when no input current is applied.
Parameter | Description |
---|---|
Absolute Refractory period | Inactive period after a spike |
Threshold voltage | Voltage at which a neuron emits a spike |
Reset voltage | Membrane voltage neuron drop to after a spike |
Capacitance | Membrane capacitance |
Resistance | Membrane resistance which governs current leakage |
Action potential | Initial membrane potential |
Izhikevich¶
Integrate and fire and Leaky integrate and fire models are simplest neurons models which replicates some dynamics of the neurons but they are not biologically plausible models. For a more biologically plausible models many neurons models are proposed but they get complex resulting in large computational requirements which again is not very useful to model a network of such neurons. Izhikevich neuron model falls in the middle, encompassing biological plausibility and simple and efficient enough to model computationally.
Izhikevich model reduces a complex biologically plausible Hodgkin and Huxley model to a two-dimensional(2-D) system of ordinary differential equations of the form,
with auxiliary after-spike resetting
if, then
Here, represents the membrane potential of the neuron and
represents a membrane recovery variable, which accounts of ionic (in)activation. When the membrane potential reaches a threshold,
, the membrane voltage is reset back to the resting potential.
Please refer to Izhikevich paper for detailed information.
The parameters that are available for users to configure from the interface are:
Parameter | Description |
---|---|
a | Describes time scale of the recovery variable ![]() |
b | Describes sensitivity of the recovery variable ![]() |
c | Describes after-spike reset value of ![]() |
d | Describes after-spike reset of the recovery variable ![]() |
Threshold voltage | Threshold potential for spike |
Initial action potential | Starting membrane potential |
Initial membrane recovery | Initial membrane recovery value |
Action potential | Initial action potential |
Membrane recovery | Membrane recovery value(![]() |
Custom Models¶
—Under Developement——
Topology¶
In terms of the topology, we are looking into an architecture of the network and interconnections among neurons. The architecture of the simulated neuronal network can be divided as layered and non layered. Layered networks that can be implemented with this platform is a feedforward network. No recurrency is possible at the moment for a layered network. Different neuron models can be implemented for each layer, for eg. input layer can be of Leaky Integrate and Fire neuons and layer 2 can be Izhikevich or any combination of the available neuron models.
Within layered and non-layered networks, how the neurons are connected can also be altered. Manual connection is not a suitable choice since it is labourous and takes very long time to configure one by one. Hence, three differnt options for automatic interconnections are presented. Please see Interconnections for more details about the options.
Architecture¶
The first step of the network creation is specifying whether to create a layered or non layered network.
Layered¶
The figure below shows a typical graphical representation of what a layered network is. The first layer in the layered network is the input layer where stimulus are applied and the last layer is the readout layer. The interconnections among neurons between the layers is described in Interconnections.
Number of layers need to be specified. Neuron are numbered in an increasing order from the first layer to the last. The menu guides to select number of neurons in each layer along with neuron models for each layer if different neuron model option is selected.
Non-layered¶
In contrast to layered network, non layered network has no apparent layered structured. Any two neurons can be connected to each other. The user has full control over which neurons can be assigned as input neurons and output neurons.Recurrency is also possible in this type of non layered topology. The topology can be illustrated as shown in the figure below.

Figure: Graphical illustration of the non-layered network
Stimulation¶
External sensory stimuli are transduced into electrical signals which results a specific network response. Hence, ability to apply stimulation is very important for any kind of spiking neural network simulators. Here, we present available options for the stimulation and plans for further stimulation options.
Step current¶
Frequency based¶
Biphasic stimulation¶
Results¶
Deals with results collation and further analysis
Examples and Tutorials¶
This section will shows the features of the web app. —to be completed——–
Developers Documentation¶
Developers page—–in progress….
This section will include details on the codebase.
Contact¶
If any questions please contact Nikesh Lama @ nikesh.lama2015@my.ntu.ac.uk