IP Library Granted Patent US 9,922,158
Granted Patent B2
US 9,922,158 · App. 15/172,722 · Granted Mar 20, 2018

Use of net-based target congestion ratios in global routing

Inventors: Diwesh Pandey (Bangalore, IN); Sven Peyer (Tuebingen, DE); Yaoguang Wei (Austin, TX)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/5077
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 9,922,158
App. No.
15/172,722
Granted
Mar 20, 2018
Kind
B2
Abstract

According to an aspect, a plurality of nets are grouped into a plurality of buckets based on timing criticalities associated with the nets, and different TCRs are assigned to each of the buckets. For each of the nets, a TCR for the net is determined based on the TCR assigned to the bucket containing the net. Global routing of the net is performed according to the TCR and to one or more constraints associated with the net. The TCR for the net is incremented by a specified amount in response to the global routing of the net resulting in violating at least one of the one or more constraints associated with the net and to a stopping criteria not being met. The performing global routing and incrementing the TCR for the net is repeated.

Claims (36)

1. A system for global routing of integrated circuits, the system comprising:

a memory storing computer readable instructions; and

a processor for executing the computer readable instructions to cause the system to perform:

responsive to initiating global routing on an integrated circuit:

grouping, using a processor, a plurality of nets into a plurality of buckets, the grouping based on timing criticalities associated with the nets;

assigning different target congestion ratios (TCRs) to each of the plurality of buckets, the TCRs selected based on the timing criticalities associated with the nets in the buckets; and

executing, using the processor, for each of the plurality of nets:

determining a TCR for the net based on the TCR assigned to the bucket containing the net;

performing global routing of the net according to the TCR and to one or more constraints associated with the net; and

in response to the performing global routing of the net resulting in violating at least one of the one or more constraints associated with the net and to a stopping criteria not being met:

incrementing the TCR for the net by a specified amount; and

repeating the performing global routing and incrementing until at least one of the performing global routing of the net results in all of the one or more constraints being met and a stopping criteria is met,

wherein wires are placed on the integrated circuit based at least in part on the grouping, assigning, and executing.

2. The system of claim 1 , wherein the one or more constraints include a routing constraint.

3. The system of claim 1 , wherein one of the one or more constraints is selected from the group consisting of a congestion violation, a length violation, and a timing violation.

4. The system of claim 1 , wherein a first bucket is assigned a higher TCR than a second bucket based on the first bucket containing a net with a higher criticality than a net in the second bucket.

5. The system of claim 1 , wherein the executing is performed in decreasing order of assigned TCR.

6. The system of claim 1 , wherein each net is assigned a different TCR.

7. The system of claim 1 , wherein the computer readable instructions further cause the system to perform, subsequent to the executing, performing detailed routing on the integrated circuit.

8. A computer program product for global routing of integrated circuits, the computer program product comprising:

a tangible storage medium readable by a processor and storing instructions executable by the processor for:

responsive to initiating global routing on an integrated circuit:

grouping, using a processor, a plurality of nets into a plurality of buckets, the grouping based on timing criticalities associated with the nets;

assigning different target congestion ratios (TCRs) to each of the plurality of buckets, the TCRs selected based on the timing criticalities associated with the nets in the buckets; and

executing, using the processor, for each of the plurality of nets:

determining a TCR for the net based on the TCR assigned to the bucket containing the net;

performing global routing of the net according to the TCR and to one or more constraints associated with the net; and

in response to the performing global routing of the net resulting in violating at least one of the one or more constraints associated with the net and to a stopping criteria not being met:

incrementing the TCR for the net by a specified amount; and

repeating the performing global routing and incrementing until at least one of the performing global routing of the net results in all of the one or more constraints being met and a stopping criteria is met,

wherein wires are placed on the integrated circuit based at least in part on the grouping, assigning, and executing.

9. The computer program product of claim 8 , wherein the one or more constraints include a routing constraint.

10. The computer program product of claim 8 , wherein one of the one or more constraints is selected from the group consisting of a congestion violation, a length violation, and a timing violation.

11. The computer program product of claim 8 , wherein a first bucket is assigned a higher TCR than a second bucket based on the first bucket containing a net with a higher criticality than a net in the second bucket.

12. The computer program product of claim 8 , wherein the executing is performed in decreasing order of assigned TCR.

13. The computer program product of claim 8 , wherein each net is assigned a different TCR.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: PANDEY, DIWESH; PEYER, SVEN; WEI, YAOGUANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038800/0494 →
Continuity (1)
Related Publication 20170351800A1 · Dec 7, 2017