sPyNNaker neural_modelling  7.4.2
synapse_dynamics.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 The University of Manchester
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
21 #ifndef _SYNAPSE_DYNAMICS_H_
22 #define _SYNAPSE_DYNAMICS_H_
23 
24 #include <common/neuron-typedefs.h>
25 #include <neuron/synapse_row.h>
26 
35  address_t address, uint32_t n_neurons, uint32_t n_synapse_types,
36  uint32_t *ring_buffer_to_input_buffer_left_shifts);
37 
46  synapse_row_plastic_data_t *plastic_region_data,
47  synapse_row_fixed_part_t *fixed_region,
48  weight_t *ring_buffers, uint32_t time, uint32_t colour_delay,
49  bool *write_back);
50 
55  uint32_t time, index_t neuron_index);
56 
63  synapse_row_plastic_data_t *plastic_region_data,
64  synapse_row_fixed_part_t *fixed_region,
65  uint32_t *ring_buffer_to_input_buffer_left_shifts);
66 
71 
76 
77 //-----------------------------------------------------------------------------
78 // Synaptic rewiring functions
79 //-----------------------------------------------------------------------------
80 
92  uint32_t id, synaptic_row_t row, weight_t *weight, uint16_t *delay,
93  uint32_t *offset, uint32_t *synapse_type);
94 
99 bool synapse_dynamics_remove_neuron(uint32_t offset, synaptic_row_t row);
100 
109  uint32_t id, synaptic_row_t row, weight_t weight,
110  uint32_t delay, uint32_t type);
111 
116 
117 #endif // _SYNAPSE_DYNAMICS_H_
static weight_t * ring_buffers
The ring buffers to be used in the simulation.
Definition: c_main.c:118
static uint32_t time
Simulation time.
Data type definitions for SpiNNaker Neuron-modelling.
struct synaptic_row * synaptic_row_t
The type of a synaptic row.
static uint32_t n_neurons
The number of neurons on the core.
Definition: neuron.c:45
static uint32_t n_synapse_types
The number of synapse types.
Definition: neuron.c:51
uint32_t synapse_dynamics_get_plastic_pre_synaptic_events(void)
Get the counters for plastic pre synaptic events based on (if the model was compiled with SYNAPSE_BEN...
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_process_post_synaptic_event(uint32_t time, index_t neuron_index)
Inform the synapses that the neuron fired.
uint32_t synapse_dynamics_get_plastic_saturation_count(void)
Get the number of ring buffer saturation events due to adding plastic weights.
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_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.
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.
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.
uint32_t synapse_dynamics_n_connections_in_row(synapse_row_fixed_part_t *fixed)
Get the number of connections in the given row.
bool synapse_dynamics_remove_neuron(uint32_t offset, synaptic_row_t row)
Remove the entry at the specified offset in the synaptic row.
The format of the plastic data region of a synaptic row.
implementation for handling the processing of synapse rows.
The type of the fixed part of the row. The fixed-plastic part follows.
Definition: synapse_row.h:118