Go to the documentation of this file.
34 #ifndef TTA_EXECUTION_PIPELINE_BROKER_HH
35 #define TTA_EXECUTION_PIPELINE_BROKER_HH
60 int immRegIndex)
override;
70 int immRegIndex)
const override;
77 int immRegIndex)
const override;
89 virtual void setMaxCycle(
unsigned int maxCycle)
override;
96 typedef std::map<SchedulingResource*, const TTAMachine::FunctionUnit*>
virtual bool isApplicable(const MoveNode &node, const TTAMachine::Bus *) const override
virtual ~ExecutionPipelineBroker()
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 override
int longestLatency_
Longest latency of all operations of all the FUs.
virtual int highestKnownCycle() const
virtual void buildResources(const TTAMachine::Machine &target) override
int latestFromDestination(int, const MoveNode &, const TTAMachine::FunctionUnit *dstFU) const
virtual void assign(int cycle, MoveNode &node, SchedulingResource &res, int immWriteCycle, int immRegIndex) override
int earliestFromSource(int, const MoveNode &, const TTAMachine::FunctionUnit *srcFU) const
ExecutionPipelineBroker(std::string, unsigned int initiationInterval=0)
const DataDependenceGraph * ddg_
virtual void setMaxCycle(unsigned int maxCycle) override
virtual bool isAlreadyAssigned(int cycle, const MoveNode &node, const TTAMachine::Bus *preassignedBus) const override
virtual int longestLatency() const
bool isLoopBypass(const MoveNode &node) const
bool isMoveTrigger(const MoveNode &node) const
virtual void unassign(MoveNode &node) override
int latestFromSource(int, const MoveNode &, const TTAMachine::FunctionUnit *srcFU) const
FUPipelineMap fuPipelineMap_
FU's and their corresponding pipeline resources.
virtual bool isExecutionPipelineBroker() const override
virtual void setInitiationInterval(unsigned int cycles) override
virtual void setupResourceLinks(const ResourceMapper &mapper) override
void setDDG(const DataDependenceGraph *ddg)
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 override
int earliestFromDestination(int, const MoveNode &, const TTAMachine::FunctionUnit *dstFU) const
std::map< SchedulingResource *, const TTAMachine::FunctionUnit * > FUPipelineMap
Map to link FU's and pipelines.