Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
NeurerConfig.h
Go to the documentation of this file.
1 // The configured options and settings for SystemC developments
2 // Will be used to configure Main_File/include/Config.h in all subdirs
10 // The user-configurable part
11 // Define if want to simulate biological neurons
12 
13 #define BIOLOGICAL_NEURON true
14 
15 #if BIOLOGICAL_NEURON
16  #define USE_INDIVIDUAL_RESTING_POTENTIAL false // If to use individual resting potential neurons
17  #define RESTING_POTENTIAL -70000 // The value of resting potential, in uV
18  #define MEMBRANE_POTENTIAL_TOLERANCE 1000 // The value is within tolerance level to resting potential
19  #define MEMBRANE_THRESHOLD RESTING_POTENTIAL + 20000; //Threshold is at -50 mV
20 #endif // of BIOLOGICAL_NEURON
21 // !!
22 // Do not edit below this line until you know waht you are doing
23 // !!
24 
25 // Take over basic configuration
26 #include "ProcConfig.h"
27 
28 // List names of .ini files
29 #undef INI_FILES
30 #define INI_FILES "Simulator Neurons"
31 
32 // List keywords legal in 'Simulator.ini'
33 #undef INI_SIMULATOR_KEYWORDS
34 #define INI_SIMULATOR_KEYWORDS "Version"
35 
36 // List
37 #define INI_NEURON_KEYWORDS "Version"
38 
39 // For the biology, redefine time resolution and clock rate
40 // Resolution of time and clock frequency
41 #undef SCTIME_RESOLUTION
42 #define SCTIME_RESOLUTION 10,sc_core::SC_US
43 #define NEURER_LEAKING_TIME 10
44 // Gates operating time
45 //#define SCTIME_GATE sc_time(20,sc_core::SC_PS)
46 // Frequency of the system clock
47 #undef SCTIME_CLOCKTIME
48 #define SCTIME_CLOCKTIME sc_time(100,sc_core::SC_US)
49 
50 // In many operations, THOUSAND is used to calculate
51 // making multiply/divide, it is much faster to use 2^n value; the difference is only 2%
52 // If it matters, change it to 1000
53 #define THOUSAND 1024
54 
55 // Cellular constants assumed
56 // http://www.columbia.edu/cu/biology/courses/w3004/Lecture5.pdf
57 //#define SPECIFIC_RESISTANCE_TIMES_CM2 2000 // Ohm/cm^2
58 //#define SPECIFIC_RESISTANCE_TIMES_u2 2e11 // Ohm/u^2
59 //#define SPECIFIC_CAPACITANCE_PRO_CM2 1e-6 // F/cm^2
60 //#define SPECIFIC_CAPACITANCE_PRO_u2 1e-14 // F/u^2
61 //#define NEURON_AREA 25 // u^2
62 //#define RC_TIME SPECIFIC_RESISTANCE_TIMES_u2*SPECIFIC_CAPACITANCE_PRO_u2 = 2ms
63 // So, the actual values used here are
64 #define SPECIFIC_RESISTANCE_TIMES_u2 5e11 // Ohm/u^2
65 #define SPECIFIC_CAPACITANCE_PRO_u2 4e-14 // F/u^2
66 #define NEURON_CURRENT_UNIT 1e-12 // pA
67 #define NEURON_VOLTAGE_UNIT 1e-6 // uV
68 #define NEURON_TIME_UNIT 1e-6 // us
69 #define NEURON_RC_CONSTANT SPECIFIC_RESISTANCE_TIMES_u2*SPECIFIC_CAPACITANCE_PRO_u2 // 20 msec
70 
71 #define NEURON_RESISTANCE_MOHM NEURON_AREA*SPECIFIC_RESISTANCE_PRO_u2*1e-6 //MOhm
72 #define SPECIFIC_CAPACITANCE_PRO_CM2 1e-6 // F/cm^2
73 #define SYNAPTIC_CURRENT_CRITICAL 30000 // in 1e-12A = pA
74 #define NEURON_CURRENT_INTEGRATION_STEP_MIN 500 // in usec
75 //#define SPECIFIC_CAPACITANCE_PRO_u2 1e-14 // F/u^2
76 //#define RC_TIME SPECIFIC_RESISTANCE_TIMES_u2*SPECIFIC_CAPACITANCE_PRO_u2 //
77 
78 // With these constants, the oscillation time is cca 2 ms
79 //#define NEURON_CAPACITANCE NEURON_AREA*SPECIFIC_CAPACITANCE_PRO_u2
80 //#define NEURON_RESISTANCE SPECIFIC_RESISTANCE_TIMES_u2/NEURON_AREA
81 //#define RC NEURON_RESISTANCE*NEURON_CAPACITANCE
82 
83 
84 
85 
86 // Operational characteristics
87 
88 #define SC_NEURER_ID_TYPE SC_CORE_ID_TYPE
89 #define MAX_NUMBER_OF_NEURERS CORE_GRID_SIZE_X*CORE_GRID_SIZE_Y*MAX_HTHREADS
ProcConfig.h
Configuration information for the EMPA processor.