Go to the documentation of this file.
34 #ifndef TTA_RF_COST_ESTIMATION_PLUGIN_HH
35 #define TTA_RF_COST_ESTIMATION_PLUGIN_HH
54 class BaseRegisterFile;
108 #define EXPORT_RF_COST_ESTIMATOR_PLUGIN(PLUGIN_NAME__) \
110 RFCostEstimationPlugin* create_estimator_plugin_##PLUGIN_NAME__(\
112 PLUGIN_NAME__* instance = new PLUGIN_NAME__(#PLUGIN_NAME__);\
115 void delete_estimator_plugin_##PLUGIN_NAME__(\
116 RFCostEstimationPlugin* target) {\
130 #define DESCRIPTION(TEXT__) \
132 virtual std::string description() const { return TEXT__; }\
133 int* XXXXXd_escrip__tion__
virtual std::string name() const
virtual ~RFCostEstimationPlugin()
IDF::MachineImplementation * implementation
the implementation definition of the estimated processor
double AreaInGates
type for area values in equivalent gates
double EnergyInMilliJoules
type for consumed energy in milli joules
virtual bool estimatePortReadDelay(const TTAMachine::RFPort &port, const IDF::RFImplementationLocation &implementation, DelayInNanoSeconds &outputDelay, HDB::HDBManager &hdb)
virtual bool estimateArea(const TTAMachine::BaseRegisterFile &architecture, const IDF::RFImplementationLocation &implementation, AreaInGates &area, HDB::HDBManager &hdb)
virtual bool estimateMaximumComputationDelay(const TTAMachine::BaseRegisterFile &architecture, const IDF::RFImplementationLocation &implementation, DelayInNanoSeconds &computationDelay, HDB::HDBManager &hdb)
double DelayInNanoSeconds
type for propagation delays in nano seconds
virtual bool estimatePortWriteDelay(const TTAMachine::RFPort &port, const IDF::RFImplementationLocation &implementation, DelayInNanoSeconds &inputDelay, HDB::HDBManager &hdb)
find Finds info of the inner loops in the program
RFCostEstimationPlugin(const std::string &name)
virtual bool estimateEnergy(const TTAMachine::BaseRegisterFile &architecture, const IDF::RFImplementationLocation &implementation, const TTAProgram::Program &program, const ExecutionTrace &traceDB, EnergyInMilliJoules &energy, HDB::HDBManager &hdb)