summaryrefslogtreecommitdiff
path: root/eater_cpu/eater_decoder.sv
diff options
context:
space:
mode:
authoruvok2026-01-19 20:16:34 +0100
committeruvok2026-01-19 20:16:34 +0100
commitda54b3b6d3db776eb57ca502822558577e6c4c4e (patch)
treef0b9263d3a9b2ee8e74e6c3451fc77c2ab87095a /eater_cpu/eater_decoder.sv
parent1f0fc1edcea04e5c1f04803f0bdda337c2245f09 (diff)
Add halt state and flag
Diffstat (limited to 'eater_cpu/eater_decoder.sv')
-rw-r--r--eater_cpu/eater_decoder.sv7
1 files changed, 7 insertions, 0 deletions
diff --git a/eater_cpu/eater_decoder.sv b/eater_cpu/eater_decoder.sv
index 78d4e6c..53cc39c 100644
--- a/eater_cpu/eater_decoder.sv
+++ b/eater_cpu/eater_decoder.sv
@@ -28,6 +28,7 @@ function CpuState insdep_state;
LDA: insdep_state = LDA_INS_to_MAR;
ADD: insdep_state = ADD_INS_to_MAR;
OUT: insdep_state = OUT_A_to_OUT;
+ HALT_op: insdep_state = HALT_st;
default: insdep_state = INIT;
endcase
@@ -54,6 +55,8 @@ always @(posedge clk_i) begin
OUT_A_to_OUT: next_state = PC_to_MAR;
+ HALT_st: next_state = HALT_st;
+
default: begin
next_state = INIT;
end
@@ -115,6 +118,10 @@ always_comb begin
internal_flags.OUT_in = 1;
end
+ HALT_st: begin
+ internal_flags.halt = 1;
+ end
+
default: begin
end