RecoSim  1.0
 All Classes Files Functions Variables Enumerations
rz_config.h
Go to the documentation of this file.
1 
24 #ifndef RZ_CONFIG_H
25 #define RZ_CONFIG_H
26 
27 #include <string>
28 #include <set>
29 #include <map>
30 
31 #include "config_param_group.h"
32 #include "config_processor.h"
33 
34 using namespace std;
35 
36 class RZ_config {
37 
38 private:
39  Config_param_group *param_group;
40  Config_processor *cfg_processor;
41 
42 public:
43 
44  RZ_config(Config_param_group *param_group_, Config_processor *cfg_processor_) {
45  param_group = param_group_;
46  cfg_processor = cfg_processor_;
47  }
48 
49  RZ_config(Config_param_group *param_group_) {
50  param_group = param_group_;
51  cfg_processor = NULL;
52  }
53 
54  RZ_config(Config_processor *cfg_processor_) {
55  param_group = NULL;
56  cfg_processor = cfg_processor_;
57  }
58 
59  RZ_config(RZ_config& val) {
60  param_group = val.param_group;
61  cfg_processor = val.cfg_processor;
62  }
63 
64  Config_param_group* getConfigDomain() {
65  return param_group;
66  }
67 
68  Config_processor* getConfigProcessor() {
69  return cfg_processor;
70  }
71 
72  bool hasConfigDomain() {
73  return param_group != NULL;
74  }
75 
76  bool hasConfigProcessor() {
77  return cfg_processor != NULL;
78  }
79 
80  /* Static Part */
81 
82  static void initRZConfigTable(map<string, RZ_config*>& table) {
83  vector<Config_fct_point*>* powerFctList;
84 
85  /* RZ Default Domain */
86  powerFctList = new vector<Config_fct_point*>;
87  powerFctList->push_back(new Config_fct_point(1.0F,100.0F));
88  powerFctList->push_back(new Config_fct_point(0.5F,50.0F));
89  table["RZDefaultGroupName"] = new RZ_config(new Config_param_group("FPGA" , false, new Config_fct_point(1.0F,100.0F), powerFctList));
90 
91  /* Instances */
92 
93  powerFctList = new vector<Config_fct_point*>;
94  powerFctList->push_back(new Config_fct_point(0.8F,333.0F));
95  powerFctList->push_back(new Config_fct_point(0.6F,222.0F));
96  table["Core_0"] = new RZ_config(new Config_param_group("Zynq" , true, new Config_fct_point(1.0F,667.0F), powerFctList),
97  new Config_processor("Core_0", new Config_processor_name("CortexA9", 89.82F, 0.0837F, 0.179F), 0.0, "", "Zynq"));
98 
99  powerFctList = new vector<Config_fct_point*>;
100  powerFctList->push_back(new Config_fct_point(0.8F,333.0F));
101  powerFctList->push_back(new Config_fct_point(0.6F,222.0F));
102  table["Core_1"] = new RZ_config(new Config_param_group("Zynq" , true, new Config_fct_point(1.0F,667.0F), powerFctList),
103  new Config_processor("Core_1", new Config_processor_name("CortexA9", 89.82F, 0.0837F, 0.179F), 0.0, "", "Zynq"));
104 
105 
106  }
107 
108 };
109 
110 #endif
Definition: config_fct_point.h:31
Definition: config_processor.h:31
Definition: config_processor_name.h:30
Definition: rz_config.h:36
Definition: config_param_group.h:32