IP Library Granted Patent US 7,299,442
Granted Patent B2
US 7,299,442 · App. 11/032,878 · Granted Nov 20, 2007

Probabilistic congestion prediction with partial blockages

Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,299,442
App. No.
11/032,878
Filed
Jan 11, 2005
Granted
Nov 20, 2007
Kind
B2
Art Unit
2825
USPC
716/12
Abstract

A method of estimating routing congestion between pins in a net of an integrated circuit design, by establishing one or more potential routes between the pins which pass through buckets in the net, assigning a probabilistic usage to each bucket based on any partial blockage of the wiring tracks in each bucket, and computing routing congestion for each bucket using its probabilistic usage. When the net is a two-pin net that is a part of a larger multi-pin net, and a tree is constructed to bridge the two-pin net to another pin of the multi-pin net. The routing congestion for each bucket is computed as a ratio of the bucket usage to bucket capacity. For L-shaped routes (having at least one bend in a bucket), the probabilistic usage is proportional to a scale factor a which is a ratio of a minimum number of available wiring tracks for a given route to a sum of minimum numbers of available wiring tracks for all possible routes. For Z-shaped routes (having at least two bends in two respective buckets), the probabilistic usage is equal to a ratio of a minimum capacity of a given route to a sum of minimum capacities of all routes having an associated orientation with the given route. Assignment of the usage values may entail the creation of a temporary usage map of the net buckets with an initial value of zero usage in every temporary usage map bucket, thereafter storing usage values in corresponding buckets of the temporary usage map, and deriving a final usage map from the temporary usage map.

Claims (33)

1. A method of estimating routing congestion between pins in a net of an integrated circuit design using a computer system, comprising:

establishing one or more potential routes between the pins which pass through one or more buckets in the net, each bucket having a set of wiring tracks;

assigning a probabilistic usage to each bucket based on any partial blockage of the wiring tracks in each bucket, wherein said assigning includes creating a temporary usage map of the net buckets with an initial value of zero usage in every temporary usage map bucket, storing usage values in corresponding buckets of the temporary usage map, and deriving a final usage map from the temporary usage map;

computing routing congestion for each bucket using its probabilistic usage; and

storing the routing congestion for each bucket in said computer system.

2. The method of claim 1 wherein the net is a two-pin net that is a part of a larger multi-pin net, and further comprising constructing a tree to bridge the two-pin net to another pin of the multi-pin net.

3. The method of claim 1 wherein the routing congestion for each bucket is computed as a ratio of the bucket usage to bucket capacity.

4. The method of claim 1 wherein the routes are L-shaped having at least one bend in a bucket, and the probabilistic usage is proportional to a scale factor α which is a ratio of a minimum number of available wiring tracks for a given route to a sum of minimum numbers of available wiring tracks for all possible routes.

5. The method of claim 1 wherein the routes are Z-shaped having at least two bends in two respective buckets, and the probabilistic usage is equal to a ratio of a minimum capacity of a given route to a sum of minimum capacities of all routes having an associated orientation with the given route.

6. The method of claim 5 wherein the minimum capacity F(n) of the given route n is

F ( n )=min{ F ( u 1 )· F ( d n )/ F R ( d 1 ), . . . , F ( u n )· F ( d n )/ F R ( d n ), F ( d n ), F ( e n )· F ( d n )/ F L ( d n ), . . . , F ( e Q )· F ( d Q )/ F L ( d Q )},

where Q is the number of potential routes, d is one of a plurality of central span portions of the potential routes, u is one of a first plurality of edge portions of the potential routes that lie on a first side of the central span portions, e is one of a second plurality of edge portions of the potential routes that lie on a second side of the central span portions, F(u n ) is the capacity associated with edge u n , F(d n ) is the capacity associated with edge d n , F(e n ) is the capacity associated with edge e n , F L (d n ) is the total capacities of all central spans d to the left of span d n having an associated orientation with the given route, and F R (d n ) is the total capacities of all central spans d to the right of span d n having the associated orientation with the given route.

7. A computer system comprising:

one or more processors which process program instructions;

a memory device connected to said processing means; and

program instructions residing in said memory device for estimating routing congestion between pins in a net of an integrated circuit design by establishing one or more potential routes between the pins which pass through one or more buckets in the net, each bucket having a set of wiring tracks, assigning a probabilistic usage to each bucket based on any partial blockage of the wiring tracks in each bucket wherein said assigning includes creating a temporary usage map of the net buckets with an initial value of zero usage in every temporary usage map bucket, storing usage values in corresponding buckets of the temporary usage map, and deriving a final usage map from the temporary usage map, and computing routing congestion for each bucket using its probabilistic usage.

8. The computer system of claim 7 wherein the net is a two-pin net that is a part of a larger multi-pin net, and said program instructions further construct a tree to bridge the two-pin net to another pin of the multi-pin net.

