summaryrefslogtreecommitdiff
path: root/rtl/core/control/writeback.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-11-06 15:56:06 -0600
committerAlejandro Soto <alejandro@34project.org>2022-11-06 15:56:06 -0600
commit8d590a8a7178659278ea44424d8456be16a006ad (patch)
tree4b27c164ba3d17f2b398a772d277e82861680aae /rtl/core/control/writeback.sv
parent6e6e7a1add425af55f2f64f84cc312c231f9db45 (diff)
Clean-up control.sv
Diffstat (limited to 'rtl/core/control/writeback.sv')
-rw-r--r--rtl/core/control/writeback.sv9
1 files changed, 7 insertions, 2 deletions
diff --git a/rtl/core/control/writeback.sv b/rtl/core/control/writeback.sv
index 021d494..15b17ee 100644
--- a/rtl/core/control/writeback.sv
+++ b/rtl/core/control/writeback.sv
@@ -13,6 +13,7 @@ module core_control_writeback
mem_data_rd,
vector,
q_alu,
+ input psr_flags alu_flags,
input reg_num ra,
popped,
input logic pop_valid,
@@ -26,10 +27,13 @@ module core_control_writeback
final_writeback,
update_flags,
final_update_flags,
- output word wr_value
+ output word wr_value,
+ output psr_flags wb_alu_flags
);
- always @(posedge clk) begin
+ always_ff @(posedge clk) begin
+ wb_alu_flags <= alu_flags;
+
unique0 case(next_cycle)
TRANSFER:
if(mem_ready)
@@ -128,6 +132,7 @@ module core_control_writeback
final_update_flags = 0;
wr_value = 0;
+ wb_alu_flags = {$bits(wb_alu_flags){1'b0}};
end
endmodule