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 *
Inheritance diagram for Neurer:Additional Inherited Members | |
Public Member Functions inherited from AbstractNeurer | |
| 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. | |
Public Member Functions inherited from scHThread | |
| 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 | |
Public Attributes inherited from AbstractNeurer | |
| 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. | |
Public Attributes inherited from scHThread | |
| 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. | |
Protected Member Functions inherited from scHThread | |
| 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... | |
Protected Attributes inherited from AbstractNeurer | |
| 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. | |
Protected Attributes inherited from scHThread | |
| 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. | |