Go to the documentation of this file.
73 addressSpaces_(
"data") {
77 addParameter(NodeCountPN_,
UINT,
false,
79 addParameter(AddressSpacesPN_,
STRING,
false,
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) {
130 createVectorLSU(*lsUnit, *addrSpace);
151 TCEString msg =
"Error while adding ADF to the dsdb. "
152 "ADF probably too big.";
159 result.push_back(tempConfID);
178 readOptionalParameter(NodeCountPN_, nodeCount_);
179 readOptionalParameter(AddressSpacesPN_, addressSpaces_);
237 int width = (nodeCount_ >= 8) ? 8 :
238 (nodeCount_ >= 4) ? 4 :
239 (nodeCount_ >= 2) ? 2 : 0;
241 TCEString msg =
"No reason for creating wide LSU since number"
246 for (
int i = 1; i <= width; i++) {
284 addOperation(lsUnit, op,
false);
292 addOperation(lsUnit, op,
true);
299 addOperation(lsUnit, op,
true);
Operation & operation(const char *name)
virtual TCEString name() const
void createVectorLSU(TTAMachine::FunctionUnit &lsUnit, TTAMachine::AddressSpace &addrSpace)
bool startsWith(const std::string &str) const
virtual bool isOpcodeSetting() const
TTAMachine::Machine * architecture(RowID id) const
virtual void bindPort(int operand, const FUPort &port)
void addOperation(TTAMachine::FunctionUnit &lsUnit, Operation &op, bool scalar)
virtual int numberOfInputs() const
int RowID
Type definition of row ID in relational databases.
virtual bool isTriggering() const
virtual TCEString name() const
static std::string toString(const T &source)
#define assert(condition)
virtual bool requiresStartingPointArchitecture() const
virtual bool producesArchitecture() const
virtual bool requiresApplication() const
const std::string PLUGIN_DESCRIPTION
bool endsWith(const std::string &str) const
static const TCEString AddressSpacesPN_
#define EXPORT_DESIGN_SPACE_EXPLORER_PLUGIN(PLUGIN_NAME__)
bool hasItem(const std::string &name) const
static const TCEString NodeCountPN_
bool isBound(const FUPort &port) const
void addPortRead(int operand, int start, int duration)
virtual bool requiresSimulationData() const
std::string errorMessageStack(bool messagesOnly=false) const
virtual bool hasOperation(const std::string &name) const
virtual void setAddressSpace(AddressSpace *as)
virtual AddressSpaceNavigator addressSpaceNavigator() const
RowID addConfiguration(const MachineConfiguration &conf)
virtual bool usesMemory() const
RowID addArchitecture(const TTAMachine::Machine &mom)
MachineConfiguration configuration(RowID id) const
virtual void addFunctionUnit(FunctionUnit &unit)
ExecutionPipeline * pipeline() const
void addPortWrite(int operand, int start, int duration)
ComponentType * item(int index) const
virtual FUPort * operationPort(const std::string &name) const
virtual bool requiresHDB() const
ComponentImplementationSelector selector_
Selector used by the plugin.
int operationCount(const OperationModule &om)
virtual int numberOfOutputs() const
virtual ULongWord end() const
OperationModule & module(int i)
std::string operationName(int i, const OperationModule &om)
virtual std::vector< RowID > explore(const RowID &configurationID, const unsigned int &)