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