summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eater_cpu/eater_types.sv26
1 files changed, 26 insertions, 0 deletions
diff --git a/eater_cpu/eater_types.sv b/eater_cpu/eater_types.sv
new file mode 100644
index 0000000..b5abe21
--- /dev/null
+++ b/eater_cpu/eater_types.sv
@@ -0,0 +1,26 @@
+// internal types for eater CPU
+
+`ifndef EATER_TYPES
+`define EATER_TYPES
+
+// CPU state (for control flags)
+typedef enum logic[7:0] {
+ INIT,
+ PC_to_MAR,
+ MEM_to_INS,
+ PC_inc
+} CpuState;
+
+// CPU control flags
+typedef struct {
+ logic A_out, A_in;
+ logic B_out, B_in;
+ logic INS_out, INS_in;
+ logic MAR_in;
+ logic RAM_out, RAM_in;
+ logic ALU_out;
+ logic PC_out, PC_in, PC_count;
+ logic OUT_in;
+} CpuControlFlags;
+
+`endif