sPyNNaker neural_modelling  7.4.2
neuron_impl.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 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 _NEURON_IMPL_H_
22 #define _NEURON_IMPL_H_
23 
24 #include <common/neuron-typedefs.h>
25 #include <neuron/send_spike.h>
26 
27 #ifndef SOMETIMES_UNUSED
28 #define SOMETIMES_UNUSED __attribute__((unused))
29 #endif // !SOMETIMES_UNUSED
30 
34 static bool neuron_impl_initialise(uint32_t n_neurons);
35 
41  index_t synapse_type_index, index_t neuron_index,
42  input_t weights_this_timestep);
43 
50  address_t address, uint32_t next, uint32_t n_neurons,
51  address_t save_initial_state);
52 
58  uint32_t timer_count, uint32_t time, uint32_t n_neurons);
59 
65  address_t address, uint32_t next, uint32_t n_neurons);
66 
67 #if LOG_LEVEL >= LOG_DEBUG
70 static void neuron_impl_print_inputs(uint32_t n_neurons);
71 
75 
79 static const char *neuron_impl_get_synapse_type_char(uint32_t synapse_type);
80 #endif // LOG_LEVEL >= LOG_DEBUG
81 
82 #endif // _NEURON_IMPL_H_
static uint32_t time
Simulation time.
Data type definitions for SpiNNaker Neuron-modelling.
REAL input_t
The type of an input.
static uint32_t n_neurons
The number of neurons on the core.
Definition: neuron.c:45
static void neuron_impl_print_synapse_parameters(uint32_t n_neurons)
Print the synapse parameters of the neurons.
static void neuron_impl_do_timestep_update(uint32_t timer_count, uint32_t time, uint32_t n_neurons)
Do the timestep update for the particular implementation.
static void neuron_impl_load_neuron_parameters(address_t address, uint32_t next, uint32_t n_neurons, address_t save_initial_state)
Load in the neuron parameters.
static const char * neuron_impl_get_synapse_type_char(uint32_t synapse_type)
Get the synapse type character for a synapse type.
static void neuron_impl_add_inputs(index_t synapse_type_index, index_t neuron_index, input_t weights_this_timestep)
Add inputs to the neuron.
static bool neuron_impl_initialise(uint32_t n_neurons)
Initialise the particular implementation of the data.
static void neuron_impl_print_inputs(uint32_t n_neurons)
Print the inputs to the neurons.
static void neuron_impl_store_neuron_parameters(address_t address, uint32_t next, uint32_t n_neurons)
Stores neuron parameters back into SDRAM.