Skip to content

Commit

Permalink
[hardware] 🐛 Reshuffle when needed if vl == vlmax but vstart > 0
Browse files Browse the repository at this point in the history
  • Loading branch information
mp-17 committed Dec 17, 2024
1 parent d29d5d8 commit 048c027
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion hardware/src/ara_dispatcher.sv
Original file line number Diff line number Diff line change
Expand Up @@ -3206,7 +3206,7 @@ module ara_dispatcher import ara_pkg::*; import rvv_pkg::*; #(
// During a vstore, if vstart > 0, reshuffle immediately not to complicate operand fetch stage
reshuffle_req_d = {ara_req_d.use_vs1 && (ara_req_d.eew_vs1 != eew_q[ara_req_d.vs1]) && eew_valid_q[ara_req_d.vs1] && (in_lane_op || (is_vstore && (csr_vstart_q != '0))),
ara_req_d.use_vs2 && (ara_req_d.eew_vs2 != eew_q[ara_req_d.vs2]) && eew_valid_q[ara_req_d.vs2] && in_lane_op,
ara_req_d.use_vd && (ara_req_d.vtype.vsew != eew_q[ara_req_d.vd ]) && eew_valid_q[ara_req_d.vd ] && csr_vl_q != ((VLENB << ara_req_d.emul[1:0]) >> ara_req_d.vtype.vsew)};
ara_req_d.use_vd && (ara_req_d.vtype.vsew != eew_q[ara_req_d.vd ]) && eew_valid_q[ara_req_d.vd ] && !(csr_vstart_q == 0 && (csr_vl_q == ((VLENB << ara_req_d.emul[1:0]) >> ara_req_d.vtype.vsew)))};
// Mask out requests if they refer to the same register!
reshuffle_req_d &= {
(insn.varith_type.rs1 != insn.varith_type.rs2) && (insn.varith_type.rs1 != insn.varith_type.rd),
Expand Down

0 comments on commit 048c027

Please sign in to comment.