Even apportionment based on positive timing slack threshold

US11797740B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11797740-B2
Application numberUS-202217671894-A
CountryUS
Kind codeB2
Filing dateFeb 15, 2022
Priority dateFeb 15, 2022
Publication dateOct 24, 2023
Grant dateOct 24, 2023

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 system is provided to perform slack apportionment for an integrated circuit. The system includes a time calculation module and a slack apportion module. The time calculation module determines an arrival time corresponding to a target pin in signal communication with a signal path. The slack apportion module determines a total slack associated with the signal path and determines a slack threshold value that is equal to a portion of the total slack. The time calculation module further determines an apportioned arrival time associated with the signal path based on the arrival time and a delay offset value. The slack apportion module further determines a residual slack apportionment value based on a residual slack and the number of macros associated with the signal path. Accordingly, the time calculation module determines a modified apportioned arrival time based on the residual slack apportionment value and the apportioned arrival time.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method of performing slack apportionment for an integrated circuit (IC), the method comprising: selecting a target pin corresponding to a signal path for slack apportionment and determining an arrival time corresponding to the target pin; determining a total slack associated with the signal path and determining a slack threshold value that is equal to a portion of the total slack; determining an apportioned arrival time associated with the signal path based on the arrival time and a delay offset value; determining a residual slack apportionment value based on a residual slack and the number of macros associated with the signal path; and determining a modified apportioned arrival time based on the residual slack apportionment value and the apportioned arrival time. 2. The method of claim 1 , wherein the residual slack apportionment value is based on an equal distribution of the residual slack apportionment value among the number of macros. 3. The method of claim 2 , wherein the residual slack is a difference between the total slack and the slack threshold value. 4. The method of claim 3 , wherein the delay offset value is determined by: determining a total path delay associated with the signal path; determining a path ratio based on the total path delay and the slack threshold value; and determining a delay offset value based on an upstream delay portion of the total path delay and the path ratio. 5. The method of claim 4 , further comprising: storing the apportioned arrival time in an assertion file; and updating the assertion file based on the modified apportion time. 6. The method of claim 5 , further comprising: determining whether the target pin is one of an input pin configured to deliver data to a corresponding signal path or an output pin configured to receive data from a corresponding signal path, wherein storing the apportioned arrival time in the assertion file comprises one of storing the apportioned arrival time as a primary input specification (PIS) value corresponding to the input pin or storing the apportioned arrival time as an estimated time of arrival (ETA) value corresponding to the output pin. 7. The method of claim 6 , wherein updating the assertion file comprises one of subtracting the residual slack apportionment value from the apportioned arrival time based on determining the target pin is an input pin or adding the residual slack apportionment value to the apportioned arrival time based on determining the target pin is an output pin. 8. A system configured to perform slack apportionment for an integrated circuit (IC), the system comprising: a time calculation module configured to determine an arrival time corresponding to a target pin in signal communication with a signal path selected for the slack apportionment and; and a slack apportion module configured to determine a total slack associated with the signal path and to determine a slack threshold value that is equal to a portion of the total slack, wherein the time calculation module is configured to determine an apportioned arrival time associated with the signal path based on the arrival time and a delay offset value and the slack apportion module is configured to determine a residual slack apportionment value based on a residual slack and the number of macros associated with the signal path, and wherein the time calculation module determines a modified apportioned arrival time based on the residual slack apportionment value and the apportioned arrival time. 9. The system of claim 8 , wherein the residual slack apportionment value is based on an equal distribution of the residual slack apportionment value among the number of macros. 10. The system of claim 9 , wherein the residual slack is a difference between the total slack and the slack threshold value. 11. The system of claim 10 , wherein the slack apportion module comprises: a delay offset module configured to determine a total path delay associated with the signal path; and a path ratio module configured to determine a path ratio based on the total path delay and the slack threshold value, wherein the delay offset module determines the delay offset value based on an upstream delay portion of the total path delay and the path ratio. 12. The system of claim 11 , wherein the time calculation module stores the apportioned arrival time in an assertion file, and updates the assertion file based on the modified apportion time. 13. The system of claim 12 , further comprising: a pin and path selection module configured to generate pin information indicating whether the target pin is one of an input pin configured to deliver data to a corresponding signal path or an output pin configured to receive data from a corresponding signal path, wherein the time calculation module obtains the pin information from the pin and path selection module, and stores the apportioned arrival time in the assertion file as one of a primary input specification (PIS) value corresponding to the input pin or an estimated time of arrival (ETA) value corresponding to the output pin. 14. The system of claim 13 , wherein updating the assertion file comprises one of subtracting the residual slack apportionment value from the apportioned arrival time based on determining the target pin is an input pin or adding the residual slack apportionment value to the apportioned arrival time based on determining the target pin is an output pin. 15. A computer program product to control a system to perform slack apportionment for an integrated circuit (IC), the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by an electronic computer processor to control the system to perform operations comprising: selecting a target pin corresponding to a signal path for slack apportionment and determining an arrival time corresponding to the target pin; determining a total slack associated with the signal path and determining a slack threshold value that is equal to a portion of the total slack; determining an apportioned arrival time associated with the signal path based on the arrival time and a delay offset value; determining a residual slack apportionment value based on a residual slack and the number of macros associated with the signal path; and determining a modified apportioned arrival time based on the residual slack apportionment value and the apportioned arrival time. 16. The computer program product of claim 15 , wherein the residual slack apportionment value is based on an equal distribution of the residual slack apportionment value among the number of macros. 17. The computer program product of claim 16 , wherein the residual slack is a difference between the total slack and the slack threshold value. 18. The computer program product of claim 17 , wherein the delay offset value is determined by: determining a total path delay associated with the signal path; determining a path ratio based on the total path delay and the slack threshold value; and determining a delay offset value based on an upstream delay portion of the total path delay and the path ratio. 19. The computer program product of claim 18 , further comprising: storing the apportioned arrival time in an assertion file; and updating the assertion file based on the modified apportion time. 20. The computer program product of claim 19 , further comprising: determining whether the tar

Assignees

Inventors

Classifications

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 US11797740B2 cover?
A system is provided to perform slack apportionment for an integrated circuit. The system includes a time calculation module and a slack apportion module. The time calculation module determines an arrival time corresponding to a target pin in signal communication with a signal path. The slack apportion module determines a total slack associated with the signal path and determines a slack thresh…
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 Oct 24 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).