soc_core: check for cpu before checking interrupt
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 13 Nov 2018 15:17:49 +0000 (16:17 +0100)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Tue, 13 Nov 2018 15:17:49 +0000 (16:17 +0100)
litex/soc/integration/soc_core.py

index 8b9f80f8bec1dcf1b5b77db3b6602f3fd9112699..8e91d31c1b181f05cec980926128330787e4b71e 100644 (file)
@@ -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)