IP Library Granted Patent US 10,360,341
Granted Patent B2
US 10,360,341 · App. 15/693,231 · Granted Jul 23, 2019

Integrated metal layer aware optimization of integrated circuit designs

Inventors: Abhijeet Chakraborty (Saratoga, CA); David John Seibert (Mountain View, CA); Pingkan Fok (Mountain View, CA); Ramoji Karumuri Rao (San Jose, CA)
Assignee: Synopsys, Inc.
G06F17/5081G06F17/5072G06F17/5077G06F2217/84
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 10,360,341
App. No.
15/693,231
Granted
Jul 23, 2019
Kind
B2
Abstract

Systems and techniques are described for optimizing an integrated circuit (IC) design. Before routing is performed on the IC design in an IC design flow, an IC design tool can iteratively perform a set of operations, the set of operations comprising: (1) modifying a net in the IC design to obtain a modified net, (2) determining a metal layer for routing the modified net, (3) computing a resistance value and a capacitance value of the modified net based on the metal layer, and (4) computing a delay value for the modified net based on the resistance value and the capacitance value.

Claims (44)

1. A non-transitory computer-readable storage medium storing instructions for an integrated circuit (IC) design tool that, when executed by a computer, cause the computer to perform a method for optimizing an IC design, the method comprising:

before routing is performed on the IC design in an IC design flow, the computer iteratively performing a set of operations, the set of operations comprising:

modifying a net in the IC design to obtain a modified net,

determining a metal layer for routing the modified net,

computing a resistance value and a capacitance value of the modified net based on the metal layer, and

computing a delay value for the modified net based on the resistance value and the capacitance value.

2. The non-transitory computer-readable storage medium of claim 1 , wherein said modifying the net comprises at least one of: inserting or deleting a buffer in the net, inserting or deleting an inverter in the net, moving one or more gates to a new location in the net, resizing one or more gates in the net, or replacing the net with another net that performs an equivalent logical function.

3. The non-transitory computer-readable storage medium of claim 2 , wherein the set of operations minimizes at least one of: a delay objective function for the IC design, an area objective function for the IC design, or a leakage power objective function for the IC design.

4. The non-transitory computer-readable storage medium of claim 1 , wherein said computing the resistance value and the capacitance value of the modified net comprises computing a unit resistance value and a unit capacitance value for the metal layer based on technology data that specifies physical and electrical characteristics of a set of metal layers that are created when an IC is manufactured based on the IC design.

5. The non-transitory computer-readable storage medium of claim 1 , wherein said determining the metal layer to route the modified net comprises:

for each metal layer in a set of metal layers, computing a routing cost for the modified net, and

selecting a lowest routing cost metal layer in the set of metal layers.

6. The non-transitory computer-readable storage medium of claim 5 , wherein the routing cost is computed based on a set of parameters comprising (1) a horizontal length of the modified net, (2) a vertical length of the modified net, (3) metal layers associated with pins of the modified net, (4) a timing slack of the modified net, and (5) a metal layer utilization value associated with the metal layer.

7. The non-transitory computer-readable storage medium of claim 6 , wherein after determining the metal layer, the method comprises updating the metal layer utilization value associated with the metal layer to obtain an updated metal layer utilization value, and wherein a next iteration of the set of operations uses the updated metal layer utilization value.

8. The non-transitory computer-readable storage medium of claim 6 , wherein said computing the resistance value of the modified net comprises computing a via resistance value for the modified net based on the metal layer.

9. An apparatus comprising:

a processor; and

a non-transitory computer-readable storage medium storing instructions for an integrated circuit (IC) design tool that, when executed by the processor, cause the apparatus to perform a method for optimizing an IC design, the method comprising:

before routing is performed on the IC design in an IC design flow, iteratively performing a set of operations, the set of operations comprising:

modifying a net in the IC design to obtain a modified net,

determining a metal layer for routing the modified net,

computing a resistance value and a capacitance value of the modified net based on the metal layer, and

