sPyNNaker neural_modelling 7.3.1
Loading...
Searching...
No Matches
neuron_model.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
24#ifndef _NEURON_MODEL_H_
25#define _NEURON_MODEL_H_
26
28#include <debug.h>
29
31struct neuron_params_t;
32typedef struct neuron_params_t neuron_params_t;
33
35struct neuron_t;
36typedef struct neuron_t neuron_t;
37
38#ifndef SOMETIMES_UNUSED
39#define SOMETIMES_UNUSED __attribute__((unused))
40#endif // !SOMETIMES_UNUSED
41
42SOMETIMES_UNUSED // Marked unused as only used sometimes
48 uint32_t n_steps_per_timestep);
49
55
56SOMETIMES_UNUSED // Marked unused as only used sometimes
73 uint16_t num_excitatory_inputs, const input_t *exc_input,
74 uint16_t num_inhibitory_inputs, const input_t *inh_input,
75 input_t external_bias, REAL current_offset, neuron_t *restrict neuron);
76
77SOMETIMES_UNUSED // Marked unused as only used sometimes
81static void neuron_model_has_spiked(neuron_t *restrict neuron);
82
83SOMETIMES_UNUSED // Marked unused as only used sometimes
90
95
99static void neuron_model_print_parameters(const neuron_t *neuron);
100
101#endif // _NEURON_MODEL_H_
accum REAL
Type used for "real" numbers.
Definition maths-util.h:91
Data type definitions for SpiNNaker Neuron-modelling.
REAL state_t
The type of a state variable.
REAL input_t
The type of an input.
static uint n_steps_per_timestep
The number of steps to run per timestep.
static void neuron_model_print_state_variables(const neuron_t *neuron)
printout of state variables i.e. those values that might change
static state_t neuron_model_get_membrane_voltage(const neuron_t *neuron)
get the neuron membrane voltage for a given neuron parameter set
static state_t neuron_model_state_update(uint16_t num_excitatory_inputs, const input_t *exc_input, uint16_t num_inhibitory_inputs, const input_t *inh_input, input_t external_bias, REAL current_offset, neuron_t *restrict neuron)
primary function called in timer loop after synaptic updates
static void neuron_model_has_spiked(neuron_t *restrict neuron)
Indicates that the neuron has spiked.
static void neuron_model_initialise(neuron_t *state, neuron_params_t *params, uint32_t n_steps_per_timestep)
initialise the structure from the parameters
static void neuron_model_save_state(neuron_t *state, neuron_params_t *params)
save parameters and state back to SDRAM for reading by host and recovery on restart
static void neuron_model_print_parameters(const neuron_t *neuron)
printout of parameters i.e. those values that don't change
definition of neuron parameters
definition for LIF neuron state
static stdp_params params
Configuration parameters.