Skip to content

[Bug] Incorrect use_vs1 assertion for VWXUNARY0 instructions (vmv.x.s) causing false hazard detection #436

@yong-shengLiu

Description

@yong-shengLiu

Detailed Description:
In the OPMVV decoding block (ara_dispatcher.sv), the signal ara_req.use_vs1 is set to 1'b1 by default. However, for VWXUNARY0 instructions (specifically vmv.x.s, vcpop, and vfirst), the vs1 source register is not actually used.

Suggested Code Change in ara_dispatcher.sv:

unique case (insn.varith_type.func6)
// ...
6'b010000: begin // VWXUNARY0
// vmv.x.s
// Stall the interface until we get the result
acc_resp_o.req_ready = 1'b0;
acc_resp_o.resp_valid = 1'b0;

  // FIX: These instructions do not use vs1
  ara_req.use_vs1 = 1'b0; 

  case (insn.varith_type.rs1)
    // ...

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