summaryrefslogtreecommitdiff
path: root/inc/controller.h
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-03-30 14:28:45 -0400
committerbd <bdunahu@operationnull.com>2025-03-30 14:28:45 -0400
commit8c46ba4f216aec9f512cd398317f891be9b07e84 (patch)
treecb502366f721c6bca60becc309fd9de288769d87 /inc/controller.h
parent916949133a5797772dcd6966e469c12230ffc3fa (diff)
Add mock stage, proper decode tests
Diffstat (limited to 'inc/controller.h')
-rw-r--r--inc/controller.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/inc/controller.h b/inc/controller.h
index 1c7b2d6..17aba37 100644
--- a/inc/controller.h
+++ b/inc/controller.h
@@ -1,8 +1,8 @@
#ifndef CONTROLLER_H
#define CONTROLLER_H
+#include "instrDTO.h"
#include "response.h"
#include "stage.h"
-#include "instrDTO.h"
/**
* Houses the clock, and acts as the main API to the GUI.
@@ -18,7 +18,8 @@ class Controller : public Stage
* @return A newly allocated controller object.
*/
Controller(Stage *stage, Storage *storage, bool is_pipelined);
-
+ InstrDTO *advance(Response p) override;
+
/**
* Direct the simulator to run for `number` clock cycles.
* @param the number of clock cycles to run for.
@@ -36,7 +37,9 @@ class Controller : public Stage
* @return the pc.
*/
int get_pc();
- InstrDTO *advance(Response p) override;
+
+ private:
+ void advance_helper() override;
};
#endif /* CONTROLLER_H_INCLUDED */