Go to the documentation of this file.
33 #ifndef TTA_DSDB_MANAGER_HH
34 #define TTA_DSDB_MANAGER_HH
39 #include <boost/tuple/tuple.hpp>
40 #include <boost/tuple/tuple_comparison.hpp>
58 #define ILLEGAL_ROW_ID (-1)
152 typedef boost::tuple<RowID, int, ClockCycleCount>
155 typedef std::set<ParetoPointConnectivityAndCycles>
218 std::vector<ClockCycleCount>
219 cycleCounts(
const MachineConfiguration& conf)
const;
236 const MachineConfiguration& conf,
const std::string& path);
std::string file_
The DSDB file containing the current database.
void addCycleCount(RowID application, RowID architecture, ClockCycleCount count)
int applicationCount() const
void addEnergyEstimate(RowID application, RowID implementation, double energyEstimate)
bool operator()(ConfigurationCosts c1, ConfigurationCosts c2) const
void writeConfigurationToFile(const MachineConfiguration &conf, const std::string &path)
TTAMachine::Machine * architecture(RowID id) const
@ ORDER_BY_ENERGY_ESTIMATE
std::set< RowID > architectureIDs() const
void setLongestPathDelayEstimate(RowID implementation, double delay)
int RowID
Type definition of row ID in relational databases.
MachineConfiguration(RowID arch, bool hasImpl, RowID impl)
void writeArchitectureToFile(RowID id, const std::string &path) const
double AreaInGates
type for area values in equivalent gates
SQLite * db_
Handle to the database.
std::string implementationString(RowID id) const
RowID addApplication(const std::string &path)
bool hasConfiguration(RowID id) const
bool hasApplication(RowID id) const
boost::tuple< RowID, int, ClockCycleCount > ParetoPointConnectivityAndCycles
ClockCycleCount cycleCount
void setAreaEstimate(RowID implementation, CostEstimator::AreaInGates area)
bool isUnschedulable(RowID application, RowID architecture) const
ClockCycleCount cycleCount(RowID application, RowID architecture) const
RelationalDBConnection * dbConnection_
Handle to the database connection.
Order
Identifiers for ordering results.
std::set< ParetoPointConnectivityAndCycles > ParetoSetConnectivityAndCycles
double energyEstimate(RowID application, RowID implementation) const
bool hasEnergyEstimate(RowID application, RowID implementation) const
DSDBManager(const std::string &file)
std::string architectureString(RowID id) const
ParetoSetConnectivityAndCycles paretoSetConnectivityAndCycles(RowID application=ILLEGAL_ROW_ID) const
RowID addConfiguration(const MachineConfiguration &conf)
double longestPathDelayEstimate(RowID implementation) const
std::set< RowID > archConfigurationIDs(RowID architectureID) const
bool hasCycleCount(RowID application, RowID architecture) const
RowID addArchitecture(const TTAMachine::Machine &mom)
bool operator()(ConfigurationCosts c1, ConfigurationCosts c2) const
static DSDBManager * createNew(const std::string &file)
MachineConfiguration configuration(RowID id) const
bool hasImplementation(RowID id) const
void removeConfiguration(RowID id)
find Finds info of the inner loops in the false
void setUnschedulable(RowID application, RowID architecture)
RowID architectureId(const TTAMachine::Machine &mach) const
IDF::MachineImplementation * implementation(RowID id) const
CycleCount ClockCycleCount
Alias for ClockCycleCount.
std::string dsdbFile() const
bool operator()(ConfigurationCosts c1, ConfigurationCosts c2) const
std::string applicationPath(RowID id) const
std::vector< ConfigurationCosts > applicationCostEstimatesByConf(Order ordering=ORDER_BY_CONFIGURATION) const
void writeImplementationToFile(RowID id, const std::string &path) const
bool hasArchitecture(RowID id) const
CostEstimator::AreaInGates areaEstimate(RowID implementation) const
Struct for configuration costs with a specified application.
RowID addImplementation(const IDF::MachineImplementation &impl, double longestPathDelay, CostEstimator::AreaInGates area)
std::vector< ClockCycleCount > cycleCounts(const MachineConfiguration &conf) const
RowID configurationId(const MachineConfiguration &conf) const
std::set< RowID > configurationIDs() const
void removeApplication(RowID id)
std::set< RowID > applicationIDs() const
bool operator()(ConfigurationCosts c1, ConfigurationCosts c2) const