sPyNNaker neural_modelling 7.2.2
|
implementation of synapse_types.h for an alpha synapse behaviour More...
Go to the source code of this file.
Data Structures | |
struct | alpha_params_t |
Parameters of an alpha synaptic input. More... | |
struct | synapse_types_params_t |
struct | alpha_state_t |
Internal structure of an alpha-shaped synaptic input. More... | |
struct | synapse_types_t |
Delta synapses support just a single excitatory and inhibitory input each. More... | |
Macros | |
#define | SYNAPSE_TYPE_BITS 1 |
Number of bits to encode the synapse type. | |
#define | SYNAPSE_TYPE_COUNT 2 |
Number of synapse types. | |
#define | NUM_EXCITATORY_RECEPTORS 1 |
Number of excitatory receptors. | |
#define | NUM_INHIBITORY_RECEPTORS 1 |
Number of inhibitory receptors. | |
Enumerations | |
enum | synapse_alpha_input_buffer_regions { EXCITATORY , INHIBITORY } |
The supported synapse type indices. More... | |
Functions | |
static void | get_alpha_state (alpha_state_t *state, alpha_params_t *params, REAL time_step_ms, uint32_t n_steps_per_timestep) |
static void | synapse_types_initialise (synapse_types_t *state, synapse_types_params_t *params, uint32_t n_steps_per_timestep) |
static void | synapse_types_save_state (synapse_types_t *state, synapse_types_params_t *params) |
static void | alpha_shaping (alpha_state_t *a_params) |
Applies alpha shaping to a parameter. | |
static void | synapse_types_shape_input (synapse_types_t *parameters) |
decays the stuff thats sitting in the input buffers as these have not yet been processed and applied to the neuron. | |
static void | add_input_alpha (alpha_state_t *a_params, input_t input) |
helper function to add input for a given timer period to a given neuron | |
static void | synapse_types_add_neuron_input (index_t synapse_type_index, synapse_types_t *parameters, input_t input) |
adds the inputs for a give timer period to a given neuron that is being simulated by this model | |
static input_t * | synapse_types_get_excitatory_input (input_t *excitatory_response, synapse_types_t *parameters) |
extracts the excitatory input buffers from the buffers available for a given neuron ID | |
static input_t * | synapse_types_get_inhibitory_input (input_t *inhibitory_response, synapse_types_t *parameters) |
extracts the inhibitory input buffers from the buffers available for a given neuron ID | |
static const char * | synapse_types_get_type_char (index_t synapse_type_index) |
returns a human readable character for the type of synapse. | |
static void | synapse_types_print_input (synapse_types_t *parameters) |
prints the input for a neuron ID given the available inputs currently only executed when the models are in debug mode, as the prints are controlled from the synapses.c print_inputs() method. | |
static void | synapse_types_print_parameters (synapse_types_t *parameters) |
prints the parameters of the synapse type | |
implementation of synapse_types.h for an alpha synapse behaviour
Definition in file synapse_types_alpha_impl.h.
struct alpha_params_t |
struct synapse_types_params_t |
Definition at line 55 of file synapse_types_alpha_impl.h.
Data Fields | ||
---|---|---|
alpha_params_t | exc | First excitatory synaptic input. |
alpha_params_t | inh |
Inhibitory synaptic input |
REAL | time_step_ms | |
input_t | exc | |
input_t | inh | |
exp_params_t | exc | First excitatory synaptic input. |
exp_params_t | exc2 | Second excitatory synaptic input. |
exp_params_t | inh |
Inhibitory synaptic input |
input_t | multiplicator_init | Output scaling factor derived from first excitatory input. |
input_t | exc2_old_init | History storage used to reset synaptic state. |
input_t | scaling_factor | Scaling factor for the secondary response. |
REAL | timestep_ms | The time step in milliseconds. |
struct alpha_state_t |
Internal structure of an alpha-shaped synaptic input.
Definition at line 62 of file synapse_types_alpha_impl.h.
Data Fields | ||
---|---|---|
input_t | lin_buff | buffer for linear term |
input_t | exp_buff |
buffer for exponential term |
input_t | dt_divided_by_tau_sqr | τ-1 pre-multiplied by dt |
decay_t | decay | Exponential decay multiplier. |
input_t | q_buff | Temporary value of input. |
struct synapse_types_t |
Delta synapses support just a single excitatory and inhibitory input each.
Definition at line 71 of file synapse_types_alpha_impl.h.
Data Fields | ||
---|---|---|
alpha_state_t | exc |
Excitatory synaptic input. First excitatory synaptic input. |
alpha_state_t | inh |
Inhibitory synaptic input. Inhibitory synaptic input |
input_t | exc | Excitatory synaptic input. |
input_t | inh | Inhibitory synaptic input. |
exp_state_t | exc |
First excitatory synaptic input. Excitatory synaptic input. |
exp_state_t | exc2 | Second excitatory synaptic input. |
exp_state_t | inh |
Inhibitory synaptic input. Inhibitory synaptic input |
input_t | multiplicator | Output scaling factor derived from first excitatory input. |
input_t | exc2_old | History storage used to reset synaptic state. |
input_t | scaling_factor | Scaling factor for the secondary response. |
#define SYNAPSE_TYPE_BITS 1 |
Number of bits to encode the synapse type.
ceil(log2(SYNAPSE_TYPE_COUNT))
Definition at line 30 of file synapse_types_alpha_impl.h.
#define SYNAPSE_TYPE_COUNT 2 |
Number of synapse types.
NUM_EXCITATORY_RECEPTORS + NUM_INHIBITORY_RECEPTORS
Definition at line 33 of file synapse_types_alpha_impl.h.
#define NUM_EXCITATORY_RECEPTORS 1 |
Number of excitatory receptors.
Definition at line 36 of file synapse_types_alpha_impl.h.
#define NUM_INHIBITORY_RECEPTORS 1 |
Number of inhibitory receptors.
Definition at line 38 of file synapse_types_alpha_impl.h.
The supported synapse type indices.
Enumerator | |
---|---|
EXCITATORY | Excitatory synaptic input. |
INHIBITORY | Inhibitory synaptic input. |
Definition at line 77 of file synapse_types_alpha_impl.h.
|
inlinestatic |
Definition at line 86 of file synapse_types_alpha_impl.h.
|
inlinestatic |
Definition at line 98 of file synapse_types_alpha_impl.h.
|
static |
Definition at line 104 of file synapse_types_alpha_impl.h.
|
inlinestatic |
Applies alpha shaping to a parameter.
[in,out] | a_params | The parameter to shape |
Definition at line 115 of file synapse_types_alpha_impl.h.
|
inlinestatic |
decays the stuff thats sitting in the input buffers as these have not yet been processed and applied to the neuron.
This is to compensate for the valve behaviour of a synapse in biology (spike goes in, synapse opens, then closes slowly) plus the leaky aspect of a neuron.
[in,out] | parameters | the parameters to update |
Definition at line 131 of file synapse_types_alpha_impl.h.
|
inlinestatic |
helper function to add input for a given timer period to a given neuron
[in] | a_params | the parameter to update |
[in] | input | the input to add. |
Definition at line 141 of file synapse_types_alpha_impl.h.
|
inlinestatic |
adds the inputs for a give timer period to a given neuron that is being simulated by this model
Add input from ring buffer. Zero if no spikes, otherwise one or more weights
[in] | synapse_type_index | the type of input that this input is to be considered (aka excitatory or inhibitory etc) |
[in,out] | parameters | the parameters to update |
[in] | input | the inputs for that given synapse_type. |
Definition at line 160 of file synapse_types_alpha_impl.h.
|
inlinestatic |
extracts the excitatory input buffers from the buffers available for a given neuron ID
[in,out] | excitatory_response | Buffer to put response in |
[in] | parameters | the pointer to the parameters to use |
Definition at line 180 of file synapse_types_alpha_impl.h.
|
inlinestatic |
extracts the inhibitory input buffers from the buffers available for a given neuron ID
[in,out] | inhibitory_response | Buffer to put response in |
[in] | parameters | the pointer to the parameters to use |
Definition at line 192 of file synapse_types_alpha_impl.h.
|
inlinestatic |
returns a human readable character for the type of synapse.
Examples would be X
= excitatory types, I
= inhibitory types, etc.
[in] | synapse_type_index | the synapse type index (there is a specific index interpretation in each synapse type) |
Definition at line 205 of file synapse_types_alpha_impl.h.
|
inlinestatic |
prints the input for a neuron ID given the available inputs currently only executed when the models are in debug mode, as the prints are controlled from the synapses.c print_inputs() method.
[in] | parameters | the pointer to the parameters to print |
Definition at line 222 of file synapse_types_alpha_impl.h.
|
inlinestatic |
prints the parameters of the synapse type
[in] | parameters | the pointer to the parameters to print |
Definition at line 231 of file synapse_types_alpha_impl.h.