Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
scGate2Input Class Reference

Detailed Description

This class implements a 2-input gate object, mainly to demonstrate how tho use the system for electronic design.

The gates have 2 inputs and one output. Their internal state variable defines gate's type: what operation the gate performs. The gate has an operating time. It receives event EVENT_GATE.InputChanged, and after the operating time, in recalculates its output and sends an event EVENT_GATE.InputChanged to the gate connected to its output. That event is timed: i.e. the receiver scGate2Input receives it only when the signal passed the distance between them.

*  |GridPoint
*  |--/scGridPoint
*  |..../scGate2Input
* 

This module does not use communication: it simply relies on transmitting electronic signals, represented as an sc_core::sc_event.

+ Inheritance diagram for scGate2Input:

Public Member Functions

 scGate2Input (sc_core::sc_module_name nm, scGatesProcessor *Processor, const GridPoint GP, bool StandAlone)
 scGridPoint Creates simple gate with 2 inputs for Processor at position GP, with name nm More...
 
- Public Member Functions inherited from scGridPoint
void AddDefaultAliasNames (void)
 
void AddHThread (unsigned int H, scHThread *P)
 < Add a HW thread to the scGridPoint
 
core_cooperationmode_t CooperationMode_Get (void)
 Send a notification to the thread that the requested memory content is available.
 
scIGPMessageCreateQtCreateMessageTo (scGridPoint *To, SC_ADDRESS_TYPE PC, SC_GRIDPOINT_MASK_TYPE Mask, SC_GRIDPOINT_MASK_TYPE BackMask)
 scGridPoint::CreateQtCreateMessageTo It can be needed to pass a QT message for Q_CREATE and Q_KILL More...
 
virtual void CreateThreads (void)
 < Create threads for HThreads sharing this processing unit More...
 
virtual bool doExecInstruction (scHThread *H)
 Send a message.
 
virtual bool doFetchInstruction (scHThread *H)
 doFetchInstruction The actual fetching is done in the subclassed routine Here it imitates the action with a 10 ns wait
 
virtual void doSetQTAddresses (scGridPoint *Parent)
 doSetQTAddresses More...
 
void EXEC_thread ()
 EXEC_thread makes the actual "instruction exec".
 
void FETCH_thread ()
 FETCH_thread makes the actual "instruction fetch".
 
bool HThreadAllocatedBit_Get (SC_HTHREAD_ID_TYPE H)
 < Return if HThread is active
 
void HThreadAllocatedBit_Set (SC_HTHREAD_ID_TYPE H, bool B)
 < Set thread H either active or inactive
 
scHThreadHThreadExec_Get (void)
 < Return the executing thread
 
scHThreadHThreadFetch_Get (void)
 < Return the fetching thread
 
scHThreadHThreadReceive_Get (void)
 < Return the fetching thread
 
scHThreadHThreadSend_Get (void)
 < Return the fetching thread
 
SC_GRIDPOINT_ID_TYPE ID_Get ()
 < Return the unique ID of the scGridPoint
 
SC_GRIDPOINT_MASK_TYPE IDMask_Get (void)
 < Return the mask form of the ID
 
scIGPCB * IGPCB_Get (ClusterNeighbor index)
 < Get address of the communication block
 
string Name_Get (void)
 < Return the SC name of the module
 
void ObservedHThreadBit_Set (SC_HTHREAD_MASK_TYPE M, bool B)
 Set if HThread M is observed. More...
 
void PreAllocatedMaskBit_Set (scGridPoint *C, bool V=true)
 Get the mask of allocating cores.
 
scGridPointPreAllocateFor (scGridPoint *Parent)
 Allocate this core for running a QT.
 
 scGridPoint (sc_core::sc_module_name nm, scProcessor *Processor, const GridPoint GP, bool StandAlone)
 scGridPoint Creates an GP for Processor scGridPoint at position, with name nm More...
 
void SEND_thread ()
 SEND_thread Send the actual message.
 
void SIGNAL_method (void)
 ClusterHead_Get. More...
 
string StringOfClusterAddress_Get (void)
 
string StringOfMemoryAddress_Get (void)
 ! Removed temporarily, until NEXT in AbstractCore fully implemented
 
- Public Member Functions inherited from GridPoint
ClusterAddress_t ClusterAddress_Get (void)
 < Return the cluster address of the gridpoint, stored in the matrix
 
void ClusterAddress_Set (ClusterAddress_t CA)
 Set the cluster address of the gridpoint.
 
void ClusterAddressHThread_Set (int H)
 Set the cluster address of the gridpoint.
 
ClusterStatus ClusterStatus_Get (void)
 Return the status of the gridpoint.
 
void ClusterStatus_Set (ClusterStatus CS)
 Set the cstatus of the gridpoint.
 
bool Is2ndNeighborOf (GridPoint *GP)
 Return true if we are a second neighbor of GP. More...
 
bool IsInTheSameClusterAs (GridPoint *GP)
 Return true if we and GridPoint GP are in the same cluster. More...
 
bool IsNeighborOf (GridPoint *GP)
 Return true if we are an immediate neighbor of GP. More...
 
bool IsTheSameAs (GridPoint *GP)
 Return true if GridPoint GP is identical with us. More...
 
string StringOfClusterAddressName_Get (void)
 Return the string form of our cluster address. More...
 
string StringOfThread_Get ()
 Return the string describing the actual thread. More...
 

Additional Inherited Members

- Public Attributes inherited from GridPoint
ClusterAddress_t mClusterAddress
 The ClusterAddress_t address of the gridpoint.
 
int8_t X
 The X index of the gridpont.
 
int8_t Y
 The Y index of the gridpont.
 
- Public Attributes inherited from scIGPMessage_if
scGPMessagefifoGPMessagefifo
 This stores the messages for this gridpoint.
 
scTimedIGPMessage_fifoTimedFIFO
 This stores the timed message for this gridpoint.
 
- Protected Member Functions inherited from scGridPoint
scIGPMessageCreateMessageTo (scGridPoint *To, IGPMessageType Type, int Length)
 Create a message and put the addresses into the message. More...
 
- Protected Member Functions inherited from scIGPMessage_if
void ReceiveMessage_thread (void)
 This thread receives a message from outside, from any the scGridPoint.
 
void ReceiveTimedMessage_thread (void)
 ReceiveTimedMessage_thread The message can be received form any other scGricPoint.
 
- Protected Attributes inherited from scGridPoint
scHThreadmHThreads [MAX_HTHREADS]
 Stores the address of HThreads.
 
SC_HTHREAD_MASK_TYPE mObservedHThreads
 The observed HThreads of this scGridPoint.
 
core_cooperationmode_t msCooperationMode
 
SC_GRIDPOINT_ID_TYPE msID
 ID if the scGridPoint.
 
GridPointMask_t msMask
 This aggregate comprises all masks belonging to the GridPoint.
 
scGridPointmsParent
 Parent gridpoint.
 
GridPointSignal_t msSignal
 This aggregate comprises all signals shown to the outer world.
 
sc_time msWaitBegin
 The beginning of the waiting period.
 
- Protected Attributes inherited from scIGPMessage_if
uint16_t mBusPriority
 The bus priority when the scGridPoint is master.
 
scProcessormsProcessor
 Just remember where we were born.
 

Constructor & Destructor Documentation

◆ scGate2Input()

scGate2Input::scGate2Input ( sc_core::sc_module_name  nm,
scGatesProcessor Processor,
const GridPoint  GP,
bool  StandAlone 
)

scGridPoint Creates simple gate with 2 inputs for Processor at position GP, with name nm

Parameters
nmThe SystemC name of the module
Processorowner of the scGridPoint
GPposition of the new scGridPoint
StandAloneif the new object is to be initiad as stand-alone

The documentation for this class was generated from the following file: