Skip to content

Maybe a Bug of Compress #450

@AD738560581

Description

@AD738560581

Hello @Navaneeth-KunhiPurayil @mp-17 @suehtamacv , I was doing some verification work with the latest version of ara and found a problem with the compress instruction.
The logic of the corresponding masku.sv is as follows, but without vcompress_bit, the idx_fifo will not be pushed, then the vcompress_last_idx_d will not enter FIFO, which will eventually lead to the inability of the instruction to retire

    VCOMPRESS: begin
      // Select the current enable bit
      vcompress_bit = masku_operand_alu_seq[vrgat_cnt_q[idx_width(NrLanes*DataWidth)-1:0]];
      // Select the current index
      vrgat_req_idx_d = vrgat_cnt_q;
      if (&masku_operand_alu_valid && ~vrgat_idx_fifo_full && ~vrgat_req_fifo_full) begin
        // Check vrgat_m_seq_bit: we can use this since VRGATHER and VCOMPRESS are mutually exclusive
        // and the masku_operand_m is used in different ways
        if (vcompress_bit) begin
          // Push this index and address if the fifos are free and if the mask bit is set
          vrgat_idx_fifo_push = 1'b1;
          vrgat_req_fifo_push = 1'b1;
          // Increase the number of elements to write
          vcompress_cnt_d = vcompress_cnt_q + 1;
        end
      end

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions