Leverage cycle stealing within optimization flows

US2018239844A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018239844-A1
Application numberUS-201715817741-A
CountryUS
Kind codeA1
Filing dateNov 20, 2017
Priority dateFeb 23, 2017
Publication dateAug 23, 2018
Grant date

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.

A method, computer program product, and system for calculating an input timing slack at an input to a latch by subtracting an input arrival time to the latch from an input required arrival time, calculating an output timing slack at an output to the latch by subtracting an output arrival time of the latch from an output required arrival time from the latch, performing cycle stealing to improve the output timing slack by modifying the input required arrival time and the output arrival time, reducing the output timing slack by a pessimism amount, performing optimization in the integrated circuit to improve the input timing slack and the output timing slack, and increasing the output timing slack by the pessimism amount.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer program product for implementing timing adjustments in an integrated circuit, the computer program product comprising: one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising: program instructions to calculate an input timing slack at an input to a latch by program instructions to subtract an input arrival time to the latch from an input required arrival time of the latch; program instructions to calculate an output timing slack at an output to the latch by program instructions to subtract an output arrival time of the latch from an output required arrival time from the latch; program instructions to perform cycle stealing to improve the output timing slack by program instructions to modify the required arrival time of the latch and the required output arrival time; program instructions to reduce the output timing slack by a pessimism amount; program instructions to perform optimization by program instructions to make design modifications in the integrated circuit to improve the input timing slack and the output timing slack until a desired slack goal is achieved; and program instructions to increase the output timing slack by the pessimism amount. 2 . The computer program product according to claim 1 , further comprising: program instructions perform final power recovery. 3 . The computer program product according to claim 1 , wherein the latch comprises at least one of the following: an unbalanced input timing slack and output timing slack, the output timing slack above a target threshold, or a cycle boundary occurring earlier than an end of an active clock interval. 4 . The computer program product according to claim 1 , wherein program instructions to perform optimization comprises at least one of the following: program instructions to modify a physical size of a logic device in the integrated circuit; program instructions to change a wire size in the integrated circuit; and program instructions to swap design equivalents. 5 . The computer program product according to claim 1 , wherein the desired slack goal comprises the output timing slack equal to zero. 6 . The computer program product according to claim 1 , wherein the desired slack goal comprises the input timing slack equal to the output timing slack. 7 . A computer system for implementing timing adjustments in an integrated circuit, the computer system comprising: one or more computer processors, one or more computer-readable storage media, and program instructions stored on the one or more computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising: program instructions to calculate an input timing slack at an input to a latch by program instructions to subtract an input arrival time to the latch from an input required arrival time of the latch; program instructions to calculate an output timing slack at an output to the latch by program instructions to subtract an output arrival time of the latch from an output required arrival time from the latch; program instructions to perform cycle stealing to improve the input timing slack by program instructions to modify the input required arrival time of the latch and the output arrival time; program instructions to reduce the output timing slack by a pessimism amount; program instructions to perform optimization by program instructions to make design modifications in the integrated circuit to improve the input timing slack and the output timing slack until a desired slack goal is achieved; and program instructions to increase the output timing slack by the pessimism amount. 8 . The computer system according to claim 7 , further comprising: program instructions perform final power recovery. 9 . The computer system according to claim 7 , wherein the latch comprises at least one of the following: an unbalanced input timing slack and output timing slack, the output timing slack above a target threshold, or a cycle boundary occurring earlier than an end of an active clock interval. 10 . The computer system according to claim 7 , wherein program instructions to perform optimization comprises at least one of the following: program instructions to modify a physical size of a logic device in the integrated circuit; program instructions to change a wire size in the integrated circuit; and program instructions to swap design equivalents. 11 . The computer system according to claim 7 , wherein program instructions to perform final power recovery comprises: program instructions to remove unnecessary output timing slack improvement; and program instructions to remove unnecessary input timing slack improvement. 12 . The computer system according to claim 7 , wherein the pessimism amount is based on at least one of the following: the input timing slack; program instructions to estimate a maximum possible slack improvement; and program instructions to calculate a difference between a current cycle boundary time and a time which corresponds with an end of an active clock interval.

Assignees

Inventors

Classifications

  • Timing analysis or timing optimisation · CPC title

  • G06F30/327Primary

    Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist · CPC title

  • Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM] (optical proximity correction [OPC] design processes G03F1/36) · CPC title

  • Physics · mapped topic

  • G06F17/505Primary

    Physics · mapped topic

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 US2018239844A1 cover?
A method, computer program product, and system for calculating an input timing slack at an input to a latch by subtracting an input arrival time to the latch from an input required arrival time, calculating an output timing slack at an output to the latch by subtracting an output arrival time of the latch from an output required arrival time from the latch, performing cycle stealing to improve …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F30/327. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Aug 23 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).