Go to the documentation of this file.
33 #ifndef TTA_IC_DECODER_ESTIMATOR_PLUGIN_HH
34 #define TTA_IC_DECODER_ESTIMATOR_PLUGIN_HH
54 class MachineImplementation;
68 const std::string&
name);
78 destinationSocketImplementation,
107 #define EXPORT_ICDEC_ESTIMATOR(PLUGIN_NAME__) \
109 ICDecoderEstimatorPlugin*\
110 create_estimator_plugin_##PLUGIN_NAME__(\
112 PLUGIN_NAME__##Estimator* instance = \
113 new PLUGIN_NAME__##Estimator(#PLUGIN_NAME__);\
116 void delete_estimator_plugin_##PLUGIN_NAME__(\
117 ICDecoderEstimatorPlugin* target) {\
TTAMachine::Machine * machine
the architecture definition of the estimated processor
virtual std::string name() const
double AreaInGates
type for area values in equivalent gates
virtual TTAMachine::ControlUnit * generateControlUnit()
ICDecoderEstimatorPlugin(const std::string &name)
virtual bool estimateICEnergy(HDB::HDBRegistry &hdbRegistry, const TTAMachine::Machine &machine, const IDF::MachineImplementation &machineImplementation, const TTAProgram::Program &program, const ExecutionTrace &traceDB, EnergyInMilliJoules &energy)
double EnergyInMilliJoules
type for consumed energy in milli joules
virtual ~ICDecoderEstimatorPlugin()
double DelayInNanoSeconds
type for propagation delays in nano seconds
find Finds info of the inner loops in the program
virtual bool estimateICArea(HDB::HDBRegistry &hdbRegistry, const TTAMachine::Machine &machine, const IDF::MachineImplementation &machineImplementation, AreaInGates &area)
virtual bool estimateICDelayOfPath(HDB::HDBRegistry &hdbRegistry, const TransportPath &path, const IDF::MachineImplementation &machineImplementation, const IDF::SocketImplementationLocation &sourceSocketImplementation, const IDF::BusImplementationLocation &busImplementation, const IDF::SocketImplementationLocation &destinationSocketImplementation, DelayInNanoSeconds &delay)