Techniques For Providing Optimizations Based On Categories Of Slack In Timing Paths
US-2021216692-A1 · Jul 15, 2021 · US
US11797740B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11797740-B2 |
| Application number | US-202217671894-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 15, 2022 |
| Priority date | Feb 15, 2022 |
| Publication date | Oct 24, 2023 |
| Grant date | Oct 24, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
Timing analysis · CPC title
Design optimisation · CPC title
Timing analysis or timing optimisation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.