sPyNNaker neural_modelling 7.3.1
Loading...
Searching...
No Matches
Data Structures | Functions | Variables
timing_pfister_triplet_impl.h File Reference

Timing rule using spike triplets. More...

#include <neuron/plasticity/stdp/synapse_structure/synapse_structure_weight_impl.h>
#include "timing.h"
#include <neuron/plasticity/stdp/weight_dependence/weight_two_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  post_trace_t
 The type of post-spike traces. More...
 
struct  pre_trace_t
 The type of pre-spike traces. More...
 

Functions

static post_trace_t timing_get_initial_post_trace (void)
 Get an initial post-synaptic timing trace.
 
static post_trace_t timing_decay_post (uint32_t time, uint32_t last_time, post_trace_t last_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_plus_lookup
 Lookup table for τ+ exponential decay.
 
int16_luttau_minus_lookup
 Lookup table for τ- exponential decay.
 
int16_luttau_x_lookup
 Lookup table for τx exponential decay.
 
int16_luttau_y_lookup
 Lookup table for τy exponential decay.
 

Detailed Description

Timing rule using spike triplets.

Citation:
Triplets of Spikes in a Model of Spike Timing-Dependent Plasticity. Pfister JP, Gerstner W, Journal of Neuroscience 20 September 2006, 26 (38) 9673-9682.
DOI: 10.1523/JNEUROSCI.1425-06.2006

Definition in file timing_pfister_triplet_impl.h.


Data Structure Documentation

◆ post_trace_t

struct post_trace_t

The type of post-spike traces.

Definition at line 25 of file timing_nearest_pair_impl.h.

Data Fields
int16_t o1
int16_t o2
uint32_t last_spike_time

◆ pre_trace_t

struct pre_trace_t

The type of pre-spike traces.

Definition at line 28 of file timing_nearest_pair_impl.h.

Data Fields
int16_t r1
int16_t r2

Function Documentation

◆ 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 69 of file timing_pfister_triplet_impl.h.

◆ timing_decay_post()

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

Definition at line 73 of file timing_pfister_triplet_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 106 of file timing_pfister_triplet_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 124 of file timing_pfister_triplet_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 159 of file timing_pfister_triplet_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 190 of file timing_pfister_triplet_impl.h.

Variable Documentation

◆ tau_plus_lookup

int16_lut* tau_plus_lookup
extern

Lookup table for τ+ exponential decay.

Definition at line 26 of file timing_nearest_pair_impl.c.

◆ tau_minus_lookup

int16_lut* tau_minus_lookup
extern

Lookup table for τ- exponential decay.

Definition at line 28 of file timing_nearest_pair_impl.c.

◆ tau_x_lookup

int16_lut* tau_x_lookup
extern

Lookup table for τx exponential decay.

Definition at line 30 of file timing_pfister_triplet_impl.c.

◆ tau_y_lookup

int16_lut* tau_y_lookup
extern

Lookup table for τy exponential decay.

Definition at line 32 of file timing_pfister_triplet_impl.c.