OpenASIP
2.0
|
#include <RemoteMemory.hh>
Public Member Functions | |
RemoteMemory (const AddressSpace &space, bool littleEndian) | |
void | setController (RemoteController *con) |
virtual void | write (ULongWord address, MAU data) override |
virtual Memory::MAU | read (ULongWord address) override |
Public Member Functions inherited from Memory | |
Memory (ULongWord start, ULongWord end, ULongWord MAUSize, bool littleEndian_) | |
virtual | ~Memory () |
virtual void | advanceClock () |
virtual void | writeBE (ULongWord address, int size, ULongWord data) |
virtual void | writeLE (ULongWord address, int size, ULongWord data) |
void | write (ULongWord address, int size, ULongWord data) |
virtual void | writeDirectlyBE (ULongWord address, int size, ULongWord data) |
virtual void | writeDirectlyLE (ULongWord address, int size, ULongWord data) |
void | write (ULongWord address, FloatWord data) |
void | write (ULongWord address, DoubleWord data) |
void | read (ULongWord address, int size, ULongWord &data) |
void | read (ULongWord address, DoubleWord &data) |
void | read (ULongWord address, FloatWord &data) |
virtual void | writeBE (ULongWord address, FloatWord data) |
virtual void | writeBE (ULongWord address, DoubleWord data) |
virtual void | writeLE (ULongWord address, FloatWord data) |
virtual void | writeLE (ULongWord address, DoubleWord data) |
virtual void | readBE (ULongWord address, int size, ULongWord &data) |
virtual void | readLE (ULongWord address, int size, ULongWord &data) |
virtual void | readBE (ULongWord address, FloatWord &data) |
virtual void | readBE (ULongWord address, DoubleWord &data) |
virtual void | readLE (ULongWord address, FloatWord &data) |
virtual void | readLE (ULongWord address, DoubleWord &data) |
virtual void | reset () |
virtual void | fillWithZeros () |
virtual ULongWord | start () |
virtual ULongWord | end () |
virtual ULongWord | MAUSize () |
bool | isLittleEndian () |
Private Attributes | |
RemoteController * | controller_ |
const AddressSpace & | addressspace_ |
Additional Inherited Members | |
Public Types inherited from Memory | |
typedef MinimumAddressableUnit | MAU |
typedef MAU * | MAUTable |
Protected Member Functions inherited from Memory | |
void | packBE (const Memory::MAUTable data, int size, ULongWord &value) |
void | unpackBE (const ULongWord &value, int size, Memory::MAUTable data) |
void | packLE (const Memory::MAUTable data, int size, ULongWord &value) |
void | unpackLE (const ULongWord &value, int size, Memory::MAUTable data) |
Protected Attributes inherited from Memory | |
bool | littleEndian_ |
RemoteMemory is a proxy class for a physical memory.
This class adapts a physical memory on a FPGA or ASIC, as seen through a debug interface, to the main TCE system. The RemoteMemory is used only in the Simulator parts of TCE. All accesses to the physical memories RemoteMemory objects do go through the RemoteController that implements the debugging interface.
Definition at line 50 of file RemoteMemory.hh.
|
inline |
Definition at line 53 of file RemoteMemory.hh.
|
overridevirtual |
Reads a single memory location.
Must be implemented in the derived class. No range checking. The fastest way to read the memory.
address | The address to read. |
Implements Memory.
Definition at line 44 of file RemoteMemory.cc.
References addressspace_, assert, controller_, and RemoteController::readMem().
|
inline |
Set SimulationController for memory.
The RemoteMemory accesses physical memories via this controller object.
Definition at line 62 of file RemoteMemory.hh.
References controller_.
Writes a single memory location.
Must be implemented in the derived class. No range checking. The fastest way to write to the memory.
address | The target address. |
data | The data to write. |
Implements Memory.
Definition at line 37 of file RemoteMemory.cc.
References addressspace_, assert, controller_, and RemoteController::writeMem().
|
private |
Definition at line 72 of file RemoteMemory.hh.
|
private |
Definition at line 71 of file RemoteMemory.hh.
Referenced by read(), setController(), and write().