Timing optimization driven by statistical sensitivites

US9767239B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9767239-B1
Application numberUS-201615298921-A
CountryUS
Kind codeB1
Filing dateOct 20, 2016
Priority dateOct 20, 2016
Publication dateSep 19, 2017
Grant dateSep 19, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

System and methods for achieving a timing closure in a design of an integrated circuit in presence of manufacturing variation. The method includes running a timing engine of a statistical timing analysis tool performing at least one optimization to fix at least one violation of at least one timing quantity at an integrated circuit location. The method includes choosing at least one optimization to apply and finding at least one failing timing quantity, where the quantity is failing due to at least one source of variability which the optimization would impact. The optimization is applied to at least one section of the path leading to the failing timing quantity, where the section contributes to the source of variability. Statistical sensitivity information in canonical form guides the optimization by providing a fully parameterized canonical form of the identified timing violations.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of manufacturing an integrated circuit comprising: using a computer, running a statistical timing analysis (STA) for identifying timing violations at a location in a circuit design; for an identified timing violation, determining a failing sensitivity resulting in said timing violation; using said computer, identifying one or more gates/nets which contribute to the failing sensitivity at the location; using said computer, receiving and applying a transform comprising a design change on one or more of the gates/nets to reduce sensitivity to a process variable associated with the failing sensitivity at the location and statistically reduce a probability of the failing sensitivity at the location; using the computer, conduct a further statistical timing analysis for determining whether the timing violation was corrected using said applied transform; and in response to determining that the timing violation was not corrected, iteratively applying the transform to the one or more gates/nets based on a ranked list ordering of paths associated with the one or more gates/nets until the timing violation is corrected. 2. The method of claim 1 , wherein said identifying one or more gates/nets comprises: tracing a critical path and/or paths of said paths and ranking the one or more gates/nets by contribution to said process variable associated with the failing sensitivity at the location. 3. The method of claim 1 , wherein the determining a failing sensitivity resulting in said timing violation further comprises: accessing data that maps a relationship between a source of variability of the process variable and how the transform impacts that source of variability. 4. The method of claim 2 , wherein the ranking of a gate/net of the one or more gates/nets is based on a process variable that contributes most to sensitivity at a failing timing violation at the location of said circuit. 5. The method of claim 2 , wherein if it is determined that the timing violation was not completely corrected using said applied transform, the method further comprises: iteratively applying multiple transforms, with each transform applied across each said gates/nets in a ranked order that contributes most to sensitivity at a failing timing point of said circuit. 6. The method of claim 1 , wherein a timing violation is a failed timing quantity selected from the group consisting of: a test slack, a slew, an arrival time, a required arrival time, and a capacitance. 7. The method of claim 6 , further comprising: using the computer to project statistical sensitivity information for said identified timing violation in a canonical form, said canonical form representing a statistical distribution of said process variable contributing to the failed timing quantity for projection to all circuit operation models, wherein a circuit operation model includes modeling using one or more of: a low Vdd voltage, high Vdd, low frequency operation, high frequency operation, metal thickness variation, across-chip variation, thermal effects, temperature variation, and voltage-threshold mistrack. 8. The method of claim 6 , further comprising: determining whether a data test side or a clock test side contributes more to the failing timing quantity at a circuit element; and projecting said statistical sensitivity information for said identified timing violation for that side of the test. 9. An apparatus for manufacturing an integrated circuit comprising: a hardware processor; a memory storage device storing instructions, said instructions for configuring the hardware processor to perform a method to: run a statistical timing analysis (STA) for identifying timing violations at a location in a circuit design; for an identified timing violation, determine a failing sensitivity resulting in said timing violation; identify one or more gates/nets which contribute to the failing sensitivity at the location; receive and apply a transform comprising a design change on one or more of the gates/nets to reduce sensitivity to a process variable associated with the failing sensitivity at the location and statistically reduce a probability of the failing sensitivity at the location; conduct a further statistical timing analysis for determining whether the timing violation was corrected using said applied transform; and in response to determining that the timing violation was not corrected, iteratively apply the transform to the one or more gates/nets based on a ranked list ordering of paths associated with the one or more gates/nets until the timing violation is corrected. 10. The apparatus of claim 9 , wherein to identify one or more gates/nets, the hardware processor is further configured to: trace a critical path and/or paths of said paths and ranking the one or more gates/nets by contribution to said process variable associated with the failing sensitivity at the location. 11. The apparatus as claimed in claim 9 , wherein to determine a failing sensitivity resulting in said timing violation, said hardware processor is further configured to: access data that maps a relationship between a source of variability of the process variable and how the transform impacts that source of variability. 12. The apparatus of claim 10 , wherein the ranking of a gate/net of the one or more gates/nets is based on a process variable that contributes most to sensitivity at a failing timing violation at the location of said circuit. 13. The apparatus of claim 10 , wherein if it is determined that the timing violation was not completely corrected using said applied transform, said hardware processor is further configured to: iteratively apply multiple transforms, with each transform applied across each said gates/nets in a ranked order that contributes most to sensitivity at a failing timing point of said circuit. 14. The apparatus of claim 9 , wherein a timing violation is a failed timing quantity selected from the group consisting of: a test slack, a slew, an arrival time, a required arrival time, and a capacitance. 15. The apparatus of claim 14 , wherein said hardware processor is further configured to: project statistical sensitivity information for said identified timing violation in a canonical form, said canonical form representing a statistical distribution of said process variable contributing to the failed timing quantity and projected on one or more circuit operation models, wherein a circuit operation model includes modeling using one or more of: a low Vdd voltage, high Vdd, low frequency operation, high frequency operation, metal thickness variation, across-chip variation, thermal effects, temperature variation, and voltage-threshold mistrack. 16. A computer program product comprising: a non-transitory computer readable media embodying a program of instructions executable by a processing unit for achieving timing closure in a design of an integrated circuit in presence of manufacturing variations, the program of instructions, when executing, performing a method comprising: running a statistical timing analysis (STA) for identifying timing violations at a location in a circuit design; for an identified timing violation, determining a failing sensitivity resulting in said timing violation; identifying one or more gates/nets which contribute to the failing sensitivity at the location; receiving and applying a transform comprising a design change on one or more of the gates/nets to reduce sensitivity to a process variable associated with the failing sensitivity at the location and statistically reduce a probability of the f

Assignees

Inventors

Classifications

  • Timing analysis · CPC title

  • Manufacturability analysis or optimisation for manufacturability · CPC title

  • G06F30/367Primary

    Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods · CPC title

  • Design verification, e.g. functional simulation or model checking · CPC title

  • Circuit design · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9767239B1 cover?
System and methods for achieving a timing closure in a design of an integrated circuit in presence of manufacturing variation. The method includes running a timing engine of a statistical timing analysis tool performing at least one optimization to fix at least one violation of at least one timing quantity at an integrated circuit location. The method includes choosing at least one optimization…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F30/3312. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 19 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).