|
sPyNNaker neural_modelling 7.4.2
|
Common code for recurrent timing rules. More...
#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.
Enumerations | |
| enum | recurrent_state_machine_state_t { STATE_IDLE , STATE_PRE_OPEN , STATE_POST_OPEN } |
| Synapse states. More... | |
Functions | |
| static bool | timing_recurrent_in_pre_window (uint32_t time_since_last_event, update_state_t previous_state) |
| API: Check if there was an event in the pre-window. | |
| static bool | timing_recurrent_in_post_window (uint32_t time_since_last_event, update_state_t previous_state) |
| API: Check if there was an event in the post-window. | |
| static update_state_t | timing_recurrent_calculate_pre_window (update_state_t previous_state) |
| API: Update the state with the pre-window information. | |
| static update_state_t | timing_recurrent_calculate_post_window (update_state_t previous_state) |
| API: Update the state with the post-window information. | |
| 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. | |
Common code for recurrent timing rules.
Recurrent timing rules use a small state machine to decide how to react to spike events rather than a simple accumulator.
Definition in file timing_recurrent_common.h.
Synapse states.
| Enumerator | |
|---|---|
| STATE_IDLE | Initial state; neither window is open. |
| STATE_PRE_OPEN | Pre-window is open. |
| STATE_POST_OPEN | Post-window is open. |
Definition at line 64 of file timing_recurrent_common.h.
|
static |
API: Check if there was an event in the pre-window.
| [in] | time_since_last_event | Length of time since last event |
| [in] | previous_state | The state we're in right now |
|
static |
API: Check if there was an event in the post-window.
| [in] | time_since_last_event | Length of time since last event |
| [in] | previous_state | The state we're in right now |
|
static |
API: Update the state with the pre-window information.
| [in] | previous_state | The state we're in right now |
|
static |
API: Update the state with the post-window information.
| [in] | previous_state | The state we're in right now |
|
inlinestatic |
Get an initial post-synaptic timing trace.
Definition at line 79 of file timing_recurrent_common.h.
|
inlinestatic |
Definition at line 83 of file timing_recurrent_common.h.
|
inlinestatic |
Add a post spike to the post trace.
| [in] | time | the time of the spike |
| [in] | last_time | the time of the previous spike update |
| [in] | last_trace | the post trace to update |
Definition at line 95 of file timing_recurrent_common.h.
|
inlinestatic |
Add a pre spike to the pre trace.
| [in] | time | the time of the spike |
| [in] | last_time | the time of the previous spike update |
| [in] | last_trace | the pre trace to update |
Definition at line 108 of file timing_recurrent_common.h.
|
inlinestatic |
Apply a pre-spike timing rule state update.
| [in] | time | the current time |
| [in] | trace | the current pre-spike trace |
| [in] | last_pre_time | the time of the last pre-spike |
| [in] | last_pre_trace | the trace of the last pre-spike |
| [in] | last_post_time | the time of the last post-spike |
| [in] | last_post_trace | the trace of the last post-spike |
| [in] | previous_state | the state to update |
Definition at line 124 of file timing_recurrent_common.h.
|
inlinestatic |
Apply a post-spike timing rule state update.
| [in] | time | the current time |
| [in] | trace | the current post-spike trace |
| [in] | last_pre_time | the time of the last pre-spike |
| [in] | last_pre_trace | the trace of the last pre-spike |
| [in] | last_post_time | the time of the last post-spike |
| [in] | last_post_trace | the trace of the last post-spike |
| [in] | previous_state | the state to update |
Definition at line 206 of file timing_recurrent_common.h.