Remove two cycle load-use stall

There's no need for it as we forward results from the writeback to the
execute stage.
This commit is contained in:
Graham Edgecombe 2017-12-05 21:12:37 +00:00
parent 9541f198c2
commit da26f86f25
2 changed files with 0 additions and 10 deletions

View file

@ -25,10 +25,6 @@ module rv32 (
.decode_rd_in(decode_rd),
.decode_rd_writeback_in(decode_rd_writeback),
.execute_mem_read_en_in(execute_mem_read_en),
.execute_rd_in(execute_rd),
.execute_rd_writeback_in(execute_rd_writeback),
.mem_branch_taken_in(mem_branch_taken),
/* control out */

View file

@ -10,10 +10,6 @@ module rv32_hazard (
input [4:0] decode_rd_in,
input decode_rd_writeback_in,
input execute_mem_read_en_in,
input [4:0] execute_rd_in,
input execute_rd_writeback_in,
input mem_branch_taken_in,
/* control out */
@ -34,8 +30,6 @@ module rv32_hazard (
always_comb begin
if ((decode_rs1_in == decode_rd_in || decode_rs2_in == decode_rd_in) && |decode_rd_in && decode_mem_read_en_in && decode_rd_writeback_in)
fetch_wait_for_mem_read = 1;
else if ((decode_rs1_in == execute_rd_in || decode_rs2_in == execute_rd_in) && |execute_rd_in && execute_mem_read_en_in && execute_rd_writeback_in)
fetch_wait_for_mem_read = 1;
else
fetch_wait_for_mem_read = 0;
end