OpenASIP
2.0
|
#include <UnboundedRegisterFile.hh>
Public Member Functions | |
UnboundedRegisterFile (const std::string &name, int width, RegisterFile::Type type) | |
virtual | ~UnboundedRegisterFile () |
virtual int | numberOfRegisters () const |
virtual void | setMaxReads (int reads) |
virtual void | setMaxWrites (int maxWrites) |
virtual void | setNumberOfRegisters (int registers) |
virtual void | setWidth (int width) |
virtual void | setName (const std::string &name) |
virtual void | setType (RegisterFile::Type type) |
virtual void | loadState (const ObjectState *state) |
Public Member Functions inherited from TTAMachine::RegisterFile | |
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) | |
RegisterFile (const ObjectState *state) | |
virtual | ~RegisterFile () |
virtual RegisterFile * | copy () const |
virtual int | maxReads () const |
virtual int | maxWrites () const |
virtual RegisterFile::Type | type () const |
virtual bool | isNormal () const |
virtual bool | isVolatile () const |
virtual bool | isReserved () const |
virtual void | setType (RegisterFile::Type type) |
virtual int | guardLatency () const |
virtual void | setGuardLatency (int latency) |
virtual void | unsetMachine () |
virtual ObjectState * | saveState () const |
virtual bool | isArchitectureEqual (const RegisterFile &rf) const |
virtual bool | isUsedAsGuard () const |
virtual bool | zeroRegister () const |
virtual void | setZeroRegister (const bool &value) |
Port * | firstReadPort () const |
Port * | firstWritePort () const |
Public Member Functions inherited from TTAMachine::BaseRegisterFile | |
virtual | ~BaseRegisterFile () |
virtual int | width () const |
virtual int | size () const |
virtual RFPort * | port (const std::string &name) const |
virtual RFPort * | port (int index) const |
Public Member Functions inherited from TTAMachine::Unit | |
virtual | ~Unit () |
virtual bool | hasPort (const std::string &name) const |
virtual int | portCount () const |
virtual int | outputPortCount (bool countBidir=false) const |
virtual int | inputPortCount (bool countBidir=false) const |
virtual int | bidirPortCount () const |
virtual void | setMachine (Machine &mach) |
Public Member Functions inherited from TTAMachine::Component | |
virtual | ~Component () |
virtual TCEString | name () const |
virtual Machine * | machine () const |
virtual void | ensureRegistration (const Component &component) const |
virtual bool | isRegistered () const |
Public Member Functions inherited from Serializable | |
virtual | ~Serializable () |
Additional Inherited Members | |
Public Types inherited from TTAMachine::RegisterFile | |
enum | Type { NORMAL, RESERVED, VOLATILE } |
Type of the register file indicates how the RF is used. More... | |
Static Public Attributes inherited from TTAMachine::RegisterFile | |
static const std::string | OSNAME_REGISTER_FILE = "reg_file" |
ObjectState name for RegisterFile. More... | |
static const std::string | OSKEY_TYPE = "type" |
ObjectState attribute key for register file type. More... | |
static const std::string | OSVALUE_NORMAL = "normal" |
ObjectState attribute value for normal register file type. More... | |
static const std::string | OSVALUE_RESERVED = "reserved" |
ObjectState attribute value for reserved register file type. More... | |
static const std::string | OSVALUE_VOLATILE = "volatile" |
ObjectState attribute value for volatile register file type. More... | |
static const std::string | OSKEY_MAX_READS = "max_r" |
ObjectState attribute key for maximum simultaneous readers. More... | |
static const std::string | OSKEY_MAX_WRITES = "max_w" |
ObjectState attribute key for maximum simultaneous writers. More... | |
static const std::string | OSKEY_GUARD_LATENCY = "g_latency" |
ObjectState attribute key for the guard latency. More... | |
static const std::string | OSKEY_ZERO_REGISTER = "zero_register" |
ObjectState attribute key for zero register flag. More... | |
Static Public Attributes inherited from TTAMachine::BaseRegisterFile | |
static const std::string | OSNAME_BASE_REGISTER_FILE = "baseregfile" |
ObjectState name for BaseRegisterFile. More... | |
static const std::string | OSKEY_SIZE = "size" |
ObjectState attribute key for the number of registers. More... | |
static const std::string | OSKEY_WIDTH = "width" |
ObjectState attribute key for bit width of the registers. More... | |
Static Public Attributes inherited from TTAMachine::Unit | |
static const std::string | OSNAME_UNIT = "unit" |
ObjectState name for Unit. More... | |
Static Public Attributes inherited from TTAMachine::Component | |
static const std::string | OSNAME_COMPONENT = "component" |
ObjectState name for component. More... | |
static const std::string | OSKEY_NAME = "name" |
ObjectState attribute key for the name of the component. More... | |
Protected Member Functions inherited from TTAMachine::BaseRegisterFile | |
BaseRegisterFile (const std::string &name, int size, int width) | |
BaseRegisterFile (const ObjectState *state) | |
Protected Member Functions inherited from TTAMachine::Unit | |
Unit (const std::string &name) | |
Unit (const ObjectState *state) | |
virtual void | removePort (Port &port) |
Protected Member Functions inherited from TTAMachine::Component | |
Component (const std::string &name) | |
Component (const ObjectState *state) | |
void | internalSetMachine (Machine &machine) |
void | internalUnsetMachine () |
Protected Member Functions inherited from TTAMachine::MachinePart | |
MachinePart () | |
virtual | ~MachinePart () |
UnboundedRegisterFile class represents a register file which has unlimited amount of registers. This kind of register files are used in UniversalMachine.
Definition at line 43 of file UnboundedRegisterFile.hh.
UnboundedRegisterFile::UnboundedRegisterFile | ( | const std::string & | name, |
int | width, | ||
RegisterFile::Type | type | ||
) |
The constructor.
name | The name of the register file. |
width | Bit width of the registers in the register file. |
type | Type of the register file. |
InvalidName | If one of the given names is not a valid component name. |
OutOfRange | If the bit width is out of range. |
Definition at line 50 of file UnboundedRegisterFile.cc.
|
virtual |
|
virtual |
Aborts the program. It is not allowed to load UniversalMachine from an ObjectState tree. DO NOT CALL THIS METHOD!
state | Never used. |
ObjectStateLoadingException | Never thrown. |
Reimplemented from TTAMachine::RegisterFile.
Definition at line 181 of file UnboundedRegisterFile.cc.
References Application::abortProgram(), and Application::writeToErrorLog().
|
virtual |
Returns INT_MAX.
UnboundedRegisterFile has "unlimited" amount of registers.
Reimplemented from TTAMachine::BaseRegisterFile.
Definition at line 69 of file UnboundedRegisterFile.cc.
|
virtual |
Aborts the program. It is not allowed to call this method of UnboundedRegisterFile. DO NOT CALL THIS METHOD!
reads | Never used. |
OutOfRange | Never thrown. |
Reimplemented from TTAMachine::RegisterFile.
Definition at line 82 of file UnboundedRegisterFile.cc.
References Application::abortProgram(), and Application::writeToErrorLog().
|
virtual |
Aborts the program. It is not allowed to call this method of UnboundedRegisterFile. DO NOT CALL THIS METHOD!
maxWrites | Never used. |
OutOfRange | Never thrown. |
Reimplemented from TTAMachine::RegisterFile.
Definition at line 98 of file UnboundedRegisterFile.cc.
References Application::abortProgram(), and Application::writeToErrorLog().
|
virtual |
Aborts the program. It is not allowed to change the name of UnboundedRegisterFile once it is set at construction. DO NOT CALL THIS METHOD!
name | Never used. |
ComponentAlreadyExists | Never thrown. |
InvalidName | Never thrown. |
Reimplemented from TTAMachine::RegisterFile.
Definition at line 149 of file UnboundedRegisterFile.cc.
References Application::abortProgram(), and Application::writeToErrorLog().
|
virtual |
Aborts the program. It is not allowed to set the number of registers of UnboundedRegisterFile. It has always unlimited amount of registers. DO NOT CALL THIS METHOD.
registers | Never used. |
OutOfRange | Never thrown. |
Reimplemented from TTAMachine::RegisterFile.
Definition at line 114 of file UnboundedRegisterFile.cc.
References Application::abortProgram(), and Application::writeToErrorLog().
|
virtual |
Aborts the program. It is not allowed to set the type of UnboundedRegisterFile once it is set at construction. DO NOT CALL THIS METHOD!
type | Never used. |
Definition at line 165 of file UnboundedRegisterFile.cc.
References Application::abortProgram(), and Application::writeToErrorLog().
|
virtual |
Aborts the program. It is not allowed to set the bit width of UnboundedRegisterFile once it is set at construction. DO NOT CALL THIS METHOD.
width | Never used. |
OutOfRange | Never thrown. |
Reimplemented from TTAMachine::BaseRegisterFile.
Definition at line 131 of file UnboundedRegisterFile.cc.
References Application::abortProgram(), and Application::writeToErrorLog().