IP Library Granted Patent US 7,921,392
Granted Patent B2
US 7,921,392 · App. 11/967,184 · Granted Apr 5, 2011

Node spreading via artificial density enhancement to reduce routing congestion

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 7,921,392
App. No.
11/967,184
Granted
Apr 5, 2011
Kind
B2
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 populations.

Claims (40)

1. A method comprising:

creating, by a computing apparatus, an initial state of nodes and nets representative of a circuit netlist of elements 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 a first plurality of 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

modifying, by the computing apparatus, routing of the integrated circuit via a second plurality of forces based, at least in part, on densities associated with a portion of the nodes.

2. The method of claim 1 , wherein all of the nodes of the portion of the nodes correspond to a particular type of the elements.

3. The method of claim 2 , wherein the particular type is a combinational type.

4. The method of claim 2 , wherein the particular type is a sequential type.

5. The method of claim 1 , further comprising adding, by the computing apparatus, for one or more regions of the integrated circuit, a respective congestion density enhancement term to the densities associated with ones of the portion of the nodes corresponding to ones of the elements of the region.

6. The method of claim 5 , wherein the respective congestion density enhancement terms are scaled by a normalization factor based, at least in part, on an average density.

7. The method of claim 5 , wherein the respective congestion density enhancement terms are determined, at least in part, by a congestion array.

8. The method of claim 7 , wherein the congestion array is derived from a Steiner cuts measurement.

9. The method of claim 7 , further comprising run-length averaging, by the computing apparatus, the congestion array according to a specified relaxation factor.

10. The method of claim 1 , further comprising calculating, by the computing apparatus, a particular one of the forces based, at least in part, on an expansion field according to densities associated with the portion of the nodes.

11. The method of claim 1 , further comprising:

determining, by the computing apparatus, densities associated with the portion of the nodes according to a discrete grid; and

calculating, by the computing apparatus, resultant spatial spreading ones of the forces acting on the nodes according to the densities.

12. A non-transitory computer-readable medium having stored thereon, computer-executable instructions configured to cause the computing apparatus, in response to execution of the instructions by the computing apparatus, to perform a plurality of operations comprising:

creating an initial state of nodes and nets representative of a circuit netlist of elements 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 a first plurality of 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

modifying routing of the integrated circuit via a second plurality of forces based, at least in part, on densities associated with a portion of the nodes.

13. The non-transitory computer-readable medium of claim 12 , wherein all of the nodes of the portion of the nodes correspond to a particular type of the elements.

14. The non-transitory computer-readable medium of claim 12 , wherein the operations further comprise adding, for one or more regions of the integrated circuit, a respective congestion density enhancement term to the densities associated with ones of the portion of the nodes corresponding to ones of the elements of the region.

15. The non-transitory computer-readable medium of claim 12 , wherein the operations further comprise calculating a particular one of the forces based, at least in part, on an expansion field according to densities associated with the portion of the nodes.

16. The non-transitory computer-readable medium of claim 12 , wherein the operations further comprise:

determining densities associated with the portion of the nodes according to a discrete grid; and

calculating resultant spatial spreading ones of the forces acting on the nodes according to the densities.

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 enable the system, in response to execution of the instructions, to:

create an initial state of nodes and nets representative of a circuit netlist of elements 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;

generate a system of equations representative of motion of the nodes and nets resulting, at least in part, from a first plurality of forces on the nodes and nets;

evolve the system over time to determine second locations of one or more of the nodes;

generate a placement of the elements of the integrated circuit in accordance with the determined second locations; and

modify routing of the integrated circuit via a second plurality of forces based, at least in part, on densities associated with a portion of the nodes.

18. The system of claim 17 , wherein the instructions further enable the system, in response to execution of the instructions by the system, to add, for one or more regions of the integrated circuit, a respective congestion density enhancement term to the densities associated with ones of the portion of the nodes corresponding to ones of the elements of the region.

19. The system of claim 17 , wherein the instructions further enable the system, in response to execution of the instructions by the system, to calculate a particular one of the forces based, at least in part, on an expansion field according to densities associated with the portion of the nodes.

Assignments (3)
MERGER Recorded Jan 6, 2016
From: OTRSOTECH, LIMITED LIABILITY COMPANY
To: CALLAHAN CELLULAR L.L.C.
Reel/Frame 037451/0611 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2008
From: LIGHTSPEED LOGIC, INC.
To: OTRSOTECH, LLC
Reel/Frame 021965/0767 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2008
From: FURNISH, GEOFFREY MARK; LEBRUN, MAURICE J; BOSE, SUBHASIS
To: LIGHTSPEED LOGIC, INC.
Reel/Frame 020875/0336 →