9. The computer system of claim 7 wherein the routing congestion for each bucket is computed as a ratio of the bucket usage to bucket capacity.

10. The computer system of claim 7 wherein the routes are L-shaped having at least one bend in a bucket, and the probabilistic usage is proportional to a scale factor α which is a ratio of a minimum number of available wiring tracks for a given route to a sum of minimum numbers of available wiring tracks for all possible routes.

11. The computer system of claim 7 wherein the routes are Z-shaped having at least two bends in two respective buckets, and the probabilistic usage is equal to a ratio of a minimum capacity of a given route to a sum of minimum capacities of all routes having an associated orientation with the given route.

12. The computer system of claim 11 wherein the minimum capacity F(n) of the given route n is

F ( n )=min{ F ( u 1 )· F ( d n )/ F R ( d 1 ), . . . , F ( u n )· F ( d n )/ F R ( d n ), F ( d n ), F ( e n )· F ( d n )/ F L ( d n ), . . . , F ( e Q )· F ( d Q )/ F L ( d Q )},

where Q is the number of potential routes, d is one of a plurality of central span portions of the potential routes, u is one of a first plurality of edge portions of the potential routes that lie on a first side of the central span portions, e is one of a second plurality of edge portions of the potential routes that lie on a second side of the central span portions, F(u n ) is the capacity associated with edge u n , F(d n ) is the capacity associated with edge d n , F(e n ) is the capacity associated with edge e n , F L (d n ) is the total capacities of all central spans d to the left of span d n having an associated orientation with the given route, and F R (d n ) is the total capacities of all central spans d to the right of span d n having the associated orientation with the given route.

13. A computer program product comprising:

a computer-readable medium; and

program instructions residing in said medium for estimating routing congestion between pins in a net of an integrated circuit design by establishing one or more potential routes between the pins which pass through one or more buckets in the net, each bucket having a set of wiring tracks, assigning a probabilistic usage to each bucket based on any partial blockage of the wiring tracks in each bucket wherein said assigning includes creating a temporary usage map of the net buckets with an initial value of zero usage in every temporary usage map bucket, storing usage values in corresponding buckets of the temporary usage map, and deriving a final usage map from the temporary usage map, and computing routing congestion for each bucket using its probabilistic usage.

14. The computer program product of claim 13 wherein the net is a two-pin net that is a part of a larger multi-pin net, and said program instructions further construct a tree to bridge the two-pin net to another pin of the multi-pin net.

15. The computer program product of claim 13 wherein the routing congestion for each bucket is computed as a ratio of the bucket usage to bucket capacity.

16. The computer program product of claim 13 wherein the routes are L-shaped having at least one bend in a bucket, and the probabilistic usage is proportional to a scale factor α which is a ratio of a minimum number of available wiring tracks for a given route to a sum of minimum numbers of available wiring tracks for all possible routes.

17. The computer program product of claim 13 wherein the routes are Z-shaped having at least two bends in two respective buckets, and the probabilistic usage is equal to a ratio of a minimum capacity of a given route to a sum of minimum capacities of all routes having an associated orientation with the given route.

18. The computer program product of claim 17 wherein the minimum capacity F(n) of the given route n is

F ( n )=min{ F ( u 1 )· F ( d n )/ F R ( d 1 ), . . . , F ( u n )· F ( d n )/ F R ( d n ), F ( d n ), F ( e n )· F ( d n )/ F L ( d n ), . . . , F ( e Q )· F ( d Q )/ F L ( d Q )},

where Q is the number of potential routes, d is one of a plurality of central span portions of the potential routes, u is one of a first plurality of edge portions of the potential routes that lie on a first side of the central span portions, e is one of a second plurality of edge portions of the potential routes that lie on a second side of the central span portions, F(u n ) is the capacity associated with edge u n , F(d n ) is the capacity associated with edge d n , F(e n ) is the capacity associated with edge e n , F L (d n ) is the total capacities of all central spans d to the left of span d n having an associated orientation with the given route, and F R (d n ) is the total capacities of all central spans d to the right of span d n having the associated orientation with the given route.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 12, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES U.S. INC.
Reel/Frame 056987/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 20, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: GLOBALFOUNDRIES INC.
Reel/Frame 054636/0001 →
SECURITY AGREEMENT Recorded Nov 29, 2018
From: GLOBALFOUNDRIES INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 049490/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2015
From: GLOBALFOUNDRIES U.S. 2 LLC; GLOBALFOUNDRIES U.S. INC.
To: GLOBALFOUNDRIES INC.
Reel/Frame 036779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2015
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GLOBALFOUNDRIES U.S. 2 LLC
Reel/Frame 036550/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2005
From: ALPERT, CHARLES JAY; LI, ZHUO; QUAY, STEPHEN THOMAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 015751/0392 →
Continuity (1)
Related Publication 20060156266A1 · Jul 13, 2006