OpenASIP
2.0
|
#include <DesignSpaceExplorerPlugin.hh>
Public Types | |
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 |
Public Member Functions | |
virtual bool | requiresStartingPointArchitecture () const =0 |
virtual bool | producesArchitecture () const =0 |
virtual bool | requiresHDB () const =0 |
virtual bool | requiresSimulationData () const =0 |
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 |
![]() | |
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) |
Protected Attributes | |
std::string | pluginName_ |
the name of the explorer plugin More... | |
ParameterMap | parameters_ |
Parameters for the plugin. More... | |
pluginName Name of the plugin. | |||
The constructor of the DesignExplorerPlugin class.
| |||
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 std::vector< RowID > | explore (const RowID &startPointConfigurationID, const unsigned int &maxIter=0) | ||
virtual bool | hasParameter (const std::string ¶mName) const | ||
ParameterMap | parameters () const | ||
virtual bool | booleanValue (const std::string ¶meter) const | ||
DesignSpaceExplorerPlugin () | |||
void | checkParameters () const | ||
Additional Inherited Members | |
![]() | |
static DesignSpaceExplorerPlugin * | loadExplorerPlugin (const std::string &pluginName, DSDBManager *dsdb=NULL) |
![]() | |
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) |
A base interface for all classes that implement pluggable design space explorer algorithms.
Plugins are allowed to store state data to itself, thus, the plugin instances are not allowed to be "recycled" for multiple uses, but a new instance should be created always.
Definition at line 55 of file DesignSpaceExplorerPlugin.hh.
typedef std::pair<std::string, ExplorerPluginParameter> DesignSpaceExplorerPlugin::Parameter |
Definition at line 67 of file DesignSpaceExplorerPlugin.hh.
typedef std::map<std::string, ExplorerPluginParameter> DesignSpaceExplorerPlugin::ParameterMap |
Definition at line 69 of file DesignSpaceExplorerPlugin.hh.
typedef std::map<std::string, ExplorerPluginParameter>::const_iterator DesignSpaceExplorerPlugin::PMCIt |
Definition at line 73 of file DesignSpaceExplorerPlugin.hh.
typedef std::map<std::string, ExplorerPluginParameter>::iterator DesignSpaceExplorerPlugin::PMIt |
Definition at line 71 of file DesignSpaceExplorerPlugin.hh.
|
virtual |
|
protected |
Definition at line 48 of file DesignSpaceExplorerPlugin.cc.
|
inline |
|
virtual |
Returns the boolean value of the given parameter if parameter can be considered as a boolean.
parameter | The string to be converted to a boolean value |
IllegalParameters | Given parameter could not be considerer as boolean value |
Definition at line 132 of file DesignSpaceExplorerPlugin.cc.
References __func__, and StringTools::stringToLower().
|
protected |
Checks that all compulsory parameters are set for the plugin.
Definition at line 147 of file DesignSpaceExplorerPlugin.cc.
References __func__, and parameters_.
|
inlinevirtual |
Referenced by printPlugins().
|
virtual |
Explores the design space from the starting point machine and returns best exploring results as configuration IDs.
Exploring creates new machine configurations (architecture, implementation) that are ordered so that the best results are first in the result vector.
startPoint | Starting point machine configuration for the plugin. |
maxIter | Maximum number of design space points the plugin is allowed to explore. Default value for maxIter is zero when the iteration number is not taken into account. In that case the exploration runs indefinetly or stops at a point defined by the algorithm. |
Reimplemented in FrequencySweepExplorer, SimpleICOptimizer, ImmediateGenerator, ConnectionSweeper, ImplementationSelector, ComponentAdder, MinimizeMachine, GrowMachine, VectorLSGenerator, RemoveUnconnectedComponents, BlocksConnectIC, MinimalOpSet, VLIWConnectIC, Evaluate, and ADFCombiner.
Definition at line 174 of file DesignSpaceExplorerPlugin.cc.
Referenced by FrequencySweepExplorer::callPlugin(), BlocksConnectICCmd::Do(), VLIWConnectICCmd::Do(), SimpleICOptimizer::explore(), ADFCombiner::explore(), FrequencySweepExplorer::explore(), and main().
|
virtual |
Gives a plugin parameter value.
name | The parameter name. |
value | The value to be set for the parameter. |
Definition at line 89 of file DesignSpaceExplorerPlugin.cc.
References __func__, name(), and parameters_.
Referenced by SimpleICOptimizer::explore(), ADFCombiner::explore(), FrequencySweepExplorer::explore(), and loadPluginParameters().
|
virtual |
Tells whether the plugin has the given parameter defined.
paramName | Name of the parameter. |
Definition at line 106 of file DesignSpaceExplorerPlugin.cc.
References parameters_.
|
virtual |
Returns the plugin name.
Definition at line 77 of file DesignSpaceExplorerPlugin.cc.
References pluginName_.
Referenced by CallExplorerPluginWindow::CallExplorerPluginWindow(), FrequencySweepExplorer::callPlugin(), and giveParameter().
DesignSpaceExplorerPlugin::ParameterMap DesignSpaceExplorerPlugin::parameters | ( | ) | const |
Makes a copy of the parameters of the plugin and returns it.
Definition at line 117 of file DesignSpaceExplorerPlugin.cc.
References parameters_.
Referenced by printPluginParamInfo().
RT DesignSpaceExplorerPlugin::parameterValue | ( | const std::string & | paramName | ) | const |
|
pure virtual |
Implemented in FrequencySweepExplorer, ADFCombiner, ConnectionSweeper, SimpleICOptimizer, ImmediateGenerator, ImplementationSelector, ComponentAdder, MinimizeMachine, VectorLSGenerator, Evaluate, MinimalOpSet, GrowMachine, RemoveUnconnectedComponents, VLIWConnectIC, and BlocksConnectIC.
Referenced by CallExplorerPluginWindow::CallExplorerPluginWindow().
void DesignSpaceExplorerPlugin::readCompulsoryParameter | ( | const std::string | paramName, |
T & | param | ||
) | const |
void DesignSpaceExplorerPlugin::readOptionalParameter | ( | const std::string | paramName, |
T & | param | ||
) | const |
|
inlinevirtual |
Reimplemented in ADFCombiner, SimpleICOptimizer, ImmediateGenerator, ImplementationSelector, ComponentAdder, VectorLSGenerator, MinimalOpSet, RemoveUnconnectedComponents, BlocksConnectIC, and VLIWConnectIC.
Definition at line 64 of file DesignSpaceExplorerPlugin.hh.
Referenced by main().
|
pure virtual |
Implemented in FrequencySweepExplorer, ADFCombiner, ConnectionSweeper, SimpleICOptimizer, ImmediateGenerator, ImplementationSelector, ComponentAdder, MinimizeMachine, VectorLSGenerator, Evaluate, MinimalOpSet, GrowMachine, RemoveUnconnectedComponents, VLIWConnectIC, and BlocksConnectIC.
Referenced by CallExplorerPluginWindow::CallExplorerPluginWindow().
|
pure virtual |
Implemented in FrequencySweepExplorer, ADFCombiner, ConnectionSweeper, SimpleICOptimizer, ImmediateGenerator, ImplementationSelector, ComponentAdder, MinimizeMachine, VectorLSGenerator, Evaluate, MinimalOpSet, GrowMachine, RemoveUnconnectedComponents, VLIWConnectIC, and BlocksConnectIC.
Referenced by CallExplorerPluginWindow::CallExplorerPluginWindow().
|
pure virtual |
Implemented in FrequencySweepExplorer, ADFCombiner, ConnectionSweeper, SimpleICOptimizer, ImmediateGenerator, ImplementationSelector, ComponentAdder, MinimizeMachine, VectorLSGenerator, Evaluate, MinimalOpSet, GrowMachine, RemoveUnconnectedComponents, VLIWConnectIC, and BlocksConnectIC.
Referenced by main().
|
virtual |
Sets the plugin name.
pluginName | Name of the plugin. |
Definition at line 66 of file DesignSpaceExplorerPlugin.cc.
References pluginName_.
|
protected |
Parameters for the plugin.
Definition at line 116 of file DesignSpaceExplorerPlugin.hh.
Referenced by checkParameters(), giveParameter(), hasParameter(), and parameters().
|
protected |
the name of the explorer plugin
Definition at line 114 of file DesignSpaceExplorerPlugin.hh.
Referenced by name(), and setPluginName().