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

Timing rule from Vogels 2011. More...

#include <neuron/plasticity/stdp/synapse_structure/synapse_structure_weight_impl.h>
#include "timing.h"
#include <neuron/plasticity/stdp/weight_dependence/weight_one_term.h>
#include <debug.h>
#include <neuron/plasticity/stdp/maths.h>
#include <neuron/plasticity/stdp/stdp_typedefs.h>

Go to the source code of this file.

Data Structures

struct  plasticity_trace_region_data_t
 Configuration information about plasticity traces. More...
 

Typedefs

typedef int16_t post_trace_t
 Type of post-traces.
 
typedef int16_t pre_trace_t
 Type of pre-traces.
 

Functions

static int16_t timing_decay_post (uint32_t time, uint32_t last_time, post_trace_t last_trace)
 
static int16_t timing_add_spike (uint32_t time, uint32_t last_time, int16_t last_trace)
 Common code for adding a spike to the trace.
 
static post_trace_t timing_get_initial_post_trace (void)
 Get an initial post-synaptic timing trace.
 
static post_trace_t timing_add_post_spike (uint32_t time, uint32_t last_time, post_trace_t last_trace)
 Add a post spike to the post trace.
 
static pre_trace_t timing_add_pre_spike (uint32_t time, uint32_t last_time, pre_trace_t last_trace)
 Add a pre spike to the pre trace.
 
static update_state_t timing_apply_pre_spike (uint32_t time, pre_trace_t trace, uint32_t last_pre_time, pre_trace_t last_pre_trace, uint32_t last_post_time, post_trace_t last_post_trace, update_state_t previous_state)
 Apply a pre-spike timing rule state update.
 
static update_state_t timing_apply_post_spike (uint32_t time, post_trace_t trace, uint32_t last_pre_time, pre_trace_t last_pre_trace, uint32_t last_post_time, post_trace_t last_post_trace, update_state_t previous_state)
 Apply a post-spike timing rule state update.
 

Variables

int16_luttau_lookup
 Lookup table for pre-computed τ
 

Detailed Description

Timing rule from Vogels 2011.

Citation:
Inhibitory plasticity balances excitation and inhibition in sensory pathways and memory networks, Vogels TP, Sprekeler H, Zenke F, Clopath C, Gerstner W., Science. 2011 Dec 16;334(6062):1569-73.
doi: 10.1126/science.1211095.

Definition in file timing_vogels_2011_impl.h.


Data Structure Documentation

◆ plasticity_trace_region_data_t

struct plasticity_trace_region_data_t

Configuration information about plasticity traces.

Definition at line 44 of file timing_recurrent_dual_fsm_impl.h.

Data Fields
int32_t accumulator_depression_plus_one Threshold above which we won't hit depression trigger after decrement.
int32_t accumulator_potentiation_minus_one Threshold below which we won't hit potentiation trigger after increment.
int32_t alpha

Typedef Documentation

◆ post_trace_t

typedef int16_t post_trace_t

Type of post-traces.

Definition at line 33 of file timing_vogels_2011_impl.h.

◆ pre_trace_t

typedef int16_t pre_trace_t

Type of pre-traces.

Definition at line 35 of file timing_vogels_2011_impl.h.

Function Documentation

◆ timing_decay_post()

static int16_t timing_decay_post ( uint32_t  time,
uint32_t  last_time,
post_trace_t  last_trace 
)
inlinestatic

Definition at line 64 of file timing_vogels_2011_impl.h.

◆ timing_add_spike()

static int16_t timing_add_spike ( uint32_t  time,
uint32_t  last_time,
int16_t  last_trace 
)
inlinestatic

Common code for adding a spike to the trace.

Parameters
[in]timethe time of the spike
[in]last_timethe time of the previous spike update
[in]last_tracethe trace to update
Returns
the updated trace

Definition at line 82 of file timing_vogels_2011_impl.h.

◆ timing_get_initial_post_trace()

static post_trace_t timing_get_initial_post_trace ( void  )
inlinestatic

Get an initial post-synaptic timing trace.

Returns
the post trace

Definition at line 99 of file timing_vogels_2011_impl.h.

◆ timing_add_post_spike()

static post_trace_t timing_add_post_spike ( uint32_t  time,
uint32_t  last_time,
post_trace_t  last_trace 
)
inlinestatic

Add a post spike to the post trace.

Parameters
[in]timethe time of the spike
[in]last_timethe time of the previous spike update
[in]last_tracethe post trace to update
Returns
the updated post trace

Definition at line 108 of file timing_vogels_2011_impl.h.

◆ timing_add_pre_spike()

static pre_trace_t timing_add_pre_spike ( uint32_t  time,
uint32_t  last_time,
pre_trace_t  last_trace 
)
inlinestatic

Add a pre spike to the pre trace.

Parameters
[in]timethe time of the spike
[in]last_timethe time of the previous spike update
[in]last_tracethe pre trace to update
Returns
the updated pre trace

Definition at line 118 of file timing_vogels_2011_impl.h.

◆ timing_apply_pre_spike()

static update_state_t timing_apply_pre_spike ( uint32_t  time,
pre_trace_t  trace,
uint32_t  last_pre_time,
pre_trace_t  last_pre_trace,
uint32_t  last_post_time,
post_trace_t  last_post_trace,
update_state_t  previous_state 
)
inlinestatic

Apply a pre-spike timing rule state update.

Parameters
[in]timethe current time
[in]tracethe current pre-spike trace
[in]last_pre_timethe time of the last pre-spike
[in]last_pre_tracethe trace of the last pre-spike
[in]last_post_timethe time of the last post-spike
[in]last_post_tracethe trace of the last post-spike
[in]previous_statethe state to update
Returns
the updated state

Definition at line 132 of file timing_vogels_2011_impl.h.

◆ timing_apply_post_spike()

static update_state_t timing_apply_post_spike ( uint32_t  time,
post_trace_t  trace,
uint32_t  last_pre_time,
pre_trace_t  last_pre_trace,
uint32_t  last_post_time,
post_trace_t  last_post_trace,
update_state_t  previous_state 
)
inlinestatic

Apply a post-spike timing rule state update.

Parameters
[in]timethe current time
[in]tracethe current post-spike trace
[in]last_pre_timethe time of the last pre-spike
[in]last_pre_tracethe trace of the last pre-spike
[in]last_post_timethe time of the last post-spike
[in]last_post_tracethe trace of the last post-spike
[in]previous_statethe state to update
Returns
the updated state

Definition at line 162 of file timing_vogels_2011_impl.h.

Variable Documentation

◆ tau_lookup

int16_lut* tau_lookup
extern

Lookup table for pre-computed τ

Definition at line 25 of file timing_vogels_2011_impl.c.