US5943243A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and system for removing hardware design overlap
Assignee: Google LLC
•
Filing: 1996-10-28
•
Granted: 1999-08-24
•
Expires: 2016-10-28
Abstract
Abstract Disclosed is a method and system for removing hardware overlap for use with a computer aided design apparatus. The method and system remove overlap by separately classifying all free blocks and blocks fixed in place, and then shifting cells between free blocks while maintaining the same relative ordering of the cells. Thus, all move bounds are respected and only cells that exist in free blocks actually move. The operation takes place one partition at a time, whereby a typical partition includes a row of cells.
Inventors
- 👤 Deepak D. Sherlekar
- 👤 Craig R. Selinger
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-30 19:56
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/39; G06F30/392
Claims Analysis
Total Claims: 29
Claim 1
Independent Claim
126 words
A method for removing hardware design overlap after an initial target location for each cell has been determined, said method comprising the steps of: identifying all fixed blocks and free blocks in each of a plurality of circuit partitions, wherein free blocks are areas of space which are stationary, and wherein free blocks are available to hold cells that are moveable; identifying all free blocks having overlap; removing overlap for each partition having free blocks with overlap, by performing the steps of: identifying free blocks with available space; and assigning cells to new free blocks to utilize said available free space while maintaining the same relative cell ordering within the partition and also minimizing the distance from said initial target location to said new free block.
Claim 2
Independent Claim
126 words
A method for removing hardware design overlap after an initial target location for each cell has been determined, said method comprising the steps of: identifying all fixed blocks and free blocks in each of a plurality of circuit partitions, wherein free blocks are areas of space which are stationary, and wherein free blocks are available to hold cells that are moveable; identifying all free blocks having overlap; removing overlap for each partition having free blocks with overlap, by performing the steps of: identifying free blocks with available space; and assigning cells to new free blocks to utilize said available free space while maintaining the same relative cell ordering within the partition and also minimizing the distance from said initial target location to said new free block.
Claim 3
Dependent Claim
46 words
The method of claim 1 wherein said step of assigning cells to free blocks includes the step of moving cells from a left side of a right free block to a right side of a left free block thereby maintaining the relative ordering of the cells.
Claim 4
Dependent Claim
46 words
The method of claim 1 wherein said step of assigning cells to free blocks includes the step of moving cells from a right side of a left free block to a left side of a right free block thereby maintaining the relative ordering of the cells.
Claim 5
Dependent Claim
63 words
The method of claim 1 wherein said step of assigning cells to free blocks includes the steps of: choosing a first free block having overlap; identifying a closest free block having available space to accommodate the overlap; and beginning with said first free block and working toward the free block with the available space, shifting cells between intervening blocks until no overlap exists.
Claim 6
Dependent Claim
31 words
The method of claim 4 wherein the closest free block having available space to accommodate the overlap is a closest combination of free blocks having available space to accommodate the overlap.
Claim 7
Dependent Claim
12 words
The method of claim 1 wherein said partition is a horizontal row.
Claim 8
Dependent Claim
12 words
The method of claim 1 wherein said partition is a vertical row.
Claim 9
Independent Claim
128 words
A method of removing residual cell overlap after cells have been assigned during a floor planning to an initial target location, said method including the steps of: choosing a partition of cells within a floor plan; identifying all free blocks and fixed blocks within said partition, wherein free blocks are areas of space which are stationary, and wherein free blocks are available to hold cells that are moveable; reassigning cells amongst the free blocks in said partition to eliminate any over-capacity occurring in any of said free blocks while maintaining the same relative cell ordering within the partition; and assigning cells within each free block in a manner that will eliminate any overlap occurring within each of said free blocks while minimizing perturbation from the initial target location.
Claim 10
Independent Claim
128 words
A method of removing residual cell overlap after cells have been assigned during a floor planning to an initial target location, said method including the steps of: choosing a partition of cells within a floor plan; identifying all free blocks and fixed blocks within said partition, wherein free blocks are areas of space which are stationary, and wherein free blocks are available to hold cells that are moveable; reassigning cells amongst the free blocks in said partition to eliminate any over-capacity occurring in any of said free blocks while maintaining the same relative cell ordering within the partition; and assigning cells within each free block in a manner that will eliminate any overlap occurring within each of said free blocks while minimizing perturbation from the initial target location.
Claim 11
Dependent Claim
91 words
The method of claim 8 wherein said step of reassigning cells amongst the free blocks includes the steps of: unplacing all of the cells residing in free blocks; defining a positional relationship of all of said cells residing in free blocks; and processing the cells residing in free blocks using the steps of: assigning each unplaced cell to a nearest free block; identifying each free block having over-capacity; and eliminating overlap by moving cells, as needed, between adjacent free blocks while maintaining the same relative ordering of cells within the partition.
Claim 12
Dependent Claim
53 words
The method of claim 8 wherein said step of assigning cells within each free block includes implementing a recursive division algorithm that recursively divides each free block into a pair of smaller blocks and then shifts cells, as needed, from a first smaller block having over-capacity to a second smaller block having under-capacity.
Claim 13
Dependent Claim
49 words
The method of claim 8 wherein said step of assigning cells utilizes a first assignment method if demand is less than a predetermined percentage of capacity, a second reassignment method if demand is greater than said predetermined percentage of capacity and a third reassignment method if demand exceeds capacity.
Claim 14
Dependent Claim
14 words
The method of claim 8 wherein said said partition is a row of cells.
Claim 15
Dependent Claim
140 words
A computer system for removing hardware overlap comprising: a central processing unit; a bus; a computer system memory, said computer system memory being connected to said central processing unit via said bus; a process wherein said process is executable by said central processing unit, said process including: means for identifying each of a plurality of free blocks and fixed blocks in a device floor plan, wherein free blocks are areas of space which are stationary; means for identifying each of a plurality of cells within said plurality of free blocks; means for identifying overlap within said plurality of free blocks; means for shifting cells between adjacent free blocks in order to eliminate over-capacity in each of said free blocks while maintaining the same relative ordering among free block cells; and means for assigning cells within each of said free blocks.
Claim 16
Dependent Claim
140 words
A computer system for removing hardware overlap comprising: a central processing unit; a bus; a computer system memory, said computer system memory being connected to said central processing unit via said bus; a process wherein said process is executable by said central processing unit, said process including: means for identifying each of a plurality of free blocks and fixed blocks in a device floor plan, wherein free blocks are areas of space which are stationary; means for identifying each of a plurality of cells within said plurality of free blocks; means for identifying overlap within said plurality of free blocks; means for shifting cells between adjacent free blocks in order to eliminate over-capacity in each of said free blocks while maintaining the same relative ordering among free block cells; and means for assigning cells within each of said free blocks.
Claim 17
Dependent Claim
20 words
The computer system of claim 13 wherein said plurality free blocks and fixed in place blocks are partitioned into rows.
Claim 18
Dependent Claim
20 words
The computer system of claim 14 wherein said means for shifting cells between adjacent free blocks operates row by row.
Claim 19
Dependent Claim
62 words
The method of claim 13 wherein said means for assigning cells within each of said free blocks includes recursively dividing the free block into two smaller blocks and, for the case wherein a first smaller block includes over-capacity and a second smaller block includes under-capacity moving cells from said first smaller block having over-capacity to said second smaller block that has under-capacity.
Claim 20
Independent Claim
107 words
A method of providing an overlap-free placement of cells within a free block while minimizing perturbation wherein said free block includes adequate space for demand, wherein said free block is an area of space that is stationary, said method including the steps of: recursively dividing the free block into two smaller blocks and for the case wherein a first smaller block includes over-capacity and a second smaller block includes under-capacity, moving cells from said first smaller block having over-capacity to said second smaller block that has under-capacity; stopping the recursive dividing of the block upon reaching a predetermined condition; and assigning cells to their new target locations.
Claim 21
Independent Claim
107 words
A method of providing an overlap-free placement of cells within a free block while minimizing perturbation wherein said free block includes adequate space for demand, wherein said free block is an area of space that is stationary, said method including the steps of: recursively dividing the free block into two smaller blocks and for the case wherein a first smaller block includes over-capacity and a second smaller block includes under-capacity, moving cells from said first smaller block having over-capacity to said second smaller block that has under-capacity; stopping the recursive dividing of the block upon reaching a predetermined condition; and assigning cells to their new target locations.
Claim 22
Dependent Claim
42 words
The method of claim 17 wherein said cells that are moved out of said first smaller block having over-capacity and into said second smaller block having under-capacity are moved only a minimum distance necessary to eliminate over-capacity in said first smaller block.
Claim 23
Dependent Claim
44 words
The method of claim 17 wherein said moving of cells out of said first smaller block having over-capacity and into said second smaller block having under-capacity is done in a manner such that the same relative ordering of cells within the block is maintained.
Claim 24
Dependent Claim
26 words
The method of claim 17 wherein said step of stopping the recursive dividing occurs when the available space within the free block exactly matches the demand.
Claim 25
Dependent Claim
25 words
The method of claim 20 wherein said step of assigning cells is accomplished by brickwalling the cells in the order induced by the target placement.
Claim 26
Dependent Claim
24 words
The method of claim 17 wherein said step of stopping the recursive dividing occurs when only one cell is left in the free block.
Claim 27
Dependent Claim
24 words
The method of claim 22 wherein said step of assigning cells is accomplished by leaving the lone cell where it resides within its block.
Claim 28
Dependent Claim
100 words
A program product for processing a free block that includes adequate space for its demand, said system comprising: a recordable media; a computer program stored on said recordable media, said computer program including: means for recursively dividing the free block into two smaller child blocks, wherein the free block is an area of space which is stationary; means for moving at least one cell from a first smaller child block having over-capacity to a second smaller child block having under-capacity; means for stopping said recursive dividing upon a predetermined condition; and means for assigning said cells to their new locations.
Claim 29
Dependent Claim
100 words
A program product for processing a free block that includes adequate space for its demand, said system comprising: a recordable media; a computer program stored on said recordable media, said computer program including: means for recursively dividing the free block into two smaller child blocks, wherein the free block is an area of space which is stationary; means for moving at least one cell from a first smaller child block having over-capacity to a second smaller child block having under-capacity; means for stopping said recursive dividing upon a predetermined condition; and means for assigning said cells to their new locations.
References Cited (Backward Citations)
US4630219A
Cited
US5309371A
Cited
US5303161A
Cited
US5410491A
Cited
US5406498A
Cited
US5398195A
Cited
US5493510A
Cited
US5535134A
Cited
US5638288A
Cited
US5619419A
Cited
US5699265A
Cited
US5808899A
Cited
US5812740A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-08-23 | 2003-02-22 | 2003-08-24 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-08-23 | 2007-02-22 | 2007-08-24 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-08-23 | 2011-02-22 | 2011-08-24 | $7700.00 | Window Closed / Lapsed |