|
sPyNNaker neural_modelling
7.4.2
|
STDP core implementation. More...
Go to the source code of this file.
Data Structures | |
| struct | synapse_row_plastic_data_t |
| The format of the plastic data region of a synaptic row. More... | |
Functions | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| static index_t | sparse_axonal_delay (uint32_t x) |
| Get the axonal delay. More... | |
| void | synapse_dynamics_process_post_synaptic_event (uint32_t time, index_t neuron_index) |
| Inform the synapses that the neuron fired. More... | |
| 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. More... | |
| 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. More... | |
| bool | synapse_dynamics_remove_neuron (uint32_t offset, synaptic_row_t row) |
| Remove the entry at the specified offset in the synaptic row. More... | |
| 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. More... | |
Variables | |
| uint32_t | skipped_synapses |
STDP core implementation.
Definition in file synapse_dynamics_stdp_mad_impl.c.
| struct synapse_row_plastic_data_t |
The format of the plastic data region of a synaptic row.
Definition at line 45 of file synapse_dynamics_stdp_izhikevich_neuromodulation.c.
| Data Fields | ||
|---|---|---|
| union synapse_row_plastic_data_t | __unnamed__ | |
| pre_event_history_t | history | The pre-event history. |
| plastic_synapse_t | synapses[] | The per-synapse information. |
| uint32_t | pre_spike: 31 | |
| uint32_t | is_update: 1 | |
| updatable_synapse_t | synapses[] | |
|
inlinestatic |
Synapse update loop core.
| [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 |
Definition at line 43 of file synapse_dynamics_stdp_mad_impl.c.
| 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.
| [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 |
Definition at line 105 of file synapse_dynamics_stdp_mad_impl.c.
| 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.
| [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.
|
inlinestatic |
Get the axonal delay.
| [in] | x | The packed plastic synapse control word |
Definition at line 171 of file synapse_dynamics_stdp_mad_impl.c.
| void synapse_dynamics_process_post_synaptic_event | ( | uint32_t | time, |
| index_t | neuron_index | ||
| ) |
Inform the synapses that the neuron fired.
| [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.
| bool synapse_dynamics_process_plastic_synapses | ( | synapse_row_plastic_data_t * | plastic_region_data, |
| 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.
| [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 |
Definition at line 228 of file synapse_dynamics_stdp_mad_impl.c.
| 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.
| [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 |
Definition at line 266 of file synapse_dynamics_stdp_mad_impl.c.
| bool synapse_dynamics_remove_neuron | ( | uint32_t | offset, |
| synaptic_row_t | row | ||
| ) |
Remove the entry at the specified offset in the synaptic row.
| [in] | offset | the offset in the row at which to remove the entry |
| [in] | row | the core-local address of the synaptic row |
Definition at line 297 of file synapse_dynamics_stdp_mad_impl.c.
| 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.
| [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) |
Definition at line 318 of file synapse_dynamics_stdp_mad_impl.c.
|
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.