Go to the documentation of this file.
33 #ifndef TTA_EXECUTION_PIPELINE_RESOURCE_TABLE_HH
34 #define TTA_EXECUTION_PIPELINE_RESOURCE_TABLE_HH
54 inline bool hasOperation(
const std::string& opName)
const;
60 inline const std::string&
name()
const;
70 const std::string& opName,
75 const std::string& opName,
const int cycle,
const int resIndex);
const std::string & name() const
int operationIndex(const std::string &opName) const
std::vector< std::map< int, int > > operationLatencies_
void setResourceUse(const std::string &opName, const int cycle, const int resIndex)
ExecutionPipelineResourceTable(const TTAMachine::FunctionUnit &fu)
unsigned int pipelineSize() const
bool operationPipeline(int op, int cycle, int res) const
static ResourceTableMap allResourceTables_
Contains these tables for all FU's.
unsigned int maximalLatency_
Maximal latency of operation in FU.
std::vector< bool > ResourceVector
Type for resource vector, represents one cycle of use.
bool hasOperation(const std::string &opName) const
std::vector< ResourceVector > ResourceTable
Type for resource reservation table, resource vector x latency.
int numberOfResources_
Resource and ports vector width, depends on particular FU.
unsigned int numberOfResources() const
const std::map< int, int > & operationLatency(unsigned int operationIndex) const
std::map< const TTAMachine::FunctionUnit *, ExecutionPipelineResourceTable * > ResourceTableMap
std::vector< ResourceTable > operationPipelines_
Pipelines for operations.
unsigned int maximalLatency() const
void setLatency(const std::string &opName, const int output, const int latency)
static const ExecutionPipelineResourceTable & resourceTable(const TTAMachine::FunctionUnit &fu)
std::map< std::string, int > operationSupported_
Operations supported, name - index to operation pipeline vector.