Interconnect flow graph for integrated circuit design
AssigneeAmazon Technologies, Inc.
InventorsUri Leder, Ori Ariel, Max Chvalevsky, Benzi Denkberg, Guy Nakibly
Life of this patent
Estimating the term…
Abstract
An integrated circuit design technique utilizes a data structure describing the connections, interconnect routing information of the connections, and bandwidth requirements of the connections in an integrated circuit device to generate an interconnect flow graph having nodes, and edges connecting the nodes. The edges connecting the nodes can reflect the bandwidth requirements of the connections. The interconnect flow graph can be used to optimize and verify the integrated circuit design.
Claims18
A computer-implemented method for verifying interconnect bandwidth in an integrated circuit design having multiple system-on-chip (SoC) devices, the method comprising:
- receiving a connectivity data structure indicating connections for data communication between source ports and target ports of the integrated circuit design;
- receiving a routing data structure indicating an interconnect route for each of the connections of the integrated circuit design, the routing data structure including mappings of connections routed via chip-to-chip connection ports;
- receiving a bandwidth data structure indicating a communication bandwidth for each of the connections between the source ports and the target ports of the integrated circuit design;
- generating a representation of an interconnect flow graph by:
- generating a node for each communication port used in the connections of the integrated circuit design;
- and
- for each of the connections, generating an edge between nodes along the interconnect route of the corresponding connection, and assigning the communication bandwidth of the corresponding connection to each edge along the interconnect route;
- and
- for each of the nodes in the interconnect flow graph:
- calculating a bandwidth utilization by adding the communication bandwidth of all incoming edges to the node;
- and
- verifying that the bandwidth utilization of the node is within a bandwidth constraint of the node.
A computer-implemented method, comprising:
- receiving a data structure indicating, for each connection of a plurality of connections for data communication between communication ports of functional circuit blocks in an integrated circuit design:
- interconnect routing information for the connection;
- and
- a communication bandwidth for the connection,
- wherein the data structure includes mappings of connections routed via chip-to-chip connection ports;
- parsing the data structure to determine a set of communication ports used in the plurality of connections;
- generating a representation of an interconnect flow graph based on the data structure by:
- generating a set of nodes corresponding to the set of communication ports;
- and
- for each connection in the plurality of connections, generating an edge between nodes along an interconnect route of the connection, and assigning the communication bandwidth of the connection to each edge along the interconnect route;
- and
- for each node in the set of nodes, calculating a bandwidth utilization of the node by aggregating the communication bandwidth of incoming edges to the node, and determining whether the bandwidth utilization of the node is within a bandwidth constraint of the node.
A non-transitory computer-readable medium having stored therein code that, when executed by one or more processors, causes the one or more processors to perform operations including:
- receiving a data structure describing a plurality of connections for data communication between communication ports of functional circuit blocks in an integrated circuit design, wherein the data structure includes mappings of connections routed via chip-to-chip connection ports;
- parsing the data structure to determine a set of communication ports used in the plurality of connections;
- generating a representation of an interconnect flow graph based on the data structure by
- generating a set of nodes corresponding to the set of communication ports;
- and
- for each connection in the plurality of connections, generating an edge between nodes along an interconnect route of the connection, and assigning a communication bandwidth of the connection to each edge along the interconnect route;
- and
- for each node in the set of nodes, calculating a bandwidth utilization of the node by aggregating the communication bandwidth of incoming edges to the node, and determining whether the bandwidth utilization of the node is within a bandwidth constraint of the node.
Dependencies are inferred from the claim text.