Fix bug when splitted adder was not finished when writing back return address in JAL

This commit is contained in:
Markus Wegmann 2017-01-06 17:23:39 +01:00
parent 29a4967ec9
commit 0ef801ae67

View file

@ -361,8 +361,14 @@ module riscv_ex_stage
assign ex_ready_o = (alu_ready & lsu_ready_ex_i & wb_ready_i) | branch_in_ex_i; assign ex_ready_o = (alu_ready & lsu_ready_ex_i & wb_ready_i) | branch_in_ex_i;
assign ex_valid_o = (alu_ready & lsu_ready_ex_i & wb_ready_i); assign ex_valid_o = (alu_ready & lsu_ready_ex_i & wb_ready_i);
`else // THREE_PORT_REG_FILE `else // THREE_PORT_REG_FILE
// CONFIG_REGION: SPLITTED_ADDER
`ifdef SPLITTED_ADDER
assign ex_ready_o = (alu_ready & lsu_ready_ex_i & wb_ready_i & ~regfile_we_conflict);
assign ex_valid_o = (alu_ready & lsu_ready_ex_i & wb_ready_i);
`else
assign ex_ready_o = (alu_ready & lsu_ready_ex_i & wb_ready_i & ~regfile_we_conflict) | branch_in_ex_i; assign ex_ready_o = (alu_ready & lsu_ready_ex_i & wb_ready_i & ~regfile_we_conflict) | branch_in_ex_i;
assign ex_valid_o = (alu_ready & lsu_ready_ex_i & wb_ready_i); assign ex_valid_o = (alu_ready & lsu_ready_ex_i & wb_ready_i);
`endif // SPLITTED_ADDER
`endif // THREE_PORT_REG_FILE `endif // THREE_PORT_REG_FILE
`endif // MUL_SUPPORT `endif // MUL_SUPPORT