Skip to content

Commit

Permalink
[hardware] Highly WIP: explore vmcomparisons
Browse files Browse the repository at this point in the history
  • Loading branch information
mp-17 committed Nov 15, 2024
1 parent 7f7b391 commit bb0c730
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
14 changes: 13 additions & 1 deletion hardware/src/ara_dispatcher.sv
Original file line number Diff line number Diff line change
Expand Up @@ -636,7 +636,11 @@ module ara_dispatcher import ara_pkg::*; import rvv_pkg::*; #(
endcase
end
6'b011000: begin
ara_req_d.op = ara_pkg::VMSEQ;
ara_req_d.op = ara_pkg::VMSEQ;
ara_req_d.eew_vs1 = eew_q[ara_req_d.vs2];
ara_req_d.eew_vs2 = eew_q[ara_req_d.vs2];
ara_req_d.eew_vd_op = eew_q[ara_req_d.vd];
ara_req_d.vtype.vsew = eew_q[ara_req_d.vd];
end
6'b011001: begin
ara_req_d.op = ara_pkg::VMSNE;
Expand Down Expand Up @@ -861,6 +865,10 @@ module ara_dispatcher import ara_pkg::*; import rvv_pkg::*; #(
end
6'b011000: begin
ara_req_d.op = ara_pkg::VMSEQ;
ara_req_d.eew_vs1 = eew_q[ara_req_d.vs2];
ara_req_d.eew_vs2 = eew_q[ara_req_d.vs2];
ara_req_d.eew_vd_op = eew_q[ara_req_d.vd];
ara_req_d.vtype.vsew = eew_q[ara_req_d.vd];
end
6'b011001: begin
ara_req_d.op = ara_pkg::VMSNE;
Expand Down Expand Up @@ -1031,6 +1039,10 @@ module ara_dispatcher import ara_pkg::*; import rvv_pkg::*; #(
end
6'b011000: begin
ara_req_d.op = ara_pkg::VMSEQ;
ara_req_d.eew_vs1 = eew_q[ara_req_d.vs2];
ara_req_d.eew_vs2 = eew_q[ara_req_d.vs2];
ara_req_d.eew_vd_op = eew_q[ara_req_d.vd];
ara_req_d.vtype.vsew = eew_q[ara_req_d.vd];
end
6'b011001: begin
ara_req_d.op = ara_pkg::VMSNE;
Expand Down
4 changes: 2 additions & 2 deletions hardware/src/masku/masku_operands.sv
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,8 @@ module masku_operands import ara_pkg::*; import rvv_pkg::*; #(
always_comb begin
alu_result_compressed_o = '1;
for (int b = 0; b < ELENB * NrLanes; b++) begin
if ((b % (1 << vinsn_issue_i.vtype.vsew)) == '0) begin
automatic int src_byte = shuffle_index(b, NrLanes, vinsn_issue_i.vtype.vsew);
if ((b % (1 << vinsn_issue_i.eew_vs2)) == '0) begin
automatic int src_byte = shuffle_index(b, NrLanes, vinsn_issue_i.eew_vs2);
automatic int src_byte_lane = src_byte[idx_width(ELENB) +: idx_width(NrLanes)];
automatic int src_byte_offset = src_byte[idx_width(ELENB)-1:0];

Expand Down

0 comments on commit bb0c730

Please sign in to comment.