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

System and method for compacting integrated circuit layouts

Assignee: Philips Semiconductors Inc
•
Filing: 1992-11-19
•
Granted: 1995-05-16
•
Expires: 2012-11-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer aided design process for compacting semiconductor circuit layouts to meet a specified set of design rules begins by fracturing a specified circuit layout into a maximal set of trapezoids and storing the resulting trapezoidal cells in a database that denotes the boundaries of each cell, and the cell adjacent to each boundary. Empty spaces between cells are represented by additional cells. For each cell boundary, the database also stores data representing the boundary edge's end points. Neighboring cells on the same and related layers of the circuit layout share edges in the database. When an edge of a cell is moved, the shared edge of each neighboring cell is implicitly moved because it uses the same edge data. To adjust a circuit layout, the cells in the layout are processed in sorted order. For each cell, a set of width and spacing design rules are applied to the bottom and top edges of the cell which may result in movement of the cell and adjustment of the cell's width. An adjacent cell adjustment process conforms adjacent cells to the boundary movements of other cells. The compaction process is performed once for X-direction compaction and once for Y-direction compaction. The compaction process is computationally efficient because each cell is linked by the database to its adjacent cells, virtually eliminating the need to search through cells not needed for each design rule check, and because movement of one cell's edges automatically adjusts adjacent cells via their shared edges.

