Method and apparatus for producing sub-optimal routes for a net by generating fake configurations
First Claim
1. For a router that partitions a region of an integrated-circuit (“
- IC”
) layout into a plurality of sub-regions, wherein a plurality of the sub-regions are on the boundary of the partitioned IC region and at least one sub-region is not on the boundary of the partitioned IC region, a method of producing a set of sub-optimal routes for a net having a set of pins in the region, the method comprising;
a) identifying a first set of sub-regions that contain the net'"'"'s pins;
b) obtaining a second set of sub-regions by adding a third set of sub-regions to the first set of sub-regions, wherein each sub-region in the third set does not contain the net'"'"'s pins, wherein at least one sub-region in the third set is not a sub-region on the boundary of the partitioned IC region;
c) identifying a first set of routes for the second set of sub-regions, wherein the first-route set includes at least one route, and each route in the first-route set traverses the sub-regions in the second set.
2 Assignments
0 Petitions
Accused Products
Abstract
Some embodiments provide a method of producing sub-optimal routes for a net having a set of pins in a region of an integrated-circuit (“IC”) layout. In some embodiments, such a method is used for a router that partitions the region into a plurality of sub-regions. This method initially identifies a first set of sub-regions that contain the net'"'"'s pins. It then obtains a second set of sub-regions by adding a third set of sub-regions to the first set of sub-regions. Each sub-region in the third set does not contain any pins of the net. For the second set of sub-regions, the method then identifies a first set of routes, where each route traverses the sub-regions in the second set.
-
Citations
21 Claims
-
1. For a router that partitions a region of an integrated-circuit (“
- IC”
) layout into a plurality of sub-regions, wherein a plurality of the sub-regions are on the boundary of the partitioned IC region and at least one sub-region is not on the boundary of the partitioned IC region, a method of producing a set of sub-optimal routes for a net having a set of pins in the region, the method comprising;a) identifying a first set of sub-regions that contain the net'"'"'s pins;
b) obtaining a second set of sub-regions by adding a third set of sub-regions to the first set of sub-regions, wherein each sub-region in the third set does not contain the net'"'"'s pins, wherein at least one sub-region in the third set is not a sub-region on the boundary of the partitioned IC region;
c) identifying a first set of routes for the second set of sub-regions, wherein the first-route set includes at least one route, and each route in the first-route set traverses the sub-regions in the second set. - View Dependent Claims (2, 3)
- IC”
-
4. For a router that partitions a region of an integrated-circuit (“
- IC”
) layout into a plurality of sub-regions, a method of producing a set of sub-optimal routes for a net having a set of pins in the region, the method comprising;a) identifying a first set of sub-regions that contain the net'"'"'s pins;
b) obtaining a second set of sub-regions by adding a third set of sub-regions to the first set of sub-regions, wherein each sub-region in the third set does not contain the net'"'"'s pins;
c) identifying a first set of routes for the second set of sub-regions, wherein the first-route set includes at least one route, and each route in the first-route set traverses the sub-regions in the second set;
d) computing a cost for at least one route in the first set of routes;
e) obtaining a fourth set of sub-regions by adding a fifth set of sub-regions to the first set of sub-regions, wherein each sub-region in the fifth set does not contain the net'"'"'s pins;
f) identifying a second set of routes for the fourth set of sub-regions, wherein the second-route set includes at least one route, and each route in the second-route set traverses the sub-regions in the third set;
g) computing a cost for at least one route in the second set of routes;
h) selecting between routes in the first and second route sets based on the computed costs. - View Dependent Claims (5, 6, 7)
a) generating estimated congestion values for several areas in the region;
b) discarding routes in the first and second sets of routes when the routes traverse areas that have estimated congestion values greater than a threshold amount.
- IC”
-
7. The method of claim 6 further comprising:
-
computing the cost of each route in the first and second sets that are not discarded for traversing areas that have estimated congestion values greater than a threshold amount;
identifying a route with the lowest cost;
for the net, selecting all the routes that are in the same set of routes as the identified lowest-cost route and that have not been discarded.
-
-
8. For a router that partitions a region of an integrated-circuit (“
- IC”
) layout into a plurality of sub-regions, a method of producing a set of sub-optimal routes for a net having a set of pins in the region, the method comprising;a) identifying a first set of sub-regions that contain the net'"'"'s pins, wherein the pins include actual and virtual pins;
b) obtaining a second set of sub-regions by adding a third set of sub-regions to the first set of sub-regions, wherein each sub-region in the third set does not contain the net'"'"'s pins;
c) identifying a first set of routes for the second set of sub-regions, wherein the first-route set includes at least one route, and each route in the first-route set traverses the sub-regions in the second set.
- IC”
-
9. For a router that partitions a region of an integrated-circuit (“
- IC”
) layout into a plurality of sub-regions, wherein a plurality of the sub-regions are on the boundary of the partitioned IC region and at least one sub-region is not on the boundary of the partitioned IC region, a computer readable medium comprising a computer program having executable code, the computer program for producing a set of sub-optimal routes for a net having a set of pins in the region, the computer program comprising;a) a first set of instructions for identifying a first set of sub-regions that contain the net'"'"'s pins;
b) a second set of instructions for obtaining a second set of sub-regions by adding a third set of sub-regions to the first set of sub-regions, wherein each sub-region in the third set does not contain the net'"'"'s pins, wherein at least one sub-region in the third set is not a sub-region on the boundary of the partitioned IC region;
c) a third set of instructions for identifying a first set of routes for the second set of sub-regions, wherein the first-route set includes at least one route, and each route in the first-route set traverses the sub-regions in the second set. - View Dependent Claims (10, 11)
- IC”
-
12. For a router that partitions a region of an integrated-circuit (“
- IC”
) layout into a plurality of sub-regions, a computer readable medium comprising a computer program having executable code, the computer program for producing a set of sub-optimal routes for a net having a set of pins in the region, the computer program comprising;a) a first set of instructions for identifying a first set of sub-regions that contain the net'"'"'s pins;
b) a second set of instructions for obtaining a second set of sub-regions by adding a third set of sub-regions to the first set of sub-regions, wherein each sub-region in the third set does not contain the net'"'"'s pins;
c) a third set of instructions for identifying a first set of routes for the second set of sub-regions, wherein the first-route set includes at least one route and each route in the first-route set traverses the sub-regions in the second set;
d) a fourth set of instructions for computing a cost for at least one route in the first set of routes;
e) a fifth set of instructions for obtaining a fourth set of sub-regions by adding a fifth set of sub-regions to the first set of sub-regions, wherein each sub-region in the fifth set does not contain the net'"'"'s pins;
f) a sixth set of instructions for identifying a second set of routes for the fourth set of sub-regions, wherein the second-route set includes at least one route, and each route in the second-route set traverses the sub-regions in the third set;
g) a seventh set of instructions for computing a cost for at least one route in the second set of routes;
h) an eighth set of instructions for selecting between routes in the first and second route sets based on the computed costs. - View Dependent Claims (13, 14, 15)
a) a ninth set of instructions for generating estimated congestion values for several areas in the region;
b) a tenth set of instructions for discarding routes in the first and second sets of routes when the routes traverse areas that have estimated congestion values greater than a threshold amount.
- IC”
-
15. The computer readable medium of claim 14 further comprising:
-
an eleventh set of instructions for computing the cost of each route in the first and second sets that are not discarded for traversing areas that have estimated congestion values greater than a threshold amount;
a twelfth set of instructions for identifying a route with the lowest cost;
a thirteenth set of instructions for selecting all the routes that are in the same set of routes as the identified lowest-cost route and that have not been discarded.
-
-
16. For a router that uses a set of partitioning lines to partition a region of an integrated-circuit (“
- IC”
) layout into a plurality of sub-regions, a method of producing a set of sub-optimal routes for a net having a set of pins in the region, the method comprising;a) specifying an original pin configuration for the net, wherein the original configuration includes a pin value for each sub-region, and a sub-region'"'"'s corresponding pin value is set in the configuration when the sub-region contains a pin of the net, and sub-region'"'"'s corresponding pin value is not set in the configuration when the sub-region does not contain a pin of the net;
b) generating a first fake pin configuration for the net by setting at least one of the unset pin values in the original pin configuration; and
c) identifying a first set of routes for the first fake pin configuration, wherein each route traverses all the sub-regions that have their corresponding pin values set in the first fake pin configuration. - View Dependent Claims (17, 18, 19, 20)
a) computing a cost for at least one route in the first set of routes;
b) generating a second fake pin configuration for the net, wherein the second fake configuration is different from the first fake pin configuration, and wherein all the pin values set in the original pin configuration are also set in the second fake configuration and at least one pin value that is not set in the original pin configuration is set in the second fake configuration;
c) identifying a second set of routes for the second fake pin configuration, wherein the second-route set includes at least one route, and each route in the second-route set traverses the sub-regions that have their corresponding pin values set in the second fake pin configuration;
d) computing a cost for at least one route in the second set of routes;
e) selecting between routes in the first and second route sets based on the computed costs.
- IC”
-
19. The method of claim 18 further comprising:
-
a) generating estimated congestion values for several areas in the region;
b) discarding routes in the first and second sets of routes when the routes traverse areas that have estimated congestion values greater than a threshold amount.
-
-
20. The method of claim 19 further comprising:
-
computing the cost of each route in the first and second sets that are not discarded for traversing areas that have estimated congestion values greater than a threshold amount;
identifying a route with the lowest cost;
for the net, selecting all the routes that are in the same set of routes as the identified lowest-cost route and that have not been discarded.
-
-
21. For a router that partitions a region of an integrated-circuit (“
- IC”
) layout into a plurality of sub-regions, a computer readable medium comprising a computer program having executable code, the computer program for producing a set of sub-optimal routes for a net having a set of pins in the region, the computer program comprising;a) a first set of instructions for identifying a first set of sub-regions that contain the net'"'"'s pins, wherein the pins include actual and virtual pins;
b) a second set of instructions for obtaining a second set of sub-regions by adding a third set of sub-regions to the first set of sub-regions, wherein each sub-region in the third set does not contain the net'"'"'s pins;
c) a third set of instructions for identifying a first set of routes for the second set of sub-regions, wherein the first-route set includes at least one route, and each route in the first-route set traverses the sub-regions in the second set.
- IC”
Specification