Go to the documentation of this file.
32 #ifndef TTA_FUNCTION_UNIT_HH
33 #define TTA_FUNCTION_UNIT_HH
50 class PipelineElement;
101 virtual void cleanup(
const std::string& resource);
109 const FunctionUnit* fu,
const bool checkPortWidths =
true)
const;
virtual TCEString name() const
static const std::string OSNAME_FU
ObjectState name for function unit.
virtual bool hasAddressSpace() const
FunctionUnit(const std::string &name)
static const std::string OSKEY_ORDER_NUMBER
ObjectState attribute key for FU order number name.
virtual void cleanup(const std::string &resource)
virtual BaseFUPort * triggerPort() const
virtual void addPipelineElement(PipelineElement &element)
void loadStateWithoutReferences(const ObjectState *fuState)
virtual HWOperation * operationLowercase(const std::string &name) const
virtual void unsetMachine()
virtual BaseFUPort * port(const std::string &name) const
virtual AddressSpace * addressSpace() const
virtual int maxLatency() const
void deleteAllOperations()
void cleanupGuards() const
virtual PipelineElement * pipelineElement(int index) const
virtual int operationCount() const
virtual bool hasOperation(const std::string &name) const
virtual void setAddressSpace(AddressSpace *as)
virtual int operationPortCount() const
virtual ObjectState * saveState() const
OperationTable operations_
Contains all the operations of the function unit.
virtual int pipelineElementCount() const
virtual int orderNumber() const
virtual bool hasOperationPort(const std::string &name) const
PipelineElementTable pipelineElements_
Contains all the pipeline elements of the function unit.
virtual void addOperation(HWOperation &operation)
virtual bool hasOperationLowercase(const std::string &name) const
std::vector< PipelineElement * > PipelineElementTable
Container for pipeline elements.
bool needsConflictDetection() const
virtual void loadState(const ObjectState *state)
std::vector< HWOperation * > OperationTable
Container for operations.
virtual void deletePipelineElement(PipelineElement &element)
void unsetMachineDerived()
AddressSpace * addressSpace_
Address space used by the function unit.
virtual HWOperation * operation(const std::string &name) const
virtual FUPort * operationPort(const std::string &name) const
int orderNumber_
Number indicating possition of the FU in the ADF file. Alows putting the FU into the order in the ins...
virtual bool hasPipelineElement(const std::string &name) const
virtual void setOrderNumber(int)
virtual FunctionUnit * copy() const
virtual void setName(const std::string &name)
virtual void deleteOperation(HWOperation &operation)
static const std::string OSKEY_AS
ObjectState attribute key for name of the address space.
virtual bool isArchitectureEqual(const FunctionUnit *fu, const bool checkPortWidths=true) const
virtual void operationNames(TCETools::CIStringSet &opNames) const