Inventors

  • 👤 Lawrence B. Edwards

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 15:03
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/39; G06F30/398

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 224 words
A method of revising a multilayer integrated circuit layout in accordance with a specified set of design rules, the steps of the method comprising: receiving data representing said integrated circuit layout, and storing said integrated circuit layout in a database which represents said integrated circuit layout as a set of cells, each cell representing a region of an identified layer of said integrated circuit layout; storing in said database cells representing all empty spaces between non-empty regions of each layer of said integrated circuit layout; storing in said database a representation of each boundary of each cell, each said boundary representation including adjacent cell data indicating which other cell is adjacent said each boundary; for each boundary representation in said database, storing edge data representing said boundary's endpoints, and storing a pointer in said boundary representation to said edge data, wherein the boundary representations of adjacent cells for boundaries that have identical endpoints point to identical edge data in said database; and adjusting, in accordance with a predefined set of design rules, said edge data in said database so as to adjust said cells' positions and sizes; wherein each adjustment of said edge data for one boundary of one cell automatically adjusts a corresponding boundary of said other cell adjacent to said one boundary by way of their shared edge data in said database.
Claim 2
Independent Claim 224 words
A method of revising a multilayer integrated circuit layout in accordance with a specified set of design rules, the steps of the method comprising: receiving data representing said integrated circuit layout, and storing said integrated circuit layout in a database which represents said integrated circuit layout as a set of cells, each cell representing a region of an identified layer of said integrated circuit layout; storing in said database cells representing all empty spaces between non-empty regions of each layer of said integrated circuit layout; storing in said database a representation of each boundary of each cell, each said boundary representation including adjacent cell data indicating which other cell is adjacent said each boundary; for each boundary representation in said database, storing edge data representing said boundary's endpoints, and storing a pointer in said boundary representation to said edge data, wherein the boundary representations of adjacent cells for boundaries that have identical endpoints point to identical edge data in said database; and adjusting, in accordance with a predefined set of design rules, said edge data in said database so as to adjust said cells' positions and sizes; wherein each adjustment of said edge data for one boundary of one cell automatically adjusts a corresponding boundary of said other cell adjacent to said one boundary by way of their shared edge data in said database.
Claim 3
Dependent Claim 108 words
The method of claim 1 wherein said adjusting step includes (A) selecting a cell from said database to process, and identifying said selected cell's top and bottom boundaries; (B) comparing said top and bottom boundaries of said selected cell with those of said predefined design rules that are applicable to the layout layer on which said selected cell is located and moving said top and bottom boundaries as required to meet each of said applicable predefined design rules by assigning move distances to said edge data corresponding to said top and bottom boundaries; and repeating said steps A and B for a sequence of cells in said database.
Claim 4
Dependent Claim 110 words
The method of claim 2 wherein; each said predefined design rule includes a length value; said comparing step includes, whenever required by one of said predefined design rules, tracing a line through a cell adjacent to one of said top and bottom boundaries of said selected cell; and said tracing step includes accessing the cell adjacent to said one boundary of said selected cell using said adjacent cell data in said boundary representation of said one boundary, locating a distal edge on said adjacent cell's boundary, computing the distance between said selected cell's boundary and the located distal edge, and comparing the computed distance with said design rule's length value.
Claim 5
Dependent Claim 32 words
The method of claim 3, wherein said tracing step is repeated recursively on successively adjacent cells in a specified direction until a cell meeting criteria specified by said design rule is located.
Claim 6
Dependent Claim 257 words
A computer aided design system for revising a multilayer integrated circuit layout, comprising: data receiving means for receiving data representing said integrated circuit layout; a design rule dictionary representing a set of design rules; a circuit layout database including: a cell table representing cells, each cell representing a region of an identified layer of said integrated circuit layout, said cell table including cells representing all empty spaces between non-empty regions of each layer of said integrated circuit layout; edge data representing all edges of all said cells in said cell table, said edge data including point data representing each edge's endpoints such that each point which is an edge endpoint of two or more edges is represented by a single, shared point datum; each said point datum representing a point location and a move value indicating movement of an edge's endpoint; adjacent cell data indicating adjacent cell data indicating, for each edge of each cell, which other cell is adjacent said cell at said edge; circuit layout compaction means for adjusting, in accordance with said design rules represented by said design rule dictionary, said point data in said database so as to adjust said cells' positions and sizes; wherein each adjustment of said point data for one edge of one cell automatically adjusts a corresponding edge of said other cell adjacent to said one edge by way of their shared point data in said database; and revised circuit layout generation means for generating a revised circuit layout in accordance with said adjusted point data in said database.
Claim 7
Dependent Claim 257 words
A computer aided design system for revising a multilayer integrated circuit layout, comprising: data receiving means for receiving data representing said integrated circuit layout; a design rule dictionary representing a set of design rules; a circuit layout database including: a cell table representing cells, each cell representing a region of an identified layer of said integrated circuit layout, said cell table including cells representing all empty spaces between non-empty regions of each layer of said integrated circuit layout; edge data representing all edges of all said cells in said cell table, said edge data including point data representing each edge's endpoints such that each point which is an edge endpoint of two or more edges is represented by a single, shared point datum; each said point datum representing a point location and a move value indicating movement of an edge's endpoint; adjacent cell data indicating adjacent cell data indicating, for each edge of each cell, which other cell is adjacent said cell at said edge; circuit layout compaction means for adjusting, in accordance with said design rules represented by said design rule dictionary, said point data in said database so as to adjust said cells' positions and sizes; wherein each adjustment of said point data for one edge of one cell automatically adjusts a corresponding edge of said other cell adjacent to said one edge by way of their shared point data in said database; and revised circuit layout generation means for generating a revised circuit layout in accordance with said adjusted point data in said database.
Claim 8
Dependent Claim 114 words
The computer aided design system of claim 5 wherein said circuit layout compaction means includes: (A) cell selection means for selecting cells from said database to process in a specified sequence, and for identifying each selected cell's top and bottom edges; and (B) design rule application means for comparing said top and bottom edges of each said selected cell with those of said predefined design rules that are applicable to the layout layer on which said each selected cell is located and moving said top and bottom edges as required to meet each of said applicable predefined design rules by assigning move distances to said edge data corresponding to said top and bottom edges.
Claim 9
Dependent Claim 83 words
The computer aided design system of claim 6 wherein; each design rule in said dictionary includes a length value; said design rule application means, whenever required by one of said design rules, locates the cell adjacent to said one edge of said each selected cell using said adjacent cell data, locates a distal edge of said adjacent cell, computes the distance between said selected cell's one edge and the located distal edge, and compares the computed distance with said design rule's length value.
Claim 10
Dependent Claim 34 words
The computer aided design system of claim 7, wherein design rule application means recursively locates successively adjacent cells in a specified direction until a cell meeting criteria specified by said design rule is located.

References Cited (Backward Citations)

US5097422A Cited
US5309371A Cited
US5267177A Cited
US5315534A Cited
US5281558A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-05-15 1998-11-14 1999-05-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-05-15 2002-11-14 2003-05-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-05-15 2006-11-14 2007-05-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag