OpenASIP
2.0
|
#include <FUBroker.hh>
Public Member Functions | |
FUBroker (std::string name, unsigned int initiationInterval=0) | |
virtual | ~FUBroker () |
Public Member Functions inherited from ResourceBroker | |
ResourceBroker (std::string, unsigned int initiationInterval=0) | |
virtual | ~ResourceBroker () |
virtual bool | isAnyResourceAvailable (int cycle, const MoveNode &node, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const |
virtual SchedulingResource & | availableResource (int cycle, const MoveNode &node, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const |
virtual SchedulingResourceSet | allAvailableResources (int cycle, const MoveNode &node, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const |
virtual bool | isAvailable (SchedulingResource &des, const MoveNode &node, int cycle, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const |
virtual int | earliestCycle (int cycle, const MoveNode &node, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const =0 |
virtual int | latestCycle (int cycle, const MoveNode &node, const TTAMachine::Bus *bus, const TTAMachine::FunctionUnit *srcFU, const TTAMachine::FunctionUnit *dstFU, int immWriteCycle, const TTAMachine::ImmediateUnit *immu, int immRegIndex) const =0 |
virtual bool | isAlreadyAssigned (int cycle, const MoveNode &node, const TTAMachine::Bus *preassignedBus) const =0 |
virtual bool | isApplicable (const MoveNode &node, const TTAMachine::Bus *preassignedBus) const =0 |
virtual void | assign (int cycle, MoveNode &node, SchedulingResource &res, int immWriteCycle, int immRegIndex)=0 |
virtual void | unassign (MoveNode &node)=0 |
virtual void | buildResources (const TTAMachine::Machine &target)=0 |
virtual void | setupResourceLinks (const ResourceMapper &mapper)=0 |
SchedulingResource * | resourceOf (const TTAMachine::MachinePart &mp) const |
virtual const TTAMachine::MachinePart & | machinePartOf (const SchedulingResource &r) const |
bool | hasResourceOf (const TTAMachine::MachinePart &mp) const |
bool | hasResource (const SchedulingResource &r) const |
int | resourceCount () const |
virtual bool | isBusBroker () const |
virtual bool | isITemplateBroker () const |
virtual bool | isIUBroker () const |
virtual bool | isExecutionPipelineBroker () const |
void | validateResources () const |
virtual std::string | brokerName () const |
void | resources (ResourceSet &contents) |
virtual void | setInitiationInterval (unsigned int cycles) |
virtual void | clear () |
virtual void | setMaxCycle (unsigned int) |
Protected Member Functions | |
std::pair< bool, const TTAMachine::FunctionUnit * > | findDstFUOfMove (const MoveNode &node, const TTAMachine::FunctionUnit *resFU, DataDependenceGraph::NodeSet &processedInputNodes) const |
std::pair< bool, const TTAMachine::FunctionUnit * > | findFUOfPO (ProgramOperation &po, const TTAMachine::FunctionUnit *resFU) const |
Protected Member Functions inherited from ResourceBroker | |
void | setResourceMapper (const ResourceMapper &mapper) |
const ResourceMapper & | resourceMapper () const |
unsigned int | instructionIndex (unsigned int) const |
void | addResource (const TTAMachine::MachinePart &mp, SchedulingResource *res) |
Additional Inherited Members | |
Public Types inherited from ResourceBroker | |
typedef std::set< SchedulingResource * > | ResourceSet |
Protected Types inherited from ResourceBroker | |
typedef std::map< const TTAMachine::MachinePart *, SchedulingResource *, TTAMachine::MachinePart::Comparator > | ResourceMap |
typedef std::map< const MoveNode *, SchedulingResource *, MoveNode::Comparator > | MoveResMap |
Protected Attributes inherited from ResourceBroker | |
unsigned int | initiationInterval_ |
ResourceMap | resMap_ |
const ResourceMapper * | resourceMapper_ |
MoveResMap | assignedResources_ |
std::string | brokerName_ |
Input function unit broker.
Definition at line 49 of file FUBroker.hh.
|
inline |
Definition at line 51 of file FUBroker.hh.
|
inlinevirtual |
Definition at line 53 of file FUBroker.hh.
|
protected |
Definition at line 37 of file FUBroker.cc.
References __func__, TTAProgram::Move::destination(), MoveNode::destinationOperation(), MoveNode::destinationOperationCount(), findFUOfPO(), TTAProgram::Terminal::functionUnit(), ResourceBroker::hasResourceOf(), TTAProgram::Terminal::isFUPort(), and MoveNode::move().
Referenced by InputFUBroker::allAvailableResources().
|
protected |
Definition at line 77 of file FUBroker.cc.
References assert, ResourceBroker::hasResourceOf(), ProgramOperation::isLegalFU(), and ProgramOperation::scheduledFU().
Referenced by OutputFUBroker::allAvailableResources(), and findDstFUOfMove().