URL
https://opencores.org/ocsvn/aemb/aemb/trunk
[/] [aemb/] [trunk/] [sw/] [iss/] [mem/] [InstMemory.hh] - Diff between revs 198 and 199
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 198 |
Rev 199 |
?rev1line? |
?rev2line? |
|
/*!
|
|
AEMB INSTRUCTION SET SIMULATOR
|
|
Copyright (C) 2009 Shawn Tan
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful, but
|
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see
|
|
.
|
|
*/
|
|
|
|
#ifndef AEMBINSTMEMORY_H_
|
|
#define AEMBINSTMEMORY_H_
|
|
|
|
#include
|
|
|
|
using std::map;
|
|
|
|
namespace aemb
|
|
{
|
|
|
|
class InstMemory
|
|
{
|
|
map mem; ///< Instruction memory storage
|
|
|
|
/**
|
|
* Generic memory write
|
|
* @param addr Address to write
|
|
* @param data Data to write
|
|
*/
|
|
|
|
void putInst(const int addr, const int data);
|
|
|
|
public:
|
|
/**
|
|
* Generic memory read
|
|
* @param addr Address to read.
|
|
* @return memory word read.
|
|
* */
|
|
|
|
int getInst(const int addr);
|
|
|
|
/**
|
|
* Read VMEM from stdin.
|
|
* @return size of the instruction space
|
|
**/
|
|
|
|
int readVmem();
|
|
|
|
void dumpMem();
|
|
|
|
InstMemory();
|
|
virtual ~InstMemory();
|
|
};
|
|
|
|
}
|
|
#endif /*AEMBINSTMEMORY_H_*/
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.