86 virtual std::vector<RowID>
89 std::vector<RowID> result;
93 if (configurationID == 0 &&
adf_ ==
"") {
94 std::ostringstream msg(std::ostringstream::out);
95 msg <<
"No configuration nor adf defined. Use -s <confID> to "
96 <<
"define the configuration to be optimized or give adf "
97 <<
"as plugin parameter." << std::endl;
108 if (configurationID == 0) {
123 std::ostringstream msg(std::ostringstream::out);
131 std::vector<std::string> missingOps;
133 if (missingOps.empty()) {
134 std::cout <<
"MinimalOpSet: Configuration/machine has all"
135 <<
" the operations in the minimal opset already."
139 for (
unsigned int i = 0; i < missingOps.size(); ++i) {
140 std::cout << missingOps.at(i) +
" : operation is missing."
148 minimalOpSetCheck.
fix(*mach);
150 verboseLog(
"MinimalOpSet: Configuration/machine has all the"
151 "operations in the minimal opset already.")
168 if (!
evaluate(newConf, estimates, estimate)) {
169 debugLog(std::string(
"Evaluate failed."));
173 debugLog(std::string(
"Error in Evaluate plugin: ")
180 if (newConfID != 0) {
181 result.push_back(newConfID);
220 const std::string& adf,
221 const std::string& idf,
245 std::ostringstream msg(std::ostringstream::out);
246 msg <<
"Error loading the adf/idf." << std::endl;
#define assert(condition)
int RowID
Type definition of row ID in relational databases.
#define EXPORT_DESIGN_SPACE_EXPLORER_PLUGIN(PLUGIN_NAME__)
find Finds info of the inner loops in the false
static std::string toString(const T &source)
RowID addArchitecture(const TTAMachine::Machine &mom)
TTAMachine::Machine * architecture(RowID id) const
MachineConfiguration configuration(RowID id) const
RowID addImplementation(const IDF::MachineImplementation &impl, double longestPathDelay, CostEstimator::AreaInGates area)
void readCompulsoryParameter(const std::string paramName, T ¶m) const
void addParameter(TCEString name, ExplorerPluginParameterType type, bool compulsory=true, TCEString defaultValue="", TCEString description="")
RowID addConfToDSDB(const DSDBManager::MachineConfiguration &conf)
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 DSDBManager & db()
virtual bool evaluate(const DSDBManager::MachineConfiguration &configuration, CostEstimates &results=dummyEstimate_, bool estimate=false)
std::string errorMessageStack(bool messagesOnly=false) const
std::string errorMessage() const
static MachineImplementation * loadFromIDF(const std::string &idfFileName)
virtual std::string fix(TTAMachine::Machine &machine) const
void missingOperations(const TTAMachine::Machine &machine, std::vector< std::string > &missingOps) const
bool createConfig(const std::string &adf, const std::string &idf, DSDBManager &dsdb, DSDBManager::MachineConfiguration &conf)
std::string idf_
name of the idf file to evaluate
static const std::string printMissingOpsPN_
virtual std::vector< RowID > explore(const RowID &configurationID, const unsigned int &)
virtual bool requiresStartingPointArchitecture() const
static const std::string adfPN_
std::string adf_
name of the adf file to evaluate
virtual bool requiresApplication() const
virtual bool producesArchitecture() const
virtual bool requiresSimulationData() const
static const std::string idfPN_
bool printMissingOps_
print missing ops
PLUGIN_DESCRIPTION("Minimal opset checker and fixer plugin.")
virtual bool requiresHDB() const
static Machine * loadFromADF(const std::string &adfFileName)