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.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: determining, by a computing apparatus, a placement of one or more elements of a region of a design of an integrated circuit by simultaneous dynamical integration of an analogous system of nodes and forces; computing, by a computing apparatus, relative slack data for a respective pin of one of the elements; and updating, by a computing apparatus, one of the forces using the relative slack data.
2. The method of claim 1 , wherein the respective pin of the one of the elements comprises a first respective pin of a first one of the elements, and wherein the method further comprises calculating one of the forces based, at least in part, on a pin-to-pin distance between the first respective pin and a second respective pin of a second one of the elements.
3. The method of claim 2 , wherein a first node corresponds to the first one of the elements, and wherein the one of the forces acts upon the first node.
4. The method of claim 2 , wherein a second node corresponds to the second one of the elements, and wherein the one of the forces acts upon the second node.
5. The method of claim 1 , wherein the one of the forces is an attractive force.
6. The method of claim 1 , wherein the computing is performed at least in part by a timing kernel.
7. The method of claim 6 , further comprising propagating transition times, by using the timing kernel, through a timing graph to produce the relative slack data.
8. The method of claim 7 , wherein the propagating produces a slack time, and wherein the method further comprises normalizing the slack time to produce the relative slack data.
9. The method of claim 1 , further comprising adjusting a timing weight of the respective pin based at least in part on the relative slack data.
10. The method of claim 9 , wherein the respective pin of the one of the elements comprises a first respective pin, and wherein the first respective pin is connected by a net to a second respective pin of the one of the elements.
11. The method of claim 10 , wherein the adjusting is further based at least in part on a proximity of the respective pin to a bounding box, the bounding box being defined by one or more pins of the net.
12. The method of claim 9 , wherein the updating comprises weighting the one of the forces in accordance with the timing weight.
13. The method of claim 12 , wherein the weighting comprises multiplying the one of the forces by the timing weight.
14. The method of claim 1 , wherein the relative slack data comprises a worst slack among paths through the respective pin.
15. A 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: determining, by a computing apparatus, a placement of one or more elements of a region of a design of an integrated circuit via simultaneous dynamical integration of an analogous system of nodes and forces; computing, by a computing apparatus, relative slack data for a respective pin of one of the elements; and updating, by the computing apparatus, one of the forces using the relative slack data.
16. The computer readable medium of claim 15 , wherein the respective pin of the one of the elements comprises a first respective pin of a first one of the elements, and wherein the method further comprises calculating one of the forces based, at least in part, on a pin-to-pin distance between the first respective pin and a second respective pin of a second one of the elements.
17. The computer readable medium of claim 15 , further comprising adjusting a timing weight of the respective pin based at least in part on the relative slack data.
18. A system comprising: a processor; and a computer-readable medium coupled to the processor by way of a bus, the computer-readable medium having stored thereon, computer-executable instructions that, if executed by the processor, cause the system to perform a method comprising: determining a placement of one or more elements of a region of a design of an integrated circuit via simultaneous dynamical integration of an analogous system of nodes and forces; computing relative slack data for a respective pin of one of the elements; and updating one of the forces using the relative slack data.
19. The system of claim 18 , wherein the respective pin of the one of the elements comprises a first respective pin of a first one of the elements, and wherein the method further comprises calculating one of the forces based, at least in part, on a pin-to-pin distance between the first respective pin and a second respective pin of a second one of the elements.
20. The system of claim 18 , wherein the method further comprises adjusting a timing weight of the respective pin based at least in part on the relative slack data.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 29, 2007
October 12, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.