33#ifndef TTA_MACHINE_RESOURCE_MODIFIER_HH
34#define TTA_MACHINE_RESOURCE_MODIFIER_HH
52 typedef std::multimap<double, TTAMachine::Bus*>
BusMap;
54 typedef std::multimap<double, TTAMachine::RegisterFile*>
RegisterMap;
76 const int& busesToRemove,
78 std::list<std::string>& removedBusNames);
80 const int& countToRemove,
82 std::list<std::string>& removedBusNames);
bool hasSlot(const TTAMachine::Machine &mach, const std::string &slotName)
MachineResourceModifier()
std::multimap< double, TTAMachine::RegisterFile * > RegisterMap
Map of register amounts in percents.
void reduceBuses(const int &busesToRemove, TTAMachine::Machine &mach, std::list< std::string > &removedBusNames)
bool removeBuses(const int &countToRemove, TTAMachine::Machine &mach, std::list< std::string > &removedBusNames)
void increaseAllFUsThatDiffersByAmount(int moreFUs, TTAMachine::Machine &mach)
void percentualFUIncrease(double percentualFUIncrease, TTAMachine::Machine &mach)
void addBusesByAmount(int busesToAdd, TTAMachine::Machine &mach)
std::multimap< double, TTAMachine::Bus * > BusMap
Map of bus amounts in percents.
std::multimap< double, TTAMachine::FunctionUnit * > FunctionUnitMap
Map of function unit amounts in percents.
virtual ~MachineResourceModifier()
void increaseAllRFsThatDiffersByAmount(int registersToAdd, TTAMachine::Machine &mach)
void percentualRegisterIncrease(double percentsOfRegistersToAdd, TTAMachine::Machine &mach)
void analyzeBuses(const TTAMachine::Machine &mach, BusMap &busMap) const
void analyzeRegisters(const TTAMachine::Machine &mach, RegisterMap ®isterMap) const
void analyzeFunctionUnits(const TTAMachine::Machine &mach, FunctionUnitMap &unitMap) const
void removeNotConnectedSockets(TTAMachine::Machine &mach, std::list< std::string > &removedSocketNames)