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

Recurrent timing rule using finite state machine. More...

#include <neuron/plasticity/stdp/synapse_structure/synapse_structure_weight_accumulator_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>
#include "random_util.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 uint16_t post_trace_t
 The type of post-traces.
 
typedef uint16_t pre_trace_t
 The type of pre-traces.
 

Functions

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 post_trace_t timing_decay_post (uint32_t time, uint32_t last_time, post_trace_t last_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

plasticity_trace_region_data_t plasticity_trace_region_data
 Global plasticity parameter data.
 

Detailed Description

Recurrent timing rule using finite state machine.

Definition in file timing_recurrent_dual_fsm_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 uint16_t post_trace_t

The type of post-traces.

Definition at line 26 of file timing_recurrent_dual_fsm_impl.h.

◆ pre_trace_t

typedef uint16_t pre_trace_t

The type of pre-traces.

Definition at line 28 of file timing_recurrent_dual_fsm_impl.h.

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 60 of file timing_recurrent_dual_fsm_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 70 of file timing_recurrent_dual_fsm_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 85 of file timing_recurrent_dual_fsm_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 96 of file timing_recurrent_dual_fsm_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 121 of file timing_recurrent_dual_fsm_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_recurrent_dual_fsm_impl.h.

Variable Documentation

◆ plasticity_trace_region_data

plasticity_trace_region_data_t plasticity_trace_region_data
extern

Global plasticity parameter data.

Definition at line 32 of file timing_recurrent_dual_fsm_impl.c.