Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
219 words
A method for optimizing the routing of nets in an integrated circuit device, said method comprising the following steps: a. dividing an integrated circuit design with a first plurality of substantially parallel lines in a first direction; b. dividing said integrated circuit design with a plurality of substantially parallel lines in a second direction, wherein said second direction is substantially perpendicular to said first direction; c. forming a first routing graph with vertices corresponding to locations where lines in said first direction and lines in said second direction cross; d. globally routing nets as a function of said first routing graph; e. further dividing said integrated circuit design with a second plurality of substantially parallel lines in said first direction; f. forming a second routing graph with vertices corresponding to locations where lines in said first and second pluralities of substantially parallel lines in said first direction cross lines in said plurality of substantially parallel lines in said second direction; g. for a net globally routed in step d, forming a first local net in a first fragment of said second routing graph; and h. rerouting said first local net within said first fragment by computing edge penalty values for edges in the first fragment and rerouting the first local net as a function of said edge penalty values.
Claim 2
Independent Claim
219 words
A method for optimizing the routing of nets in an integrated circuit device, said method comprising the following steps: a. dividing an integrated circuit design with a first plurality of substantially parallel lines in a first direction; b. dividing said integrated circuit design with a plurality of substantially parallel lines in a second direction, wherein said second direction is substantially perpendicular to said first direction; c. forming a first routing graph with vertices corresponding to locations where lines in said first direction and lines in said second direction cross; d. globally routing nets as a function of said first routing graph; e. further dividing said integrated circuit design with a second plurality of substantially parallel lines in said first direction; f. forming a second routing graph with vertices corresponding to locations where lines in said first and second pluralities of substantially parallel lines in said first direction cross lines in said plurality of substantially parallel lines in said second direction; g. for a net globally routed in step d, forming a first local net in a first fragment of said second routing graph; and h. rerouting said first local net within said first fragment by computing edge penalty values for edges in the first fragment and rerouting the first local net as a function of said edge penalty values.
Claim 3
Dependent Claim
23 words
The method of claim 1 wherein some lines of said plurality of substantially parallel lines in a second direction correspond to routing channels.
Claim 4
Dependent Claim
24 words
The method of claim 2 wherein the other lines in said plurality of substantially parallel lines in a second direction correspond to cell columns.
Claim 5
Dependent Claim
35 words
The method of claim 2 wherein the first and second routing graphs each cover the same area and the second routing graph has approximately twice the number of vertices as does the first routing graph.
Claim 6
Dependent Claim
104 words
The method of claim 1 wherein the following additional steps are taken: i. further dividing said integrated circuit design with a third plurality of substantially parallel lines in said first direction; j. forming a third routing graph with vertices corresponding to locations where lines in said first, second and third pluralities of substantially parallel lines in said first direction cross lines in said plurality of substantially parallel lines in said second direction; k. for a second net previously routed, forming a second local net in a second fragment of said third routing graph; and l. rerouting said second local net within said second fragment.
Claim 7
Dependent Claim
39 words
The method of claim 5 wherein said first routing graph, second routing graph and third routing graph each cover the same area and the respective number of vertices of said routing graphs are in the approximate ratio of 1:2:4.
Claim 8
Dependent Claim
32 words
The method of claim 1 wherein said local net comprises at least one pin from the net globally routed in step d and an edge that was previously in the net's routing.
Claim 9
Dependent Claim
27 words
The method of claim 1 wherein step h comprises calculating penalty function values corresponding to all possible reroutings of said first local net within said first fragment.
Claim 10
Dependent Claim
29 words
The method of claim 8 wherein the first local net is rerouted so as to have the minimum total of edge penalty values corresponding to edges in the rerouting.
Claim 11
Independent Claim
233 words
An apparatus for optimizing the routing of nets in an integrated circuit device, said apparatus comprising: a. means for dividing an integrated circuit design with a first plurality of substantially parallel lines in a first direction; b. means for dividing said integrated circuit design with a plurality of substantially parallel lines in a second direction, wherein said second direction is substantially perpendicular to said first direction; c. means for forming a first routing graph with vertices corresponding to locations where lines in said first direction and lines in said second direction cross; d. means for globally routing nets as a function of said first routing graph; e. means for further dividing said integrated circuit design with a second plurality of substantially parallel lines in said first direction; f. means for forming a second routing graph with vertices corresponding to locations where lines in said first and second pluralities of substantially parallel lines in said first direction cross lines in said plurality of substantially parallel lines in said second direction; g. means for a net globally routed by said globally routing means, forming a first local net in a first fragment of said second routing graph; and h. means for rerouting said first local net within said first fragment by computing edge penalty values for edges in the first fragment and rerouting the first local net as a function of said edge penalty values.
Claim 12
Independent Claim
233 words
An apparatus for optimizing the routing of nets in an integrated circuit device, said apparatus comprising: a. means for dividing an integrated circuit design with a first plurality of substantially parallel lines in a first direction; b. means for dividing said integrated circuit design with a plurality of substantially parallel lines in a second direction, wherein said second direction is substantially perpendicular to said first direction; c. means for forming a first routing graph with vertices corresponding to locations where lines in said first direction and lines in said second direction cross; d. means for globally routing nets as a function of said first routing graph; e. means for further dividing said integrated circuit design with a second plurality of substantially parallel lines in said first direction; f. means for forming a second routing graph with vertices corresponding to locations where lines in said first and second pluralities of substantially parallel lines in said first direction cross lines in said plurality of substantially parallel lines in said second direction; g. means for a net globally routed by said globally routing means, forming a first local net in a first fragment of said second routing graph; and h. means for rerouting said first local net within said first fragment by computing edge penalty values for edges in the first fragment and rerouting the first local net as a function of said edge penalty values.
Claim 13
Dependent Claim
23 words
The apparatus of claim 10 wherein some lines of said plurality of substantially parallel lines in a second direction correspond to routing channels.
Claim 14
Dependent Claim
24 words
The apparatus of claim 11 wherein the other lines in said plurality of substantially parallel lines in a second direction correspond to cell columns.
Claim 15
Dependent Claim
35 words
The apparatus of claim 11 wherein the first and second routing graphs each cover the same area and the second routing graph has approximately twice the number of vertices as does the first routing graph.
Claim 16
Dependent Claim
107 words
The apparatus of claim 10 , further comprising: i. means for further dividing said integrated circuit design with a third plurality of substantially parallel lines in said first direction; j. means for forming a third routing graph with vertices corresponding to locations where lines in said first, second and third pluralities of substantially parallel lines in said first direction cross lines in said plurality of substantially parallel lines in said second direction; k. means for a second net previously routed, forming a second local net in a second fragment of said third routing graph; and l. means for rerouting said second local net within said second fragment.
Claim 17
Dependent Claim
39 words
The apparatus of claim 14 wherein said first routing graph, second routing graph and third routing graph each cover the same area and the respective number of vertices of said routing graphs are in the approximate ratio of 1:2:4.
Claim 18
Dependent Claim
33 words
The apparatus of claim 10 wherein said local net comprises at least one pin from the net globally routed by said means d and an edge that was previously in the net's routing.
Claim 19
Dependent Claim
31 words
The apparatus of claim 10 wherein rerouting performed by said means h comprises calculating penalty function values corresponding to all possible reroutings of said first local net within said first fragment.
Claim 20
Dependent Claim
29 words
The apparatus of claim 17 wherein the first local net is rerouted so as to have the minimum total of edge penalty values corresponding to edges in the rerouting.
Claim 21
Dependent Claim
240 words
A computer storage medium for optimizing the routing of nets in an integrated circuit device, comprising: a computer storage medium readable by a computer; and means recorded on said storage medium for directing the computer to: a. divide an integrated circuit design with a first plurality of substantially parallel lines in a first direction; b. divide said integrated circuit design with a plurality of substantially parallel lines in a second direction, wherein said second direction is substantially perpendicular to said first direction; c. form a first routing graph with vertices corresponding to locations where lines in said first direction and lines in said second direction cross; d. globally route nets as a function of said first routing graph; e. further divide said integrated circuit design with a second plurality of substantially parallel lines in said first direction; f. form a second routing graph with vertices corresponding to locations where lines in said first and second pluralities of substantially parallel lines in said first direction cross lines in said plurality of substantially parallel lines in said second direction; g. form, for a net globally routed according to the instruction in element d, a first local net in a first fragment of said second routing graph; and h. reroute said first local net within said first fragment by computing edge penalty values for edges in the first fragment and rerouting the first local net as a function of said edge penalty values.
Claim 22
Dependent Claim
240 words
A computer storage medium for optimizing the routing of nets in an integrated circuit device, comprising: a computer storage medium readable by a computer; and means recorded on said storage medium for directing the computer to: a. divide an integrated circuit design with a first plurality of substantially parallel lines in a first direction; b. divide said integrated circuit design with a plurality of substantially parallel lines in a second direction, wherein said second direction is substantially perpendicular to said first direction; c. form a first routing graph with vertices corresponding to locations where lines in said first direction and lines in said second direction cross; d. globally route nets as a function of said first routing graph; e. further divide said integrated circuit design with a second plurality of substantially parallel lines in said first direction; f. form a second routing graph with vertices corresponding to locations where lines in said first and second pluralities of substantially parallel lines in said first direction cross lines in said plurality of substantially parallel lines in said second direction; g. form, for a net globally routed according to the instruction in element d, a first local net in a first fragment of said second routing graph; and h. reroute said first local net within said first fragment by computing edge penalty values for edges in the first fragment and rerouting the first local net as a function of said edge penalty values.