Integrated circuit cell placement using optimization-driven clustering
First Claim
1. A method of making, including layout functions for, an integrated circuit, comprising:
- providing an integrated circuit design, said design including a plurality of cells and a plurality of interconnections between the cells, each cell having a one or more connection points;
providing an integrated circuit die size and shape and defining within the die size and shape a layout area;
globally optimizing a placement of all of the cells within the layout area based upon an objective function, wherein said step of optimizing assigns a location to each cell within the layout area and yields inter-cell physical distances for each pair of cells;
defining each cell as a single-cell cluster;
identifying neighboring clusters according to the placement;
grouping pairs of neighboring clusters into larger multi-cell clusters having internal connections, external connections and a total number of included cells, by;
selecting a pair of neighboring clusters which, if merged, would form a larger cluster with a relatively high degree of internal connectivity and a relatively low degree of external connectivity according to a single figure-of-merit for the larger clusters,selecting from multiple pairs of clusters which have the same figure-of-merit only that pair of clusters which has a least inter-cluster physical distance, whereby said least inter-cluster physical distance serves as a tie-breaker for selecting between the multiple pairs of clusters having the same figure of merit, andmerging the selected pair of neighboring clusters into a larger multi-cell cluster and eliminating the pair of neighboring clusters, if the larger cluster has a total number of included cells which is less than a pre-defined number;
repeatedly grouping pairs of clusters into larger clusters until a termination condition is met;
completing a layout process based upon the integrated circuit design, the integrated circuit die size and shape, and die area partitioning and placement of the clusters of cells, said layout process resulting in an integrated circuit layout.
1 Assignment
0 Petitions
Accused Products
Abstract
An integrated circuit layout technique is described which employs an optimization-driven clustering technique to provide improved cell placement. The technique utilizes clustering of cells based upon Rent'"'"'s rule, with global-optimization-derived inter-cell distances being used to break ties when identical Rent exponents are encountered. A constraint on the number of cells permitted to be in a cluster and a constraint on the maximum Rent exponent which to be considered for merging clusters minimize the "overgrowth" of clusters and serve to even out cluster size, ideally suiting the technique to conventional partitioning and placement schemes.
129 Citations
10 Claims
-
1. A method of making, including layout functions for, an integrated circuit, comprising:
-
providing an integrated circuit design, said design including a plurality of cells and a plurality of interconnections between the cells, each cell having a one or more connection points; providing an integrated circuit die size and shape and defining within the die size and shape a layout area; globally optimizing a placement of all of the cells within the layout area based upon an objective function, wherein said step of optimizing assigns a location to each cell within the layout area and yields inter-cell physical distances for each pair of cells; defining each cell as a single-cell cluster; identifying neighboring clusters according to the placement; grouping pairs of neighboring clusters into larger multi-cell clusters having internal connections, external connections and a total number of included cells, by; selecting a pair of neighboring clusters which, if merged, would form a larger cluster with a relatively high degree of internal connectivity and a relatively low degree of external connectivity according to a single figure-of-merit for the larger clusters, selecting from multiple pairs of clusters which have the same figure-of-merit only that pair of clusters which has a least inter-cluster physical distance, whereby said least inter-cluster physical distance serves as a tie-breaker for selecting between the multiple pairs of clusters having the same figure of merit, and merging the selected pair of neighboring clusters into a larger multi-cell cluster and eliminating the pair of neighboring clusters, if the larger cluster has a total number of included cells which is less than a pre-defined number; repeatedly grouping pairs of clusters into larger clusters until a termination condition is met; completing a layout process based upon the integrated circuit design, the integrated circuit die size and shape, and die area partitioning and placement of the clusters of cells, said layout process resulting in an integrated circuit layout. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of making, including layout functions for, an integrated circuit, comprising the steps of:
-
a) providing an integrated circuit die size and shape; b) defining with the integrated circuit die size and shape a layout area; c) providing an integrated circuit design including a plurality of cells, and a plurality of inter-cell connections, said cells each having one or more connection points by which the inter-cell connections are accomplished; d) performing a global optimization process to arrive at an optimal placement of all of the cells within the layout area based upon an objective function, wherein said optimization assigns a location to each cell within the layout area, and storing location coordinates of each cell in a cluster list, according to the placement; e) defining each cell in the cluster list as a cluster; f) identifying pairs of neighboring clusters according to the placement, computing a single figure-of-merit for each pair of neighboring clusters, and storing an identifier and the computed figure-of-merit for each pair of neighboring clusters in a pair list; g) sorting the pair list according to the figure-of-merit; h ) selecting and removing the pair list entry for a neighboring pair of clusters having a best figure-of-merit according to a pre-defined criterion, unless there is a "tie" where two or more entries in the pair list have equal best figures-of-merit, in that case selecting and removing from the pair list the entry corresponding to the neighboring pair of clusters having the best figure-of-merit and having the least physical distance between the clusters, whereby the least physical distance between clusters serves as a tie-breaker for selecting between the entries in the pair list having the equal best figures-of-merit; i) proceeding to step "m" if the figure-of-merit for the selected neighboring pair of clusters fails to meet a pre-determined first constraint, otherwise proceeding to step "j"; j) proceeding to step "1" if the total number of cells within the neighboring pair of clusters fails to meet a pre-defined second constraint, otherwise proceeding to step "k"; k) forming a new cluster by merging the selected neighboring pair of clusters into a single cluster, updating the cluster list to include the new cluster and a set of coordinates for the new cluster, computing new figures-of-merit for new entries in the pair list which includes neighboring pairs of clusters which include the new cluster, eliminating entries in the pair list corresponding to any neighboring pair of clusters which includes either of the clusters in the selected neighboring pair, and re-sorting the pair list according to the figure of merit; l) proceeding to step "h" if there are any remaining entries in the pair list, otherwise proceeding to step "m"; m) completing a layout process based upon the integrated circuit design, the integrated circuit die size and shape, and die area partitioning and placement of the clusters of cells, said layout process resulting in an integrated circuit layout. - View Dependent Claims (7, 8, 9, 10)
-
Specification