computing a delay value for the modified net based on the resistance value and the capacitance value.

10. The apparatus of claim 9 , wherein said modifying the net comprises at least one of: inserting or deleting a buffer in the net, inserting or deleting an inverter in the net, moving one or more gates to a new location in the net, resizing one or more gates in the net, or replacing the net with another net that performs an equivalent logical function.

11. The apparatus of claim 10 , wherein the set of operations minimizes at least one of: a delay objective function for the IC design, an area objective function for the IC design, or a leakage power objective function for the IC design.

12. The apparatus of claim 9 , wherein said computing the resistance value and the capacitance value of the modified net comprises computing a unit resistance value and a unit capacitance value for the metal layer based on technology data that specifies physical and electrical characteristics of a set of metal layers that are created when an IC is manufactured based on the IC design.

13. The apparatus of claim 9 , wherein said determining the metal layer to route the modified net comprises:

for each metal layer in a set of metal layers, computing a routing cost for the modified net, and

selecting a lowest routing cost metal layer in the set of metal layers.

14. The apparatus of claim 13 , wherein the routing cost is computed based on a set of parameters comprising (1) a horizontal length of the modified net, (2) a vertical length of the modified net, (3) metal layers associated with pins of the modified net, (4) a timing slack of the modified net, and (5) a metal layer utilization value associated with the metal layer.

15. The apparatus of claim 14 , wherein after determining the metal layer, the method comprises updating the metal layer utilization value associated with the metal layer to obtain an updated metal layer utilization value, and wherein a next iteration of the set of operations uses the updated metal layer utilization value.

16. The apparatus of claim 14 , wherein said computing the resistance value of the modified net comprises computing a via resistance value for the modified net based on the metal layer.

17. A method for optimizing an IC design, the method comprising:

before routing is performed on the IC design in an IC design flow, an IC design tool in a computer iteratively performing a set of operations, the set of operations comprising:

modifying a net in the IC design to obtain a modified net,

determining a metal layer for routing the modified net,

computing a resistance value and a capacitance value of the modified net based on the metal layer, and

computing a delay value for the modified net based on the resistance value and the capacitance value, wherein said computing the resistance value of the modified net comprises computing a via resistance value for the modified net based on the metal layer.

18. The method of claim 17 , wherein the set of operations minimizes at least one of: a delay objective function for the IC design, an area objective function for the IC design, or a leakage power objective function for the IC design, and wherein said modifying the net comprises at least one of: inserting or deleting a buffer in the net, inserting or deleting an inverter in the net, moving one or more gates to a new location in the net, resizing one or more gates in the net, or replacing the net with another net that performs an equivalent logical function.

19. The method of claim 17 , wherein said computing the resistance value and the capacitance value of the modified net comprises computing a unit resistance value and a unit capacitance value for the metal layer based on technology data that specifies physical and electrical characteristics of a set of metal layers that are created when an IC is manufactured based on the IC design.

20. The method of claim 17 , wherein said determining the metal layer to route the modified net comprises:

for each metal layer in a set of metal layers, computing a routing cost for the modified net, wherein the routing cost is computed based on a set of parameters comprising (1) a horizontal length of the modified net, (2) a vertical length of the modified net, (3) metal layers associated with pins of the modified net, (4) a timing slack of the modified net, and (5) a metal layer utilization value associated with the metal layer;

selecting a lowest routing cost metal layer in the set of metal layers; and

updating the metal layer utilization value associated with the metal layer to obtain an updated metal layer utilization value, wherein a next iteration of the set of operations uses the updated metal layer utilization value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2017
From: CHAKRABORTY, ABHIJEET; SEIBERT, DAVID JOHN; FOK, PINGKAN; RAO, RAMOJI KARUMURI
To: SYNOPSYS, INC.
Reel/Frame 043741/0528 →
Continuity (1)
Related Publication 20190065656A1 · Feb 28, 2019
Cited By (1)
US 12,353,811