From 60920f3c7dc13f49332ad4dab68ccaf12aa60a43 Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Wed, 27 Mar 2024 17:09:33 +0100 Subject: [PATCH] integration/export: Also fix MockCSRRegion base definition. --- litex/soc/integration/export.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/litex/soc/integration/export.py b/litex/soc/integration/export.py index 5a0475cec..21ac7e7fc 100644 --- a/litex/soc/integration/export.py +++ b/litex/soc/integration/export.py @@ -265,9 +265,10 @@ def get_csr_header(regions, constants, csr_base=None, with_csr_base_define=True, r += f"#define CSR_BASE {hex(csr_base)}L\n" r += "#endif\n" for name, region in regions.items(): - origin = region.origin - _csr_base + origin = region.origin - _csr_base + base_define = not isinstance(region, MockCSRRegion) r += "\n/* "+name+" */\n" - r += f"#define CSR_{name.upper()}_BASE {_get_csr_addr(csr_base, origin, with_csr_base_define)}\n" + r += f"#define CSR_{name.upper()}_BASE {_get_csr_addr(csr_base, origin, base_define)}\n" if not isinstance(region.obj, Memory): for csr in region.obj: nr = (csr.size + region.busword - 1)//region.busword @@ -279,7 +280,7 @@ def get_csr_header(regions, constants, csr_base=None, with_csr_base_define=True, alignment = alignment, read_only = getattr(csr, "read_only", False), csr_base = csr_base, - with_csr_base_define = with_csr_base_define and (not isinstance(region, MockCSRRegion)), + with_csr_base_define = base_define, with_access_functions = with_access_functions, ) origin += alignment//8*nr