sPyNNaker neural_modelling 7.1.1
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions
synapse_types_semd_impl.h File Reference

implementation of synapse_types.h for sEMD synapses. More...

#include <debug.h>
#include "synapse_types.h"
#include "exp_synapse_utils.h"

Go to the source code of this file.

Data Structures

struct  synapse_types_params_t
 
struct  synapse_types_t
 Delta synapses support just a single excitatory and inhibitory input each. More...
 

Macros

#define SYNAPSE_TYPE_BITS   2
 Number of bits to encode the synapse type.
 
#define SYNAPSE_TYPE_COUNT   3
 Number of synapse types.
 
#define NUM_EXCITATORY_RECEPTORS   2
 Number of excitatory receptors.
 
#define NUM_INHIBITORY_RECEPTORS   1
 Number of inhibitory receptors.
 

Enumerations

enum  synapse_semd_input_buffer_regions { EXCITATORY_ONE , EXCITATORY_TWO , INHIBITORY }
 The supported synapse type indices. More...
 

Functions

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 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 synapse_types_add_neuron_input (index_t synapse_type_index, synapse_types_t *parameter, input_t input)
 adds the inputs for a give timer period to a given neuron that is being simulated by this model
 
static input_tsynapse_types_get_excitatory_input (input_t *excitatory_response, synapse_types_t *parameters)
 extracts the excitatory input buffers from the buffers available for a given parameter set
 
static input_tsynapse_types_get_inhibitory_input (input_t *inhibitory_response, synapse_types_t *parameters)
 extracts the inhibitory input buffers from the buffers available for a given parameter set
 
static const char * synapse_types_get_type_char (index_t synapse_type_index)
 returns a human readable character for the type of synapse. examples would be X = excitatory types, I = inhibitory types etc etc.
 
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)
 printer call
 

Detailed Description

implementation of synapse_types.h for sEMD synapses.

To be filled in...

Definition in file synapse_types_semd_impl.h.


Data Structure Documentation

◆ synapse_types_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.

◆ synapse_types_t

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.

Macro Definition Documentation

◆ SYNAPSE_TYPE_BITS

#define SYNAPSE_TYPE_BITS   2

Number of bits to encode the synapse type.

ceil(log2(SYNAPSE_TYPE_COUNT))

Definition at line 32 of file synapse_types_semd_impl.h.

◆ SYNAPSE_TYPE_COUNT

#define SYNAPSE_TYPE_COUNT   3

Number of synapse types.

NUM_EXCITATORY_RECEPTORS + NUM_INHIBITORY_RECEPTORS

Definition at line 35 of file synapse_types_semd_impl.h.

◆ NUM_EXCITATORY_RECEPTORS

#define NUM_EXCITATORY_RECEPTORS   2

Number of excitatory receptors.

Definition at line 38 of file synapse_types_semd_impl.h.

◆ NUM_INHIBITORY_RECEPTORS

#define NUM_INHIBITORY_RECEPTORS   1

Number of inhibitory receptors.

Definition at line 40 of file synapse_types_semd_impl.h.

Enumeration Type Documentation

◆ synapse_semd_input_buffer_regions

The supported synapse type indices.

Enumerator
EXCITATORY_ONE 

First excitatory synaptic input.

EXCITATORY_TWO 

Second excitatory synaptic input.

INHIBITORY 

Inhibitory synaptic input.

Definition at line 77 of file synapse_types_semd_impl.h.

Function Documentation

◆ synapse_types_initialise()

static void synapse_types_initialise ( synapse_types_t state,
synapse_types_params_t params,
uint32_t  n_steps_per_timestep 
)
inlinestatic

Definition at line 88 of file synapse_types_semd_impl.h.

◆ synapse_types_save_state()

static void synapse_types_save_state ( synapse_types_t state,
synapse_types_params_t params 
)
static

Definition at line 98 of file synapse_types_semd_impl.h.

◆ synapse_types_shape_input()

static void synapse_types_shape_input ( synapse_types_t parameters)
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.

Parameters
[in,out]parametersthe pointer to the parameters to use

Definition at line 114 of file synapse_types_semd_impl.h.

◆ synapse_types_add_neuron_input()

static void synapse_types_add_neuron_input ( index_t  synapse_type_index,
synapse_types_t parameter,
input_t  input 
)
inlinestatic

adds the inputs for a give timer period to a given neuron that is being simulated by this model

Parameters
[in]synapse_type_indexthe type of input that this input is to be considered (aka excitatory or inhibitory etc)
[in,out]parameterthe pointer to the parameters to use
[in]inputthe input for that given synapse_type.

Definition at line 126 of file synapse_types_semd_impl.h.

◆ synapse_types_get_excitatory_input()

static input_t * synapse_types_get_excitatory_input ( input_t excitatory_response,
synapse_types_t parameters 
)
inlinestatic

extracts the excitatory input buffers from the buffers available for a given parameter set

Parameters
[in,out]excitatory_responseBuffer to put response in
[in]parametersthe pointer to the parameters to use
Returns
the excitatory input buffers for a given neuron ID.

Definition at line 147 of file synapse_types_semd_impl.h.

◆ synapse_types_get_inhibitory_input()

static input_t * synapse_types_get_inhibitory_input ( input_t inhibitory_response,
synapse_types_t parameters 
)
inlinestatic

extracts the inhibitory input buffers from the buffers available for a given parameter set

Parameters
[in,out]inhibitory_responseBuffer to put response in
[in]parametersthe pointer to the parameters to use
Returns
the inhibitory input buffers for a given neuron ID.

Definition at line 171 of file synapse_types_semd_impl.h.

◆ synapse_types_get_type_char()

static const char * synapse_types_get_type_char ( index_t  synapse_type_index)
inlinestatic

returns a human readable character for the type of synapse. examples would be X = excitatory types, I = inhibitory types etc etc.

Parameters
[in]synapse_type_indexthe synapse type index (there is a specific index interpretation in each synapse type)
Returns
a human readable character representing the synapse type.

Definition at line 182 of file synapse_types_semd_impl.h.

◆ synapse_types_print_input()

static void synapse_types_print_input ( synapse_types_t parameters)
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.

Parameters
[in]parametersthe parameters to print

Definition at line 201 of file synapse_types_semd_impl.h.

◆ synapse_types_print_parameters()

static void synapse_types_print_parameters ( synapse_types_t parameters)
inlinestatic

printer call

Parameters
[in]parametersthe pointer to the parameters to print

Definition at line 212 of file synapse_types_semd_impl.h.