STDP core implementation.
More...
Go to the source code of this file.
|
static final_state_t | plasticity_update_synapse (const uint32_t time, const uint32_t last_pre_time, const pre_trace_t last_pre_trace, const pre_trace_t new_pre_trace, const uint32_t delay_dendritic, const uint32_t delay_axonal, update_state_t current_state, const post_event_history_t *post_event_history) |
| Synapse update loop core.
|
|
bool | synapse_dynamics_initialise (address_t address, uint32_t n_neurons, uint32_t n_synapse_types, uint32_t *ring_buffer_to_input_buffer_left_shifts) |
| Initialise the synapse dynamics.
|
|
void | synapse_dynamics_print_plastic_synapses (synapse_row_plastic_data_t *plastic_region_data, synapse_row_fixed_part_t *fixed_region, uint32_t *ring_buffer_to_input_buffer_left_shifts) |
| Print the synapse dynamics.
|
|
static index_t | sparse_axonal_delay (uint32_t x) |
| Get the axonal delay.
|
|
void | synapse_dynamics_process_post_synaptic_event (uint32_t time, index_t neuron_index) |
| Inform the synapses that the neuron fired.
|
|
static plastic_synapse_t | process_plastic_synapse (uint32_t control_word, uint32_t last_pre_time, pre_trace_t last_pre_trace, pre_trace_t new_pre_trace, weight_t *ring_buffers, uint32_t time, uint32_t colour_delay, plastic_synapse_t synapse) |
|
bool | synapse_dynamics_process_plastic_synapses (synapse_row_plastic_data_t *plastic_region_address, synapse_row_fixed_part_t *fixed_region, weight_t *ring_buffers, uint32_t time, uint32_t colour_delay, bool *write_back) |
| Process the dynamics of the synapses.
|
|
bool | synapse_dynamics_find_neuron (uint32_t id, synaptic_row_t row, weight_t *weight, uint16_t *delay, uint32_t *offset, uint32_t *synapse_type) |
| Search the synaptic row for the the connection with the specified post-synaptic ID.
|
|
bool | synapse_dynamics_remove_neuron (uint32_t offset, synaptic_row_t row) |
| Remove the entry at the specified offset in the synaptic row.
|
|
bool | synapse_dynamics_add_neuron (uint32_t id, synaptic_row_t row, weight_t weight, uint32_t delay, uint32_t type) |
| Add an entry in the synaptic row.
|
|
STDP core implementation.
Definition in file synapse_dynamics_stdp_mad_impl.c.
◆ synapse_row_plastic_data_t
struct synapse_row_plastic_data_t |
◆ plasticity_update_synapse()
Synapse update loop core.
- Parameters
-
[in] | time | The current time |
[in] | last_pre_time | The time of the last previous pre-event |
[in] | last_pre_trace | The last previous pre-trace |
[in] | new_pre_trace | The new pre-trace |
[in] | delay_dendritic | The dendritic delay for the synapse |
[in] | delay_axonal | The axonal delay for the synapse |
[in] | current_state | The current state |
[in] | post_event_history | The history |
- Returns
- The new basic state of the synapse
Definition at line 43 of file synapse_dynamics_stdp_mad_impl.c.
◆ synapse_dynamics_initialise()
bool synapse_dynamics_initialise |
( |
address_t |
address, |
|
|
uint32_t |
n_neurons, |
|
|
uint32_t |
n_synapse_types, |
|
|
uint32_t * |
ring_buffer_to_input_buffer_left_shifts |
|
) |
| |
Initialise the synapse dynamics.
- Parameters
-
[in] | address | Where the configuration data is |
[in] | n_neurons | Number of neurons |
[in] | n_synapse_types | Number of synapse types |
[in] | ring_buffer_to_input_buffer_left_shifts | How to interpret the values from the ring buffers |
- Returns
- Whether the initialisation succeeded.
Definition at line 105 of file synapse_dynamics_stdp_mad_impl.c.
◆ synapse_dynamics_print_plastic_synapses()
Print the synapse dynamics.
- Parameters
-
[in] | plastic_region_data | Where the plastic data is |
[in] | fixed_region | Where the fixed data is |
[in] | ring_buffer_to_input_buffer_left_shifts | How to interpret the values from the ring buffers |
Definition at line 125 of file synapse_dynamics_stdp_mad_impl.c.
◆ sparse_axonal_delay()
static index_t sparse_axonal_delay |
( |
uint32_t |
x | ) |
|
|
inlinestatic |
◆ synapse_dynamics_process_post_synaptic_event()
void synapse_dynamics_process_post_synaptic_event |
( |
uint32_t |
time, |
|
|
index_t |
neuron_index |
|
) |
| |
Inform the synapses that the neuron fired.
- Parameters
-
[in] | time | The current simulation time |
[in] | neuron_index | Which neuron are we processing |
Definition at line 182 of file synapse_dynamics_stdp_mad_impl.c.
◆ process_plastic_synapse()
◆ synapse_dynamics_process_plastic_synapses()
Process the dynamics of the synapses.
- Parameters
-
[in,out] | plastic_region_data | Where the plastic data is |
[in] | fixed_region | Where the fixed data is |
[in,out] | ring_buffers | The ring buffers |
[in] | time | The current simulation time |
[out] | Whether | to write back anything |
- Returns
- Whether the processing was successful or not
Definition at line 228 of file synapse_dynamics_stdp_mad_impl.c.
◆ synapse_dynamics_find_neuron()
bool synapse_dynamics_find_neuron |
( |
uint32_t |
id, |
|
|
synaptic_row_t |
row, |
|
|
weight_t * |
weight, |
|
|
uint16_t * |
delay, |
|
|
uint32_t * |
offset, |
|
|
uint32_t * |
synapse_type |
|
) |
| |
Search the synaptic row for the the connection with the specified post-synaptic ID.
- Parameters
-
[in] | id | the (core-local) ID of the neuron to search for in the synaptic row |
[in] | row | the core-local address of the synaptic row |
[out] | weight | address to contain the weight of the connection |
[out] | delay | address to contain the delay of the connection |
[out] | offset | address to contain the offset of the connection |
[out] | synapse_type | the synapse type of the connection |
- Returns
- was the search successful?
Definition at line 266 of file synapse_dynamics_stdp_mad_impl.c.
◆ synapse_dynamics_remove_neuron()
bool synapse_dynamics_remove_neuron |
( |
uint32_t |
offset, |
|
|
synaptic_row_t |
row |
|
) |
| |
Remove the entry at the specified offset in the synaptic row.
- Parameters
-
[in] | offset | the offset in the row at which to remove the entry |
[in] | row | the core-local address of the synaptic row |
- Returns
- was the removal successful?
Definition at line 297 of file synapse_dynamics_stdp_mad_impl.c.
◆ synapse_dynamics_add_neuron()
bool synapse_dynamics_add_neuron |
( |
uint32_t |
id, |
|
|
synaptic_row_t |
row, |
|
|
weight_t |
weight, |
|
|
uint32_t |
delay, |
|
|
uint32_t |
type |
|
) |
| |
Add an entry in the synaptic row.
- Parameters
-
[in] | id | the (core-local) ID of the post-synaptic neuron to be added |
[in] | row | the core-local address of the synaptic row |
[in] | weight | the initial weight associated with the connection |
[in] | delay | the delay associated with the connection |
[in] | type | the type of the connection (e.g. inhibitory) |
- Returns
- was the addition successful?
Definition at line 318 of file synapse_dynamics_stdp_mad_impl.c.
◆ skipped_synapses
uint32_t skipped_synapses |
|
extern |
Count of the synapses that have been skipped because the delay wasn't big enough given how long the spike took to arrive
Definition at line 84 of file synapses.c.