make icache accessible to core, working back to TestIssuer
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 9 Dec 2021 15:06:07 +0000 (15:06 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 9 Dec 2021 15:06:07 +0000 (15:06 +0000)
src/soc/simple/core.py

index 428b19f29bf5743b2a50b0d5e0a9652368d58636..f80ed141db48b821421390c1613b3159813604ed 100644 (file)
@@ -147,13 +147,16 @@ class NonProductionCore(ControlBase):
         # only include mmu if enabled in pspec
         self.fus = AllFunctionUnits(pspec, pilist=[pi])
 
-        # link LoadStore1 into MMU
+        # link LoadStore1 into MMU and make L1 I-Cache easy to get at
         mmu = self.fus.get_fu('mmu0')
+        ldst0 = self.fus.get_fu('ldst0')
         print ("core pspec", pspec.ldst_ifacetype)
         print ("core mmu", mmu)
         if mmu is not None:
-            print ("core lsmem.lsi", l0.cmpi.lsmem.lsi)
-            mmu.alu.set_ldst_interface(l0.cmpi.lsmem.lsi)
+            lsi = l0.cmpi.lsmem.lsi # a LoadStore1 Interface object
+            print ("core lsmem.lsi", lsi)
+            mmu.alu.set_ldst_interface(lsi)
+            self.icache = lsi.icache
 
         # register files (yes plural)
         self.regs = RegFiles(pspec, make_hazard_vecs=self.make_hazard_vecs)