Go to the documentation of this file.
64 printMissingOps_(
false) {
70 addParameter(adfPN_,
STRING,
false, adf_);
71 addParameter(idfPN_,
STRING,
false, idf_);
72 addParameter(printMissingOpsPN_,
BOOL,
false,
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) {
109 if (!createConfig(adf_, idf_, dsdb, conf)) {
123 std::ostringstream msg(std::ostringstream::out);
130 if (printMissingOps_) {
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.")
162 createImplementation(newConf, newConf);
168 if (!evaluate(newConf, estimates, estimate)) {
169 debugLog(std::string(
"Evaluate failed."));
173 debugLog(std::string(
"Error in Evaluate plugin: ")
179 RowID newConfID = addConfToDSDB(newConf);
180 if (newConfID != 0) {
181 result.push_back(newConfID);
204 readCompulsoryParameter(adfPN_, adf_);
205 readCompulsoryParameter(idfPN_, idf_);
206 readCompulsoryParameter(printMissingOpsPN_, printMissingOps_);
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;
bool createConfig(const std::string &adf, const std::string &idf, DSDBManager &dsdb, DSDBManager::MachineConfiguration &conf)
static const std::string adfPN_
std::string adf_
name of the adf file to evaluate
virtual std::vector< RowID > explore(const RowID &configurationID, const unsigned int &)
virtual std::string fix(TTAMachine::Machine &machine) const
TTAMachine::Machine * architecture(RowID id) const
int RowID
Type definition of row ID in relational databases.
std::string idf_
name of the idf file to evaluate
static std::string toString(const T &source)
#define assert(condition)
static const std::string idfPN_
virtual bool requiresSimulationData() const
const std::string PLUGIN_DESCRIPTION
#define EXPORT_DESIGN_SPACE_EXPLORER_PLUGIN(PLUGIN_NAME__)
virtual bool requiresApplication() const
virtual bool requiresHDB() const
std::string errorMessageStack(bool messagesOnly=false) const
virtual bool requiresStartingPointArchitecture() const
bool printMissingOps_
print missing ops
std::string errorMessage() const
RowID addArchitecture(const TTAMachine::Machine &mom)
MachineConfiguration configuration(RowID id) const
virtual bool producesArchitecture() const
find Finds info of the inner loops in the false
void missingOperations(const TTAMachine::Machine &machine, std::vector< std::string > &missingOps) const
static const std::string printMissingOpsPN_
RowID addImplementation(const IDF::MachineImplementation &impl, double longestPathDelay, CostEstimator::AreaInGates area)
static MachineImplementation * loadFromIDF(const std::string &idfFileName)
static Machine * loadFromADF(const std::string &adfFileName)