Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
scGridEnumTypes.h
Go to the documentation of this file.
1 
5  /* @author János Végh (jvegh)
6  * @bug No known bugs.
7  */
8 
9 #ifndef SCGRIDENUMTYPES_H
10 #define SCGRIDENUMTYPES_H
11 
12 #include <systemc>
13 #include <bitset>
14 #include "GridPoint.h"
15 
16 using namespace std;
17 using namespace sc_core;
18 using namespace sc_dt;
19 
23 typedef enum
24 {
25  gob_General,
38  gob_ArchitectureMonitored,
46  gob_IsReceiving,
47  // The IGPCBs communicate independently and parallel!!˘
50 
51 
52 
60 typedef struct
61 {
63  short int Code;
64  short Param;
65  SC_ADDRESS_TYPE PC;
66  SC_ADDRESS_TYPE Address;
67  sc_time ExecutionTime;
69 
74 typedef struct{
75  sc_out<bool>
76  Denied
77  ,Allocated
78  ,PreAllocated
79  // Just combined from the above signals
80  ,Meta
81  ,Wait
82  ,Available
83  // If a GridPoint has not duty, it sleeps in low power consumption mode
84  ,Sleeping
85  ;
87 
92 typedef struct{
93  sc_signal <bool>
94  Denied
95  ,Allocated
97  ,PreAllocated
98  ,Meta
100  ,Wait
101  ,Available
103  ,Sleeping
106  ;
108 
113 typedef struct{
114  bool
115  Denied
116  // If the GridPoint is denied, all the other flags below are reset
117  // If denied, for all HThreads denied
118  ,Allocated
119  // Allocated when all
120  ,PreAllocated
121  // If neither allocated nor preallocated, it is in the pool
122  // The GridPoint is active:
123  ,Meta
124  ,Wait
125  // Just combined from the above signals
126  ,Available
127  // If a GridPoint has not duty, it sleeps in low power consumption mode
128  ,Sleeping
129  ;
131 
136 typedef struct{
137  bool
138  Activated
139  // Allocated when all
140  ,PreActivated
141  // If neither allocated nor preallocated, it is in the pool
142  // The GridPoint is active:
143  ,Meta
144  ,Blocked
145  // Just combined from the above signals
146  ,Available
147  // If a GridPoint has not duty, it sleeps in low power consumption mode
148  ,Sleeping
149  ;
151 
156 typedef struct{
157  SC_GRIDPOINT_MASK_TYPE
158  ID
159  ,Children
160  ,PreAllocated
161  ,Wait
162  // Just combined from the above signals
163 // ,Available /// ~(Denied | Allocated | PreAllocated)
164  // If a GridPoint has not duty, it sleeps in low power consumption mode
165  ,Sleeping
166  //
167  ,Backlink;
168  std::bitset<MAX_HTHREADS>
170 
172 
174 typedef enum { ccm_None, ccm_FOR=1, ccm_WHILE=2, ccm_SUMUP=5} core_cooperationmode_t;
175 
176 #endif // SCGRIDENUMTYPES_H
gob_ExecPending
@ gob_ExecPending
The core can only make one execute at a time, for all threads.
Definition: scGridEnumTypes.h:32
gob_FetchPending
@ gob_FetchPending
The core can only make one fetch at a time, for all threads.
Definition: scGridEnumTypes.h:31
gob_IsSending
@ gob_IsSending
Set if the gridpoint is sending a message.
Definition: scGridEnumTypes.h:45
MetaEvent_Transfer_Type::CA
ClusterAddress_t CA
The cluster address of the physical core (includes HThread!)
Definition: scGridEnumTypes.h:62
MetaEvent_Transfer_Type::PC
SC_ADDRESS_TYPE PC
The program counter the event relates to.
Definition: scGridEnumTypes.h:65
gob_MemoryMonitored
@ gob_MemoryMonitored
Register changes are monitored.
Definition: scGridEnumTypes.h:34
gob_Max
@ gob_Max
!< Set if the gridpoint is receiving a message
Definition: scGridEnumTypes.h:48
GridPointSignal_t
The signals issued by the scGridPoint.
Definition: scGridEnumTypes.h:92
GridPoint.h
Topology information for the electronic modules arranged in a grid.
MetaEvent_Transfer_Type
Instruction-execution related variables.
Definition: scGridEnumTypes.h:60
gob_ObjectMonitored
@ gob_ObjectMonitored
Set if the object is monitored at all at this time.
Definition: scGridEnumTypes.h:26
MetaEvent_Transfer_Type::ExecutionTime
sc_time ExecutionTime
The simulation length of the operation.
Definition: scGridEnumTypes.h:67
GridPointMask_t
The set of scGridPoint objects can be defined by by a mask word, the bits corresponding to single mod...
Definition: scGridEnumTypes.h:156
gob_SignalsMonitored
@ gob_SignalsMonitored
Set if signal changes are monitored.
Definition: scGridEnumTypes.h:40
gob_ResourceMonitored
@ gob_ResourceMonitored
Resources utilization monitored.
Definition: scGridEnumTypes.h:36
core_cooperationmode_t
core_cooperationmode_t
Codes of mass processing operating modes.
Definition: scGridEnumTypes.h:174
MetaEvent_Transfer_Type::Param
short Param
A link register mask (a byte+1 flag bit)
Definition: scGridEnumTypes.h:64
GridPointOperatingBit_t
GridPointOperatingBit_t
the names of the bits in the bitset for operating them
Definition: scGridEnumTypes.h:23
gob_BuffersMonitored
@ gob_BuffersMonitored
Set if any of the different buffers are monitored.
Definition: scGridEnumTypes.h:41
MetaEvent_Transfer_Type::Address
SC_ADDRESS_TYPE Address
The address involved in the operation.
Definition: scGridEnumTypes.h:66
GridPointStatusBit_t
The values are stored here, and set through writing into GridPointStatusBitSignal_t.
Definition: scGridEnumTypes.h:113
gob_CommunicationMonitored
@ gob_CommunicationMonitored
Set if inter-core and inter-cluster communication monitored.
Definition: scGridEnumTypes.h:43
ClusterAddress_t
A GridPoint can be addressed also by its cluster address of type ClusterAddress_t....
Definition: Clustering.h:58
gob_RegistersMonitored
@ gob_RegistersMonitored
Register changes are monitored.
Definition: scGridEnumTypes.h:33
GridPointMask_t::AllocatedHThreads
std::bitset< MAX_HTHREADS > AllocatedHThreads
Stores the mask of registers to backlink.
Definition: scGridEnumTypes.h:169
gob_ObjectWaiting
@ gob_ObjectWaiting
Set if the object is waiting at this time.
Definition: scGridEnumTypes.h:29
gob_PortsMonitored
@ gob_PortsMonitored
Set if port changes monitored.
Definition: scGridEnumTypes.h:39
gob_MorphingMonitored
@ gob_MorphingMonitored
Metainstructions and consequences monitored.
Definition: scGridEnumTypes.h:35
MetaEvent_Transfer_Type::Code
short int Code
The code of the meta-event.
Definition: scGridEnumTypes.h:63
gob_ObjectChanged
@ gob_ObjectChanged
Set if the monitored object changed between monitoring, any of the features below.
Definition: scGridEnumTypes.h:27
GridPointSignalPort_t
Port declarations: these signals go out to the scProcessor.
Definition: scGridEnumTypes.h:74
gob_IGPBChanged
@ gob_IGPBChanged
Set if the state of the inter-gridpoint communication block changed.
Definition: scGridEnumTypes.h:44
gob_BufferChanged
@ gob_BufferChanged
Set if any of the object-related.
Definition: scGridEnumTypes.h:42
gob_ObjecIsMeta
@ gob_ObjecIsMeta
Set if the object is in Meta stata at this time.
Definition: scGridEnumTypes.h:37
gob_ObjectActive
@ gob_ObjectActive
Set if the object on monitored active (allocated of preallocated) at this time.
Definition: scGridEnumTypes.h:28
HThreadStatusBit_t
The values are stored here, and set through writing into HThreadStatusBit_t.
Definition: scGridEnumTypes.h:136
gob_OperationMonitored
@ gob_OperationMonitored
If any of the operations monitored.
Definition: scGridEnumTypes.h:30