X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=3b_sim%2Fcpmem.hpp;h=0c78d72fe4e2ac7761f6b641a80126a539ae91fb;hb=HEAD;hp=fd09f3cd567a41489349a6ab0aa9108a3dd73de2;hpb=12d2a7c14a42e01b6caf2a097db32404a403d213;p=calu.git diff --git a/3b_sim/cpmem.hpp b/3b_sim/cpmem.hpp index fd09f3c..0c78d72 100644 --- a/3b_sim/cpmem.hpp +++ b/3b_sim/cpmem.hpp @@ -1,3 +1,24 @@ +/* `Deep Thought', a softcore CPU implemented on a FPGA + + Copyright (C) 2010 Markus Hofstaetter + Copyright (C) 2010 Martin Perner + Copyright (C) 2010 Stefan Rebernig + Copyright (C) 2010 Manfred Schwarz + Copyright (C) 2010 Bernhard Urban + + 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 __CPMEM_H__ #define __CPMEM_H__ @@ -21,7 +42,8 @@ template class CPMem { private: - //MAX_MEMORY-1 zugreifbare Speicherzellen + //MAX_MEMORY-1 zugreifbare Speicherzellen aus BYTE_COUNT Bytes + //adressierung erfolgt aber byteweise const int MAX_MEMORY; std::vector m_memory; public: @@ -30,7 +52,8 @@ public: void set(const MEMORY_ADDRESS address, const T data); //retuniert referenz eines cdat objekts mit dem Wert von address T get(const MEMORY_ADDRESS address) const; - CPMem(int size) : MAX_MEMORY(size), m_memory(size, NULL) {}; + T getByte(const MEMORY_ADDRESS address) const; + CPMem(int size) : MAX_MEMORY(size), m_memory(size, (T)NULL) {}; ~CPMem(); };