fix(jalr): 忽略最低位

This commit is contained in:
Liphen 2023-12-01 15:15:25 +08:00
parent fb799d5e7f
commit ed6c3221e8
2 changed files with 3 additions and 3 deletions

View File

@ -44,6 +44,6 @@ class JumpCtrl(implicit val config: CpuConfig) extends Module {
io.out.jump_target := Mux( io.out.jump_target := Mux(
jump_inst, jump_inst,
io.in.src_info.src1_data + io.in.src_info.src2_data, io.in.src_info.src1_data + io.in.src_info.src2_data,
io.in.src_info.src1_data (io.in.src_info.src1_data + io.in.src_info.src2_data) & ~1.U(XLEN.W)
) )
} }

View File

@ -115,7 +115,7 @@ class ExecuteUnit(implicit val config: CpuConfig) extends Module {
Seq( Seq(
(fu.branch.pred_fail && fu.branch.branch) -> io.executeStage.inst0.jb_info.branch_target, (fu.branch.pred_fail && fu.branch.branch) -> io.executeStage.inst0.jb_info.branch_target,
(fu.branch.pred_fail && !fu.branch.branch) -> (io.executeStage.inst0.pc + 4.U), (fu.branch.pred_fail && !fu.branch.branch) -> (io.executeStage.inst0.pc + 4.U),
(io.executeStage.inst0.jb_info.jump_regiser) -> (io.executeStage.inst0.src_info.src1_data + io.executeStage.inst0.src_info.src2_data) (io.executeStage.inst0.jb_info.jump_regiser) -> ((io.executeStage.inst0.src_info.src1_data + io.executeStage.inst0.src_info.src2_data) & ~1.U(XLEN.W)),
) )
) )