Skip to content

implement backpressure #4

@jeras

Description

@jeras

The current implementation is only tested with a separate if/ls busses and no backpressure on any of them.
There is no need to explicitly test a shared if/ls bus, all testing should be done with randomized (or explicit full coverage) active backpressure on separate busses.

The following table list all backpressure cases.
Values from TCB rdy signal for if/ls busses are used.

if ls notes
0 0
0 1 The load/store response is not available yet, therefore a new instruction can't start execution yet. if_vld could be driven low, if TCB would support read value hold, otherwise if should continue to request the same address.
1 0 There is no new instruction to process. The writeback stage should complete, a mechanism for not using the bypass is needed.
1 1 There is no backpressure, therefore no stalling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions