Go to the documentation of this file.
35 #ifndef TTA_SCHEDULING_RESOURCE_HH
36 #define TTA_SCHEDULING_RESOURCE_HH
57 virtual bool isInUse(
const int cycle)
const = 0;
58 virtual bool isAvailable(
const int cycle)
const = 0;
66 const int group)
const;
68 const int group)
const;
77 const int index)
const;
80 const int index)
const;
85 virtual const std::string&
name()
const;
121 virtual void clear();
virtual ~SchedulingResource()
SchedulingResourceGroup relatedResourceGroup_
virtual void addToDependentGroup(const int group, SchedulingResource &resource)
std::vector< SchedulingResource * > SchedulingResourceVector
virtual int dependentResourceGroupCount() const
virtual bool validateRelatedGroups()
bool hasResource(SchedulingResource &res)
virtual bool hasDependentResource(const SchedulingResource &sResource) const
SchedulingResource(const std::string &name, const unsigned int ii=0)
std::vector< SchedulingResourceVector > SchedulingResourceGroup
virtual void unassign(const int cycle, MoveNode &node)=0
virtual bool isITemplateResource() const
virtual bool isOutputFUResource() const
virtual bool isInputPSocketResource() const
virtual SchedulingResource & dependentResource(const int group, const int index) const
int dependentResourceCount(const int group) const
virtual SchedulingResource & relatedResource(const int group, const int index) const
virtual void assign(const int cycle, MoveNode &node)=0
virtual bool isBusResource() const
virtual void addToRelatedGroup(const int group, SchedulingResource &resource)
virtual void setMaxCycle(unsigned int)
virtual int useCount() const
SchedulingResourceSet & operator=(const SchedulingResourceSet &newSet)
virtual bool operator<(const SchedulingResource &other) const
virtual bool isOutputPSocketResource() const
virtual bool isExecutionPipelineResource() const
int instructionIndex(int cycle) const
virtual bool isInUse(const int cycle) const =0
virtual bool isSegmentResource() const
virtual bool isInputFUResource() const
int initiationInterval() const
virtual bool hasRelatedResource(const SchedulingResource &sResource) const
int relatedResourceCount(const int group) const
std::set< const SchedulingResource * > SchedulingResourceSet
virtual bool isIUResource() const
std::vector< SchedulingResource * > ResourceList
void setInitiationInterval(unsigned int ii)
virtual bool isAvailable(const int cycle) const =0
virtual bool validateDependentGroups()
void remove(SchedulingResource &resource)
virtual bool canAssign(const int cycle, const MoveNode &node) const =0
SchedulingResource & operator=(const SchedulingResource &)
virtual void decreaseUseCount()
bool operator()(SchedulingResource *x, SchedulingResource *y)
SchedulingResource & resource(int index) const
virtual const std::string & name() const
SchedulingResourceGroup dependentResourceGroup_
virtual int relatedResourceGroupCount() const
virtual bool isShortImmPSocketResource() const
void insert(SchedulingResource &resource)
SchedulingResourceSet relatedResourceSet_
virtual void increaseUseCount()