47 Memory(memory->start(), memory->end(), memory->MAUSize(),
48 memory->isLittleEndian()),
49 frontend_(frontend), memory_(memory) {
73 newReads_.push_back(std::make_pair(address, 1));
89 newWrites_.push_back(std::make_pair(address, 1));
135 if (idx >
reads_.size()) {
Memory * memory_
Wrapped memory.
std::pair< Word, int > MemoryAccess
virtual Memory::MAU read(ULongWord address) override
virtual void advanceClock()
std::vector< MemoryAccess > newReads_
List of initiated reads.
virtual void write(ULongWord address, MAU data) override
MemoryAccess writeAccess(unsigned int idx) const
unsigned int readAccessCount() const
SimulatorFrontend & frontend_
unsigned int writeAccessCount() const
std::vector< MemoryAccess > writes_
List of initiated writes on the last cycle.
std::vector< MemoryAccess > reads_
List of initiated reads on the last cycle.
MemoryProxy(SimulatorFrontend &frontend, Memory *memory)
MemoryAccess readAccess(unsigned int idx) const
std::vector< MemoryAccess > newWrites_
List of initiated writes.
virtual void advanceClock()
virtual void write(ULongWord address, MAU data)=0
virtual Memory::MAU read(ULongWord address)=0
MinimumAddressableUnit MAU
@ SE_MEMORY_ACCESS
Genereated when memory read or write is initiated.
SimulationEventHandler & eventHandler()