Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
149 words
A method of automatically routing interconnections among a plurality of circuit elements comprising a circuit, the circuit elements having one or more connectors, the interconnections defined by a netlist, the method comprising the steps of: determining initial placement of the circuit elements; globally routing all nets of the netlist losing expandable boundaries, wherein said expandable boundaries comprise expandable physical regions including bin boundaries coextensive with channel spaces through which nets may be routed; moving the circuit elements in accordance with the results of said step of globally routing; if the moving of the circuit elements by said step of moving is greater than a predetermined amount: reputing said steps of globally routing and moving; otherwise, globally routing all nets of the netlist using no expandable boundaries; routing all nets of the netlist using a detailed router; and generating an output representative of the process layers for manufacturing the circuit.
Claim 2
Independent Claim
149 words
A method of automatically routing interconnections among a plurality of circuit elements comprising a circuit, the circuit elements having one or more connectors, the interconnections defined by a netlist, the method comprising the steps of: determining initial placement of the circuit elements; globally routing all nets of the netlist losing expandable boundaries, wherein said expandable boundaries comprise expandable physical regions including bin boundaries coextensive with channel spaces through which nets may be routed; moving the circuit elements in accordance with the results of said step of globally routing; if the moving of the circuit elements by said step of moving is greater than a predetermined amount: reputing said steps of globally routing and moving; otherwise, globally routing all nets of the netlist using no expandable boundaries; routing all nets of the netlist using a detailed router; and generating an output representative of the process layers for manufacturing the circuit.
Claim 3
Dependent Claim
19 words
The method of claim 1 further comprising the step of setting constraints on the movement of the circuit elements.
Claim 4
Dependent Claim
17 words
The method of claim 1 further comprising the step of prerouting one or more of the nets.
Claim 5
Dependent Claim
19 words
The method of claim 3, further comprising the step of setting constraints on the movement of the circuit elements.
Claim 6
Independent Claim
108 words
A method of automatically routing interconnections among a plurality of elements on an integrated circuit comprising the steps of: obtaining the initial element placement; globally routing a plurality of said interconnections using expandable boundaries, wherein said expandable boundaries comprise expandable physical regions including bin boundaries coextensive with channel spaces through which nets may be routed; moving said elements in accordance with the results of said step of globally routing; repeating said steps of globally routing and moving until the movement of said elements pursuant to said step of moving is not greater than a predetermined amount; and globally routing a plurality of said interconnections using no expandable boundaries.
Claim 7
Independent Claim
108 words
A method of automatically routing interconnections among a plurality of elements on an integrated circuit comprising the steps of: obtaining the initial element placement; globally routing a plurality of said interconnections using expandable boundaries, wherein said expandable boundaries comprise expandable physical regions including bin boundaries coextensive with channel spaces through which nets may be routed; moving said elements in accordance with the results of said step of globally routing; repeating said steps of globally routing and moving until the movement of said elements pursuant to said step of moving is not greater than a predetermined amount; and globally routing a plurality of said interconnections using no expandable boundaries.
Claim 8
Dependent Claim
31 words
The method of claim 5, further comprising the step of using a detailed router to route said interconnections subsequent to the step of globally routing said interconnections using no expandable boundaries.
Claim 9
Dependent Claim
34 words
The method of claim 6, further comprising the step of generating an output representative of the process layers for manufacturing the circuit, said step performed subsequent to said step of using a detailed router.
Claim 10
Dependent Claim
24 words
The method of claim 5, wherein the step of moving moves said elements in accordance with the minimum capacities specified for the expandable boundaries.
Claim 11
Dependent Claim
38 words
The method of claim 8, wherein said step of moving further moves said elements in accordance with any constraints input by the user of said method, said constraints entered by said user prior to said step of moving.
Claim 12
Dependent Claim
42 words
The method of claim 5, further comprising the step of prerouting at least one interconnection prior to the step of globally routing using expandable boundaries, so that said prerouted interconnections are not re-routed during said step of global routing using expandable boundaries.
Claim 13
Dependent Claim
44 words
The method of claim 10, further comprising the step of prerouting at least one interconnection prior to the step of globally routing using no expandable boundaries, so that said prerouted interconnections are not re-routed during said step of global routing using no expandable boundaries.
Claim 14
Dependent Claim
29 words
The method of claim 5, wherein the step of obtaining the initial element placement comprises obtaining the initial element placement from a netlist generated by an element placement method.
Claim 15
Dependent Claim
62 words
The method of claim 5, further comprising, between the step of globally routing using expandable boundaries and the step of moving, the steps of: generating a grid of bin boundaries over the element placement of the present iteration; identifying all expandable bin boundaries and areas; and logically routing said interconnections through expandable and non-expandable boundaries while optimizing the cost of said routing.
Claim 16
Dependent Claim
59 words
The method of claim 13, further comprising between the step of logically routing said interconnections and the step of moving, the steps of: adding sufficient tracks to said expandable areas on which overflows in capacity exist; and reducing the number of tracks in each expandable area to minimum capacity without creating overflows on any other expandable or non-expandable area.
Claim 17
Dependent Claim
47 words
The method of claim 14, further comprising between the step of reducing the number of tracks in each expandable area and the step of moving, the step of determining the minimum tracks necessary for each expandable area, said determination useable by said method during step of moving.
Claim 18
Independent Claim
116 words
An apparatus for automatically routing interconnections among a plurality of elements on an integrated circuit, said apparatus comprising: means for obtaining the initial element placement; means for globally routing a plurality of said interconnections using expandable boundaries, wherein said expandable boundaries comprise expandable physical regions including bin boundaries coextensive with channel spaces through which nets may be routed; means for moving said elements in accordance with the results of said step of globally routing; means for repeating said global routing and moving until the movement of said elements during a single iteration of said moving is not greater than a predetermined amount; and means for globally routing a plurality of said interconnections using no expandable boundaries.
Claim 19
Independent Claim
116 words
An apparatus for automatically routing interconnections among a plurality of elements on an integrated circuit, said apparatus comprising: means for obtaining the initial element placement; means for globally routing a plurality of said interconnections using expandable boundaries, wherein said expandable boundaries comprise expandable physical regions including bin boundaries coextensive with channel spaces through which nets may be routed; means for moving said elements in accordance with the results of said step of globally routing; means for repeating said global routing and moving until the movement of said elements during a single iteration of said moving is not greater than a predetermined amount; and means for globally routing a plurality of said interconnections using no expandable boundaries.
Claim 20
Dependent Claim
112 words
The apparatus of claim 16, further comprising: means for generating a grid of bin boundaries over the element placement of the present iteration; means for identifying all expandable bin boundaries and areas; means for logically routing said interconnections through expandable and non-expandable boundaries while optimizing the cost of said routing; means for adding sufficient tracks to said expandable areas on which overflows in capacity exist, thereby eliminating overflows; means for reducing the number of tracks in each expandable area to minimum capacity without creating overflows on any other expandable or non-expandable area; and means for determining the minimum tracks necessary for each expandable area, said determination useable by said step of moving.
Claim 21
Dependent Claim
172 words
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for automatically routing interconnections among a plurality of elements on an integrated circuit, the computer-readable code comprising: an initial placement module, which is configured to obtain the initial element placement; a first global routing module, which is configured to globally route a plurality of said interconnections using expandable boundaries, wherein said expandable boundaries comprise expandable physical regions including bin boundaries coextensive with channel spaces through which nets may be routed; a movement module, which is configured to move said elements in accordance with the results from said first global routing module; an iteration module, which is configured to repeat the procedures dictated by said first global routing module and said movement module until the involvement of said components during an iteration of said first global routing module and said movement module is not greater than a predetermined amount; and a second global routing module, which is configured to globally route a plurality of said interconnections using no expandable boundaries.
Claim 22
Dependent Claim
172 words
A computer program product comprising a computer-usable medium having computer-readable code embodied therein for automatically routing interconnections among a plurality of elements on an integrated circuit, the computer-readable code comprising: an initial placement module, which is configured to obtain the initial element placement; a first global routing module, which is configured to globally route a plurality of said interconnections using expandable boundaries, wherein said expandable boundaries comprise expandable physical regions including bin boundaries coextensive with channel spaces through which nets may be routed; a movement module, which is configured to move said elements in accordance with the results from said first global routing module; an iteration module, which is configured to repeat the procedures dictated by said first global routing module and said movement module until the involvement of said components during an iteration of said first global routing module and said movement module is not greater than a predetermined amount; and a second global routing module, which is configured to globally route a plurality of said interconnections using no expandable boundaries.
Claim 23
Dependent Claim
53 words
The computer program product of claim 18, further comprising: a detailed router module, which is configured to route said interconnections subsequent to the global routing of said interconnections using no expandable boundaries; and an output generation module, which is configured to generate an output representative of the process layers for manufacturing the circuit.
Claim 24
Dependent Claim
48 words
The computer program product of claim 19, further comprising a prerouting module, which is configured to permit the prerouting at least one interconnection prior to the step of globally routing using expandable boundaries, so that said prerouted interconnections are not re-routed during the remainder of the routing process.