Tunneling as a boundary congestion relief mechanism
First Claim
1. A method comprising:
- creating, by a computing apparatus, an initial state of nodes and nets representative of a circuit netlist of elements of a region of an integrated circuit, wherein the initial state includes first locations of one or more of the nodes, and wherein the nodes are represented by state variables comprising position, velocity, and mass;
generating, by the computing apparatus, a system of equations representative of motion of the nodes and nets resulting, at least in part, from one or more forces on the nodes and nets;
evolving, by the computing apparatus, the system over time to determine second locations of one or more of the nodes;
generating, by the computing apparatus, a placement of the elements of the integrated circuit in accordance with the determined second locations; and
reducing, by the computing apparatus, congestion by transiting one or more of the nodes through one or more obstructed areas of the region.
3 Assignments
0 Petitions
Accused Products
Abstract
Simultaneous Dynamical Integration modeling techniques are applied to global placement of elements of integrated circuits as described by netlists specifying interconnection of morphable-devices. Solutions to a system of coupled ordinary differential equations in accordance with Newtonian mechanics are approximated by numerical integration. A resultant time-evolving system of nodes moves through a continuous location space in continuous time, and is used to derive placements of the morphable-devices having one-to-one correspondences with the nodes. Nodes under the influence of net attractive forces, computed based on the interconnections between the morphable devices, tend to coalesce into well-organized topologies. Nodes are also affected by spreading forces determined by density fields that are developed based on local spatial node population.
-
Citations
19 Claims
-
1. A method comprising:
-
creating, by a computing apparatus, an initial state of nodes and nets representative of a circuit netlist of elements of a region of an integrated circuit, wherein the initial state includes first locations of one or more of the nodes, and wherein the nodes are represented by state variables comprising position, velocity, and mass; generating, by the computing apparatus, a system of equations representative of motion of the nodes and nets resulting, at least in part, from one or more forces on the nodes and nets; evolving, by the computing apparatus, the system over time to determine second locations of one or more of the nodes; generating, by the computing apparatus, a placement of the elements of the integrated circuit in accordance with the determined second locations; and reducing, by the computing apparatus, congestion by transiting one or more of the nodes through one or more obstructed areas of the region. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium having stored thereon, computer-executable instructions that, if executed by a computing apparatus, cause the computing apparatus to perform a method comprising:
-
creating an initial state of nodes and nets representative of a circuit netlist of elements of a region of an integrated circuit, wherein the initial state includes first locations of one or more of the nodes, and wherein the nodes are represented by state variables comprising position, velocity, and mass; generating a system of equations representative of motion of the nodes and nets resulting, at least in part, from one or more forces on the nodes and nets; evolving the system over time to determine second locations of one or more of the nodes; generating a placement of the elements of the integrated circuit in accordance with the determined second locations; and reducing congestion by transiting one or more of the nodes through one or more obstructed areas of the region. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A system comprising:
-
a processor; and a non-transitory computer-readable medium coupled to the processor by way of a bus, the non-transitory computer-readable medium having stored thereon, computer-executable instructions that, if executed by the processor, cause the system to perform a method comprising; creating, by a computing apparatus, an initial state of nodes and nets representative of a circuit netlist of elements of a region of an integrated circuit, wherein the initial state includes first locations of one or more of the nodes, and wherein the nodes are represented by state variables comprising position, velocity, and mass; generating, by the computing apparatus, a system of equations representative of motion of the nodes and nets resulting, at least in part, from one or more forces on the nodes and nets; evolving, by the computing apparatus, the system over time to determine second locations of one or more of the nodes; generating, by the computing apparatus, a placement of the elements of the integrated circuit in accordance with the determined second locations; and reducing congestion by transiting one or more of the nodes through one or more obstructed areas of the region. - View Dependent Claims (18, 19)
-
Specification