[Libre-soc-dev] daily kan-ban update 29jan2022
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Sat Jan 29 10:15:20 GMT 2022
i think i finally at long last found the bug, which occurs *only*
if there are two stores one after the other in quick succession:
the wishbone address gets corrupted (partly shifted down)
one of the conditions under which two stores occur one
after the other is, of course, a mis-aligned ST.
+++ b/src/soc/experiment/dcache.py
@@ -1639,7 +1639,7 @@ class DCache(Elaboratable):
# See if there is another store waiting
# to be done which is in the same real page.
with m.If(req.valid):
- _ra = req.real_addr[ROW_LINE_BITS:SET_SIZE_BITS]
+ _ra = req.real_addr[0:SET_SIZE_BITS]
sync += r1.wb.adr[0:SET_SIZE_BITS].eq(_ra)
sync += r1.wb.dat.eq(req.data)
sync += r1.wb.sel.eq(req.byte_sel)
---
crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68
More information about the Libre-soc-dev
mailing list