Go to the documentation of this file.
33 #ifndef TTA_DESIGN_SPACE_EXPLORER_HH
34 #define TTA_DESIGN_SPACE_EXPLORER_HH
61 class MachineImplementation;
83 const std::string& pluginName,
DSDBManager* dsdb = NULL);
85 std::vector<DesignSpaceExplorerPlugin*>
getPlugins();
89 const double& frequency = 0.0,
90 const double& maxArea = 0.0,
91 const bool& createEstimates =
true,
92 const std::string& icDec =
"DefaultICDecoder",
93 const std::string& icDecHDB =
"asic_130nm_1.5V.hdb");
97 const double& frequency = 0.0,
98 const double& maxArea = 0.0,
99 const bool& createEstimates =
true,
100 const std::string& icDec =
"DefaultICDecoder",
101 const std::string& icDecHDB =
"asic_130nm_1.5V.hdb");
104 const double& frequency = 0.0,
105 const double& maxArea = 0.0,
106 const std::string& icDec =
"DefaultICDecoder",
107 const std::string& icDecHDB =
"asic_130nm_1.5V.hdb")
const;
118 const std::string applicationFile,
126 const bool tracing,
const bool useCompiledSimulation =
false,
127 std::vector<ClockCycleCount>* executionCounts = NULL);
virtual bool evaluate(const DSDBManager::MachineConfiguration &configuration, CostEstimates &results=dummyEstimate_, bool estimate=false)
virtual DSDBManager & db()
TTAMachine::Machine * machine
the architecture definition of the estimated processor
RowID addConfToDSDB(const DSDBManager::MachineConfiguration &conf)
int RowID
Type definition of row ID in relational databases.
static CostEstimates dummyEstimate_
Used for the default evaluate() argument.
double AreaInGates
type for area values in equivalent gates
RowID createImplementationAndStore(const DSDBManager::MachineConfiguration &conf, const double &frequency=0.0, const double &maxArea=0.0, const bool &createEstimates=true, const std::string &icDec="DefaultICDecoder", const std::string &icDecHDB="asic_130nm_1.5V.hdb")
void createEstimateData(const TTAMachine::Machine &mach, const IDF::MachineImplementation &idf, CostEstimator::AreaInGates &area, CostEstimator::DelayInNanoSeconds &longestPathDelay)
CostEstimator::Estimator estimator_
The estimator frontend.
IDF::MachineImplementation * selectComponents(const TTAMachine::Machine &mach, const double &frequency=0.0, const double &maxArea=0.0, const std::string &icDec="DefaultICDecoder", const std::string &icDecHDB="asic_130nm_1.5V.hdb") const
TTAProgram::Program * schedule(const std::string applicationFile, TTAMachine::Machine &machine, TCEString paramOptions="-O3")
std::vector< DesignSpaceExplorerPlugin * > getPlugins()
static PluginTools pluginTool_
The plugin tool.
static DesignSpaceExplorerPlugin * loadExplorerPlugin(const std::string &pluginName, DSDBManager *dsdb=NULL)
const ExecutionTrace * simulate(const TTAProgram::Program &program, const TTAMachine::Machine &machine, const TestApplication &testApplication, const ClockCycleCount &maxCycles, ClockCycleCount &runnedCycles, const bool tracing, const bool useCompiledSimulation=false, std::vector< ClockCycleCount > *executionCounts=NULL)
double DelayInNanoSeconds
type for propagation delays in nano seconds
bool createImplementation(const DSDBManager::MachineConfiguration &conf, DSDBManager::MachineConfiguration &newConf, const double &frequency=0.0, const double &maxArea=0.0, const bool &createEstimates=true, const std::string &icDec="DefaultICDecoder", const std::string &icDecHDB="asic_130nm_1.5V.hdb")
virtual void setDSDB(DSDBManager &dsdb)
std::ostringstream * oStream_
Output stream.
virtual ~DesignSpaceExplorer()
DSDBManager * dsdb_
Design space database where results are stored.
CycleCount ClockCycleCount
Alias for ClockCycleCount.
find Finds info of the inner loops in the program