CARLsim
5.0.0
CARLsim: a GPU-accelerated SNN simulator
Main Page
User Guide
1. Getting Started
2. Basic Concepts
3. Neurons, Synapses, and Groups
4. Connections
5. Synaptic Plasticity
6. Input
7. Monitoring
8. Saving and Loading
9. MATLAB Offline Analysis Toolbox (OAT)
10. ECJ
11. Regression Suite
12. Advanced Topics
13. pyCARL
Tutorial
1. Basic Concepts
2. 80-20 Random Spiking Network
3. Plasticity
4. Image Processing
5. Motion Energy
6. Simple Weight Tuner
7. Parameter Tuning Interface (PTI)
8. Multi-Compartment Models
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
l
n
o
p
r
s
t
u
v
w
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
v
w
x
y
z
Enumerations
Enumerator
a
c
f
i
m
n
u
w
Related Functions
Files
File List
File Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
p
r
s
t
u
Functions
Variables
Typedefs
Enumerations
Enumerator
a
b
c
d
e
f
g
h
i
m
n
p
r
s
t
u
Macros
a
c
d
e
g
i
k
l
m
n
p
s
t
u
•
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
periodic_spikegen.h
Go to the documentation of this file.
1
/* * Copyright (c) 2016 Regents of the University of California. All rights reserved.
2
*
3
* Redistribution and use in source and binary forms, with or without
4
* modification, are permitted provided that the following conditions
5
* are met:
6
*
7
* 1. Redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer.
9
*
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
*
14
* 3. The names of its contributors may not be used to endorse or promote
15
* products derived from this software without specific prior written
16
* permission.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
22
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
25
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
26
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
*
30
* *********************************************************************************************** *
31
* CARLsim
32
* created by: (MDR) Micah Richert, (JN) Jayram M. Nageswaran
33
* maintained by:
34
* (MA) Mike Avery <averym@uci.edu>
35
* (MB) Michael Beyeler <mbeyeler@uci.edu>,
36
* (KDC) Kristofor Carlson <kdcarlso@uci.edu>
37
* (TSC) Ting-Shuo Chou <tingshuc@uci.edu>
38
* (HK) Hirak J Kashyap <kashyaph@uci.edu>
39
*
40
* CARLsim v1.0: JM, MDR
41
* CARLsim v2.0/v2.1/v2.2: JM, MDR, MA, MB, KDC
42
* CARLsim3: MB, KDC, TSC
43
* CARLsim4: TSC, HK
44
* CARLsim5: HK, JX, KC
45
*
46
* CARLsim available from http://socsci.uci.edu/~jkrichma/CARLsim/
47
* Ver 12/31/2016
48
*/
49
#ifndef _PERIODIC_SPIKEGEN_H_
50
#define _PERIODIC_SPIKEGEN_H_
51
52
#include <
callback.h
>
53
#include <vector>
54
62
class
PeriodicSpikeGenerator
:
public
SpikeGenerator
{
63
public
:
69
PeriodicSpikeGenerator
(
float
rate,
bool
spikeAtZero=
true
);
70
72
~PeriodicSpikeGenerator
() {}
73
86
int
nextSpikeTime
(
CARLsim
* sim,
int
grpId,
int
nid,
int
currentTime,
int
lastScheduledSpikeTime,
int
endOfTimeSlice);
87
88
private
:
89
void
checkFiringRate();
90
91
float
rate_;
92
int
isi_;
93
std::vector<int> nIdFiredAtZero_;
94
bool
spikeAtZero_;
95
};
96
97
#endif
callback.h
PeriodicSpikeGenerator::nextSpikeTime
int nextSpikeTime(CARLsim *sim, int grpId, int nid, int currentTime, int lastScheduledSpikeTime, int endOfTimeSlice)
schedules the next spike time
Definition:
periodic_spikegen.cpp:66
PeriodicSpikeGenerator::PeriodicSpikeGenerator
PeriodicSpikeGenerator(float rate, bool spikeAtZero=true)
PeriodicSpikeGenerator constructor.
Definition:
periodic_spikegen.cpp:57
CARLsim
CARLsim User Interface This class provides a user interface to the public sections of CARLsimCore sou...
Definition:
carlsim.h:138
SpikeGenerator
Definition:
callback.h:64
PeriodicSpikeGenerator
a periodic SpikeGenerator (constant ISI) creating spikes at a certain rate
Definition:
periodic_spikegen.h:62
PeriodicSpikeGenerator::~PeriodicSpikeGenerator
~PeriodicSpikeGenerator()
PeriodicSpikeGenerator destructor.
Definition:
periodic_spikegen.h:72
tools
spike_generators
periodic_spikegen.h
Generated on Sun Jul 19 2020 14:56:44 for CARLsim by
1.8.18