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