US 7,509,611 B2
Heuristic clustering of circuit elements in a circuit design
Mark S. Fredrickson, Rochester, Minn. (US); Glen Howard Handlogten, Rochester, Minn. (US); and Chad B. McBride, Rochester, Minn. (US)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Feb. 07, 2006, as Appl. No. 11/348,970.
Prior Publication US 2007/0186199 A1, Aug. 09, 2007
Int. Cl. G06F 17/50 (2006.01)
U.S. Cl. 716—7  [716/2; 716/4; 716/10; 716/18] 12 Claims
OG exemplary drawing
 
1. A method of clustering circuit elements in a circuit design, the method comprising:
grouping a plurality of circuit elements in a circuit design into a plurality of size balanced clusters;
heuristically optimizing a spatial locality metric for the plurality of circuit elements by iteratively:
performing a swap of circuit elements between clusters among the plurality of clusters;
calculating the spatial locality metric after performing the swap; and
selectively discarding the swap based upon the calculated spatial locality metric; and
terminating iteration of the heuristic optimization after reaching an endpoint;
wherein each cluster is associated with a desired centroid, wherein the spatial locality metric is based at least in part upon a distance from a circuit element to the desired centroid of a cluster, wherein the desired centroid for each cluster defines a position along an axis defined in a layout of the circuit design, and wherein the spatial locality metric is based at least in part upon a distance from a circuit element to the desired centroid of a cluster along the axis.