diff --git a/litex/soc/integration/soc_core.py b/litex/soc/integration/soc_core.py index 8b9f80f8b..8e91d31c1 100644 --- a/litex/soc/integration/soc_core.py +++ b/litex/soc/integration/soc_core.py @@ -375,14 +375,15 @@ class SoCCore(Module): self._constants.append(("CONFIG_" + name.upper(), value)) # Interrupts - if hasattr(self.cpu, "interrupt"): - for interrupt, mod_name in sorted(self.interrupt_rmap.items()): - if mod_name == "nmi": - continue - 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.interrupt[interrupt].eq(mod_impl.ev.irq) + if hasattr(self, "cpu"): + if hasattr(self.cpu, "interrupt"): + for interrupt, mod_name in sorted(self.interrupt_rmap.items()): + if mod_name == "nmi": + continue + 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.interrupt[interrupt].eq(mod_impl.ev.irq) def build(self, *args, **kwargs): return self.platform.build(self, *args, **kwargs)