Skip to content

Issue with forwarding path from LD instruction followed by ADD #35

Description

@nguyen-vu-axiomise

Behaviour: When a LD instruction is followed by an ADD instruction, if the rd of the load is source of the add, the load value wont be forwarded to the add instruction.
Trace: The instruction in the counter example is lw x13, 19(x7) followed by add x2, x13, x24. At cycle 10, when the add instruction is performed execution, the opA_i is 0 but not the value return from memory. Moreover, although load instruction has issued a dmem_req_o from cycle 9, only at cycle 11 that the value come back, at which point should the add instruction perform execution.
This is because, the lsu_r from ex_units for forwarding path is hardwired to 0 in lsu_r_o.

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions