OpenASIP 2.2
|
Private Member Functions | |
PLUGIN_DESCRIPTION ("Frequency sweep algorithm.") | |
FrequencySweepExplorer () | |
virtual bool | requiresStartingPointArchitecture () const |
virtual bool | producesArchitecture () const |
virtual bool | requiresHDB () const |
virtual bool | requiresSimulationData () const |
virtual std::vector< RowID > | explore (const RowID &startPointConfigurationID, const unsigned int &) |
void | readParameters () |
void | openHDBs () |
bool | fastEnough (const RowID &id, const int &freq, DSDBManager &dsdb) |
DSDBManager::MachineConfiguration | callPlugin (DesignSpaceExplorerPlugin *plugin, const RowID &arch, DSDBManager &dsdb) |
Private Attributes | |
ComponentImplementationSelector | selector_ |
Selector used by the plugin. | |
unsigned int | startMHz_ |
unsigned int | endMHz_ |
unsigned int | stepMHz_ |
std::string | icDec_ |
name of the ic decoder plugin for idf | |
std::string | icDecHDB_ |
name of the hdb used by ic decoder | |
unsigned int | superiority_ |
Superirity percentage for the GrowMachine plugin. | |
Static Private Attributes | |
static const int | busCountDefault_ = 4 |
Default value of busCount_. | |
static const unsigned int | immSlotBusIndexDefault_ = 0 |
static const int | registerFileSizeDefault_ = 4 |
static const int | maxNumberOfRegisterFilesDefault_ = 16 |
static const int | rfReadPortsDefault_ = 1 |
static const int | rfWritePortsDefault_ = 1 |
static const std::string | startMHzPN_ |
static const std::string | endMHzPN_ |
static const std::string | stepMHzPN_ |
static const std::string | icDecPN_ |
static const std::string | icDecHDBPN_ |
static const std::string | superiorityPN_ |
static const std::string | talo |
Additional Inherited Members | |
![]() | |
typedef std::pair< std::string, ExplorerPluginParameter > | Parameter |
typedef std::map< std::string, ExplorerPluginParameter > | ParameterMap |
typedef std::map< std::string, ExplorerPluginParameter >::iterator | PMIt |
typedef std::map< std::string, ExplorerPluginParameter >::const_iterator | PMCIt |
![]() | |
virtual bool | requiresApplication () const |
virtual std::string | description () const |
void | addParameter (TCEString name, ExplorerPluginParameterType type, bool compulsory=true, TCEString defaultValue="", TCEString description="") |
template<typename T > | |
void | readCompulsoryParameter (const std::string paramName, T ¶m) const |
template<typename T > | |
void | readOptionalParameter (const std::string paramName, T ¶m) const |
template<typename RT > | |
RT | parameterValue (const std::string ¶mName) const |
virtual | ~DesignSpaceExplorerPlugin () |
virtual void | giveParameter (const std::string &name, const std::string &value) |
virtual std::string | name () const |
virtual void | setPluginName (const std::string &pluginName) |
virtual bool | hasParameter (const std::string ¶mName) const |
ParameterMap | parameters () const |
virtual bool | booleanValue (const std::string ¶meter) const |
![]() | |
DesignSpaceExplorer () | |
virtual | ~DesignSpaceExplorer () |
virtual void | setDSDB (DSDBManager &dsdb) |
virtual bool | evaluate (const DSDBManager::MachineConfiguration &configuration, CostEstimates &results=dummyEstimate_, bool estimate=false) |
virtual DSDBManager & | db () |
std::vector< DesignSpaceExplorerPlugin * > | getPlugins () |
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") |
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") |
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 |
void | createEstimateData (const TTAMachine::Machine &mach, const IDF::MachineImplementation &idf, CostEstimator::AreaInGates &area, CostEstimator::DelayInNanoSeconds &longestPathDelay) |
RowID | addConfToDSDB (const DSDBManager::MachineConfiguration &conf) |
![]() | |
static DesignSpaceExplorerPlugin * | loadExplorerPlugin (const std::string &pluginName, DSDBManager *dsdb=NULL) |
![]() | |
DesignSpaceExplorerPlugin () | |
void | checkParameters () const |
![]() | |
TTAProgram::Program * | schedule (const std::string applicationFile, TTAMachine::Machine &machine, TCEString paramOptions="-O3") |
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) |
![]() | |
std::string | pluginName_ |
the name of the explorer plugin | |
ParameterMap | parameters_ |
Parameters for the plugin. | |
Explorer plugin for finding processor configurations that satisfy the runtime requirements with certain clock frequencies.
Sweeps the user-set allowed frequency range with the given steps and collects all configurations that are suitable for running the given applications in the given clock frequencies.
Uses all HDBs found in the HDB registry to create the configurations.
Supported parameters:
Definition at line 102 of file FrequencySweepExplorer.cc.
|
inlineprivate |
Definition at line 105 of file FrequencySweepExplorer.cc.
References DesignSpaceExplorerPlugin::addParameter(), endMHzPN_, icDec_, icDecHDB_, icDecHDBPN_, icDecPN_, startMHzPN_, stepMHzPN_, STRING, superiority_, superiorityPN_, Conversion::toString(), and UINT.
|
inlineprivate |
Calls an explorer plugin.
plugin | The plugin to be called. |
arch | Row id of the architechture to be passed to the plugin. |
Definition at line 393 of file FrequencySweepExplorer.cc.
References __func__, DSDBManager::configuration(), DesignSpaceExplorerPlugin::explore(), DesignSpaceExplorerPlugin::name(), Application::verboseLevel(), and verboseLog.
Referenced by explore().
|
inlineprivatevirtual |
Explores from the given start configuration.
startPointConfigurationID | Configuration ID to start the exploration from. |
Reimplemented from DesignSpaceExplorerPlugin.
Definition at line 136 of file FrequencySweepExplorer.cc.
References DSDBManager::MachineConfiguration::architectureID, callPlugin(), DesignSpaceExplorerPlugin::checkParameters(), DesignSpaceExplorer::createImplementationAndStore(), DesignSpaceExplorer::db(), endMHz_, DesignSpaceExplorerPlugin::explore(), fastEnough(), DesignSpaceExplorerPlugin::giveParameter(), icDec_, icDecHDB_, DesignSpaceExplorer::loadExplorerPlugin(), FrequencySweep::nextFrequency(), openHDBs(), readParameters(), startMHz_, stepMHz_, superiority_, Conversion::toString(), Application::verboseLevel(), verboseLog, and verboseLogC.
|
inlineprivate |
Check if architecture is fast enough.
id | Row id of the architecture. |
freq | Frequency in MHz for testing the run time. |
dsdb | Desing Space Explorer database. |
Definition at line 356 of file FrequencySweepExplorer.cc.
References DSDBManager::applicationIDs(), DSDBManager::applicationPath(), DSDBManager::MachineConfiguration::architectureID, DSDBManager::configuration(), DSDBManager::cycleCount(), and TestApplication::maxRuntime().
Referenced by explore().
|
inlineprivate |
Loads HDBs that are used into the registry.
Definition at line 339 of file FrequencySweepExplorer.cc.
References HDB::HDBRegistry::hdbCount(), HDB::HDBRegistry::instance(), and HDB::HDBRegistry::loadFromSearchPaths().
Referenced by explore().
|
private |
|
inlineprivatevirtual |
Implements DesignSpaceExplorerPlugin.
Definition at line 123 of file FrequencySweepExplorer.cc.
|
inlineprivate |
Reads the parameters given to the plugin.
Definition at line 323 of file FrequencySweepExplorer.cc.
References endMHz_, endMHzPN_, icDec_, icDecHDB_, icDecHDBPN_, icDecPN_, DesignSpaceExplorerPlugin::readCompulsoryParameter(), DesignSpaceExplorerPlugin::readOptionalParameter(), startMHz_, startMHzPN_, stepMHz_, stepMHzPN_, superiority_, and superiorityPN_.
Referenced by explore().
|
inlineprivatevirtual |
Implements DesignSpaceExplorerPlugin.
Definition at line 124 of file FrequencySweepExplorer.cc.
|
inlineprivatevirtual |
Implements DesignSpaceExplorerPlugin.
Definition at line 125 of file FrequencySweepExplorer.cc.
|
inlineprivatevirtual |
Implements DesignSpaceExplorerPlugin.
Definition at line 122 of file FrequencySweepExplorer.cc.
|
staticprivate |
Default value of busCount_.
Definition at line 288 of file FrequencySweepExplorer.cc.
|
private |
Definition at line 308 of file FrequencySweepExplorer.cc.
Referenced by explore(), and readParameters().
|
staticprivate |
Definition at line 299 of file FrequencySweepExplorer.cc.
Referenced by FrequencySweepExplorer(), and readParameters().
|
private |
name of the ic decoder plugin for idf
Definition at line 312 of file FrequencySweepExplorer.cc.
Referenced by explore(), FrequencySweepExplorer(), and readParameters().
|
private |
name of the hdb used by ic decoder
Definition at line 314 of file FrequencySweepExplorer.cc.
Referenced by explore(), FrequencySweepExplorer(), and readParameters().
|
staticprivate |
Definition at line 303 of file FrequencySweepExplorer.cc.
Referenced by FrequencySweepExplorer(), and readParameters().
|
staticprivate |
Definition at line 302 of file FrequencySweepExplorer.cc.
Referenced by FrequencySweepExplorer(), and readParameters().
|
staticprivate |
Definition at line 290 of file FrequencySweepExplorer.cc.
|
staticprivate |
Definition at line 293 of file FrequencySweepExplorer.cc.
|
staticprivate |
Definition at line 292 of file FrequencySweepExplorer.cc.
|
staticprivate |
Definition at line 294 of file FrequencySweepExplorer.cc.
|
staticprivate |
Definition at line 295 of file FrequencySweepExplorer.cc.
|
private |
Selector used by the plugin.
Definition at line 286 of file FrequencySweepExplorer.cc.
|
private |
Definition at line 307 of file FrequencySweepExplorer.cc.
Referenced by explore(), and readParameters().
|
staticprivate |
Definition at line 298 of file FrequencySweepExplorer.cc.
Referenced by FrequencySweepExplorer(), and readParameters().
|
private |
Definition at line 309 of file FrequencySweepExplorer.cc.
Referenced by explore(), and readParameters().
|
staticprivate |
Definition at line 300 of file FrequencySweepExplorer.cc.
Referenced by FrequencySweepExplorer(), and readParameters().
|
private |
Superirity percentage for the GrowMachine plugin.
Definition at line 316 of file FrequencySweepExplorer.cc.
Referenced by explore(), FrequencySweepExplorer(), and readParameters().
|
staticprivate |
Definition at line 304 of file FrequencySweepExplorer.cc.
Referenced by FrequencySweepExplorer(), and readParameters().
|
staticprivate |
Definition at line 318 of file FrequencySweepExplorer.cc.