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

STDP core implementation. More...

#include <static-assert.h>
#include <neuron/synapses.h>
#include "maths.h"
#include "post_events.h"
#include "weight_dependence/weight.h"
#include "timing_dependence/timing.h"
#include <debug.h>
#include <utils.h>
#include <neuron/plasticity/synapse_dynamics.h>
#include <stddef.h>

Go to the source code of this file.

Data Structures

struct  pre_event_history_t
 The type of history data of pre-events. More...
 
struct  stdp_params
 The type of configuration parameters in SDRAM (written by host) More...
 
struct  fixed_stdp_synapse
 

Macros

#define SYNAPSE_AXONAL_DELAY_BITS   3
 
#define SYNAPSE_AXONAL_DELAY_MASK    ((1 << SYNAPSE_AXONAL_DELAY_BITS) - 1)
 

Functions

static bool synapse_dynamics_stdp_init (address_t *address, stdp_params *params, uint32_t n_synapse_types, uint32_t *ring_buffer_to_input_buffer_left_shifts)
 
input_t synapse_dynamics_get_intrinsic_bias (uint32_t time, index_t neuron_index)
 
uint32_t synapse_dynamics_get_plastic_pre_synaptic_events (void)
 Get the counters for plastic pre synaptic events based on (if the model was compiled with SYNAPSE_BENCHMARK parameter) or returns 0.
 
uint32_t synapse_dynamics_get_plastic_saturation_count (void)
 Get the number of ring buffer saturation events due to adding plastic weights.
 
static fixed_stdp_synapse synapse_dynamics_stdp_get_fixed (uint32_t control_word, uint32_t time, uint32_t colour_delay)
 
static void synapse_dynamics_stdp_update_ring_buffers (weight_t *ring_buffers, fixed_stdp_synapse s, int32_t weight)
 
static control_t control_conversion (uint32_t id, uint32_t delay, uint32_t type)
 packing all of the information into the required plastic control word
 
uint32_t synapse_dynamics_n_connections_in_row (synapse_row_fixed_part_t *fixed)
 Get the number of connections in the given row.
 

Variables

static stdp_params params
 Configuration parameters.
 
static post_event_history_tpost_event_history
 The history data of post-events.
 
static uint32_t num_plastic_pre_synaptic_events = 0
 Count of pre-synaptic events relevant to plastic processing.
 
static uint32_t plastic_saturation_count = 0
 Count of times that the plastic math became saturated.
 

Detailed Description

STDP core implementation.

Definition in file synapse_dynamics_stdp_common.h.


Data Structure Documentation

◆ pre_event_history_t

struct pre_event_history_t

The type of history data of pre-events.

This data is stored in SDRAM in the plastic part of the synaptic matrix

Definition at line 72 of file synapse_dynamics_stdp_common.h.

Data Fields
uint32_t prev_time The event time.
pre_trace_t prev_trace The event trace.

◆ stdp_params

struct stdp_params

The type of configuration parameters in SDRAM (written by host)

Definition at line 80 of file synapse_dynamics_stdp_common.h.

Data Fields
uint32_t backprop_delay The back-propagation delay, in basic simulation timesteps.

◆ fixed_stdp_synapse

struct fixed_stdp_synapse

Definition at line 85 of file synapse_dynamics_stdp_common.h.

Data Fields
uint32_t delay_dendritic
uint32_t delay_axonal
uint32_t type
uint32_t index
uint32_t type_index
uint32_t ring_buffer_index

Macro Definition Documentation

◆ SYNAPSE_AXONAL_DELAY_BITS

#define SYNAPSE_AXONAL_DELAY_BITS   3

Definition at line 60 of file synapse_dynamics_stdp_common.h.

◆ SYNAPSE_AXONAL_DELAY_MASK

#define SYNAPSE_AXONAL_DELAY_MASK    ((1 << SYNAPSE_AXONAL_DELAY_BITS) - 1)

Definition at line 63 of file synapse_dynamics_stdp_common.h.

Function Documentation

◆ synapse_dynamics_stdp_init()

static bool synapse_dynamics_stdp_init ( address_t address,
stdp_params params,
uint32_t  n_synapse_types,
uint32_t *  ring_buffer_to_input_buffer_left_shifts 
)
inlinestatic

Definition at line 113 of file synapse_dynamics_stdp_common.h.

◆ synapse_dynamics_get_intrinsic_bias()

input_t synapse_dynamics_get_intrinsic_bias ( uint32_t  time,
index_t  neuron_index 
)

Definition at line 141 of file synapse_dynamics_stdp_common.h.

◆ synapse_dynamics_get_plastic_pre_synaptic_events()

uint32_t synapse_dynamics_get_plastic_pre_synaptic_events ( void  )

Get the counters for plastic pre synaptic events based on (if the model was compiled with SYNAPSE_BENCHMARK parameter) or returns 0.

Returns
counters for plastic pre synaptic events or 0

Definition at line 146 of file synapse_dynamics_stdp_common.h.

◆ synapse_dynamics_get_plastic_saturation_count()

uint32_t synapse_dynamics_get_plastic_saturation_count ( void  )

Get the number of ring buffer saturation events due to adding plastic weights.

Returns
counter for saturation events or 0

Definition at line 150 of file synapse_dynamics_stdp_common.h.

◆ synapse_dynamics_stdp_get_fixed()

static fixed_stdp_synapse synapse_dynamics_stdp_get_fixed ( uint32_t  control_word,
uint32_t  time,
uint32_t  colour_delay 
)
inlinestatic

Definition at line 154 of file synapse_dynamics_stdp_common.h.

◆ synapse_dynamics_stdp_update_ring_buffers()

static void synapse_dynamics_stdp_update_ring_buffers ( weight_t *  ring_buffers,
fixed_stdp_synapse  s,
int32_t  weight 
)
inlinestatic

Definition at line 178 of file synapse_dynamics_stdp_common.h.

◆ control_conversion()

static control_t control_conversion ( uint32_t  id,
uint32_t  delay,
uint32_t  type 
)
inlinestatic

packing all of the information into the required plastic control word

Definition at line 192 of file synapse_dynamics_stdp_common.h.

◆ synapse_dynamics_n_connections_in_row()

uint32_t synapse_dynamics_n_connections_in_row ( synapse_row_fixed_part_t fixed)

Get the number of connections in the given row.

Parameters
[in]fixedthe fixed region of the synaptic row
Returns
The number of connections in the row

Definition at line 201 of file synapse_dynamics_stdp_common.h.

Variable Documentation

◆ params

stdp_params params
static

Configuration parameters.

Definition at line 95 of file synapse_dynamics_stdp_common.h.

◆ post_event_history

post_event_history_t* post_event_history
static

The history data of post-events.

Definition at line 98 of file synapse_dynamics_stdp_common.h.

◆ num_plastic_pre_synaptic_events

uint32_t num_plastic_pre_synaptic_events = 0
static

Count of pre-synaptic events relevant to plastic processing.

Definition at line 101 of file synapse_dynamics_stdp_common.h.

◆ plastic_saturation_count

uint32_t plastic_saturation_count = 0
static

Count of times that the plastic math became saturated.

Definition at line 104 of file synapse_dynamics_stdp_common.h.