94 virtual std::vector<RowID>
97 std::vector<RowID> result;
113 std::vector<TCEString> addressSpaces =
115 for (
unsigned int i = 0; i < addressSpaces.size(); i++) {
116 if (!addrNav.
hasItem(addressSpaces[i])) {
117 TCEString msg =
"Original architecture does not have \""
118 + addressSpaces[i] +
"\" address space. Not adding Vector LSU.";
123 addrSpace = addrNav.
item(addressSpaces[i]);
125 if (addrSpace == NULL) {
151 TCEString msg =
"Error while adding ADF to the dsdb. "
152 "ADF probably too big.";
159 result.push_back(tempConfID);
241 TCEString msg =
"No reason for creating wide LSU since number"
246 for (
int i = 1; i <= width; i++) {
274 Operation& op = pool.operation(opName.c_str());
#define assert(condition)
int RowID
Type definition of row ID in relational databases.
#define EXPORT_DESIGN_SPACE_EXPLORER_PLUGIN(PLUGIN_NAME__)
static std::string toString(const T &source)
RowID addArchitecture(const TTAMachine::Machine &mom)
TTAMachine::Machine * architecture(RowID id) const
MachineConfiguration configuration(RowID id) const
RowID addConfiguration(const MachineConfiguration &conf)
void readOptionalParameter(const std::string paramName, T ¶m) const
void addParameter(TCEString name, ExplorerPluginParameterType type, bool compulsory=true, TCEString defaultValue="", TCEString description="")
virtual DSDBManager & db()
std::string errorMessageStack(bool messagesOnly=false) const
std::string operationName(int i, const OperationModule &om)
int operationCount(const OperationModule &om)
virtual TCEString name() const
virtual bool usesMemory() const
virtual int numberOfInputs() const
virtual int numberOfOutputs() const
bool startsWith(const std::string &str) const
bool endsWith(const std::string &str) const
virtual ULongWord end() const
virtual TCEString name() const
void addPortRead(int operand, int start, int duration)
void addPortWrite(int operand, int start, int duration)
virtual bool isTriggering() const
virtual bool isOpcodeSetting() const
virtual FUPort * operationPort(const std::string &name) const
virtual void setAddressSpace(AddressSpace *as)
virtual bool hasOperation(const std::string &name) const
ExecutionPipeline * pipeline() const
virtual void bindPort(int operand, const FUPort &port)
bool isBound(const FUPort &port) const
ComponentType * item(int index) const
bool hasItem(const std::string &name) const
virtual void addFunctionUnit(FunctionUnit &unit)
virtual AddressSpaceNavigator addressSpaceNavigator() const
virtual bool requiresSimulationData() const
virtual bool requiresApplication() const
virtual bool requiresStartingPointArchitecture() const
ComponentImplementationSelector selector_
Selector used by the plugin.
void createVectorLSU(TTAMachine::FunctionUnit &lsUnit, TTAMachine::AddressSpace &addrSpace)
virtual bool requiresHDB() const
static const TCEString AddressSpacesPN_
virtual std::vector< RowID > explore(const RowID &configurationID, const unsigned int &)
void addOperation(TTAMachine::FunctionUnit &lsUnit, Operation &op, bool scalar)
PLUGIN_DESCRIPTION("Explorer plugin that creates wide load/store unit.")
virtual bool producesArchitecture() const
static const TCEString NodeCountPN_