Placement method for integrated circuit design using topo-clustering
First Claim
1. A method of placing circuit elements on an integrated circuit design layout, comprising the steps of:
- grouping circuit elements into clusters based on topological relatedness of the circuit elements of a cluster;
placing circuit elements by cluster within bins defined on the circuit design layout;
defining a plurality of regions, at least some including multiple bins; and
applying a placement refinement technique to at least some of said regions to produce a placement that is improved within at least some of the regions, as measured by a cost function.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention, generally speaking, provides a placement method for the physical design of integrated circuits in which natural topological feature clusters (topo-clusters) are discovered and exploited during the placement process. Topo-clusters may be formed based on various criteria including, for example, functional similarity, proximity (in terms of number of nets), and genus. Genus refers to a representation of a netlist in terms of a number of planar netlists—netlists in which no crossing of nets occurs. Topo-clusters drive initial placement, with all of the gates of a topo-cluster being placed initially in a single bin of the placement layout or within a group of positionally-related bins. The portion of a topo-cluster placed within a given bin is called a quanto-cluster. An iterative placement refinement process then follows, using a technique referred to herein as Geometrically-Bounded FM (GBFM), and in particular Dual GBFM. In GBFM, FM is applied on a local basis to windows encompassing some number of bins. From iteration to iteration, windows may shift position and vary in size. When a region bounded by a window meets a specified cost threshold in terms of a specified cost function, that region does not participate. The cost function takes account of actual physical metrics—delay, area, congestion, power, etc. “Dual” refers to the fact that each iteration has two phases. During a first phase, FM is performed within a region on a quanto-cluster basis. During a second phase, FM is performed within the region on a gate basis. GBFM occurs in the context of recursive quadrisection. Hence, after GBFM has been completed, a further quadrisection step is performed in which each bin is divided into four bins, with a quarter of the gates of the original bin being placed in the center of each of the resulting bins. GBFM then follows, and the cycle repeats until each bin contains a fairly small number of gates. Following the foregoing global placement process, the circuit is then ready for detailed placement in which cells are assigned to placement rows.
79 Citations
30 Claims
-
1. A method of placing circuit elements on an integrated circuit design layout, comprising the steps of:
-
grouping circuit elements into clusters based on topological relatedness of the circuit elements of a cluster;
placing circuit elements by cluster within bins defined on the circuit design layout;
defining a plurality of regions, at least some including multiple bins; and
applying a placement refinement technique to at least some of said regions to produce a placement that is improved within at least some of the regions, as measured by a cost function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19)
-
-
16. A method of forming clusters of topologically-related design elements for placement on a layout, comprising the steps of:
-
forming a hypergraph representing topological relatedness of said design elements;
determining planar sub-graphs of the hypergraph; and
based on said planar subgraphs, forming a plurality of clusters of design elements, each cluster including a plurality of design elements.
-
-
18. A method of refining placement of circuit elements placed within bins on an integrated circuit design layout in accordance with an initial placement, comprising the steps of:
-
selecting a first window surrounding a number of bins N greater than two;
performing N-way partitioning of circuit elements within said first window during which circuit elements within the first window are reapportioned among bins within the first window so as to decrease a cost function calculated over the bins within the first window;
selecting a second window having at least one bin in common with said first window; and
performing N-way partitioning of circuit elements within said second window during which circuit elements within the second window are reapportioned among bins within the second window so as to decrease a cost function calculated over the bins within the second window.
-
-
20. A method of refining placement of integrated circuit elements placed in accordance with an initial placement within bins on a design layout representing an integrated circuit, the method comprising the steps of:
-
defining a window encompassing a plurality of bins; and
performing multi-way partitioning of integrated circuit elements between bins within the window based on a geometric cost function. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A computer-readable medium including instructions for placing circuit elements on an integrated circuit design layout, including instructions for:
-
grouping circuit elements into clusters based on topological relatedness of the circuit elements of a cluster;
placing circuit elements by cluster within bins defined on the circuit design layout;
defining a plurality of regions, at least some including multiple bins; and
applying a placement refinement technique to at least some of said regions to produce a placement that is improved within at least some of the regions, as measured by a cost function.
-
-
26. A computer-readable medium including instructions for forming clusters of topologically-related design elements for placement on a layout, including instructions for:
-
forming a hypergraph representing topological relatedness of said design elements;
determining planar sub-graphs of the hypergraph; and
based on said planar subgraphs, forming a plurality of clusters of design elements, each cluster including a plurality of design elements.
-
-
27. A computer-readable medium including instructions for refining placement of circuit elements placed within bins on an integrated circuit design layout in accordance with an initial placement, including instructions for:
-
selecting a first window surrounding a number of bins N greater than two;
performing N-way partitioning of circuit elements within said first window during which circuit elements within the first window are reapportioned among bins within the first window so as to decrease a cost function calculated over the bins within the first window;
selecting a second window having at least one bin in common with said first window; and
performing N-way partitioning of circuit elements within said second window during which circuit elements within the second window are reapportioned among bins within the second window so as to decrease a cost function calculated over the bins within the second window.
-
-
28. A computer-readable medium including instructions for refining placement of integrated circuit elements placed in accordance with an initial placement within bins on a design layout representing an integrated circuit, including instructions for:
-
defining a window encompassing a plurality of bins; and
performing multi-way partitioning of integrated circuit elements between bins within the window based on a geometric cost function.
-
-
29. A system for placing circuit elements on an integrated circuit design layout, comprising:
-
means for grouping circuit elements into clusters based on topological relatedness of the circuit elements of a cluster;
means for placing circuit elements by cluster within bins defined on the circuit design layout;
means for defining a plurality of regions, at least some including multiple bins; and
means for applying a placement refinement technique to at least some of said regions to produce a placement that is improved within at least some of the regions, as measured by a cost function.
-
-
30. A method of forming clusters of topologically-related design elements for placement on a layout comprising the steps of:
-
forming a hypergraph representing topological relatedness of said design elements;
determining planar sub-graphs of the hypergraph; and
based on said planar subgraphs, forming a plurality of clusters of design elements, each cluster including a plurality of design elements.
-
Specification