enable/disable litex irqs based on variant name
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 15 Oct 2020 12:25:49 +0000 (13:25 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Thu, 15 Oct 2020 12:25:49 +0000 (13:25 +0100)
libreriscv
src/soc/litex/florent/libresoc/core.py

index 1f4b308f975418595a0858cd37e7e66f2fe7244d..f0f302d80683c9b68fc9b13dac9f590ae1937232 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 1f4b308f975418595a0858cd37e7e66f2fe7244d
+Subproject commit f0f302d80683c9b68fc9b13dac9f590ae1937232
index f72e2f076a9ca66132fe7cefe3823e291bbf55f4..3bc76798f64cc170f5672336e17c9169bb774920 100644 (file)
@@ -148,7 +148,10 @@ class LibreSoC(CPU):
         self.platform     = platform
         self.variant      = variant
         self.reset        = Signal()
-        self.interrupt    = Signal(16)
+        irq_en = "noirq" not in variant
+
+        if irq_en:
+            self.interrupt    = Signal(16)
 
         if variant == "standard32":
             self.data_width           = 32
@@ -200,11 +203,12 @@ class LibreSoC(CPU):
             o_memerr_o         = Signal(),   # not connected
             o_pc_o             = Signal(64), # not connected
 
-            # interrupts
-            i_int_level_i      = self.interrupt,
-
         )
 
+        if irq_en:
+            # interrupts
+            self.cpu_params['i_int_level_i'] = self.interrupt
+
         if jtag_en:
             self.cpu_params.update(dict(
                 # JTAG Debug bus