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*>
const DataDependenceGraph * ddg_
virtual void buildResources(const TTAMachine::Machine &target) override
virtual void assign(int cycle, MoveNode &node, SchedulingResource &res, int immWriteCycle, int immRegIndex) override
bool isLoopBypass(const MoveNode &node) const
virtual ~ExecutionPipelineBroker()
void setDDG(const DataDependenceGraph *ddg)
virtual void setupResourceLinks(const ResourceMapper &mapper) override
virtual void setInitiationInterval(unsigned int cycles) override
int earliestFromSource(int, const MoveNode &, const TTAMachine::FunctionUnit *srcFU) const
virtual void unassign(MoveNode &node) override
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
std::map< SchedulingResource *, const TTAMachine::FunctionUnit * > FUPipelineMap
Map to link FU's and pipelines.
bool isMoveTrigger(const MoveNode &node) const
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 latestFromDestination(int, const MoveNode &, const TTAMachine::FunctionUnit *dstFU) const
int latestFromSource(int, const MoveNode &, const TTAMachine::FunctionUnit *srcFU) const
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
int earliestFromDestination(int, const MoveNode &, const TTAMachine::FunctionUnit *dstFU) const
FUPipelineMap fuPipelineMap_
FU's and their corresponding pipeline resources.
virtual bool isApplicable(const MoveNode &node, const TTAMachine::Bus *) const override
virtual bool isExecutionPipelineBroker() const override
virtual int highestKnownCycle() const
int longestLatency_
Longest latency of all operations of all the FUs.