Advanced modular cell placement system with median control and increase in resolution
First Claim
Patent Images
1. A method for reallocating cells assigned to a region of the surface of an integrated circuit device, said method comprising the steps of:
- a. dividing said region into a first subregion and a second subregion with a dividing line;
b. with respect to cells located within said region, determining a desired allocation of cells between said first subregion and said second subregion;
c. locating a cut line across said region such that said cut line cuts said region into a first part and a second part and an allocation of cells between said first part and said second part substantially matches said desired allocation of cells between said first subregion and said second subregion;
d. determining an offset representing the distance between a first point on the cut line and a second point on the dividing line;
e. shifting cells assigned to said region said offset in the direction from the cut line toward the dividing line; and
f. reassigning any cells located outside the region as a result of said shifting step to an edge of said region.
10 Assignments
0 Petitions
Accused Products
Abstract
A system for proportionally partitioning multiple groups of cells on the surface of a semiconductor chip into subregions is disclosed herein. The cell groups are separated by dividing lines, and the system comprising a calculator which determines an offset of the cut line from the dividing line; a shifter which moves the location of said groups of cells by the offset such that the cut line coincides with the dividing line; and an overflow evaluator and compensator which shifts any cells outside said region to an edge of said region.
82 Citations
30 Claims
-
1. A method for reallocating cells assigned to a region of the surface of an integrated circuit device, said method comprising the steps of:
-
a. dividing said region into a first subregion and a second subregion with a dividing line; b. with respect to cells located within said region, determining a desired allocation of cells between said first subregion and said second subregion; c. locating a cut line across said region such that said cut line cuts said region into a first part and a second part and an allocation of cells between said first part and said second part substantially matches said desired allocation of cells between said first subregion and said second subregion; d. determining an offset representing the distance between a first point on the cut line and a second point on the dividing line; e. shifting cells assigned to said region said offset in the direction from the cut line toward the dividing line; and f. reassigning any cells located outside the region as a result of said shifting step to an edge of said region. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A machine-readable storage medium containing instructions for a processor, said instructions being the steps for the processor, said steps comprising:
-
a. assigning cells to a region of the surface of an integrated circuit device; b. dividing said region into a first subregion and a second subregion with a dividing line; c. with respect to cells located within said region, determining desired allocation of cells between said first subregion and said second subregion; d. locating a cut line across said region such that said cut line cuts said region in a first part and a second part and an allocation of cells between said first part and said second part substantially matches said desired allocation of cells between said first subregion and said second subregion; e. determining an offset representing the distance between a first point on the cut line and a second point on the dividing line; f. shifting cells assigned to said region said offset in the direction from the cut line toward the dividing line; and g. reassigning any cells located outside the region as a result of said shifting step to an edge of said region. - View Dependent Claims (9)
-
-
10. A method for optimizing the placement of cells on a portion of the surface of an integrated circuit device, said method comprising the steps of:
-
a. dividing said portion into rectangular regions such that the regions are arranged in a rectangular grid with horizontal rows of regions and vertical rows of regions such that each region (a) shares an edge with each adjacent region within its horizontal row of regions and (b) shares an edge with each adjacent region within its vertical row of regions; b. assigning to each of the regions a plurality of cells; c. dividing a first row of regions with a first region dividing line such that each region in said first row of regions is divided into a first subregion and a second subregion; and d. for each region in said first row of regions, performing the following substeps; i. with respect to cells located within the region, determining a desired allocation of cells between the region'"'"'s first subregion and second subregion; ii. locating a cut line across the region such that said cut line cuts the region into a first part and a second part and an allocation of cells between said first part and said second part substantially matches said desired allocation of cells between the region'"'"'s first subregion and second subregion; iii. determining an offset representing the distance between a first point on the region'"'"'s cut line and a second point on said first region dividing line, said second point being within the region; iv. shifting cells assigned to said region said offset; and v. relocating any cells located outside the region as a result of said shifting step to an edge of said region. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A machine-readable storage medium containing instructions for a processor, said instructions being the steps for the processor, said steps comprising:
-
a. dividing a portion of the surface of a integrated circuit device into rectangular regions such that the regions are arranged in a rectangular grid with horizontal rows of regions and vertical rows of regions such that each region (a) shares an edge with each adjacent region within its horizontal row of regions and (b) shares an edge with each adjacent region within its vertical row of regions; b. assigning to each of the regions a plurality of cells; c. dividing a first row of regions with a first region dividing line such that each region in said first row of regions is divided into a first subregion and a second subregion; and d. for each region in said first row of regions, performing the following substeps; i. with respect to cells located within the region, determining a desired allocation of cells between the region'"'"'s first subregion and second subregion; ii. locating a cut line across the region such that said cut line cuts the region into a first part and a second part and an allocation of cells between said first part and said second part substantially matches said desired allocation of cells between the region'"'"'s first subregion and second subregion; iii. determining an offset representing the distance between a first point on the region'"'"'s cut line and a second point on said first region dividing line, said second point being within the region; iv. shifting cells assigned to said region said offset; and v. relocating any cells located outside the region as a result of said shifting step to an edge of said region. - View Dependent Claims (25, 26, 27)
-
-
28. An integrated circuit device having cells placed on a portion of its surface, wherein said cells are allocated on said portion with a method comprising the following steps:
-
a. dividing said portion into rectangular regions such that the regions are arranged in a rectangular grid with horizontal rows of regions and vertical rows of regions such that each region (a) shares an edge with each adjacent region within its horizontal row of regions and (b) shares an edge with each adjacent region within its vertical row of regions; b. assigning to each of the regions a plurality of cells; c. dividing a first row of regions with a first region dividing line such that each region in said first row of regions is divided into a first subregion and a second subregion; and d. for each region in said first row of regions, performing the following substeps; i. with respect to cells located within the region, determining a desired allocation of cells between the region'"'"'s first subregion and second subregion; ii. locating a cut line across the region such that said cut line cuts the region into a first part and a second part and an allocation of cells between said first part and said second part substantially matches said desired allocation of cells between the region'"'"'s first subregion and second subregion; iii. determining an offset representing the distance between a first point on the region'"'"'s cut line and a second point on said first region dividing line, said second point being within the region; iv. shifting cells assigned to said region said offset; and v. relocating any cells located outside the region as a result of said shifting step to an edge of said region. - View Dependent Claims (29, 30)
-
Specification