Claims Analysis
Total Claims: 43
Claim 1
Independent Claim
116 words
A method of producing a placement of cells for a microelectronic integrated circuit in accordance with specified cell interconnects, comprising the steps: (a) constructing a hierarchial cluster tree in accordance with said interconnects in which a lowest level of said tree includes clusters of said cells, and each successively higher level includes clusters of clusters from a respective successively lower level; (b) placing said clusters of each successively lower level within respective clusters of each successively higher level in progressively decreasing order of levels by computing a gravity point for each cluster and modifying cell placement based on a predetermined gravity point adjustment function; and (c) placing said cells within respective clusters of said lowest level.
Claim 2
Independent Claim
116 words
A method of producing a placement of cells for a microelectronic integrated circuit in accordance with specified cell interconnects, comprising the steps: (a) constructing a hierarchial cluster tree in accordance with said interconnects in which a lowest level of said tree includes clusters of said cells, and each successively higher level includes clusters of clusters from a respective successively lower level; (b) placing said clusters of each successively lower level within respective clusters of each successively higher level in progressively decreasing order of levels by computing a gravity point for each cluster and modifying cell placement based on a predetermined gravity point adjustment function; and (c) placing said cells within respective clusters of said lowest level.
Claim 3
Dependent Claim
47 words
A method as in claim 1, in which step (a) comprises the substeps of: (a1) representing said cells and said interconnects as a hypergraph; and (a2) converting said hypergraph into a graph in which said cells are represented by vertices and said interconnects are represented by edges.
Claim 4
Dependent Claim
17 words
A method as in claim 2, wherein said edges are defined in accordance with a predetermined function.
Claim 5
Dependent Claim
18 words
A method as in claim 3, wherein said predetermined function comprises defining said edges in a chain configuration.
Claim 6
Dependent Claim
18 words
A method as in claim 3, wherein said predetermined function comprises defining said edges in a star configuration.
Claim 7
Dependent Claim
18 words
A method as in claim 3, wherein said predetermined function comprises defining said edges in a tree configuration.
Claim 8
Dependent Claim
59 words
A method as in claim 1, in which step (a) comprises the substeps of: (a1) creating disjoint clusters of said cells in accordance with a first predetermined function to produce said lowest level; and (a2) merging clusters of each successively lower level in accordance with a second predetermined function to produce said clusters of each respective successively higher level.
Claim 9
Dependent Claim
34 words
A method as in claim 7, wherein said first predetermined function comprises creating each disjoint cluster as including a selected cell, and cells that are connected to said selected cell by one interconnect respectively.
Claim 10
Dependent Claim
15 words
A method as in claim 7, wherein said second predetermined function comprises a min-cut operation.
Claim 11
Dependent Claim
64 words
A method as in claim 9, in which step (a2) comprises the substeps, for each cell, of: (i) computing a first number of intra-cluster interconnects; (ii) computing a second number of inter-cell interconnects; and (iii) if said second number is larger than said first number, moving said cell to a cluster to which said cell is connected by a largest number of inter-cell interconnects.
Claim 12
Dependent Claim
40 words
A method as in claim 7, in which step (a) further comprises the substep of: (a3) iteratively repeating step (a2) for each level until said level comprises a number of cells or clusters from lower levels within a predetermined range.
Claim 13
Dependent Claim
20 words
A method as in claim 11, in which said predetermined range is approximately 50-100 cells or clusters from lower levels.
Claim 14
Dependent Claim
34 words
A method as in claim 7, in which step (a) further comprises the substep of: (a3) performing step (a2) for progressively higher levels until a highest level is produced which consists of one cluster.
Claim 15
Dependent Claim
45 words
A method as in claim 1, wherein step (b) comprises the substeps, for each level of clusters, the steps of: (b1) generating an initial placement of said clusters; and (b2) modifying said initial placement in accordance with a predetermined function to produce an improved placement.
Claim 16
Dependent Claim
72 words
A method as in claim 1, wherein modifying cell placement based on a predetermined gravity point adjustment function comprises: (i) computing a new gravity point for each cluster based on the current gravity point and a number of interconnects connecting cluster vertices, wherein clusters are modeled as masses and interconnects are modeled as springs pulling clusters together; and (ii) moving each cluster from said current gravity point to said new gravity point.
Claim 17
Dependent Claim
57 words
A method as in claim 15, in which step (i) further comprises, for each cluster, computing said new gravity point in accordance with directions and distances from said current gravity point to said current gravity points of other clusters to which said cluster is connected, and numbers of interconnects that connect said cluster to said other clusters.
Claim 18
Dependent Claim
21 words
A method as in claim 15, further comprising: (iii) iteratively repeating steps (i) and (ii) until a predetermined criterion is satisfied.
Claim 19
Dependent Claim
71 words
A method as in claim 17, in which step (iii) comprises the substeps, performed after each iteration of steps (i) and (ii), of: (A) computing a quality factor of said placement of said clusters of said level; and (B) iteratively repeating steps (i) and (ii) if said computed quality factor has a value that is different from a computed quality factor of a previous iteration by more than a predetermined value.
Claim 20
Dependent Claim
26 words
A method as in claim 18, wherein said quality factor is a total length of said interconnects of said placement of said clusters of said level.
Claim 21
Dependent Claim
62 words
A method as in claim 1, in which step (c) comprises the substeps, for each cluster of said lowest level, of: (c1) calculating positions of said cells in a first direction; and (c2) placing said cells along lines which extend in a second direction that is perpendicular to said first direction in increasing order of said calculated positions in said first direction.
Claim 22
Dependent Claim
125 words
A physical design automation system for producing a placement of cells for a microelectronic integrated circuit in accordance with specified cell interconnects, comprising: tree construction means for constructing a hierarchial cluster tree in accordance with said interconnects in which a lowest level of said tree includes clusters of said cells, and each successively higher level includes clusters of clusters from a respective successively lower level; cluster placement means for placing said clusters of each successively lower cell within respective clusters of each successively higher level in progressively decreasing order of levels by computing a gravity point for each cluster and modifying cell placement based on a predetermined gravity point adjustment function; and cell placement means for placing said cells respective clusters of said lowest level.
Claim 23
Dependent Claim
125 words
A physical design automation system for producing a placement of cells for a microelectronic integrated circuit in accordance with specified cell interconnects, comprising: tree construction means for constructing a hierarchial cluster tree in accordance with said interconnects in which a lowest level of said tree includes clusters of said cells, and each successively higher level includes clusters of clusters from a respective successively lower level; cluster placement means for placing said clusters of each successively lower cell within respective clusters of each successively higher level in progressively decreasing order of levels by computing a gravity point for each cluster and modifying cell placement based on a predetermined gravity point adjustment function; and cell placement means for placing said cells respective clusters of said lowest level.
Claim 24
Dependent Claim
52 words
A system as in claim 21, in which the tree construction means comprises: cell representation means for representing said cells and said interconnects as a hypergraph; and graph conversion means for converting said hypergraph into a graph in which said cells are represented by vertices and said interconnects are represented by edges.
Claim 25
Dependent Claim
17 words
A system as in claim 22, wherein said edges are defined in accordance with a predetermined function.
Claim 26
Dependent Claim
20 words
A system as in claim 23, wherein said predetermined function comprises means for defining said edges in a chain configuration.
Claim 27
Dependent Claim
20 words
A system as in claim 23, wherein said predetermined function comprises means for defining said edges in a star configuration.
Claim 28
Dependent Claim
20 words
A system as in claim 23, wherein said predetermined function comprises means for defining said edges in a tree configuration.
Claim 29
Dependent Claim
63 words
A system as in claim 21, in which the tree construction means comprises: pre-clusterization means for creating disjoint clusters of said cells in accordance with a first predetermined function to produce said lowest level; and cluster modification means for merging clusters of each successively lower level in accordance with a second predetermined function to produce said clusters of each respective successively higher level.
Claim 30
Dependent Claim
37 words
A system as in claim 27, in which the first predetermined function comprises means for creating each disjoint cluster as including a selected cell, and cells that are connected to said selected cell by one interconnect respectively.
Claim 31
Dependent Claim
22 words
A system as in claim 27, in which the second predetermined function comprises means for merging said clusters using a min-cut operation.
Claim 32
Dependent Claim
72 words
A system as in claim 29, in which the cluster modification means comprises: first computation means for computing, for each cell, a first number of intra-cluster interconnects; second computation means for computing a second number of inter-cluster interconnects; and cell movement means for, if said second number is larger than said first number, moving said cell to a cluster to which said cell is connected by a largest number of inter-cell interconnects.
Claim 33
Dependent Claim
46 words
A system as in claim 27, in which the tree construction means further comprises: control means for controlling the cluster modification means to iteratively merge clusters of each level until said level comprises a number of cells or clusters from lower levels within a predetermined range.
Claim 34
Dependent Claim
20 words
A system as in claim 31, in which said predetermined range is approximately 50-100 cells or clusters from lower levels.
Claim 35
Dependent Claim
40 words
A system as in claim 27, in which the tree construction means further comprises: control means for controlling the cluster modification means to merge clusters for progressively higher levels until a highest level is produced which consists of one cluster.
Claim 36
Dependent Claim
46 words
A system as in claim 21, in which the cluster placement means further comprises: initial placement generation means for generating an initial placement of said clusters; and placement modification means for modifying said initial placement in accordance with a predetermined function to produce an improved placement.
Claim 37
Dependent Claim
90 words
A system as in claim 21, wherein modifying cell placement based on a predetermined gravity point adjustment function comprises: new gravity point computation means for computing a new gravity point for each cluster in accordance with said current gravity points and said interconnects based on the current gravity point and a number of interconnects connecting cluster vertices, wherein clusters are modeled as masses and interconnects are modeled as springs pulling clusters together; and cluster movement means for moving each cluster from said current gravity point to said new gravity point.
Claim 38
Dependent Claim
62 words
A system as in claim 35, in which: the new gravity point computation means comprises means for computing, for each cluster, said new gravity point in accordance with directions and distances from said current gravity point to said current gravity points of other clusters to which said cluster is connected, and numbers of interconnects that connect said cluster to said other clusters.
Claim 39
Dependent Claim
34 words
A system as in claim 35, in which the cluster placement means further comprises: control means for controlling the placement modification means to iteratively modify said initial placement until a predetermined criterion is satisfied.
Claim 40
Dependent Claim
70 words
A system as in claim 37, in which the control means comprises: quality computation means for computing a quality factor of said placement of said clusters of each level; and iteration means for controlling the placement modification means to iteratively modify said initial placement if said computed quality factor has a value that is different from a computed quality factor of a previous iteration by more than a predetermined value.
Claim 41
Dependent Claim
26 words
A system as in claim 38, wherein said quality factor is a total length of said interconnects of said placement of said clusters of said level.
Claim 42
Dependent Claim
64 words
A system as in claim 21, in which the cell placement means comprises: calculation means for calculating positions of said cells in each cluster of said lowest level in a first direction; and means for placing said cells along lines which extend in a second direction that is perpendicular to said first direction in increasing order of said calculated positions in said first direction.
Claim 43
Dependent Claim
31 words
A system as in claim 21, in which the tree construction means, cluster placement means and cell placement means collectively comprise a parallel processing system including a plurality of parallel processors.