The Neurer class. The class implements the neurer functionality, closer to the neurons. The base class is the AbstractNeurer, i.e. a communicating gridpoint.
* |GridPoint * |--/scGridPoint * |----/AbstractCore * |....../XXCore * |------/AbstractNeurer * |--------/Neurer *
Additional Inherited Members | |
![]() | |
void | ActionPotential_method (void) |
< handles action potential | |
scSynapticConnect * | FindSynapseFrom (AbstractNeurer *A) |
Return synaptic connect corresponding from A, or NULL. | |
void | IncreaseActionPotentialWithCharge (int C) |
IncreaseActionPotentialWithCharge. More... | |
int | IntegratedCurrentInPeriod (int FromTime, int ToTime, int FromValue, int ToValue) |
IntegratedCurrentInPeriod A simple trapezoidal area (for short period, where the function is nearly linear) More... | |
void | LeakingPeriod_Set (short unsigned int P) |
< Set the length of the period after which the potential is decreased by one | |
void | MembranePotentialContribution_Add (int32_t NewContrib) |
Add a contribution to membrane's potential; changes states and initiates timed operations. For details see section How time-aware neuronal simulation works. More... | |
bool | MembraneSynapticContribution_Add (int32_t NewContrib) |
Add a contribution from a synapse; called from a synapse handler; neglects input when 'Charging'. More... | |
int | NeurerCondensatorCapacity_Get (void) |
NeurerCondensatorCapacity_Get. More... | |
bool | NeurerStateBit_Get (NeurerOperatingBit_t B) |
Get value of a bit in the state word AbstractNeurer::mOperatingState. More... | |
void | NeurerStateBit_Set (NeurerOperatingBit_t B, bool V) |
Set a bit in the state word AbstractNeurer::mOperatingState. More... | |
void | Reset_method (void) |
Reset neurons to their initial state. | |
void | Spiking_method (void) |
Take the next point from the current table. | |
![]() | |
bool | AllocatedBit_Get (bool B) |
< Get 'Allocated' status of HThread | |
void | AllocatedBit_Set (bool B) |
< Set 'Allocated' status of HThread | |
scHThread * | AllocateFor (scHThread *Parent) |
< Allocate this scHThread for another one More... | |
ClusterAddress_t | ClusterAddress_Get (void) |
< Return the cluster address of the gridpoint, stored in the matrix | |
SC_WORD_TYPE * | DataPositionInBuffer (SC_ADDRESS_TYPE A) |
Return pointer to word containing next data. | |
virtual void | FinishPrefetching (void) |
Make sure we have a fetched instruction. If ready, just make nothing. If fetch started, but not finished, just wait until arrives. If not started, initiate fetching. | |
SC_WORD_TYPE * | InstPositionInBuffer (SC_ADDRESS_TYPE A=CORE_DEFAULT_ADDRESS) |
Return pointer to word containing next instruction. | |
bool | IsTimedOut (void) const |
< The HThread can be time, true if the actin timed out | |
void | ObservedBit_Set (bool B) |
< Put graph data to a vector storage | |
void | PC_Affected_Set (bool B) |
bool | PreAllocatedBit_Get (void) |
< Get 'PreAllocated' status of HThreadl | |
void | PreAllocatedBit_Set (bool V=true) |
< Set 'PreAllocated' status of HThread | |
scHThread * | PreAllocateFor (scHThread *Parent) |
< PreAllocate this scHThread for another one More... | |
void | Reset (void) |
< Reset the thread for operation | |
scHThread (sc_core::sc_module_name nm, scGridPoint *GP, SC_HTHREAD_ID_TYPE ID) | |
An scGridPoint owns run several HW threads (scHThread), can run them, with auto-scheduling them. More... | |
string | StringOfClusterAddress_Get (void) |
string | StringOfName_Get (void) |
Return alias name of default name. More... | |
void | Timeout_Set (sc_time &T) |
< Set timout facility for a thread | |
![]() | |
struct { | |
sc_core::sc_event Charge | |
Accumulates charge on the membrane, synaptic-unaware. | |
sc_core::sc_event Discharge | |
Sends the spike to the axon. | |
sc_core::sc_event Leaking | |
The neuron permanently loses its charge, periodically decreasing the charge. | |
sc_core::sc_event Recalculate | |
In the case of prospective change of behavior, the new potential is calculated. | |
sc_core::sc_event Reset | |
Puts the neurer in its initial state. | |
sc_core::sc_event Spiking | |
The neuron takes the next current value and processes it. | |
sc_core::sc_event Trigger | |
Puts the neurer in synaptic-aware more. | |
} | EVENT_NEURER |
These events are handled at abstract processor level. | |
![]() | |
struct { | |
sc_core::sc_event EXEC | |
< New execution requested | |
sc_core::sc_event EXECUTED | |
< New execution finished | |
sc_core::sc_event FETCH | |
< New fetch requested | |
sc_core::sc_event NEXT | |
< Next intruction is requested | |
} | EVENT_HTHREAD |
These events are handled at thread level. | |
![]() | |
void | EXEC_method (void) |
EXEC_method Runs when a thread receives an EVENT_HTHREAD.EXEC. More... | |
void | FETCH_method (void) |
Runs when a next instruction is due to process It handles prefetching, suspending operation, handles execution of meta instructions and conventional instructions. More... | |
void | NEXT_method (void) |
Runs when a next instruction should be taken from memory. More... | |
![]() | |
scAxonalConnects_t | m_Axons |
List of neurons where our axons lead to. | |
scSynapticConnects_t | m_Synapses |
List of neurons where our synapses receive input. | |
sc_core::sc_time | mActionPotentialBegin |
< Remember the beginning of the actual action potential | |
uint16_t | mAmplitudeFactor |
Scale factors for the spike table. | |
int32_t | mMembranePotential |
< The actual, measurable potential | |
int32_t | mMembranePotentialOffset |
< The actual, measurable potential offset, applied externally | |
int | mNoOfSynapticPoints |
Calculated runtime, actually as m_Synapses.size() | |
std::bitset< nsb_Max > | mOperatingState |
The word of operating bits. | |
int | mSpikeAmplitude |
Our shadow amplitude about spiking. | |
int | mSpikeIndex |
The running index of the broken line. | |
int | mSpikeTime |
Our shadow time about spiking. | |
sc_core::sc_event * | mSynchronFrequency |
Contains which event resets the phase timing. | |
sc_core::sc_time | mSynchronOffset |
Contains the time of the last synchronization event. | |
![]() | |
CoreExecute_t | exec |
All information relating to the execution. | |
CoreFetch_t | fetch |
All info relating instruction fetch. | |
SC_ADDRESS_TYPE | mInstrMemoryAddressEnd |
The first/last contents in the cache. | |
SC_WORD_TYPE | mInstrMemoryBuffer [MAX_IGPCBUFFER_SIZE] |
Store received data&instr memory content here. | |
bool | mTimedOut |
Is set when EVENT_GRID.TIMEOUT.notify() times out. | |