|
OpenASIP 2.2
|
#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. | |
| static const std::string | OSKEY_TYPE = "type" |
| ObjectState attribute key for register file type. | |
| static const std::string | OSVALUE_NORMAL = "normal" |
| ObjectState attribute value for normal register file type. | |
| static const std::string | OSVALUE_RESERVED = "reserved" |
| ObjectState attribute value for reserved register file type. | |
| static const std::string | OSVALUE_VOLATILE = "volatile" |
| ObjectState attribute value for volatile register file type. | |
| static const std::string | OSKEY_MAX_READS = "max_r" |
| ObjectState attribute key for maximum simultaneous readers. | |
| static const std::string | OSKEY_MAX_WRITES = "max_w" |
| ObjectState attribute key for maximum simultaneous writers. | |
| static const std::string | OSKEY_GUARD_LATENCY = "g_latency" |
| ObjectState attribute key for the guard latency. | |
| static const std::string | OSKEY_ZERO_REGISTER = "zero_register" |
| ObjectState attribute key for zero register flag. | |
Static Public Attributes inherited from TTAMachine::BaseRegisterFile | |
| static const std::string | OSNAME_BASE_REGISTER_FILE = "baseregfile" |
| ObjectState name for BaseRegisterFile. | |
| static const std::string | OSKEY_SIZE = "size" |
| ObjectState attribute key for the number of registers. | |
| static const std::string | OSKEY_WIDTH = "width" |
| ObjectState attribute key for bit width of the registers. | |
Static Public Attributes inherited from TTAMachine::Unit | |
| static const std::string | OSNAME_UNIT = "unit" |
| ObjectState name for Unit. | |
Static Public Attributes inherited from TTAMachine::Component | |
| static const std::string | OSNAME_COMPONENT = "component" |
| ObjectState name for component. | |
| static const std::string | OSKEY_NAME = "name" |
| ObjectState attribute key for the name of the component. | |
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().
