Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
scSimulator.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 scSimulator_h
10 #define scSimulator_h
11 #include "scqSimulator.h"
12 class scClusterBus;
13 class scClusterBusArbiter;
14 class scProcessor;
15 //class scGridPoint;
17 using namespace sc_core; using namespace std;
18 
19 
20 //Submodule forward class declarations
21 
28 //SC_MODULE(scSimulator) {
29 class scSimulator : public scqSimulator {
30  //Port declarations
31  // channels
32  protected:
33  sc_clock C1 {"clk", 100, SC_PS};
34  //
35  //Channel/Submodule* definitions
36 /* simple_bus_master_blocking *master_b;
37  simple_bus_master_non_blocking *master_nb;
38  simple_bus_master_direct *master_d;
39  simple_bus_slow_mem *mem_slow;
40 */
41  scClusterBus *msClusterBus;
42 // simple_bus_fast_mem *mem_fast;
43  scClusterBusArbiter *msClusterBusArbiter;
44 
45  public:
46  // Constructor declaration:
52  scSimulator(sc_core::sc_module_name nm, int argc, char* argv[], bool StandAlone=true);
53  SC_HAS_PROCESS(scSimulator); // Contructor implemented in .cpp
54  virtual
55  ~scSimulator();
56  string
57  PrologText_Get(void);
58 
59  void Setup(void); // Belongs to the constructor
60  void writeSettings(void); // Write settings to the project directory
61 /* void
62  SetupSystemDirectories(QWidget* parent);
63  void
64  SetupSettings(void);*/
65  void
66  SInitialize_method(void);
67  bool
68  StepwiseMode_Get(void){ return msStepwiseMode;}
69  void
70  StepwiseMode_Set(bool b){msStepwiseMode = b;}
71  void
72  SSUSPEND_thread(void);
73  void
74  SRESUME_thread(void);
75  void
76  SSTART_thread(void);
77  void
78  SSTOP_thread(void);
79  void
80  SHALT_thread(void);
81  struct{
82  sc_core::sc_event
83  START,
84  STOP,
85  HALT,
86  SUSPEND,
87  RESUME;
88  }EVENT_SIMULATOR;
89  //virtual
91  Processor_Get(){ return msProcessor;}
92  //scqTreeModel* mModuleTree;
93  //scqTreeModel* mClusterTree;
94 // scqTreeItem *rootItem;
95 
96  protected:
97  void SetupHierarchies(void);
98  /*
99  void
100  PrintFinalReport(scProcessor *Proc);
101  */
102  void
103  HandleSpecials(void);
104  vector<scGridPoint*>
106 }; // of scSimulator
107 
108 #endif // scSimulator_h
scProcessor
Implements a module-name alias facility (i.e., user-provided names. Given that the basic units is scH...
Definition: scProcessor.h:130
scSimulator::mSpecials
vector< scGridPoint * > mSpecials
Handle the exceptional points.
Definition: scSimulator.h:105
scqSimulator
The anchestor of all ScQt-based simulators The simulator manipulates scModules etc....
Definition: scqSimulator.h:58
scSimulator
The anchestor of all ScQt-based simulators, using EMPA bus The simulator manipulates scGridPoints,...
Definition: scSimulator.h:29