sPyNNaker neural_modelling 7.3.1
Loading...
Searching...
No Matches
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
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
99bool 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_
uint32_t index_t
static weight_t * ring_buffers
The ring buffers to be used in the simulation.
Definition c_main.c:118
uint32_t * address_t
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.