Claims
- 1. A method of identifying global routes for nets in a region of a layout with multiple layers, wherein each net has a set of routable elements, the method comprising:
a) partitioning each layer of the region into a plurality of sub-regions; b) for each net, identifying a route that connects the sub-regions that contain the net's set of routable elements, wherein some of the routes have at least one non-Manhattan edge and traverse sub-regions on multiple layers.
- 2. The method of claim 1, wherein each route has a set of edges, wherein at least some route edges connect two sub-regions each, wherein some edges are non-Manhattan edges.
- 3. The method of claim 2, wherein some edges are Manhattan edges.
- 4. The method of claim 3, wherein the non-Manhattan edges traverse different layers than the Manhattan edges.
- 5. The method of claim 1, wherein identifying the route for a net comprises performing at least one path search that explores planar path expansions on at least one layer and non-planar path expansions between the layers in order to identify a segment of the route.
- 6. The method of claim 5, wherein performing the path search comprises:
a) specifying source and target sets; b) identifying the start of at least one path; c) iteratively identifying a set of expansions about previously identified paths until identifying a path that connects the source and target sets, wherein the identified path is the segment of the route, wherein each expansion is from one sub-region to another, wherein some expansions are along planar Manhattan directions, some expansions are along planar non-Manhattan directions, and some expansions are along non-planar directions.
- 7. The method of claim 6, wherein the sub-regions are Gcells.
- 8. The method of claim 6, wherein the sub-regions are regions within Gcells.
- 9. The method of claim 6, wherein the sub-regions are a first set of sub-regions, wherein the method further comprises partitioning the region into a second set of sub-regions, wherein each second-set sub-region includes a plurality of first-set sub-regions, wherein at least some non-planar expansions are between first-set sub-regions that are in the same second-set sub-region.
- 10. The method of claim 6, wherein the sub-regions are a first set of sub-regions, wherein the method further comprises partitioning the region into a second set of sub-regions, wherein each second-set sub-region includes a plurality of first-set sub-regions, wherein at least some non-planar expansions are between first-set sub-regions that are in different second-set subregions.
- 11. A method of defining a global route for a net in a region of a layout with multiple layers, wherein each net has a set of routable elements, the method comprising:
a) partitioning the region into a plurality of sub-regions on each layer; b) identifying a set of sub-regions that contain the routable elements of the net; c) performing at least one path search to identify a set of paths that connect the identified set of sub-region, wherein performing the path-search comprises exploring expansions in non-Manhattan directions and non-planar directions between identified subregions; d) defining the global route based on the set of paths.
- 12. The method of claim 11, wherein the expansions in the non-Manhattan directions are along non-Manhattan edges between identified sub-regions.
- 13. A method of identifying global routes for nets in a region of a layout with multiple layers, wherein each net has a set of routable elements, the method comprising:
a) partitioning each layer of the region into a plurality of sub-regions; b) for each net, identifying a route that connect the sub-regions that contain the net's set of routable elements, wherein some of the routes have at least one non-Manhattan edge between sub-regions on the same layer and one non-planar edge between sub-regions on different layers.
- 14. A computer readable medium storing a computer program that identifies global routes for nets in a region of a layout with multiple layers, wherein each net has a set of routable elements, the computer program comprising sets of instructions for:
a) partitioning each layer of the region into a plurality of sub-regions; b) identifying, for each net, a route that connects the sub-regions that contain the net's set of routable elements, wherein some of the routes have at least one non-Manhattan edge and traverse sub-regions on multiple layers.
- 15. The computer readable medium of claim 14, wherein each route has a set of edges, wherein at least some route edges connect two sub-regions each, wherein some edges are non-Manhattan edges.
- 16. The computer readable medium of claim 15, wherein some edges are Manhattan edges.
- 17. The computer readable medium of claim 16, wherein the non-Manhattan edges traverse different layers than the Manhattan edges.
- 18. The computer readable medium of claim 14, wherein the set of instructions for identifying the route for a net comprises a set of instructions for performing at least one path search that explores planar path expansions on at least one layer and non-planar path expansions between the layers in order to identify a segment of the route.
- 19. The computer readable medium of claim 18, wherein the set of instructions for performing the path search comprises sets of instructions for:
a) specifying source and target sets; b) identifying the start of at least one path; c) iteratively identifying a set of expansions about previously identified paths until identifying a path that connects the source and target sets, wherein the identified path is the segment of the route, wherein each expansion is from one sub-region to another, wherein some expansions are along planar Manhattan directions, some expansions are along planar non-Manhattan directions, and some expansions are along non-planar directions.
- 20. The computer readable medium of claim 19, wherein the sub-regions are Gcells.
- 21. The computer readable medium of claim 19, wherein the sub-regions are regions within Gcells.
- 22. The computer readable medium of claim 19, wherein the sub-regions are a first set of sub-regions, wherein the computer program further comprises a set of instructions for partitioning the region into a second set of sub-regions, wherein each second-set sub-region includes a plurality of first-set sub-regions, wherein at least some non-planar expansions are between first-set sub-regions that are in the same second-set sub-region.
- 23. The computer readable medium of claim 19, wherein the sub-regions are a first set of sub-regions, wherein the computer program further comprises a set of instructions for partitioning the region into a second set of sub-regions, wherein each second-set sub-region includes a plurality of first-set sub-regions, wherein at least some non-planar expansions are between first-set sub-regions that are in different second-set sub-regions.
CLAIM OF BENEFIT TO PRIOR APPLICATION
[0001] This patent application claims the benefit of U.S. Provisional Patent Application 60/427,131, filed Nov. 18, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60427131 |
Nov 2002 |
US |