bank/eventmanager: add SharedIRQ
authorSebastien Bourdeauducq <sebastien@milkymist.org>
Mon, 6 Jan 2014 21:13:06 +0000 (22:13 +0100)
committerSebastien Bourdeauducq <sebastien@milkymist.org>
Mon, 6 Jan 2014 21:13:06 +0000 (22:13 +0100)
migen/bank/eventmanager.py

index 8cd47a7eea985effd78d212caf00cbecdb93cf4d..99d0a4e6113ffa2d92090c72c292a1e56d924c15 100644 (file)
@@ -70,3 +70,8 @@ class EventManager(Module, AutoCSR):
                        if self.finalized:
                                raise FinalizeError
                        self.submodules += value
+
+class SharedIRQ(Module):
+       def __init__(self, *event_managers):
+               self.irq = Signal()
+               self.comb += self.irq.eq(optree("|", [ev.irq for ev in event_managers]))