21 #ifndef RECONFIGURABLE_ZONE_H
22 #define RECONFIGURABLE_ZONE_H
24 #define SC_INCLUDE_DYNAMIC_PROCESSES
32 #include "pe_implementation.h"
69 string groupDomainName;
72 vector<TaskImplementation> taskImplementationVector;
73 PEImplementation implementation;
76 map<RZState, sc_time> occupationTimes;
77 sc_time lastModificationTime;
81 int currentImplementationID;
85 sc_time last_window_reset;
91 RZ(
string n, vector<TaskImplementation> vec, PEImplementation impl) : name(n), taskImplementationVector(vec), implementation(impl) {
96 if(impl == HARD) Simulation_controller::get_logfile() <<
"RZ " << name <<
" can host: " << endl;
97 else if(impl == SOFT) Simulation_controller::get_logfile() <<
"Processor " << name <<
" can host: " << endl;
99 for(
int i = 0; i < (int) taskImplementationVector.size(); i++) {
100 Simulation_controller::get_logfile() <<
"Implementation " << taskImplementationVector.at(i).getImplementationName() <<
" of task " << taskImplementationVector.at(i).getTaskName()
101 <<
" (" << taskImplementationVector.at(i).getCompressedReconfigurationTime() <<
", " << taskImplementationVector.at(i).getPreloadReconfigurationTime() <<
") " << endl;
105 occupationTimes[RZ_BLANK] = SC_ZERO_TIME;
106 occupationTimes[RZ_RECONFIG] = SC_ZERO_TIME;
107 occupationTimes[RZ_MAPPED] = SC_ZERO_TIME;
108 occupationTimes[RZ_ACTIVE] = SC_ZERO_TIME;
112 currentImplementationID = 0;
115 string getName(
void)
const;
116 PEImplementation get_implementation_type(
void)
const;
117 vector<TaskImplementation> getTaskImplementationVector(
void)
const;
118 vector<TaskImplementation>* getTaskImplementationVectorPtr(
void);
121 sc_time getOccupationTime(RZState state);
122 RZState getRZState(
void);
123 void setRZState(RZState);
124 void setCurrentImplementationID(
int);
127 void setResources(map<string, int> &res);
131 void RZ::setGroupDomainName(
string domainName);
132 string RZ::getGroupDomainName();
134 double getStateOccupationRateOverLastWindow(RZState);
135 void resetWindow(
void);
const int NB_RZ_STATES
Definition: task_implementation.h:35
Definition: config_fct_point.h:31
Definition: reconfigurable_zone.h:62
Definition: window_function.h:29
Definition: resources.h:28
Definition: task_implementation.h:46