soc/add_sdram: fix rocket, shorten comments
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Mon, 10 Feb 2020 15:55:15 +0000 (16:55 +0100)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Mon, 10 Feb 2020 15:55:15 +0000 (16:55 +0100)
litex/soc/integration/soc.py

index 760e72c1d330ce7ac0e7df7e1debc90d5b829420..464e3f92c6c0f69bf0398540739f544b052958a5 100755 (executable)
@@ -18,6 +18,7 @@ from litex.soc.interconnect.csr import *
 from litex.soc.interconnect import csr_bus
 from litex.soc.interconnect import wishbone
 from litex.soc.interconnect import wishbone2csr
+from litex.soc.interconnect import axi
 
 from litedram.core import LiteDRAMCore
 from litedram.frontend.wishbone import LiteDRAMWishbone2Native
@@ -919,7 +920,7 @@ class LiteXSoC(SoC):
 
         # SoC [<--> L2 Cache] <--> LiteDRAM --------------------------------------------------------
         if self.cpu.name == "rocket":
-            # Rocket has its own I/D L1 cache: connect directly to LiteDRAM, also bypassing MMIO/CSR wb bus:
+            # Rocket has its own I/D L1 cache: connect directly to LiteDRAM when possible.
             if port.data_width == self.cpu.mem_axi.data_width:
                 self.logger.info("Matching AXI MEM data width ({})\n".format(port.data_width))
                 self.submodules += LiteDRAMAXI2Native(
@@ -935,7 +936,7 @@ class LiteXSoC(SoC):
                     data_width = self.cpu.mem_axi.data_width,
                     adr_width  = 32-log2_int(self.cpu.mem_axi.data_width//8))
                 # NOTE: AXI2Wishbone FSMs must be reset with the CPU!
-                mem_a2w = ResetInserter()(AXI2Wishbone(
+                mem_a2w = ResetInserter()(axi.AXI2Wishbone(
                     axi          = self.cpu.mem_axi,
                     wishbone     = mem_wb,
                     base_address = 0))
@@ -947,11 +948,9 @@ class LiteXSoC(SoC):
                     port         = port,
                     base_address = origin)
                 self.submodules += wishbone.Converter(mem_wb, litedram_wb)
-            # Register main_ram region (so it will be added to generated/mem.h):
-            self.bus.region.add_memory_region("main_ram", SoCRegion(origin, sdram_size))
         elif self.with_wishbone:
             # Insert L2 cache inbetween Wishbone bus and LiteDRAM
-            l2_cache_size = max(l2_cache_size, int(2*port.data_width/8)) # L2 has a minimal size, use it if lower
+            l2_cache_size = max(l2_cache_size, int(2*port.data_width/8)) # Use minimal size if lower
             l2_cache_size = 2**int(log2(l2_cache_size))                  # Round to nearest power of 2
             self.add_config("L2_SIZE", l2_cache_size)
 
@@ -966,8 +965,7 @@ class LiteXSoC(SoC):
                 master    = wb_sdram,
                 slave     = wishbone.Interface(l2_cache_data_width),
                 reverse   = l2_cache_reverse)
-            # XXX Vivado ->2018.2 workaround, Vivado is not able to map correctly our L2 cache.
-            # Issue is reported to Xilinx, Remove this if ever fixed by Xilinx...
+            # XXX Vivado workaround, Vivado is not able to map correctly our L2 cache.
             from litex.build.xilinx.vivado import XilinxVivadoToolchain
             if isinstance(self.platform.toolchain, XilinxVivadoToolchain):
                 from migen.fhdl.simplify import FullMemoryWE