From 8edc659d7d23c7be6b1ff35e96871b524188f1b5 Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Tue, 19 Jun 2018 11:15:29 +0200 Subject: [PATCH] soc_core: remove assert on interrupt (added to catch design issues, but too restrictive for some usecases) --- litex/soc/integration/soc_core.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/litex/soc/integration/soc_core.py b/litex/soc/integration/soc_core.py index 4d2a026cd..62cb95563 100644 --- a/litex/soc/integration/soc_core.py +++ b/litex/soc/integration/soc_core.py @@ -301,10 +301,10 @@ class SoCCore(Module): for interrupt, mod_name in sorted(self.interrupt_rmap.items()): if mod_name == "nmi": continue - assert hasattr(self, mod_name), "Missing module for interrupt %s" % mod_name - mod_impl = getattr(self, mod_name) - assert hasattr(mod_impl, 'ev'), "Submodule %s does not have EventManager (xx.ev) module" % mod_name - self.comb += self.cpu_or_bridge.interrupt[interrupt].eq(mod_impl.ev.irq) + if hasattr(self, mod_name): + mod_impl = getattr(self, mod_name) + assert hasattr(mod_impl, 'ev'), "Submodule %s does not have EventManager (xx.ev) module" % mod_name + self.comb += self.cpu_or_bridge.interrupt[interrupt].eq(mod_impl.ev.irq) def build(self, *args, **kwargs): return self.platform.build(self, *args, **kwargs)