Closed drichmond closed 2 years ago
Hi Dustin,
Thanks for reporting this. This is a currently known/confirmed limitation. WAYS=1 generates a direct-mapped cache, but LRU_BITS=0 breaks the code and I believe on more than just fill_way_select_rnd. Can you please confirm the Xilinx tool does not generate other errors with your fix?
Thanks, Richard
Hi Richard
I can confirm that this fixes all synthesis issues.
I don't know if this is a related issue, but my notes say: "dcache returns same data for ADDR + 0 and ADDR + 4 when LINE_SIZE > XLEN" -- I don't know how accurate that is
I found it it a week ago and haven't been able to examine it since because of moving/travel/holidays (and unfortunately, it's been paged out of my brain).
I'll have more time to examine this after the new year
Thanks! Dustin
Hi Dustin,
I just released a new version of the core. This adds a new 'mem' stage which improves memory access timing. I also fixed the WAYS issue you reported and another I$ bug that showed up.
Cheers, Richard
Error message:
Reference is to this line:
Where LRU_BITS = $clog2(WAYS). I believe this fix is:
Happy to generate a PR if this seems correct