IP Library › Granted Patent US 12,639,138
Granted Patent B1
US 12,639,138 · App. 19/289,186 · Granted May 26, 2026

Method and system for aggregating event occurrence indications

Inventors: Daniel Greenspan (Jerusalem, IL); Yoav Lossin (Givat-Ada, IL); Ronen Gal (Ramat Gan, IL); Oded Margalit (Ramat Gan, IL)
Assignee: NEXT SILICON LTD.
G06F9/542G06N7/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,639,138
App. No.
19/289,186
Granted
May 26, 2026
Kind
B1
Abstract

An event aggregation fabric, implemented over an Integrated Circuit (IC) may include a Directed Acyclic Graph (DAG), including one or more aggregation nodes. Each aggregation node may receive input cue signals, originating from one or more source modules in the IC via respective one or more lean (e.g., single-wire) connections, indicate occurrence of events in respective source modules. The aggregation node may maintain a deficit count of the input cue signals, and generate an output cue signal, based on the deficit count. When the aggregation node is a terminal node of the DAG, it may transfer the output cue signal as an aggregated indication, representing occurrence of events in the source modules, to a target module in the IC. Otherwise, the aggregation node may transfer the output cue signal via lean connection to a subsequent aggregation node of the DAG, towards the terminal node.

Claims (57)

1 . An event aggregation fabric, configured as a Directed A-cyclic Graph (DAG), comprising one or more aggregation nodes interconnected by arcs implemented as lean connections, wherein each aggregation node in the DAG is defined as either a terminal node, representing a final aggregation point in the DAG, or as a non-terminal node, and wherein each aggregation node is configured to:

receive input cue signals, originating from one or more source modules, wherein each input cue signal indicates occurrence of an event in said source modules;

maintain a deficit count of the input cue signals, and generate an output cue signal, based on said deficit count wherein the deficit count represents a number of input cue signals that have been received but have not yet been transferred as output cue signals;

when the aggregation node is defined as a terminal node of the DAG, transfer the output cue signal as a global indication signal, representing an aggregation of occurrence of events in said source modules, to a specific target module of one or more target modules; and

when the aggregation node is not defined as a terminal node, transfer the output cue signal via a lean connection to a subsequent aggregation node or relay node of the DAG, towards the terminal node,

wherein the specific target module is configured to control a processing workflow based on said global indication.

2 . The event aggregation fabric of claim 1 , further comprising a plurality of leaf nodes at a periphery of the DAG, wherein at least one aggregation node of the DAG is configured to receive the input cue signals via one or more leaf nodes of the plurality of leaf nodes, and wherein each leaf node is configured to:

receive indication of occurrence of an event from a specific source module; and

subsequently transmit an input cue signal, indicating occurrence of that event via a lean connection, to an aggregation node in the DAG.

3 . The event aggregation fabric of claim 1 , wherein the DAG further comprises one or more relay nodes, configured to:

receive a relay rule, defining a logic for relaying input cue signals between an input port and an output port of the relay node;

receive, via the input port, an output cue signal of a first aggregation node or leaf node as an input cue signal; and

transfer the received input cue signal via the output port, as input to a second aggregation node or terminal node in the aggregation fabric, based on the relay rule.

4 . The event aggregation fabric of claim 1 , wherein at least one aggregation node is further configured to increment the deficit count when a number of input cue signals received in a predetermined timeframe exceeds the number of output cue signals generated in that timeframe.

5 . The event aggregation fabric of claim 1 , wherein at least one aggregation node is further configured to decrement the deficit count, and generate an output cue signal at a predetermined timeframe, when (i) the deficit count is non-zero and (ii) a number of input cue signals received in that timeframe is less than number of output cue signals generated in that timeframe.

6 . The event aggregation fabric of claim 1 , wherein at least one aggregation node is further configured to:

maintain a first deficit count of input cue signals, pertaining to a first type of events;

maintain at least one second deficit count of input cue signals, pertaining to at least one respective, second type of events; and

generate the output cue signal, based on the first deficit count and the at least one second deficit count.

7 . The event aggregation fabric of claim 6 wherein the first type of events is a termination of a first type of task in the source modules, and wherein the at least one second type of events is a termination of at least one respective, second type of task in the source modules.

8 . The event aggregation fabric of claim 7 , wherein a first terminal node of the DAG is adapted to transfer the output cue signal to a first target module of the one or more target modules, as a global acknowledgement signal, representing an overall indication of termination of the first type of task in the source modules.

9 . The event aggregation fabric of claim 8 , wherein at least one second terminal node of the DAG is adapted to transfer respective output cue signals to at least one second, respective target module of the one or more target modules, as a global acknowledgement signal, representing an aggregated indication of termination of the at least one second type of task in the source modules.

10 . The event aggregation fabric of claim 1 wherein at least one aggregation node is further configured to:

receive a generation rule, defining a logic for generating an output cue signal;

receive one or more input cue signals via one or more input ports of the aggregation node; and

generate the output cue signal on an output port of the aggregation node, based on the deficit count and the one or more input cue signals, in accordance with the generation rule.

