← Back to Patent Explorer
US6067409A Expired / Lapsed US ⏱️ 0.0 years remaining

Advanced modular cell placement system

Assignee: Bell Semiconductor LLC
•
Filing: 1997-02-11
•
Granted: 2000-05-23
•
Expires: 2017-02-11
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system for determining an affinity associated with relocating a cell located on a surface of a semiconductor chip to a different location on the surface is disclosed herein. Each cell may be part of a cell net containing multiple cells. The system initially defines a bounding box containing all cells in the net which contains the cell. The system then establishes a penalty vector based on the bounding box and borders of a region containing the cell, computes a normalized sum of penalties for all nets having the cell as a member, and calculates the affinity based on the normalized sum of penalties. Also included in the disclosed system are methods and apparatus for capacity and utilization planning of the use of the floor, or the surface area, and the methods and apparatus for parallelizing the process of affinity based placements using multiple processors. Finally, method and apparatus for connecting the cells based on a Steiner Tree method is disclosed.

Inventors

  • 👤 Ranko Scepanovic
  • 👤 Ivan Pavisic
  • 👤 James S. Koford
  • 👤 Alexander E. Andreev
  • 👤 Edwin Jones

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 17:40
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/39; G06F30/392

Claims Analysis

Total Claims: 27
Claim 1
Independent Claim 117 words
A method for locating a plurality of elements on a surface, said method comprising the steps of: assigning the elements to portions of the surface; preplacing the elements onto the surface; repositioning the elements depending on affinities of the elements; and connecting the elements on the surface, wherein said step of repositioning the elements is performed using a plurality of processors and comprises: (1) dividing the surface into a plurality of regions; (2) assigning non-adjacent regions to said processors, each processor determining affinities of at least some of the elements in its assigned region to locations in other regions; and (3) repositioning at least some of the elements to locations in other regions based on the affinities.
Claim 2
Independent Claim 117 words
A method for locating a plurality of elements on a surface, said method comprising the steps of: assigning the elements to portions of the surface; preplacing the elements onto the surface; repositioning the elements depending on affinities of the elements; and connecting the elements on the surface, wherein said step of repositioning the elements is performed using a plurality of processors and comprises: (1) dividing the surface into a plurality of regions; (2) assigning non-adjacent regions to said processors, each processor determining affinities of at least some of the elements in its assigned region to locations in other regions; and (3) repositioning at least some of the elements to locations in other regions based on the affinities.
Claim 3
Dependent Claim 25 words
A method according to claim 1, wherein the elements are cells of an integrated circuit chip (IC), and the surface is surface of said IC.
Claim 4
Dependent Claim 26 words
A method according to claim 1, further comprising the step of planning the element layout on the surface prior to preplacing the elements onto the surface.
Claim 5
Dependent Claim 71 words
A method according to claim 3, wherein said step of planning the element layout comprises steps: partitioning the surface into a grid comprising a plurality of regions; defining pieces, each piece comprising at least one of said regions, and each piece having a capacity; allocating said capacity of each of said pieces to predefined groups of the elements; and reallocating said capacity of said pieces to said groups of the elements.
Claim 6
Dependent Claim 13 words
A method according to claim 1, wherein the plurality of processors operate simultaneously.
Claim 7
Dependent Claim 67 words
A method according to claim 1, wherein said step of connecting the elements comprises the steps: partitioning the elements into a plurality of sets, each set having at least a predetermined number of elements; constructing a minimal spanning tree having vertices and edges, said vertices of said spanning tree representing the elements and said sets; and connecting the elements per said edges of said minimal spanning tree.
Claim 8
Dependent Claim 40 words
A method according to claim 1, wherein a new region is assigned to each of the processors as said each processor completes its current region, and wherein at any given time the regions assigned to all the processors are non-adjacent.
Claim 9
Dependent Claim 30 words
A method according to claim 7, wherein the regions are ordered in a list and each processor selects a next unprocessed region in the list after completing its current region.
Claim 10
Dependent Claim 150 words
A computer-implemented method for locating a plurality of elements on a surface, said method comprising the steps of: forming a neighborhood defined as a set of the elements; ordering the elements within each said neighborhood according to their relative distance from a target element; preplacing the elements within a two-dimensional abstraction of the surface; iteratively subdividing the surface into a plurality of regions; assigning the elements to said plurality of regions; assigning non-adjacent regions to a plurality of processors; calculating affinities of at least some of the elements to locations in other regions using the plurality of processors, each processor determining affinities of the elements in its assigned region; repositioning at least some of the elements to other regions based on affinities of the elements; levelizing element density over the surface based on relationships between the elements; relocating any overlapping elements; and performing a final cell adjustment for element positions.
Claim 11
Dependent Claim 150 words
A computer-implemented method for locating a plurality of elements on a surface, said method comprising the steps of: forming a neighborhood defined as a set of the elements; ordering the elements within each said neighborhood according to their relative distance from a target element; preplacing the elements within a two-dimensional abstraction of the surface; iteratively subdividing the surface into a plurality of regions; assigning the elements to said plurality of regions; assigning non-adjacent regions to a plurality of processors; calculating affinities of at least some of the elements to locations in other regions using the plurality of processors, each processor determining affinities of the elements in its assigned region; repositioning at least some of the elements to other regions based on affinities of the elements; levelizing element density over the surface based on relationships between the elements; relocating any overlapping elements; and performing a final cell adjustment for element positions.
Claim 12
Dependent Claim 64 words
A computer-implemented method according to claim 9, wherein the elements are grouped into functions and the surface can be partitioned into portions, each of said portions having a capacity, and further comprising the step of assigning said groups of the elements to said portions of the surface to meet a predetermined utilization requirement of said capacity of each of said portions of the surface.
Claim 13
Dependent Claim 41 words
A computer-implemented method according to claim 9, wherein a new region is assigned to each of the processors as said each processor completes its current region, and wherein at any given time the regions assigned to all the processors are non-adjacent.
Claim 14
Dependent Claim 31 words
A computer-implemented method according to claim 11, wherein the regions are ordered in a list and each processor selects a next unprocessed region in the list after completing its current region.
Claim 15
Independent Claim 127 words
An apparatus for placing a plurality of elements on a surface, said apparatus comprising: a plurality of processors; memory connected to said processors; said memory having instructions for said processors to assign the elements to portions of the surface; to preplace the elements onto the surface; to reposition the elements depending on affinities of the elements; and to connect the elements on the surface, wherein said instructions to reposition the elements comprise instructions to: (1) divide the surface into a plurality of regions; (2) assign non-adjacent regions to said processors, each processor determining affinities of at least some of the elements in its assigned region to locations in other regions; and (3) reposition at least some of the elements to locations in other regions based-on the affinities.
Claim 16
Independent Claim 127 words
An apparatus for placing a plurality of elements on a surface, said apparatus comprising: a plurality of processors; memory connected to said processors; said memory having instructions for said processors to assign the elements to portions of the surface; to preplace the elements onto the surface; to reposition the elements depending on affinities of the elements; and to connect the elements on the surface, wherein said instructions to reposition the elements comprise instructions to: (1) divide the surface into a plurality of regions; (2) assign non-adjacent regions to said processors, each processor determining affinities of at least some of the elements in its assigned region to locations in other regions; and (3) reposition at least some of the elements to locations in other regions based-on the affinities.
Claim 17
Dependent Claim 12 words
An apparatus according to claim 13 wherein said plurality processors operate simultaneously.
Claim 18
Dependent Claim 13 words
An apparatus according to claim 13 further comprising a harddrive and a monitor.
Claim 19
Dependent Claim 14 words
An apparatus according to claim 13 wherein said apparatus is a general purpose computer.
Claim 20
Dependent Claim 23 words
An apparatus according to claim 13 wherein said elements are cells of an integrated circuit chip (IC), and said surface is the IC.
Claim 21
Dependent Claim 40 words
An apparatus according to claim 13, wherein a new region is assigned to each of the processors as said each processor completes its current region, and wherein at any given time the regions assigned to all the processors are non-adjacent.
Claim 22
Dependent Claim 30 words
An apparatus according to claim 18, wherein the regions are ordered in a list and each processor selects a next unprocessed region in the list after completing its current region.
Claim 23
Dependent Claim 127 words
A machine-readable storage medium containing instructions for a processor, said instructions comprising the steps for locating a plurality of elements on a surface and comprising the steps of: assigning the elements to portions of the surface; preplacing the elements onto the surface; repositioning the elements depending on affinities of the elements; and connecting the elements on the surface, wherein said step of repositioning the elements is performed using a plurality of processors and comprises: (1) dividing the surface into a plurality of regions: (2) assigning non-adjacent regions to said processors, each processor determining affinities of at least some of the elements in its assigned region to locations in other regions and (3) repositioning at least some of the elements to locations in-other regions based on the affinities.
Claim 24
Dependent Claim 127 words
A machine-readable storage medium containing instructions for a processor, said instructions comprising the steps for locating a plurality of elements on a surface and comprising the steps of: assigning the elements to portions of the surface; preplacing the elements onto the surface; repositioning the elements depending on affinities of the elements; and connecting the elements on the surface, wherein said step of repositioning the elements is performed using a plurality of processors and comprises: (1) dividing the surface into a plurality of regions: (2) assigning non-adjacent regions to said processors, each processor determining affinities of at least some of the elements in its assigned region to locations in other regions and (3) repositioning at least some of the elements to locations in-other regions based on the affinities.
Claim 25
Dependent Claim 35 words
A storage medium according to claim 20 wherein said storage medium is selected from a group consisting of magnetic device, optical device, magneto-optical device, floppy diskette, harddrive, CD-ROM, magnetic tape, computer memory, and memory card.
Claim 26
Dependent Claim 42 words
A machine-readable storage medium according to claim 20, wherein a new region is assigned to each of the processors as said each processor completes its current region, and wherein at any given time the regions assigned to all the processors are non-adjacent.
Claim 27
Dependent Claim 32 words
A machine-readable storage medium according to claim 20, wherein the regions are ordered in a list and each processor selects a next unprocessed region in the list after completing its current region.

