OpenASIP
2.0
|
Protected Member Functions | |
void | readParameters () |
TTAMachine::Segment * | createBus (TTAMachine::Machine *mach, int width) |
int | widthIndex (int width) |
Protected Member Functions inherited from DesignSpaceExplorerPlugin | |
DesignSpaceExplorerPlugin () | |
void | checkParameters () const |
Protected Member Functions inherited from DesignSpaceExplorer | |
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) |
Protected Attributes | |
bool | wipeRegisterFile_ |
int | shortImmediateWidth_ |
int | longImmediateBusCount_ |
std::vector< int > | distinctBusWidths_ |
Protected Attributes inherited from DesignSpaceExplorerPlugin | |
std::string | pluginName_ |
the name of the explorer plugin More... | |
ParameterMap | parameters_ |
Parameters for the plugin. More... | |
Static Protected Attributes | |
static const TCEString | wipeRegisterFilePN_ |
static const TCEString | shortImmediateWidthPN_ |
static const TCEString | longImmediateBusCountPN_ |
Private Member Functions | |
PLUGIN_DESCRIPTION ("Arranges architecture FUs into a VLIW-like " "interconnection by adding separate RF for each distinct bus width.") | |
VLIWConnectIC () | |
virtual bool | requiresStartingPointArchitecture () const |
virtual bool | producesArchitecture () const |
virtual bool | requiresHDB () const |
virtual bool | requiresSimulationData () const |
virtual bool | requiresApplication () const |
virtual std::vector< RowID > | explore (const RowID &configurationID, const unsigned int &) |
Additional Inherited Members | |
Public Types inherited from DesignSpaceExplorerPlugin | |
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 inherited from DesignSpaceExplorerPlugin | |
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 |
Public Member Functions inherited from DesignSpaceExplorer | |
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 Public Member Functions inherited from DesignSpaceExplorer | |
static DesignSpaceExplorerPlugin * | loadExplorerPlugin (const std::string &pluginName, DSDBManager *dsdb=NULL) |
Definition at line 53 of file VLIWConnectIC.cc.
|
inlineprivate |
Definition at line 58 of file VLIWConnectIC.cc.
|
inlineprotected |
Creates a bus with specified bit width.
mach | Machine for that bus. |
width | Bit width of a bus. |
Definition at line 384 of file VLIWConnectIC.cc.
References TTAMachine::Machine::addBus(), TTAMachine::Machine::busNavigator(), TTAMachine::Machine::Navigator< ComponentType >::count(), TTAMachine::Machine::SIGN, and Conversion::toString().
|
inlineprivatevirtual |
Arranges architecture FUs into a VLIW-like interconnection. This is typically as baseline for running the BusMergeMinimizer and RFPortMergeMinimizer plugins.
Reimplemented from DesignSpaceExplorerPlugin.
Definition at line 83 of file VLIWConnectIC.cc.
References DSDBManager::addArchitecture(), DSDBManager::addConfiguration(), TTAMachine::Machine::addRegisterFile(), TTAMachine::InstructionTemplate::addSlot(), TTAMachine::Machine::addSocket(), DSDBManager::architecture(), DSDBManager::MachineConfiguration::architectureID, assert, TTAMachine::Socket::attachBus(), TTAMachine::Segment::attachSocket(), TTAMachine::Port::attachSocket(), TTAMachine::Machine::busNavigator(), DSDBManager::configuration(), TTAMachine::Machine::Navigator< ComponentType >::count(), TTAMachine::Machine::deleteInstructionTemplate(), TTAMachine::Socket::direction(), Application::errorStream(), DSDBManager::MachineConfiguration::hasImplementation, TTAMachine::Machine::immediateUnitNavigator(), TTAMachine::Socket::INPUT, TTAMachine::Machine::instructionTemplateNavigator(), TTAMachine::Socket::isConnectedTo(), TTAMachine::Machine::Navigator< ComponentType >::item(), TTAMachine::Component::name(), TTAMachine::RegisterFile::NORMAL, TTAMachine::Socket::OUTPUT, TTAMachine::Port::outputSocket(), TTAMachine::Segment::parentBus(), TTAMachine::Port::parentUnit(), TTAMachine::BaseRegisterFile::port(), TTAMachine::Socket::port(), TTAMachine::Socket::portCount(), TTAMachine::Machine::registerFileNavigator(), TTAMachine::Machine::removeBus(), TTAMachine::Machine::removeRegisterFile(), TTAMachine::Machine::removeSocket(), TTAMachine::Bus::segment(), TTAMachine::Socket::setDirection(), TTAMachine::Bus::setImmediateWidth(), TTAMachine::Machine::socketNavigator(), Conversion::toString(), TTAMachine::BaseRegisterFile::width(), and TTAMachine::Port::width().
|
private |
|
inlineprivatevirtual |
Implements DesignSpaceExplorerPlugin.
Definition at line 71 of file VLIWConnectIC.cc.
|
inlineprotected |
Reads the parameters given to the plugin.
Definition at line 371 of file VLIWConnectIC.cc.
|
inlineprivatevirtual |
Reimplemented from DesignSpaceExplorerPlugin.
Definition at line 74 of file VLIWConnectIC.cc.
|
inlineprivatevirtual |
Implements DesignSpaceExplorerPlugin.
Definition at line 72 of file VLIWConnectIC.cc.
|
inlineprivatevirtual |
Implements DesignSpaceExplorerPlugin.
Definition at line 73 of file VLIWConnectIC.cc.
|
inlineprivatevirtual |
Implements DesignSpaceExplorerPlugin.
Definition at line 70 of file VLIWConnectIC.cc.
|
inlineprotected |
Returns corresponding cluster index in distinct buses vector list.
width | Bus width to get index. |
buses | Vector list of distinct buses in current machine. |
Definition at line 401 of file VLIWConnectIC.cc.
|
protected |
Definition at line 362 of file VLIWConnectIC.cc.
|
protected |
Definition at line 360 of file VLIWConnectIC.cc.
|
staticprotected |
Definition at line 365 of file VLIWConnectIC.cc.
|
protected |
Definition at line 359 of file VLIWConnectIC.cc.
|
staticprotected |
Definition at line 364 of file VLIWConnectIC.cc.
|
protected |
Definition at line 358 of file VLIWConnectIC.cc.
|
staticprotected |
Definition at line 363 of file VLIWConnectIC.cc.