Different neuron models:
leaky-integrate-and-fire neurons, compartmental based neurons,
sigmoidal neurons. Different synapse models: static synapses and a
certain model of dynamic synapses are available for spiking as well
as for sigmoidal neurons. Spike time dependent synaptic plasticity
is also implemented.
Easy to use Matlab interface
Since CSIM is incorporated into
Matlab it is not necessary to learn any other script laguage to set
up the simulation. This is all done with Matlab scripts. Furthermore
the results of a simulation are directly returned as Matlab arrays
and hence any plotting and analysis tools available in Matlab can
easily be applied.
Object oriented design
We adopted an object oriented design for
CSIM which is similar to the approaches taken in
GENESIS
and
NEURON. That is there are objects
(e.g. a LifNeuron object implements the standard
leaky-integrate-and-fire model) which are interconnected by means of
some signal channels. The creation of objects, the connection of
objects and the setting of parameters of the objects is controlled
at the level of Matlab scipts whereas the actual simulation is done
in the fast C++ core.
Fast C++ core
Since CSIM is implemented in C++ and is not as
general as GENESIS or NEURON simulations are performed quite fast.
We also implemented some ideas from event driven simulators like
SpikeNet
which
result on an average speedup of 3 (assuming an average firing rate
of the neurons of 20Hz and short synaptic time constants) compared
to a standard fixed time step simulation scheme.
Runs on Windows and Unix (Linux)
CSIM is developed on Linux but also
runs under Windows XP (we have no more experience with Windows 98 yet, but
it should also run there) and should in principle run on any platform for
which Matlab is available.
External Interface
There is an external interface which allows CSIM to
communicate with external programs. In this way one can for example control
the miniature robot
Khepera
with CSIM .
This feature is not available in the Windows version.