kuznia-rdzeni / coreblocks

RISC-V out-of-order core for education and research purposes
https://kuznia-rdzeni.github.io/coreblocks/
BSD 3-Clause "New" or "Revised" License
36 stars 14 forks source link

Fix yet another bug in the instruction cache #638

Closed xThaid closed 6 months ago

xThaid commented 6 months ago

The instruction cache code didn't correctly handle a case when the start_refill method of the cache refiller was not active. The tests didn't test it at all, as start_refill was always ready there.

lekcyjna123 commented 6 months ago

If I correctly understand the bug was that in case when start_refill was not ready, then MemRead transaction wasn't started and this caused that issue_req could be called second time, what caused that data from first call were overwritten.

xThaid commented 6 months ago

If I correctly understand the bug was that in case when start_refill was not ready, then MemRead transaction wasn't started and this caused that issue_req could be called second time, what caused that data from first call were overwritten.

Exactly.