IP Library Granted Patent US 9,542,523
Granted Patent B2
US 9,542,523 · App. 14/424,220 · Granted Jan 10, 2017

Method and apparatus for selecting data path elements for cloning

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 9,542,523
App. No.
14/424,220
Granted
Jan 10, 2017
Kind
B2
Abstract

A method and apparatus for selecting data path elements for cloning within an integrated circuit (IC) design is described. The method comprises performing timing analysis of at least one data path within the IC design to determine at least one timing slack value for the at least one data path, calculating at least one annotated delay value for cloning a candidate element within the at least one data path, calculating at least one modified slack value for the at least one data path in accordance with the at least one calculated annotated delay value, and validating the cloning of the candidate element based at least partly on the at least one modified slack value.

Claims (42)

1. A method of selecting data path elements for cloning within an integrated circuit (IC) design, the method comprising:

performing timing analysis of at least one data path within the IC design to determine at least one timing slack value for the at least one data path;

calculating at least one annotated delay value for cloning a candidate element within the at least one data path;

calculating at least one modified slack value for the at least one data path in accordance with the at least one calculated annotated delay value;

validating the cloning of the candidate element based at least partly on the at least one modified slack value; and

fabricating the IC design based at least on the validated cloning of the candidate element.

2. The method of claim 1 , wherein the method further comprises:

identifying at least one timing critical path comprising a negative slack value; and

selecting the candidate element for cloning from the at least one timing critical path comprising a negative slack value.

3. The method of claim 2 , wherein the method comprises:

identifying a timing critical path comprising a worst negative slack value; and

selecting the candidate element for cloning from the at least one timing critical path comprising the worst negative slack value.

4. The method of claim 1 , wherein calculating the at least one annotated delay value for cloning the candidate element comprises calculating at least one from a group comprising:

an annotated delay value for a driving data path of the candidate element representative of an additional load of a clone element to be driven;

a negative annotated delay value for at least one timing critical data path driven by the candidate element representative of a reduced load for a first candidate clone element when driving the at least one timing critical data path;

a negative annotated delay value for at least one timing critical data path driven by the candidate element representative of a reduced element size for the first candidate clone element when driving the at least one timing critical data path;

a negative annotated delay value for at least one timing non-critical data path driven by the candidate element representative of a reduced load for a second candidate clone element when driving the at least one timing non-critical data path; and

a negative annotated delay value for at least one timing non-critical data path driven by the candidate element representative of a reduced element size for the second candidate clone element when driving the at least one timing non-critical data path.

5. The method of claim 1 , wherein the method comprises:

calculating at least one modified slack value for each data path comprising a candidate stage; and

validating the cloning of the candidate element based at least partly on the modified slack values for all of the data paths comprising the candidate stage.

6. The method of claim 1 , where the method comprises:

identifying a timing critical path comprising a worst negative slack value;

selecting a candidate element for cloning from the at least one timing critical path comprising a worst negative slack value;

calculating at least one modified slack value for each data path comprising the candidate stage in accordance with the at least one calculated annotated delay value;

determining a new worst negative slack value; and

validating the cloning of the candidate element if the new worst negative slack value for modified slack values is less than the worst negative slack value for unmodified slack values.

7. The method of claim 1 , wherein the method comprises;

identifying timing critical paths comprising negative slack values; and

incrementally validating at least one candidate element within each identified timing critical path comprising a negative slack value.

8. The method of claim 7 , wherein the method comprises:

incrementally validating at least one candidate element within each identified timing critical path comprising a negative slack value starting with a timing critical path comprising a worst negative slack value and sequentially progressing through the identified timing critical paths from the timing critical path comprising a worst negative slack value through to the timing critical path comprising a least negative slack value.

9. The method of claim 1 , wherein the method further comprises assessing a suitability of each stage of the at least one data path for cloning.

10. The method of claim 9 , wherein the method comprises sequentially selecting candidate elements from stages identified as being suitable for cloning, starting at a capture end of the at least one data path and stepping back up towards a launch end of the at least one data path.

11. The method of claim 9 , wherein assessing the suitability of a stage of the at least one data path for cloning comprises determining whether the stage fulfils at least one criteria from a group comprising:

an output load of the stage being greater than an output load threshold value;

an output of the stage comprising a fan-out greater than one; and

an output wire load of the stage exceeding a combined load of driven cells by more than a delta threshold value.

12. The method of claim 11 , wherein the method comprises identifying a stage of the at least one data path as a candidate stage for buffer insertion if an output wire load of said stage exceeds a combined load of driven cells by more than a delta threshold value.

13. The method of claim 11 , wherein the method comprises identifying a stage of the at least one data path as a candidate stage for distance reduction between itself and at least one stage driven thereby if at least one criterion is met from a group comprising:

an output of said stage comprises a fan-out of one; and

an output wire load of said stage exceed a combined load of driven cells by more than a delta threshold value.

Assignments (26)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNMENT DOCUMENTATION - INITIAL CONVENYANCE LISTED CHANGE OF NAME. PREVIOUSLY RECORDED ON REEL 040579 FRAME 0827. ASSIGNOR(S) HEREBY CONFIRMS THE UPDATE CONVEYANCE TO MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Dec 15, 2016
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 040945/0252 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
CHANGE OF NAME Recorded Nov 9, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040579/0827 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0341 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 7, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037458/0359 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0974 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 4, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035571/0112 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 4, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035571/0095 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded May 4, 2015
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035571/0080 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2015
From: PRIEL, MICHAEL; BERKOVITZ, ASHER; FLESHEL, SLAVAF; GRINSHPON, AMIR; KUZMIN, DAN; MILLER, YOAV
To: FREESCALE SEMICONDUCTOR INC.
Reel/Frame 035106/0053 →