11 . The event aggregation fabric of claim 10 , wherein said generation rule determines an output format of output cue signals, wherein said output format comprises a broadcast, or multicast of an output cue signal to the one or more target modules and/or subsequent aggregation nodes in the DAG, via multiples output ports of the aggregation node.

12 . The event aggregation fabric of claim 10 , wherein said generation rule determines an output format of output cue signals, wherein said output format is selected from a list consisting of: (i) transmission of output cue signals, pertaining to a first event type, and at least one second event type via separate, dedicated output ports of the aggregation node, and (ii) transmission of an encoded combination of output cue signals pertaining to the first event type and the at least one second event type, via a common output port of the aggregation node.

13 . The event aggregation fabric of claim 10 , wherein said logic is selected from a list consisting of: (i) a function of a deficit count pertaining to the first event type, (ii) a function of a deficit count pertaining to the at least one second event type, (iii) a weighted function of input cue signals from preceding aggregation nodes, (iv) a weighted function of input cue signals from leaf nodes, and (v) any combination thereof.

14 . The event aggregation fabric of claim 10 , wherein said logic comprises a prioritization between a first event type and at least one second event type.

15 . The event aggregation fabric of claim 14 , wherein said prioritization is calculated based on at least one of: (i) a deficit count of the first event type (ii) a deficit count of the at least one second event type, (iii) a metric of fairness between the first event type and the at least one second event type, (iv) time of arrival of input cue signals of the first event type, (v) time of arrival of input cue signals of the at least one second event type, or any combination thereof.

16 . A reconfigurable Integrated Circuit (IC) comprising:

a plurality of Processing Elements (PEs);

reconfiguration management module, configured to:

identify tasks for execution within the IC;

allocate subsets of the plurality of PEs as source modules, adapted to perform the identified tasks;

allocate one or more PEs to form one or more target modules in the IC; and

based on said allocation, define a Directed A-cyclic Graph (DAG) according to the allocated source modules, wherein the DAG is configured to:

aggregate indications of event notification from said source modules;

generate a global notification signal, representing a count of notification events by the source modules of the IC; and

propagate the global notification signal to a specific target module of the at least one or more target modules,

wherein the specific target module is adapted to control a processing workflow in the IC based on the global notification signal.

17 . The IC of claim 16 , wherein the reconfiguration management module is configured to define the DAG by configuring a plurality of aggregation nodes, interconnected over arcs, implemented by lean connections, wherein each aggregation node in the DAG is defined as either a terminal node, representing a final aggregation point in the DAG, or as a non-terminal node, and wherein one or more aggregation nodes of the plurality of aggregation nodes is configured to:

receive input cue signals, originating from one or more source modules in the IC, wherein each input cue signal indicates completion of a task in said source modules;

maintain a deficit count of the input cue signals and generate an output cue signal, based on said deficit count, wherein the deficit count represents a number of input cue signals that have been received but have not yet been transferred as output cue signals;

when the aggregation node is a terminal node of the DAG, transfer the output cue signal as the global indication signal to a specific target module of the one or more target modules in the IC;

when the aggregation node is not a terminal node of the DAG, transfer the output cue signal via a lean connection to a subsequent aggregation node of the DAG, towards the terminal node.

18 . A method of aggregating indications in an Integrated Circuit (IC), said method comprising:

allocating a plurality of aggregation nodes in the IC;

interconnecting the aggregation nodes by single-wire connections, to form a Directed A-cyclic Graph (DAG), wherein each aggregation node in the DAG is defined as either a terminal node, representing a final aggregation point in the DAG, or as a non-terminal node;

designating source modules and at least one target module in the IC; and

configuring each aggregation node in the DAG to:

receive input cue signals, originating from one or more source modules in the IC via respective one or more single wire connections, wherein each input cue signals indicates occurrence of an event of a specific type in said source modules;

maintain a deficit count of the input cue signals, pertaining to the specific type of events, and generate an output cue signal, based on said deficit count, wherein the deficit count represents a number of input cue signals that have been received but have not yet been transferred as output cue signals;

when the aggregation node is a terminal node of the DAG, transfer the output cue signal as a global indication signal, representing an aggregation of occurrence of events in said source modules, to a target module in the IC; and

when the aggregation node is not a terminal node of the DAG, transfer the output cue signal via single-wire connection to a subsequent aggregation node in the DAG, towards the terminal node,

wherein the target module is configured to control a processing workflow on the IC based on said global indication.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2025
From: GREENSPAN, DANIEL; LOSSIN, YOAV; GAL, RONEN; MARGALIT, ODED
To: NEXT SILICON LTD.
Reel/Frame 071919/0613 →
References Cited (6)
US 10091297B1 · Zhao · 2018 [cited by examiner]
US 20100198776A1 · Wang · 2010 [cited by examiner]
US 20130063460A1 · Marison · 2013 [cited by examiner]
US 20130250808A1 · Hui · 2013 [cited by examiner]
US 20240403138A1 · Sabhanatarajan · 2024 [cited by examiner]
US 20250231798A1 · Zhao · 2025 [cited by examiner]