IP Library Granted Patent US 11,023,634
Granted Patent B1
US 11,023,634 · App. 16/741,964 · Granted Jun 1, 2021

Downstream slack creation in integrated circuit development

Inventors: Michael Romain (Beacon, NY); Eddy St. Juste (Monroe, CT)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F30/33G06F2119/12
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 11,023,634
App. No.
16/741,964
Granted
Jun 1, 2021
Kind
B1
Abstract

Aspects of the invention include a method that includes performing timing analysis of an integrated circuit design to identify a critical path. The critical path fails to meet a corresponding timing requirement. The method also includes determining an amount of slack needed by the critical path. The amount of slack is an amount by which the critical path fails to meet the corresponding timing requirement. Downstream slack is created in each path of a next cycle, wherein each path of the next cycle is immediately downstream of the critical path. Slack stealing is performed to improve timing of the critical path based on the downstream slack created in each path of the next cycle.

Claims (34)

1. A computer-implemented method comprising:

performing timing analysis of an integrated circuit design to identify a critical path, wherein each path of the integrated circuit, including the critical path, is implemented by a wire during fabrication of the integrated circuit and the critical path fails to meet a corresponding timing requirement;

determining an amount of slack needed by the critical path, wherein the amount of slack is an amount by which the critical path fails to meet the corresponding timing requirement;

creating downstream slack in each path of a next cycle, wherein each path of the next cycle is immediately downstream of the critical path; and

performing slack stealing to improve timing of the critical path based on the downstream slack created in each path of the next cycle.

2. The computer-implemented method according to claim 1 , further comprising providing a final design for integrated circuit fabrication, wherein the final design is obtained by performing the slack stealing.

3. The computer-implemented method according to claim 1 , further comprising identifying a deficient path of the next cycle as one in which the downstream slack is less than the amount of slack needed by the critical path.

4. The computer-implemented method according to claim 3 , further comprising creating a difference slack in every path of a next cycle that is immediately downstream of the deficient path, wherein the difference slack is an amount by which the downstream slack is less than the amount of slack needed by the critical path.

5. The computer-implemented method according to claim 1 , wherein the creating the downstream slack includes reducing a voltage threshold by downsizing gates.

6. The computer-implemented method according to claim 1 , wherein the creating the downstream slack includes implementing synthesis algorithms designed to create positive slack.

7. The computer-implemented method according to claim 1 , wherein the creating the downstream slack includes performing wire tuning or adding buffers.

8. The computer-implemented method according to claim 1 , wherein the creating the downstream slack includes using a first technique during a first stage of integrated circuit development and using a second technique during a second stage of the integrated circuit development.

9. A system comprising:

a memory having computer readable instructions; and

one or more processors for executing the computer readable instructions, the computer readable instructions controlling the one or more processors to perform operations comprising:

performing timing analysis of an integrated circuit design to identify a critical path, wherein each path of the integrated circuit, including the critical path, is implemented by a wire during fabrication of the integrated circuit and the critical path fails to meet a corresponding timing requirement;

determining an amount of slack needed by the critical path, wherein the amount of slack is an amount by which the critical path fails to meet the corresponding timing requirement;

creating downstream slack in each path of a next cycle, wherein each path of the next cycle is immediately downstream of the critical path; and

performing slack stealing to improve timing of the critical path based on the downstream slack created in each path of the next cycle.

10. The system according to claim 9 , further comprising providing a final design that is obtained by performing the slack stealing for integrated circuit fabrication.

11. The system according to claim 9 , further comprising identifying a deficient path of the next cycle as one in which the downstream slack is less than the amount of slack needed by the critical path.

12. The system according to claim 11 , further comprising creating a difference slack in every path of a next cycle that is immediately downstream of the deficient path, wherein the difference slack is an amount by which the downstream slack is less than the amount of slack needed by the critical path.

13. The system according to claim 9 , wherein the creating the downstream slack includes reducing a voltage threshold by downsizing gates, implementing synthesis algorithms designed to create positive slack, or performing wire tuning or adding buffers.

14. The system according to claim 9 , wherein the creating the downstream slack includes using a first technique during a first stage of integrated circuit development and using a second technique during a second stage of the integrated circuit development.

15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform operations comprising:

performing timing analysis of an integrated circuit design to identify a critical path, wherein each path of the integrated circuit, including the critical path, is implemented by a wire during fabrication of the integrated circuit and the critical path fails to meet a corresponding timing requirement;

determining an amount of slack needed by the critical path, wherein the amount of slack is an amount by which the critical path fails to meet the corresponding timing requirement;

creating downstream slack in each path of a next cycle, wherein each path of the next cycle is immediately downstream of the critical path; and

performing slack stealing to improve timing of the critical path based on the downstream slack created in each path of the next cycle.

16. The computer program product according to claim 15 , further comprising providing a final design that is obtained by performing the slack stealing for integrated circuit fabrication.

17. The computer program product according to claim 15 , further comprising identifying a deficient path of the next cycle as one in which the downstream slack is less than the amount of slack needed by the critical path.

18. The computer program product according to claim 17 , further comprising creating a difference slack in every path of a next cycle that is immediately downstream of the deficient path, wherein the difference slack is an amount by which the downstream slack is less than the amount of slack needed by the critical path.

19. The computer program product according to claim 15 , wherein the creating the downstream slack includes reducing a voltage threshold by downsizing gates, implementing synthesis algorithms designed to create positive slack, or performing wire tuning or adding buffers.

20. The computer program product according to claim 15 , wherein the creating the downstream slack includes using a first technique during a first stage of integrated circuit development and using a second technique during a second stage of the integrated circuit development.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2020
From: ROMAIN, MICHAEL; ST. JUSTE, EDDY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051508/0890 →