diff --git a/migen/bank/eventmanager.py b/migen/bank/eventmanager.py index 8cd47a7ee..99d0a4e61 100644 --- a/migen/bank/eventmanager.py +++ b/migen/bank/eventmanager.py @@ -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]))