Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: providing a layout with at least three pins to be coupled together using a single net; adding a Steiner point to the layout; determining a path between the Steiner point and a first pin of the at least three pins by using a computer, wherein the determining comprises: determining a position of a spine segment between the Steiner point and the first pin; connecting the Steiner point to the spine segment using a first subspine segment; and connecting the first pin to the spine segment using a second subspine segment; determining a path between the Steiner point and a second pin of the at least three pins; and determining a path between the Steiner point and a third pin of the at least three pins, wherein the determining a path between the Steiner point and a first pin of the at least three pins comprises: ordering portions of the nets, wherein the ordering comprises: when n pins of a net are to be routed, where n is an integer two or greater, determining at least n−1 routing problems to be solved; determining an order of solving the at least n−1 routing problems; when an X-orientation section of a first one of the at least n−1 routing problems is longer than a second one of the at least n−1 routing problems, ordering the first one of the at least n−1 routing problems before the second one of the at least n−1 routing problems; and when an X-orientation section of a third one of the at least n−1 routing problems is longer than the second, but shorter than the first, ordering the third one of the at least n−1 routing problems after the first one of the at least n−1 routing problems, but before the second one of the at least n−1 routing problems.
2. The method of claim 1 where the spine segment may be longer than the first subspine segment, and the spine segment may be longer than the second subspine segment.
3. The method of claim 1 where the determining a path between the Steiner point and a second pin of the at least three pins results in a path having at most three segments.
4. The method of claim 1 where the net coupling the three pins together will intersect at the Steiner point, or at as near a point as is possible.
5. The method of claim 1 where the net coupling the three pins together will include two or more layers of conductor.
6. The method of claim 1 where the determining a path between the Steiner point and a third pin of the at least three pins is according to a gridless approach.
7. The method of claim 1 wherein a net connecting the three pins is detemined not to be legal, selecting a new Steiner point at different position than the previous Steiner point.
8. The method of claim 1 wherein as a result of the determining a path between the Steiner point and a first pin of the at least three pins by using a computer, a first region within the initial structure is an increasing cost region and a second region within the initial structure is a minimum cost region.
9. The method of claim 1 wherein the determining a path between the Steiner point and a first pin of the at least three pins by using a computer comprises: sorting the at least n−1 routing problems according to distance in a first dimension; and solving one of the at least n−1 routing problems with a longest distance in the first dimension before other routing problems.
10. The method of claim 1 wherein the determining a path between the Steiner point and a first pin of the at least three pins by using a computer is performed using shape-based routing.
11. The method of claim 1 wherein the layout is not grid based.
12. The method of claim 1 wherein the layout is grid based.
13. A shape-based routing method comprising: providing n pins of a layout to be routing using a single net, where n is an integer two or greater; determining whether to add and adding at least one Steiner point to the layout; decomposing the net into at least n−1 routing problems to be solved by using a computer; determining an order to solve the routing problems; solving the routing problems in the order determined; and finding the net coupling the n pins together, wherein the decomposing the net into at least n−1 routing problems to be solved by using a computer comprises: ordering portions of the nets, wherein the ordering comprises: when n pins of a net are to be routed, where n is an integer two or greater, determining the at least n−1 routing problems to be solved; when an X-orientation section of a first one of the at least n−1 routing problems is longer than a second one of the at least n−1 routing problems, ordering the first one of the at least n−1 routing problems before the second one of the at least n−1 routing problems; and when an X-orientation section of a third one of the at least n−1 routing problems is longer than the second, but shorter than the first, ordering the third one of the at least n−1 routing problems after the first one of the at least n−1 routing problems, but before the second one of the at least n−1 routing problems.
14. The method of claim 13 where when a Steiner point is added, there will be at least n routing problems to be solved.
15. The method of claim 13 where when a Steiner point is added, there will be a separate routing problem for each route between one of the n pins to the Steiner point.
16. The method of claim 13 where the determining an order to solve the at least n−1 routing problems comprises: sorting the routing problems according to a distance between a pin and the Steiner point.
17. The method of claim 13 wherein n is 3 or greater.
18. The method of claim 13 wherein as a result of the decomposing the net into at least n−1 routing problems to be solved by using a computer, a first region within the initial structure is an increasing cost region and a second region within the initial structure is a minimum cost region.
19. The method of claim 13 wherein the layout is not grid based.
20. A method comprising: providing n pins of a layout to be routing using a single net, where n is an integer two or greater; determining whether to add and adding at least one connection point to the layout; decomposing the net into at least n−1 routing problems to be solved by using a computer; determining an order to solve the routing problems; solving the routing problems in the order determined; and finding the net coupling the n pins together, wherein the decomposing the net into at least n−1 routing problems to be solved by using a computer comprises: ordering portions of the nets, wherein the ordering comprises: when n pins of a net are to be routed, where n is an integer two or greater, determining the at least n−1 routing problems to be solved; when an X-orientation section of a first one of the at least n−1 routing problems is longer than a second one of the at least n−1 routing problems, ordering the first one of the at least n−1 routing problems before the second one of the at least n−1 routing problems; and when an X-orientation section of a third one of the at least n−1 routing problems is longer than the second, but shorter than the first, ordering the third one of the at least n−1 routing problems after the first one of the at least n−1 routing problems, but before the second one of the at least n−1 routing problems.
21. The method of claim 20 wherein the layout is gridless.
22. The method of claim 20 wherein the layout is gridded.
Unknown
September 8, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.