summaryrefslogtreecommitdiff
path: root/rtl/core/control/control.sv
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2022-10-17 01:25:42 -0600
committerAlejandro Soto <alejandro@34project.org>2022-10-17 01:25:42 -0600
commit1ca30fb3de058b9498f6a6bbc646b79978ece846 (patch)
tree9336889b1556563e3b8f6c328ae185aaa83895cb /rtl/core/control/control.sv
parentb328dee91da704474509054043740128e5969c8b (diff)
Break false dependency on r0 for MOV/MVN
Diffstat (limited to '')
-rw-r--r--rtl/core/control/control.sv3
1 files changed, 2 insertions, 1 deletions
diff --git a/rtl/core/control/control.sv b/rtl/core/control/control.sv
index 653d896..1c20535 100644
--- a/rtl/core/control/control.sv
+++ b/rtl/core/control/control.sv
@@ -5,6 +5,7 @@ module core_control
input logic clk,
dec_execute,
dec_conditional,
+ dec_uses_rn,
dec_branch,
dec_writeback,
dec_update_flags,
@@ -76,7 +77,7 @@ module core_control
assign next_bubble =
((dec_update_flags || dec_conditional) && (final_update_flags || update_flags))
- || (final_writeback && (final_rd == dec_data.rn || final_rd == dec_snd.r));
+ || (final_writeback && ((dec_uses_rn && final_rd == dec_data.rn) || final_rd == dec_snd.r));
core_control_ldst_pop ldst_pop
(