From 2134c0d0b027934a99e135af93ac8ee48a2f0e5b Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Fri, 8 Dec 2023 12:02:45 +0100 Subject: [PATCH] soc/integration/soc: when adding a CSR Bridge bus_bridge must keep bus.address_width instead of the default value --- litex/soc/integration/soc.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/litex/soc/integration/soc.py b/litex/soc/integration/soc.py index eedcc82b2..bede4562d 100644 --- a/litex/soc/integration/soc.py +++ b/litex/soc/integration/soc.py @@ -1039,9 +1039,17 @@ class SoC(LiteXModule, SoCCoreCompat): "axi-lite": axi.AXILite2CSR, "axi" : axi.AXILite2CSR, # Note: CSR is a slow bus so using AXI-Lite is fine. }[self.bus.standard] + bus_bridge_cls = { + "wishbone": wishbone.Interface, + "axi-lite": axi.AXILiteInterface, + "axi" : axi.AXILiteInterface, + }[self.bus.standard] csr_bridge_name = f"{name}_bridge" self.check_if_exists(csr_bridge_name) csr_bridge = csr_bridge_cls( + bus_bridge_cls( + address_width = self.bus.address_width, + data_width = self.bus.data_width), bus_csr = csr_bus.Interface( address_width = self.csr.address_width, data_width = self.csr.data_width),