OpenASIP
2.0
|
#include <InputPSocketResource.hh>
Public Member Functions | |
virtual | ~InputPSocketResource () |
InputPSocketResource (const std::string &name, unsigned int initiationInterval=0) | |
virtual bool | isInputPSocketResource () const override |
virtual bool | canAssign (const int cycle, const MoveNode &node) const override |
virtual bool | operator< (const SchedulingResource &other) const override |
Public Member Functions inherited from PSocketResource | |
virtual | ~PSocketResource () |
PSocketResource (const std::string &name, unsigned int initiationInterval=0) | |
virtual bool | isInUse (const int cycle) const override |
virtual bool | isAvailable (const int cycle) const override |
virtual void | assign (const int cycle, MoveNode &node) override |
virtual void | unassign (const int cycle, MoveNode &node) override |
void | clear () override |
Public Member Functions inherited from SchedulingResource | |
virtual | ~SchedulingResource () |
SchedulingResource (const std::string &name, const unsigned int ii=0) | |
virtual int | relatedResourceGroupCount () const |
virtual int | dependentResourceGroupCount () const |
int | relatedResourceCount (const int group) const |
int | dependentResourceCount (const int group) const |
virtual void | addToRelatedGroup (const int group, SchedulingResource &resource) |
virtual void | addToDependentGroup (const int group, SchedulingResource &resource) |
virtual SchedulingResource & | relatedResource (const int group, const int index) const |
virtual SchedulingResource & | dependentResource (const int group, const int index) const |
virtual bool | hasRelatedResource (const SchedulingResource &sResource) const |
virtual bool | hasDependentResource (const SchedulingResource &sResource) const |
virtual const std::string & | name () const |
virtual int | useCount () const |
virtual void | increaseUseCount () |
virtual void | decreaseUseCount () |
virtual bool | isOutputPSocketResource () const |
virtual bool | isShortImmPSocketResource () const |
virtual bool | isInputFUResource () const |
virtual bool | isOutputFUResource () const |
virtual bool | isExecutionPipelineResource () const |
virtual bool | isBusResource () const |
virtual bool | isSegmentResource () const |
virtual bool | isIUResource () const |
virtual bool | isITemplateResource () const |
int | instructionIndex (int cycle) const |
void | setInitiationInterval (unsigned int ii) |
int | initiationInterval () const |
virtual void | setMaxCycle (unsigned int) |
Protected Member Functions | |
virtual bool | validateDependentGroups () override |
virtual bool | validateRelatedGroups () override |
Private Member Functions | |
InputPSocketResource (const InputPSocketResource &) | |
InputPSocketResource & | operator= (const InputPSocketResource &) |
Additional Inherited Members | |
Protected Types inherited from PSocketResource | |
typedef std::map< int, std::set< MoveNode * > > | ResourceRecordType |
Protected Attributes inherited from PSocketResource | |
ResourceRecordType | resourceRecord_ |
Protected Attributes inherited from SchedulingResource | |
int | initiationInterval_ |
An interface for scheduling resources of Resource Model The derived class InputPSocketResource
Definition at line 47 of file InputPSocketResource.hh.
|
virtual |
InputPSocketResource::InputPSocketResource | ( | const std::string & | name, |
unsigned int | initiationInterval = 0 |
||
) |
Constructor defining resource name
name | Name of resource |
Definition at line 44 of file InputPSocketResource.cc.
|
private |
|
overridevirtual |
Return true if resource can be assigned for given resource in given cycle.
cycle | Cycle to test |
node | MoveNode to test |
Reimplemented from PSocketResource.
Definition at line 102 of file InputPSocketResource.cc.
References TTAProgram::MoveGuard::guard(), TTAProgram::Move::guard(), TTAMachine::Guard::isOpposite(), TTAProgram::Move::isUnconditional(), MoveNode::move(), and PSocketResource::resourceRecord_.
Referenced by InputFUResource::canAssign().
|
overridevirtual |
Allways return true
Reimplemented from SchedulingResource.
Definition at line 57 of file InputPSocketResource.cc.
|
overridevirtual |
Comparison operator.
Favours sockets which have less connections.
Reimplemented from SchedulingResource.
Definition at line 134 of file InputPSocketResource.cc.
References SchedulingResource::relatedResource(), and SchedulingResource::relatedResourceCount().
|
private |
|
overrideprotectedvirtual |
Tests if all referred resources in dependent groups are of proper types
Reimplemented from SchedulingResource.
Definition at line 67 of file InputPSocketResource.cc.
References SchedulingResource::dependentResourceCount(), and SchedulingResource::dependentResourceGroupCount().
|
overrideprotectedvirtual |
Tests if all referred resources in related groups are of proper types
Reimplemented from SchedulingResource.
Definition at line 83 of file InputPSocketResource.cc.
References SchedulingResource::isBusResource(), SchedulingResource::isInputFUResource(), SchedulingResource::relatedResource(), SchedulingResource::relatedResourceCount(), and SchedulingResource::relatedResourceGroupCount().