summaryrefslogtreecommitdiff
path: root/eater_cpu
diff options
context:
space:
mode:
authoruvok2026-01-21 20:14:01 +0100
committeruvok2026-01-21 20:14:01 +0100
commitbd137cec37fade1acc2a5ee2db546b8dc67f64d0 (patch)
tree93a2955d7e1e2c3ee4ef9bd9434b7e076c15d3b7 /eater_cpu
parentda54b3b6d3db776eb57ca502822558577e6c4c4e (diff)
Revert "eater: Combine counting in prev. state"
This reverts commit 1f0fc1edcea04e5c1f04803f0bdda337c2245f09.
Diffstat (limited to 'eater_cpu')
-rw-r--r--eater_cpu/eater_decoder.sv10
-rw-r--r--eater_cpu/eater_types.sv3
2 files changed, 9 insertions, 4 deletions
diff --git a/eater_cpu/eater_decoder.sv b/eater_cpu/eater_decoder.sv
index 53cc39c..ba7cf16 100644
--- a/eater_cpu/eater_decoder.sv
+++ b/eater_cpu/eater_decoder.sv
@@ -42,9 +42,11 @@ always @(posedge clk_i) begin
INIT: next_state = PC_to_MAR;
- PC_to_MAR: next_state = MEM_to_INS_and_PC_inc;
+ PC_to_MAR: next_state = MEM_to_INS;
- MEM_to_INS_and_PC_inc: next_state = insdep_state();
+ MEM_to_INS: next_state = PC_inc;
+
+ PC_inc: next_state = insdep_state();
LDA_INS_to_MAR: next_state = LDA_MEM_to_A;
LDA_MEM_to_A: next_state = PC_to_MAR;
@@ -82,9 +84,11 @@ always_comb begin
internal_flags.PC_out = 1;
internal_flags.MAR_in = 1;
end
- MEM_to_INS_and_PC_inc: begin
+ MEM_to_INS: begin
internal_flags.RAM_out = 1;
internal_flags.INS_in = 1;
+ end
+ PC_inc: begin
internal_flags.PC_count = 1;
end
diff --git a/eater_cpu/eater_types.sv b/eater_cpu/eater_types.sv
index 57a7adc..6098744 100644
--- a/eater_cpu/eater_types.sv
+++ b/eater_cpu/eater_types.sv
@@ -8,7 +8,8 @@ typedef enum logic[7:0] {
// "regular" states
INIT,
PC_to_MAR,
- MEM_to_INS_and_PC_inc,
+ MEM_to_INS,
+ PC_inc,
// instruction dependent states