Skip to content

Commit

Permalink
[hardware] non-masked non-indexed segment memory ops work with no res…
Browse files Browse the repository at this point in the history
…huffle
  • Loading branch information
mp-17 committed Oct 26, 2024
1 parent 57ecf14 commit e3b86dc
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions hardware/src/segment_sequencer.sv
Original file line number Diff line number Diff line change
Expand Up @@ -154,15 +154,15 @@ module segment_sequencer import ara_pkg::*; import rvv_pkg::*; #(
ara_req_o.vstart = vstart_cnt_q;
ara_req_o.vs1 = ara_req_i.vs1 + segment_cnt_q;
ara_req_o.vd = ara_req_i.vd + segment_cnt_q;

ara_req_o.scalar_op = is_vload_q // todo: relax timing here
? ara_req_i.scalar_op + (segment_cnt_q << ara_req_i.vtype.vsew)
: ara_req_i.scalar_op + (segment_cnt_q << ara_req_i.eew_vs1);
// If segment unit-stride, the segments are actually separated by (#field << eew) bytes
if (ara_req_i.op == VLE || ara_req_i.op == VSE) begin
// todo: relax timing here
ara_req_o.scalar_op = is_vload_q
? ara_req_i.scalar_op + (segment_cnt_q << ara_req_i.vtype.vsew)
: ara_req_i.scalar_op + (segment_cnt_q << ara_req_i.eew_vs1);
ara_req_o.op = is_vload_q
? VLSE
: VSSE;
ara_req_o.op = is_vload_q
? VLSE
: VSSE;
ara_req_o.stride = is_vload_q
? (ara_req_i.nf + 1) << ara_req_i.vtype.vsew
: (ara_req_i.nf + 1) << ara_req_i.eew_vs1;
Expand Down

0 comments on commit e3b86dc

Please sign in to comment.