References Cited (Backward Citations)

US3617714A Cited
US3603771A Cited
US4306286A Cited
US4342090A Cited
US4484292A Cited
US4495559A Cited
US4656580A Cited
US4612618A Cited
US4554625A Cited
US4593363A Cited
US4577276A Cited
US4624339A Cited
US4630219A Cited
US4615011A Cited
US4686629A Cited
US4697242A Cited
US4688072A Cited
US4675829A Cited
US4850027A Cited
US4754408A Cited
US4763288A Cited
US5157778A Cited
US5222029A Cited
US4829446A Cited
US4910680A Cited
US4965739A Cited
US4908772A Cited
US4918614A Cited
US4815003A Cited
US4872125A Cited
US5119313A Cited
US5051895A Cited
US5255345A Cited
US5062054A Cited
US4961152A Cited
US4831725A Cited
US5239465A Cited
US5159682A Cited
US5267176A Cited
US5140526A Cited
US5404313A Cited
US5224057A Cited
US5144563A Cited
US5140530A Cited
US5404561A Cited
US5200908A Cited
US5251147A Cited
US5191542A Cited
US5051938A Cited
US5309371A Cited
US5231590A Cited
US5187668A Cited
US5140402A Cited
US5249259A Cited
US5222031A Cited
US5124927A Cited
US5136686A Cited
US5267177A Cited
US5218551A Cited
US5303161A Cited
US5208759A Cited
US5202840A Cited
US5245550A Cited
US5225991A Cited
US5341308A Cited
US5349536A Cited
US5224056A Cited
US5392222A Cited
US5638292A Cited
US5398195A Cited
US5363313A Cited
US5521837A Cited
US5465218A Cited
US5568322A Cited
US5858143A Cited
US5615128A Cited
US5491641A Cited
US5640327A Cited
US5557533A Cited
US5495419A Cited
US5682322A Cited
US5636125A Cited
US5745363A Cited
US5742510A Cited
US5590063A Cited
US5587923A Cited
US5568636A Cited
US5638293A Cited
US5682321A Cited
US5578840A Cited
US5661663A Cited
US5699265A Cited
US5712793A Cited
US5757657A Cited
US5798936A Cited
US5694602A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-05-23 2003-11-22 2004-05-23 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-05-23 2007-11-22 2008-05-23 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-05-23 2011-11-22 2012-05-23 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag