Go to the documentation of this file.
34 #ifndef TTA_REGISTER_FILE_HH
35 #define TTA_REGISTER_FILE_HH
57 const std::string&
name,
unsigned int size,
unsigned int width,
58 unsigned int maxReads,
unsigned int maxwrites,
Port * firstReadPort() const
virtual void setMaxWrites(int maxWrites)
virtual TCEString name() const
virtual bool isReserved() const
@ RESERVED
Used for custom, user controlled register allocation.
static const std::string OSKEY_GUARD_LATENCY
ObjectState attribute key for the guard latency.
Type type_
Type of the register file.
static const std::string OSKEY_TYPE
ObjectState attribute key for register file type.
virtual void unsetMachine()
virtual void setType(RegisterFile::Type type)
static const std::string OSVALUE_RESERVED
ObjectState attribute value for reserved register file type.
virtual RegisterFile * copy() const
virtual int maxWrites() const
void loadStateWithoutReferences(const ObjectState *state)
virtual void loadState(const ObjectState *state)
bool updateMaxReadsAndWrites() const
virtual ObjectState * saveState() const
virtual void setGuardLatency(int latency)
Port * firstWritePort() const
@ VOLATILE
Used for user-controlled I/O communication.
virtual int maxReads() const
virtual bool isNormal() const
static const std::string OSKEY_MAX_READS
ObjectState attribute key for maximum simultaneous readers.
virtual void setMaxReads(int maxReads)
static const std::string OSKEY_ZERO_REGISTER
ObjectState attribute key for zero register flag.
static const std::string OSNAME_REGISTER_FILE
ObjectState name for RegisterFile.
RegisterFile & operator=(const RegisterFile &)
Assingment forbidden.
virtual bool isArchitectureEqual(const RegisterFile &rf) const
void deleteGuards(int registers) const
RegisterFile(const std::string &name, unsigned int size, unsigned int width, unsigned int maxReads, unsigned int maxwrites, unsigned int guardLatency, Type type, bool zeroRegister=false)
virtual bool isUsedAsGuard() const
virtual void setZeroRegister(const bool &value)
@ NORMAL
Used for general register allocation.
static const std::string OSVALUE_NORMAL
ObjectState attribute value for normal register file type.
Type
Type of the register file indicates how the RF is used.
virtual int guardLatency() const
int maxReads_
Max number of ports that can read a register all in the same cycle.
static const std::string OSVALUE_VOLATILE
ObjectState attribute value for volatile register file type.
virtual bool isVolatile() const
virtual int width() const
virtual RegisterFile::Type type() const
static const std::string OSKEY_MAX_WRITES
ObjectState attribute key for maximum simultaneous writers.
int maxWrites_
Max number of ports that can read a register all in the same cycle.
virtual void setNumberOfRegisters(int registers)
virtual bool zeroRegister() const
virtual void setName(const std::string &name)
int guardLatency_
The guard latency of the register file.