Claims Analysis
Total Claims: 40
Claim 1
Independent Claim
244 words
A method for modifying an integrated circuit (IC) layout for an IC design describing the IC as being formed by cells interconnected by nets, wherein each cell is an integer number of cell units in area, and wherein the layout specifies a position for each cell within a semiconductor substrate upon which the IC is to be formed, the method comprising the steps of: a. organizing the layout into an array rows and columns of blocks, such that each block B i,j residing at the intersection of an ith column and the jth row has at least one neighboring block, wherein each block B i,j is sufficiently large in area to hold a plurality of cells; b. computing a separate overflow factor F i,j corresponding to each block B i,j ; c. establishing a plurality of equations, wherein each block B i,j corresponds to a separate one of the equations, wherein the equation corresponding to each block B i,j relates a plurality of flow variables to the overflow factor F i,j corresponding to that block B i,j , wherein each flow variable of the equation corresponding to each block B i,j corresponds to a separate one of that block's neighboring blocks and represents a direction and number of cell units that are to flow between the block and the corresponding neighboring block as layout is altered; and d. selecting a simultaneous solution to the plurality of equations that establishes values of their flow variables.
Claim 2
Independent Claim
244 words
A method for modifying an integrated circuit (IC) layout for an IC design describing the IC as being formed by cells interconnected by nets, wherein each cell is an integer number of cell units in area, and wherein the layout specifies a position for each cell within a semiconductor substrate upon which the IC is to be formed, the method comprising the steps of: a. organizing the layout into an array rows and columns of blocks, such that each block B i,j residing at the intersection of an ith column and the jth row has at least one neighboring block, wherein each block B i,j is sufficiently large in area to hold a plurality of cells; b. computing a separate overflow factor F i,j corresponding to each block B i,j ; c. establishing a plurality of equations, wherein each block B i,j corresponds to a separate one of the equations, wherein the equation corresponding to each block B i,j relates a plurality of flow variables to the overflow factor F i,j corresponding to that block B i,j , wherein each flow variable of the equation corresponding to each block B i,j corresponds to a separate one of that block's neighboring blocks and represents a direction and number of cell units that are to flow between the block and the corresponding neighboring block as layout is altered; and d. selecting a simultaneous solution to the plurality of equations that establishes values of their flow variables.
Claim 3
Dependent Claim
41 words
The method in accordance with claim 1 further comprising the step of: e. modifying the layout to move a number of cell units between neighboring blocks as indicated by the flow variable values established by the solution selected at step d.
Claim 4
Dependent Claim
202 words
The method in accordance with claim 1 wherein for each block B i,j having four neighboring blocks and for which overflow factor F i,j >=0, the equation established at step c is consistent with the relationship X i,j −X i−1,j +Y i,j −Y i,j−1 =F i,j and wherein for each block B i,j having four neighboring blocks for which overflow factor F i,j <0, the equation established at step c is consistent with the relationship X i 1,j −X i,j +Y i,j 1 −Y i,j 21 =−F i,j wherein X i−1,j , is a flow variable representing a number of cell units that are to flow between blocks B 1,j and B i−1,j , wherein X i,j , is a flow variable representing a number of cell units that are to flow between block B i,j and its neighboring block B i−1,j , wherein Y i,j−1 , is a flow variable representing a number of cell units that are to flow between block B i,j and its neighboring black B i,j+1 , and wherein Y i,j , is a flow variable representing a number of cell units that are to flow between block B i,j and its neighboring block B i,j+1 .
Claim 5
Dependent Claim
36 words
The method in accordance with claim 3 further comprising the step of: c. modifying the layout to move a number of cell units between neighboring blocks indicated by each flow variable value established at step d.
Claim 6
Dependent Claim
90 words
The method in accordance with claim 1 wherein overflow factors F i,j computed at step b for some of blocks B i,j represent an estimated number of cell units that must flow out of their corresponding blocks B i,j to eliminate cell overlap in the corresponding blocks, and wherein overflow factors F i,j computed at step b for others of block B i,j represent an estimated number of cell units that may flow into their corresponding blocks B i,j without causing cell overlap in their corresponding blocks B i,j .
Claim 7
Dependent Claim
77 words
The method in accordance with claim 1 wherein the overflow factor F i,j corresponding to each block B i,j is computed at step c in accordance with the relation: F i,j =N i,j −W i,j *A i,j wherein N i,j is a number of cell units included in cells residing in block B i,j , wherein A i,j represents a cell unit capacity of block B i,j and wherein W i,j has any value 1>=W i,j >0.
Claim 8
Dependent Claim
99 words
The method in accordance with claim 1 wherein overflow factors F i,j computed at step b for some of blocks B i,j indicate an estimated number of cell units that must flow out of their corresponding blocks B i,j to eliminate routing congestion of nets within the corresponding blocks B i,j , and wherein the overflow factors F i,j computed at step b for others of blocks B i,j indicate an estimated number of cell units that may flow into their corresponding blocks B i,j without causing routing congestion of nets within in their corresponding blocks B i,j .
Claim 9
Dependent Claim
104 words
The method in accordance with claim 7 wherein the overflow factor F i,j corresponding to each block B i,j is computed at step c in accordance with the relation: F i,j =( D i,j −W i,j *S i,j )( N i,j /D i,j ) wherein D i,j represents an estimated demand for area within block B i,j for routing nets, wherein S i,j represents an available area within block B i,j for routing nets, wherein N i,j represents a total number of cell units of cells residing within the corresponding block, and wherein W i,j is a constant having any value 1>=W i,j >0.
Claim 10
Dependent Claim
34 words
The method in accordance with claim 8 further comprising the step of: e. modifying the layout to move cell units between neighboring blocks as indicated by the flow variable values established at step d.
Claim 11
Dependent Claim
41 words
The method in accordance with claim 1 wherein the solution selected at step d is selected from among a plurality of solutions because it optimizes a function of values of the flow variables included in the equations corresponding to the blocks.
Claim 12
Dependent Claim
43 words
The method in accordance with claim 1 wherein the solution selected at step d is selected from among a plurality of solutions because it minimizes a sum of squares of values of the flow variables included in the equations corresponding to the blocks.
Claim 13
Dependent Claim
44 words
The method in accordance with claim 1 wherein the solution selected at step d is selected from among a plurality of solutions because it minimizes a weighted sum of squares of values of the flow variables included in the equations corresponding to the blocks.
Claim 14
Independent Claim
323 words
A method for generating an integrated circuit (IC) layout for an IC design describing the IC as being formed by cells interconnected by nets, wherein each cell is an integer number of cell units in size, wherein a cell unit is a unit of area, wherein the IC layout specifies a position for each cell within a semiconductor substrate upon which the IC is to be formed, the method comprising the steps of: a. generating a layout specifying a position of each cell described by the IC design; b. dividing the layout into a plurality of partitions; c. relocating cells between the partitions to reduce a number of nets that must pass between the partitions; d. computing a plurality of overflow factors, each corresponding to a separate one of the partitions, wherein some of the overflow factors indicate an estimated number of cell units that must be removed from their corresponding partitions to eliminate routing congestion of nets within the corresponding blocks, and wherein others of the overflow factors indicate an estimated additional number of cell units that may be placed in their corresponding partitions without causing routing congestion of nets within in their corresponding partitions; e. establishing a plurality of equations, wherein each partition corresponds to a separate one of the equations, wherein the equation corresponding to each partition relates a plurality of flow variables to the overflow factor corresponding to that partition, wherein each flow variable of the equation corresponding to each partition corresponds to a separate one of that partition's neighboring partitions and represents a direction and number of cell units that are to be moved between the partition and the corresponding neighboring partition; f. selecting a simultaneous solution to the plurality of equations establishing values of their flow variables; and g. modifying the layout to move a number of cell units between neighboring partitions as indicated by the flow variable values established by the solution selected at step f.
Claim 15
Independent Claim
323 words
A method for generating an integrated circuit (IC) layout for an IC design describing the IC as being formed by cells interconnected by nets, wherein each cell is an integer number of cell units in size, wherein a cell unit is a unit of area, wherein the IC layout specifies a position for each cell within a semiconductor substrate upon which the IC is to be formed, the method comprising the steps of: a. generating a layout specifying a position of each cell described by the IC design; b. dividing the layout into a plurality of partitions; c. relocating cells between the partitions to reduce a number of nets that must pass between the partitions; d. computing a plurality of overflow factors, each corresponding to a separate one of the partitions, wherein some of the overflow factors indicate an estimated number of cell units that must be removed from their corresponding partitions to eliminate routing congestion of nets within the corresponding blocks, and wherein others of the overflow factors indicate an estimated additional number of cell units that may be placed in their corresponding partitions without causing routing congestion of nets within in their corresponding partitions; e. establishing a plurality of equations, wherein each partition corresponds to a separate one of the equations, wherein the equation corresponding to each partition relates a plurality of flow variables to the overflow factor corresponding to that partition, wherein each flow variable of the equation corresponding to each partition corresponds to a separate one of that partition's neighboring partitions and represents a direction and number of cell units that are to be moved between the partition and the corresponding neighboring partition; f. selecting a simultaneous solution to the plurality of equations establishing values of their flow variables; and g. modifying the layout to move a number of cell units between neighboring partitions as indicated by the flow variable values established by the solution selected at step f.
Claim 16
Dependent Claim
29 words
The method in accordance with claim 13 further comprising the step of subdividing the partitions into smaller partitions and then repeating steps c-e with respect to the smaller partitions.
Claim 17
Dependent Claim
82 words
The method in accordance with claim 13 wherein the overflow factor F corresponding to each partition is computed at step d in accordance with the relation: F =( D−W*S )( N/D ) wherein D represents an estimated demand for area within the corresponding partition for routing nets, wherein S represents an available area within the corresponding partition for routing nets, wherein N represents a total number of cell units of cells residing within the partition, and wherein W has any value 1>=W>0.
Claim 18
Dependent Claim
41 words
The method in accordance with claim 13 wherein the solution selected at step f is selected from among a plurality of solutions because it optimizes a function of values of the flow variables included in the equations corresponding to the partitions.
Claim 19
Dependent Claim
43 words
The method in accordance with claim 13 wherein the solution selected at step f is selected from among a plurality of solutions because it minimizes a sum of squares of values of the flow variables included in the equations corresponding to the partitions.
Claim 20
Dependent Claim
44 words
The method in accordance with claim 13 wherein the solution selected at step f is selected from among a plurality of solutions because it minimizes a weighted sum of squares of values of the flow variables included in the equations corresponding to the blocks.
Claim 21
Dependent Claim
256 words
Computer readable media storing software which when executed by a computer causes the computer to carry out a method for modifying an integrated circuit (IC) layout for an IC design describing the IC as being formed by cells interconnected by nets, wherein each cell is an integer number of cell units in size, wherein the IC layout specifies a position for each cell within a semiconductor substrate upon which the IC is to be formed, wherein the method comprises the steps of: a. organizing the layout into an array rows and columns of blocks, such that each block B i,j residing at the intersection of an ith column and the jth row has at least one neighboring block, and wherein each block B i,j has capacity to hold a plurality of cells; b. computing a separate overflow factor F i,j corresponding to each block B i,j ; c. establishing a plurality of equations, wherein each block B i,j corresponds to a separate one of the equations, wherein the equation corresponding to each block relates a plurality of flow variables to the overflow factor F i,j corresponding to that block B i,j , wherein each flow variable of the equation corresponding to each block B i,j corresponds to a separate one of that block's neighboring blocks and represents a direction and number of cell units that are to flow between the block B i,j and the corresponding neighboring block; and d. selecting a simultaneous solution to the plurality of equations that establishes values of their flow variables.
Claim 22
Dependent Claim
256 words
Computer readable media storing software which when executed by a computer causes the computer to carry out a method for modifying an integrated circuit (IC) layout for an IC design describing the IC as being formed by cells interconnected by nets, wherein each cell is an integer number of cell units in size, wherein the IC layout specifies a position for each cell within a semiconductor substrate upon which the IC is to be formed, wherein the method comprises the steps of: a. organizing the layout into an array rows and columns of blocks, such that each block B i,j residing at the intersection of an ith column and the jth row has at least one neighboring block, and wherein each block B i,j has capacity to hold a plurality of cells; b. computing a separate overflow factor F i,j corresponding to each block B i,j ; c. establishing a plurality of equations, wherein each block B i,j corresponds to a separate one of the equations, wherein the equation corresponding to each block relates a plurality of flow variables to the overflow factor F i,j corresponding to that block B i,j , wherein each flow variable of the equation corresponding to each block B i,j corresponds to a separate one of that block's neighboring blocks and represents a direction and number of cell units that are to flow between the block B i,j and the corresponding neighboring block; and d. selecting a simultaneous solution to the plurality of equations that establishes values of their flow variables.
Claim 23
Dependent Claim
48 words
The computer readable media in accordance with claim 19 wherein the method further comprises the step of: e. modifying the layout to move a number of cell units between neighboring pairs of blocks as indicated by the flow variable values established by the solution selected at step d.
Claim 24
Dependent Claim
203 words
The computer readable media in accordance with claim 19 wherein for each block B i,j having four neighboring blocks and for which overflow factor F i,j >=0, the equation established at step c is consistent with the relationship X i,j −X i−1,j +Y i,j −Y i,j−1 =F i,j and wherein for each block B i,j having four neighboring blocks for which overflow factor F i,j <0, the equation established at step c is consistent with the relationship X i−1,j −X i,j +Y i,j 1 −Y i,j <=−F i,j wherein X i−1,j , is a flow variable representing a number of cell units that are to flow between blocks B i,j and B i 1,j , wherein X i,j , is a flow variable representing a number of cell units that are to flow between block B i,j and its neighboring block B i+1,j , wherein Y i,j−1 , is a flow variable representing a number of cell units that are to flow between block B i,j and its neighboring block B i,j−1 , and wherein Y i,j , is a flow variable representing a number of cell units that are to flow between block B i,j and its neighboring block B i,j+1 .
Claim 25
Dependent Claim
39 words
The computer readable media in accordance with claim 21 wherein the method further comprises the step of: e. modifying the layout to move cell units between neighboring blocks as indicated by the flow variable values established at step d.
Claim 26
Dependent Claim
94 words
The computer readable media in accordance with claim 19 wherein overflow factors F i,j computed at step b corresponding to some of blocks B i,j represent an estimated number of cell units that must flow out of their corresponding blocks B i,j to eliminate cell overlap in the corresponding blocks, and wherein overflow factors F i,j computed at step b corresponding to others of blocks B i,j represent an estimated number of cell units that may flow into their corresponding blocks B i,j without causing cell overlap in their corresponding blocks B i,j .
Claim 27
Dependent Claim
83 words
The computer readable media in accordance with claim 19 wherein the overflow factor F i,j corresponding to each block B i,j is computed at step c consistent with the relation: F i,j =N i,j −W i,j *A i,j , wherein N i,j is a number of cell units included in cells residing in block B i,j , wherein A i,j represents a cell unit capacity of block B i,j , and wherein W i,j is a constant having any value 1>=W i,j >0.
Claim 28
Dependent Claim
99 words
The computer readable media in accordance with claim 19 wherein overflow factors F i,j computed at step b corresponding to some of blocks B i,j indicate an estimated number of cell units that must flow out of their corresponding blocks B i,j to eliminate routing congestion of nets within the corresponding blocks, and wherein overflow factors F i,j computed as step b corresponding to others of blocks B i,j indicate an estimated number of cell units that may flow into their corresponding blocks B i,j without causing routing congestion of nets within in their corresponding blocks B i,j .
Claim 29
Dependent Claim
104 words
computer readable media in accordance with claim 25 wherein the overflow factor F i,j corresponding to each block B i,j is computed at step c consistent with the relation: F i,j =( D i,j =W i,j *S i,j )( N i,j /D i,j ) wherein D i,j represents an estimated demand for area within block B i,j for routing nets, wherein S i,j represents an available area within block B i,j for routing nets, wherein N i,j represents a total number of cell units of cells residing within the corresponding block, and wherein W i,j is a constant having any value 1>=W i,j >0.
Claim 30
Dependent Claim
41 words
The computer readable media in accordance with claim 26 wherein the method further comprises the step of: e. modifying the layout to move cell units between neighboring pairs of blocks as indicated by the flow variable values established at step d.
Claim 31
Dependent Claim
43 words
The computer readable media in accordance with claim 19 wherein the solution selected at step d is selected from among a plurality of solutions because it optimizes a function of values of the flow variables included in the equations corresponding to the blocks.
Claim 32
Dependent Claim
45 words
The computer readable media in accordance with claim 19 wherein the solution selected at step d is selected from among a plurality of solutions because it minimizes a sum of squares of values of the flow variables included in the equations corresponding to the blocks.
Claim 33
Dependent Claim
46 words
The computer readable media in accordance with claim 19 wherein the solution selected at step d is selected from among a plurality of solutions because it minimizes a weighted sum of squares of values of the flow variables included in the equations corresponding to the blocks.
Claim 34
Dependent Claim
341 words
Computer readable media storing software which when executed by a computer causes the computer to carry out a method for generating an integrated circuit (IC) layout for an IC design describing the IC as being formed by cells interconnected by nets, wherein each cell is an integer number of cell units in size, wherein a cell unit is a unit of area, wherein the IC layout specifies a position for each cell within a semiconductor substrate upon which the IC is to be formed, wherein the method comprises the steps of: a. generating a layout specifying a position of each cell described by the IC design; b. dividing the layout into a plurality of partitions; c. relocating cells between the partitions to reduce a number of nets that must pass between the partitions; d. computing a plurality of overflow factors, each corresponding to a separate one of the partitions, wherein some of the overflow factors indicate an estimated number of cell units that must be removed from their corresponding partitions to eliminate routing congestion of nets within the corresponding blocks, and wherein others of the overflow factors indicate an estimated additional number of cell units that may be placed in their corresponding partitions without causing routing congestion of nets within in their corresponding partitions, e. establishing a plurality of equations, wherein each partition corresponds to a separate one of the equations, wherein the equation corresponding to each partition relates a plurality of flow variables to the overflow factor corresponding to that partition, wherein each flow variable of the equation corresponding to each partition corresponds to a separate one of that partition's neighboring partitions and represents a direction and number of cell units that are to be moved between the partition and the corresponding neighboring partition; f. selecting a simultaneous solution to the plurality of equations establishing values of their flow variables; and g. modifying the layout to move a number of cell units between neighboring partitions as indicated by the flow variable values established by the solution selected at step f.
Claim 35
Dependent Claim
341 words
Computer readable media storing software which when executed by a computer causes the computer to carry out a method for generating an integrated circuit (IC) layout for an IC design describing the IC as being formed by cells interconnected by nets, wherein each cell is an integer number of cell units in size, wherein a cell unit is a unit of area, wherein the IC layout specifies a position for each cell within a semiconductor substrate upon which the IC is to be formed, wherein the method comprises the steps of: a. generating a layout specifying a position of each cell described by the IC design; b. dividing the layout into a plurality of partitions; c. relocating cells between the partitions to reduce a number of nets that must pass between the partitions; d. computing a plurality of overflow factors, each corresponding to a separate one of the partitions, wherein some of the overflow factors indicate an estimated number of cell units that must be removed from their corresponding partitions to eliminate routing congestion of nets within the corresponding blocks, and wherein others of the overflow factors indicate an estimated additional number of cell units that may be placed in their corresponding partitions without causing routing congestion of nets within in their corresponding partitions, e. establishing a plurality of equations, wherein each partition corresponds to a separate one of the equations, wherein the equation corresponding to each partition relates a plurality of flow variables to the overflow factor corresponding to that partition, wherein each flow variable of the equation corresponding to each partition corresponds to a separate one of that partition's neighboring partitions and represents a direction and number of cell units that are to be moved between the partition and the corresponding neighboring partition; f. selecting a simultaneous solution to the plurality of equations establishing values of their flow variables; and g. modifying the layout to move a number of cell units between neighboring partitions as indicated by the flow variable values established by the solution selected at step f.
Claim 36
Dependent Claim
33 words
The computer-readable media in accordance with claim 31 wherein the method further comprises the step of subdividing the partitions into smaller partitions and then repeating steps c-e with respect to the smaller partitions.
Claim 37
Dependent Claim
83 words
The computer-readable media in accordance with claim 31 wherein the overflow factor F corresponding to each partition is computed at step d in accordance with the relation: F =( D−W*S )( N/D ) wherein D represents an estimated demand for area within the corresponding partition for routing nets, wherein S represents an available area within the corresponding partition for routing nets, wherein N represents a total number of cell units of cells residing within the partition, and wherein W has any value 1>=W>0.
Claim 38
Dependent Claim
42 words
The computer-readable media in accordance with claim 31 wherein the solution selected at step f is selected from among a plurality of solutions because it optimizes a function of values of the flow variables included in the equations corresponding to the partitions.
Claim 39
Dependent Claim
44 words
The computer-readable media in accordance with claim 31 wherein the solution selected at step f is selected from among a plurality of solutions because it minimizes a sum of squares of values of the flow variables included in the equations corresponding to the partitions.
Claim 40
Dependent Claim
45 words
The computer-readable media in accordance with claim 31 wherein the solution selected at step f is selected from among a plurality of solutions because it minimizes a weighted sum of squares of values of the flow variables included in the equations corresponding to the blocks.