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. |
The current implementation is only tested with a separate
if/lsbusses and no backpressure on any of them.There is no need to explicitly test a shared
if/lsbus, 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
rdysignal forif/lsbusses are used.ifls0001if_vldcould be driven low, if TCB would support read value hold, otherwiseifshould continue to request the same address.1011