91 virtual std::vector<RowID>
94 std::vector<RowID> result;
115 std::vector<std::string> removedFUNames;
123 std::vector<std::string> removedRFNames;
135 while (!removedRFNames.empty()) {
137 removedRFNames.size()-1));
138 removedRFNames.pop_back();
141 while (!removedFUNames.empty()) {
143 removedFUNames.size()-1));
144 removedFUNames.pop_back();
154 result.push_back(confID);
157 std::ostringstream msg(std::ostringstream::out);
158 msg <<
"Error while using RemoveUnconnectedComponents:"
187 std::vector<std::string>& removedFUNames) {
193 for (
int i = 0; i < FUNav.
count(); ++i) {
195 bool noConnections =
true;
196 for (
int j = 0; j <
FU->portCount(); ++j) {
200 noConnections =
false;
207 removedFUNames.push_back(
FU->name());
226 for (
int i = 0; i < FUNav.
count(); ++i) {
228 for (
int j = 0; j <
FU->portCount(); ++j) {
234 for (
int soc = 0; i < socketNav.
count(); ++soc) {
235 socket = socketNav.
item(soc);
258 std::vector<std::string>& removedRFNames) {
264 for (
int i = 0; i < RFNav.
count(); ++i) {
266 for (
int j = 0; j <
RF->portCount(); ++j) {
274 if (
RF->portCount() < 1) {
276 removedRFNames.push_back(
RF->name());
282 for (
int soc = 0; i < socketNav.
count(); ++soc) {
283 socket = socketNav.
item(soc);
303 for (
int i = 0; i < busNav.
count(); ++i) {
304 bool isConnected =
false;
305 for (
int j = 0; j < socketNav.
count(); ++j) {
306 if ((busNav.
item(i))->isConnectedTo(
307 *socketNav.
item(j))) {
327 std::list<std::string> removedSocketNames;
int RowID
Type definition of row ID in relational databases.
#define EXPORT_DESIGN_SPACE_EXPLORER_PLUGIN(PLUGIN_NAME__)
find Finds info of the inner loops in the false
static std::string toString(const T &source)
RowID addArchitecture(const TTAMachine::Machine &mom)
TTAMachine::Machine * architecture(RowID id) const
IDF::MachineImplementation * implementation(RowID id) const
MachineConfiguration configuration(RowID id) const
RowID addImplementation(const IDF::MachineImplementation &impl, double longestPathDelay, CostEstimator::AreaInGates area)
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 errorMessage() const
void removeFUImplementation(const std::string &unitName)
void removeRFImplementation(const std::string &unitName)
void removeNotConnectedSockets(TTAMachine::Machine &mach, std::list< std::string > &removedSocketNames)
virtual bool canConnect(const TTAMachine::Socket &socket, const TTAMachine::Segment &segment)
PLUGIN_DESCRIPTION("Removes unconnected components from a configuration.")
void checkFUPorts(TTAMachine::Machine &mach)
virtual bool producesArchitecture() const
virtual bool requiresStartingPointArchitecture() const
static const std::string allowRemovalPN_
void removeSockets(TTAMachine::Machine &mach)
virtual bool requiresApplication() const
void removeUnconnectedFUs(TTAMachine::Machine &mach, std::vector< std::string > &removedFUNames)
void checkRFPorts(TTAMachine::Machine &mach, std::vector< std::string > &removedRFNames)
virtual bool requiresHDB() const
virtual std::vector< RowID > explore(const RowID &configurationID, const unsigned int &)
bool allowRemoval_
parameter allow removal of unused ports and RFs without ports.
void checkBuses(TTAMachine::Machine &mach)
RemoveUnconnectedComponents()
virtual bool requiresSimulationData() const
ComponentType * item(int index) const
virtual RegisterFileNavigator registerFileNavigator() const
virtual FunctionUnitNavigator functionUnitNavigator() const
virtual SocketNavigator socketNavigator() const
MachineTester & machineTester() const
virtual void removeBus(Bus &bus)
virtual BusNavigator busNavigator() const
virtual void removeFunctionUnit(FunctionUnit &unit)
virtual void removeRegisterFile(RegisterFile &unit)
virtual void attachSocket(Socket &socket)
virtual int socketCount() const