System and method for deterministic and incremental physically-aware network-on-chip generation
OwnerAmir Charif, Xavier Van Ruymbekeinventors
Life of this patent
Estimating the term…
Abstract
System and methods are disclosed for generation and synthesis of networks, such as a network-on-chip (NoC), to generate a network description. The system generates a NoC from a set of physical constraints and performance constraints as well as a set of inputs to a sequencer. The system produces the NoC with all its elements. The resulting output includes placement of the elements on a floorplan of a chip that represents the network, such as the NoC.
Claims5
A method for generating a deadlock free network-on-chip (NoC), the method comprising:
- generating a new NoC configuration by synthesizing at least a first new connection into an existing deadlock-free NoC configuration;
- and
- generating a first new deadlock-free route from a source to a destination using existing routes and adding new connections, including:
- translating, for each existing route in the existing deadlock-free NoC configuration, the existing routes into segments and turns;
- identifying one or more of the new connections, which are to be synthesized based on a synthesis order;
- identifying, for each of the new connections and in accordance with the synthesis order, a plurality of possible routes from the source to the destination for one or more of the new connections, wherein the plurality of possible routes are eligible routes that avoid deadlock;
- and
- filtering at least one of the plurality of possible routes based on a criteria to identify the first new deadlock-free route.
A method for synthesis of a network-on-chip (NoC) topology, the method comprising:
- receiving the NoC topology as an input;
- reusing an existing segment that is within the NoC topology in a new route, wherein the existing segment is formed by a path between a first node and a second node;
- splitting the existing segment recursively at any geographical point along the path to form a split segment;
- synthesizing the new route by adding a new segment and a new turn to the split segment, wherein the new segment and the new turn avoid cyclic dependencies to ensure a deadlock-free segment;
- and
- generating a deadlock-free NoC topology by routing a packet using the new route, from the existing segment to the new segment the deadlock-free NoC topology.
A non-transitory computer readable medium for storing code, which when executed by one or more processors, would cause the one or more processors to:
- receive an input topology of a network-on-chip (NoC);
- determine a source-destination pair in the input topology to be selected for synthesis and at least one existing connection between the source-destination pair;
- transcribe the source-destination pair into a plurality of segments;
- transcribe the at least one existing connection into a plurality of existing segments;
- determine if the NoC is deadlock-free by analyzing the plurality of segments to identify if there are any deadlocks;
- extract, in response to determining that the NoC is deadlock-free, a pair of segments from the plurality of segments that do not have defined routes and sort using a heuristic;
- input the plurality of segments and the plurality of existing segments into a configuration explorer;
- output, using a configuration filtering module in communication with the configuration explorer, eligible configurations based on the plurality of segments and the plurality of existing segments that satisfy a communication policy;
- select, using a configuration selection module in communication with the configuration filtering module, a final configuration from the eligible configurations that is to be implemented for connecting the source-destination pair, wherein the final configuration includes at least one segment selected from the plurality of segments;
- split at least one existing segment selected from the plurality of existing segments that needs to be connected to the at least one segment at a point based on the final configuration;
- activate corresponding turns connecting the at least one existing segment with the at least one segment;
- and
- compute a route for the source-destination pair using the corresponding turns connecting the at least one existing segment with the at least one segment.
Dependencies are inferred from the claim text.