diff options
| author | uvok | 2026-01-21 20:14:01 +0100 |
|---|---|---|
| committer | uvok | 2026-01-21 20:14:01 +0100 |
| commit | bd137cec37fade1acc2a5ee2db546b8dc67f64d0 (patch) | |
| tree | 93a2955d7e1e2c3ee4ef9bd9434b7e076c15d3b7 | |
| parent | da54b3b6d3db776eb57ca502822558577e6c4c4e (diff) | |
Revert "eater: Combine counting in prev. state"
This reverts commit 1f0fc1edcea04e5c1f04803f0bdda337c2245f09.
| -rw-r--r-- | eater_cpu/eater_decoder.sv | 10 | ||||
| -rw-r--r-- | eater_cpu/eater_types.sv | 3 |
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 |
