Claims Analysis
Total Claims: 43
Claim 1
Independent Claim
166 words
A method of synthesizing a layout of a circuit from a logical netlist and a set of constraints, said method comprising the steps of: a) deriving a plurality of physical netlists from the logical netlist; b) following step (a) enumerating an ordered sequence of physical netlists from the plurality of physical netlists, wherein the ordered sequence of physical netlists is determined by an estimated physical dimension of the cell layout; c) following step (b), selecting a first netlist from the ordered sequence of physical netlists as a selected physical netlist; d) placing a plurality of layout elements according to the selected physical netlist and the set of constraints, e) routing the plurality of layout elements to implement a plurality of interconnections specified by the logical netlist, f) testing for a termination condition, and g) if the termination condition in step f) was not met, selecting a next netlist from the ordered sequence of physical netlists as the selected physical netlist and repeating steps d) through g).
Claim 2
Independent Claim
166 words
A method of synthesizing a layout of a circuit from a logical netlist and a set of constraints, said method comprising the steps of: a) deriving a plurality of physical netlists from the logical netlist; b) following step (a) enumerating an ordered sequence of physical netlists from the plurality of physical netlists, wherein the ordered sequence of physical netlists is determined by an estimated physical dimension of the cell layout; c) following step (b), selecting a first netlist from the ordered sequence of physical netlists as a selected physical netlist; d) placing a plurality of layout elements according to the selected physical netlist and the set of constraints, e) routing the plurality of layout elements to implement a plurality of interconnections specified by the logical netlist, f) testing for a termination condition, and g) if the termination condition in step f) was not met, selecting a next netlist from the ordered sequence of physical netlists as the selected physical netlist and repeating steps d) through g).
Claim 3
Dependent Claim
21 words
The method of claim 1 which further comprises: h) compacting the plurality of layout elements according to the set of constraints.
Claim 4
Dependent Claim
144 words
The method of claim 2 wherein step h) comprises the following substeps: 1) compacting the plurality of layout elements preferentially in a vertical dimension, 2) if a height of a cell produced in substep (1) is greater than a standard cell height, selecting a next netlist from the ordered sequence of physical netlists as the selected physical netlist and repeating steps d) through h), 3) compacting the plurality of layout elements preferentially in a horizontal dimension, 4) if a height of the cell produced in substep (3) is less than or equal to the standard cell height and a width of the cell produced in substep (3) is less than a width of the cell produced in substep (1), selecting a cell produced in substep (3) as a compacted cell, and 5) otherwise selecting a cell produced in substep (1) as the compacted cell.
Claim 5
Dependent Claim
23 words
The method of claim 3 further comprising the following substep: 6) adding location constraints to individual layout elements to create a standard cell.
Claim 6
Dependent Claim
18 words
The method of claim 4, wherein substep (6) comprises constraining a cell height to the standard cell height.
Claim 7
Dependent Claim
35 words
The method of claim 5, wherein substep (6) further comprises constraining all layout elements on a well layer to lie within the well height from a defined location relative to an edge of a cell.
Claim 8
Dependent Claim
34 words
The method of claim 3 wherein substep (1) comprises the steps of: compacting the plurality of layout elements in a vertical dimension and subsequently compacting the plurality of layout elements in a horizontal dimension.
Claim 9
Dependent Claim
34 words
The method of claim 3 wherein substep (3) comprises the steps of: compacting the plurality of layout elements in a horizontal dimension, and subsequently compacting the plurality of layout elements in a vertical dimension.
Claim 10
Dependent Claim
26 words
The method of claim 3, further comprising: i) receiving an effort level, wherein: substeps (2) through (4) are not performed when the effort level is low.
Claim 11
Dependent Claim
28 words
The method of claim 2 which further comprises: i) Placing one of the plurality of layout elements to implement a subset of interconnections specified by the logical netlist.
Claim 12
Dependent Claim
91 words
The method of claim 10 wherein step (h) comprises the steps of: 1) adding one or more of the plurality of layout elements to interconnect adjacent layout elements on a same net, 2) adding one or more of the plurality of layout elements that allow a router to interconnect layout elements that are on a layer not used by the router, and 3) adding one or more of the plurality of layout elements to interconnect high priority layout elements with a minimum wire length and a minimum number of layer changes.
Claim 13
Dependent Claim
19 words
The method of claim 2 wherein steps d, e, f, and h are performed on a persistent layout database.
Claim 14
Dependent Claim
28 words
The method of claim 1 which further comprises: h) Placing one of the plurality of layout elements to implement a subset of interconnections specified by the logical netlist.
Claim 15
Dependent Claim
25 words
The method of claim 1 which further comprises: h) Creating in a persistent database a plurality of layout objects specified in the selected physical netlist.
Claim 16
Dependent Claim
136 words
The method of claim 1 wherein step (d) comprises the steps of 1) automatically placing an abstract representation of a primary layout object in order to optimize a placement of the primary layout object subject to an estimated location of a secondary layout object and an estimated location of a tertiary layout object, 2) automatically placing an abstract representation of the secondary layout object in order to optimize a placement of the secondary layout object subject to an actual location of the primary layout object and the estimated location of the tertiary layout object, and 3) automatically placing an abstract representation of the tertiary layout object in order to optimize a placement of the tertiary layout object subject to the actual location of the primary layout object and an actual location of the secondary layout object.
Claim 17
Dependent Claim
31 words
The method of claim 15 wherein: primary layout objects comprise active devices, secondary layout objects comprise ports and contacts, and tertiary layout objects comprise antenna diodes and well and/or substrate ties.
Claim 18
Dependent Claim
25 words
The method of claim 1, wherein step (d) comprises: placing a layout element so that a cell height is equal to the standard cell height.
Claim 19
Dependent Claim
33 words
The method of claim 17, wherein step (d) further comprises placing all layout elements on a well layer within the well height from a defined location relative to an edge of a cell.
Claim 20
Dependent Claim
18 words
The method of claim 18, wherein substrate and well ties are added to enhance yield of the layout.
Claim 21
Dependent Claim
17 words
The method of claim 18, wherein redundant layout elements are added to enhance yield of the layout.
Claim 22
Dependent Claim
18 words
The method of claim 18, wherein rows of polysilicon lines are added to enhance yield of the layout.
Claim 23
Dependent Claim
16 words
The method of claim 18, wherein layout elements are added to eliminate notches in the layout.
Claim 24
Dependent Claim
14 words
The method of claim 1, wherein step (e) is performed by an area router.
Claim 25
Dependent Claim
17 words
The method of claim 1 wherein steps (d) and (e) are performed on a persistent layout database.
Claim 26
Dependent Claim
49 words
The method of claim 24 wherein: the persistent layout database contains: a geometric boundary of each layout element, a type of each layout element, and a plurality of sets of layout elements, wherein each set comprises layout elements that will be interconnected to each other in a subsequent step.
Claim 27
Dependent Claim
23 words
The method of claim 1, comprising the additional step of: h) Adding layout elements to increase yield and performance of a final layout.
Claim 28
Dependent Claim
18 words
The method of claim 1, wherein step (b) comprises enumerating a plurality of foldings of a logical netlist.
Claim 29
Dependent Claim
26 words
The method of claim 1, wherein the termination condition of step (g) is that no untried physical netlist could be narrower than a cell already produced.
Claim 30
Dependent Claim
26 words
The method of claim 1, wherein the termination condition of step (g) is that a cell no taller than a standard cell height has been produced.
Claim 31
Dependent Claim
49 words
The method of claim 1 further comprising the steps of: h) generating a transistor placement file from the layout; i) creating a set of one or more masks from the transistor placement file; and j) fabricating a plurality of integrated circuits from the set of one or more masks.
Claim 32
Independent Claim
147 words
A method of synthesizing a layout for a circuit from: a physical netlist and a plurality of high level constraints, said method comprising the steps of: a) Enumerating an ordered sequence of sets of constraints from the plurality of high level constraints; b) Following step (a) selecting a first set of constraints from the ordered sequence of sets of physical constraints as a selected set of constraints; c) Placing a plurality of layout elements according to a logical netlist and the selected set of constraints, d) Routing the plurality of layout elements to implement a plurality of interconnections specified by the physical netlist, e) Testing for a termination condition, and f) If the termination condition in step (e) was not met, Selecting a next set of constraints from the ordered sequence of sets of constraints as the selected set of constraints and repeating steps (c) through (f).
Claim 33
Independent Claim
147 words
A method of synthesizing a layout for a circuit from: a physical netlist and a plurality of high level constraints, said method comprising the steps of: a) Enumerating an ordered sequence of sets of constraints from the plurality of high level constraints; b) Following step (a) selecting a first set of constraints from the ordered sequence of sets of physical constraints as a selected set of constraints; c) Placing a plurality of layout elements according to a logical netlist and the selected set of constraints, d) Routing the plurality of layout elements to implement a plurality of interconnections specified by the physical netlist, e) Testing for a termination condition, and f) If the termination condition in step (e) was not met, Selecting a next set of constraints from the ordered sequence of sets of constraints as the selected set of constraints and repeating steps (c) through (f).
Claim 34
Dependent Claim
24 words
The method of claim 31, wherein a constraint enumerated in step (a) is a constraint on a height or a width of a layout.
Claim 35
Dependent Claim
30 words
The method of claim 31, wherein at least two of the sets of constraints enumerated in step (a) differ in a number of rows in which layout elements may reside.
Claim 36
Dependent Claim
177 words
A data processing system for synthesizing a layout of a circuit from: a logical netlist and a set of constraints, said data processing system comprising: a) deriving a plurality of physical netlists from the logical netlist; b) following step (a), enumerating an ordered sequence of physical netlists from the plurality of physical netlists, wherein the ordered sequence of physical netlists is determined by an estimated physical dimension of the cell layout; c) means for selecting a first netlist from the ordered sequence of physical netlists as a selected physical netlist following step (b); d) means for placing a plurality of layout elements according to the selected physical netlist and the set of constraints, e) means for routing the plurality of layout elements to implement a plurality of interconnections specified by the logical netlist, f) means for testing for a termination condition, and g) if the termination condition in means (f) was not met, means for selecting a next netlist from the ordered sequence of physical netlists as the selected physical netlist and repeating means (d) through (g).
Claim 37
Dependent Claim
177 words
A data processing system for synthesizing a layout of a circuit from: a logical netlist and a set of constraints, said data processing system comprising: a) deriving a plurality of physical netlists from the logical netlist; b) following step (a), enumerating an ordered sequence of physical netlists from the plurality of physical netlists, wherein the ordered sequence of physical netlists is determined by an estimated physical dimension of the cell layout; c) means for selecting a first netlist from the ordered sequence of physical netlists as a selected physical netlist following step (b); d) means for placing a plurality of layout elements according to the selected physical netlist and the set of constraints, e) means for routing the plurality of layout elements to implement a plurality of interconnections specified by the logical netlist, f) means for testing for a termination condition, and g) if the termination condition in means (f) was not met, means for selecting a next netlist from the ordered sequence of physical netlists as the selected physical netlist and repeating means (d) through (g).
Claim 38
Dependent Claim
194 words
Computer software for synthesizing a layout of a circuit from: a logical netlist and a set of constraints, said computer software comprising: a) deriving a plurality of physical netlists from the logical netlist; b) following step (a), enumerating an ordered sequence of physical netlists from the plurality of physical netlists, wherein the ordered sequence of physical netlists is determined by an estimated physical dimension of the cell layout; c) a set of computer instructions for following step b, selecting a first netlist from the ordered sequence of physical netlists as a selected physical netlist; d) a set of computer instructions for placing a plurality of layout elements according to the selected physical netlist and the set of constraints, e) a set of computer instructions for routing the plurality of layout elements to implement a plurality of interconnections specified by the logical netlist, f) a set of computer instructions for testing for a termination condition, and g) a set of computer instructions for if the termination condition in set (f) was not met, selecting a next netlist from the ordered sequence of physical netlists as the selected physical netlist and repeating sets (d) through (g).
Claim 39
Dependent Claim
194 words
Computer software for synthesizing a layout of a circuit from: a logical netlist and a set of constraints, said computer software comprising: a) deriving a plurality of physical netlists from the logical netlist; b) following step (a), enumerating an ordered sequence of physical netlists from the plurality of physical netlists, wherein the ordered sequence of physical netlists is determined by an estimated physical dimension of the cell layout; c) a set of computer instructions for following step b, selecting a first netlist from the ordered sequence of physical netlists as a selected physical netlist; d) a set of computer instructions for placing a plurality of layout elements according to the selected physical netlist and the set of constraints, e) a set of computer instructions for routing the plurality of layout elements to implement a plurality of interconnections specified by the logical netlist, f) a set of computer instructions for testing for a termination condition, and g) a set of computer instructions for if the termination condition in set (f) was not met, selecting a next netlist from the ordered sequence of physical netlists as the selected physical netlist and repeating sets (d) through (g).
Claim 40
Dependent Claim
17 words
A computer readable medium containing the computer software in claim 35 encoded in a machine readable format.
Claim 41
Dependent Claim
26 words
A method of manufacturing the computer readable medium in claim 36 which comprises: encoding the computer software in machine readable format on the computer readable medium.
Claim 42
Independent Claim
90 words
A method of selecting a physical netlist for synthesizing a layout of a circuit from a logical netlist said method comprising the steps of: a) deriving a plurality of physical netlists from the logical netlist; b) following step (a), enumerating an ordered sequence of physical netlists from the plurality of physical netlists, wherein the ordered sequence of physical netlists is determined by an estimated physical dimension of the cell layout c) following step (b), selecting a first netlist from the ordered sequence of physical netlists as a selected physical netlist.
Claim 43
Independent Claim
90 words
A method of selecting a physical netlist for synthesizing a layout of a circuit from a logical netlist said method comprising the steps of: a) deriving a plurality of physical netlists from the logical netlist; b) following step (a), enumerating an ordered sequence of physical netlists from the plurality of physical netlists, wherein the ordered sequence of physical netlists is determined by an estimated physical dimension of the cell layout c) following step (b), selecting a first netlist from the ordered sequence of physical netlists as a selected physical netlist.