spartan3e: BRAM gehaxe. lesbarer und wird auch richtig(er) instanziert
[calu.git] / 3b_sim / ccpu.hpp
index 0dd8b1bde760d5942aaabeae35ac1b8fe33afd91..11f615212b9c32ea4e5798cc3da5f11e64a313ec 100644 (file)
@@ -5,6 +5,8 @@
 #include "cmem.hpp"
 #include "cpmem.hpp"
 
+#include "ccolor.h"
+
 class Iinstr;
 
 #include "Iinstr.hpp"
@@ -15,7 +17,7 @@ class CCpu {
 
                bool m_Z, m_S, m_C, m_O;
 
-               CDat m_pc, m_pc_next;
+               CDat m_pc, m_pc_next, m_perf;
                CMem<CDat> m_reg, m_ram;
                CPMem<Iinstr*> m_prog;
 
@@ -34,11 +36,17 @@ class CCpu {
                Iinstr* getProg(const int) const;
                void setProg(const int, Iinstr*);
 
+               CDat getPerf() const;
+               void setPerf(CDat);
+               void incPerf();
+               void incPerfBy(short);
+
                CDat getCurPC() const;
                CDat getNextPC() const;
                void setNextPC(CDat);
 
                CDat getFlags() const;
+               void setFlags(CDat);
                /* will only change zero and sign */
                void updateFlags(CDat);
                /* will change all flags */