LP method and apparatus for identifying route propagations
First Claim
1. For a router that hierarchically defines routes for nets within a region of a design layout, the router (i) partitioning the region into a first set of sub-regions and (ii) for each particular net identifying a route that traverses a set of the first-set sub-regions, a method of propagating the routes comprising:
- a) partitioning the first set of sub-regions into a second set of smaller sub-regions;
b) identifying a plurality of propagation permutations for propagating each route into the second set of smaller sub-regions of the first set sub-regions;
c) formulating a linear-programming (“
LP”
) problem based on the identified propagation permutations;
d) solving the LP problem to propagate the routes into the second set of smaller sub-regions.
2 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments provide an LP method that identifies route propagations. In some embodiments, this method is used by a router that hierarchically defines routes for nets within a region of a design layout. The router (1) partitions the region into a first set of sub-regions, and (2) for each particular net, identifies a route that traverses a set of the first-set sub-regions. In some embodiments, the invention'"'"'s method partitions the first set of sub-regions into a second set of smaller sub-regions. It then identifies a plurality of propagation possibilities for propagating each route into the second set of smaller sub-regions of the first set sub-regions. The method next formulates a linear-programming (“LP”) problem based on the identified propagation possibilities. The method then solves the LP problem. In some embodiments, the formulated LP problem is an integer-linear-programming (“ILP”) problem, and solving the ILP problem returns integer solutions that specify one propagation permutation for each route in each first-set sub-region traversed by the route. In other embodiments, solving the LP problem returns real-numbered solutions. In some of these embodiments, the method converts the real-number solutions into integer solutions that specify one identified propagation permutation for each route in each first-set sub-region traversed by the route.
141 Citations
38 Claims
-
1. For a router that hierarchically defines routes for nets within a region of a design layout, the router (i) partitioning the region into a first set of sub-regions and (ii) for each particular net identifying a route that traverses a set of the first-set sub-regions, a method of propagating the routes comprising:
-
a) partitioning the first set of sub-regions into a second set of smaller sub-regions;
b) identifying a plurality of propagation permutations for propagating each route into the second set of smaller sub-regions of the first set sub-regions;
c) formulating a linear-programming (“
LP”
) problem based on the identified propagation permutations;
d) solving the LP problem to propagate the routes into the second set of smaller sub-regions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of routing nets within a particular region of an integrated circuit (“
- IC”
) layout, each net having a set of pins, the method comprising;a) partitioning the particular IC region into a first set of sub-regions;
b) for each particular net, identifying a route that connects a set of sub-regions containing the particular net'"'"'s pins;
c) partitioning the sub-regions into a second set of smaller sub-regions;
d) identifying a plurality of propagation permutations for propagating each route into the second set of smaller sub-region;
e) formulating a linear-programming (“
LP”
) problem based on the identified propagation permutations; and
f) solving the LP problem to select one identified propagation permutation for each route in each sub-region traversed by the route. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
- IC”
-
22. For a router that hierarchically defines routes for nets within a region of a design layout, the router (i) partitioning the region into a first set of sub-regions and (ii) for each particular net identifying a route that traverses a set of the first-set sub-regions, a computer readable medium comprising a computer program having executable code, the computer program for propagating the routes, the computer program comprising:
-
a) a first set of instructions for partitioning the first set of sub-regions into a second set of smaller sub-regions;
b) a second set of instructions for identifying a plurality of propagation permutations for propagating each route into the second set of smaller sub-regions of the first set sub-regions;
c) a third set of instructions for formulating a linear-programming (“
LP”
) problem based on the identified propagation permutations; and
d) a fourth set of instructions for solving the LP problem to propagate the routes into the second set of smaller sub-regions. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A computer readable medium comprising a computer program having executable code, the computer program for routing nets within a particular region of an integrated circuit (“
- IC”
) layout, each net having a set of pins, the program comprising sets of instructions for;a) partitioning the particular IC region into a first set of sub-regions;
b) for each particular net, identifying a route that connects a set of sub-regions containing the particular net'"'"'s pins;
c) partitioning the sub-regions into a second set of smaller sub-regions;
d) identifying a plurality of propagation permutations for propagating each route into the second set of smaller sub-region;
e) formulating a linear-programming (“
LP”
) problem based on the identified propagation permutations; and
f) solving the LP problem to select one identified propagation permutation for each route in each sub-region traversed by the route. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
- IC”
Specification