IP Library › Granted Patent US 9,177,096
Granted Patent B2
US 9,177,096 · App. 14/226,555 · Granted Nov 3, 2015

Timing closure using transistor sizing in standard cells

Inventors: Savithri Sundareswaran (Austin, TX); James A. Tuvell (Cedar Park, TX)
Assignee: Freescale Semiconductor, Inc.
G06F17/5081G06F2217/84
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,177,096
App. No.
14/226,555
Granted
Nov 3, 2015
Kind
B2
Abstract

An approach is provided in which a design tool executes static timing analysis of an integrated circuit design using a first set of timing values corresponding to a first set of layout properties of a transistor included in a standard cell utilized by the integrated circuit design. When the design tool determines that the static timing analysis generates a timing violation within a violation budget, the design tool selects a second set of timing values of the standard cell corresponding to a second set of layout properties of the transistor. The design tool determines that re-execution of the static timing analysis using the second set of timing values resolves the timing violation and, in turn, generates mask layer data that includes the second set of layout properties.

Claims (58)

1. A system comprising:

one or more processors;

a memory accessible by the one or more processors;

a design tool module executed by at least one of the one or more processors and configured to:

create a standard cell that includes a first set of layout properties and a second set of layout properties of a transistor included in a timing path in the standard cell, wherein the second set of layout properties is stored into a resize layer entry of annotated cell layout data associated with the standard cell;

execute a first static timing analysis of an integrated circuit design using a first set of timing values, the first set of timing values corresponding to the first set of layout properties of the transistor included in the standard cell utilized by the integrated circuit design;

execute a second static timing analysis of the integrated circuit design using a second set of timing values in response to a detection that the first static timing analysis generates a timing violation, the second set of timing values corresponding to the second set of layout properties of the transistor included in the standard cell; and

generate mask layer data that includes the second set of layout properties in response to a determination that the second static timing analysis resolves the timing violation, wherein the mask layer data is configured to generate a plurality of masks for construction of an integrated circuit corresponding to the integrated circuit design.

2. The system of claim 1 wherein an overall layout area of the standard cell is unchanged by using the second set of layout properties included in the mask layer data instead of using the first set of layout properties.

3. The system of claim 1 wherein, prior to execution of the first static timing analysis, the design tool module is further configured to:

determine that the transistor is included in a timing path in the standard cell selected from the group consisting of a clock path and a data path; and

generate the second set of layout properties in response to determining that the transistor is included in the timing path.

4. The system of claim 1 wherein the first set of layout properties is stored in a default layer entry, and wherein both the resizer layer entry and the default layer entry correspond to a same mask layer.

5. The system of claim 1 wherein the timing violation corresponds to a standard cell instance of the standard cell, the design tool module further configured to:

assign a resize indicator to the standard cell instance in response to resolution of the timing violation;

detect the assigned resize indicator during generation of the mask layer data;

retrieve the second set of layout properties from the resize layer entry in response to the detection of the assigned resize indicator; and

include the retrieved second set of layout properties in a corresponding one of a plurality of mask layers.

6. The system of claim 5 wherein the design tool module is further configured to:

utilize the first set of timing values during execution of the second static timing analysis for a different standard cell instance of the standard cell, the different standard cell instance included in the integrated circuit design at a location different than the standard cell instance.

7. The system of claim 1 wherein the design tool module is further configured to perform the first static timing analysis using parasitic data generated from a physical design stage of the integrated circuit design.

8. The system of claim 1 wherein:

the transistor comprises a plurality of transistor objects selected from the group consisting of a gate object, a source object, and a drain object; and

the second set of layout properties includes resize object dimensions of a selected one of the plurality of transistor objects that are different than default object dimensions of the selected transistor object included in the first set of layout properties.

9. The system of claim 1 wherein the standard cell corresponds to a multi-bit flip flop that includes a first timing path and a second timing path, and wherein, prior to the executing of the static timing analysis, the design tool circuitry is further configured to:

select a subset of transistors corresponding to the first timing path; and

utilize the selected subset of transistors to generate the second set of timing values and the second set of layout properties, the transistor included in the selected subset of transistors.

10. A method comprising:

creating a standard cell that includes a first set of layout properties and a second set of layout properties of a transistor included in a timing path in the standard cell, wherein the second set of layout properties is stored into a resize layer entry of annotated cell layout data associated with the standard cell;

performing a first static timing analysis of an integrated circuit design using a first set of timing values corresponding to the first set of layout properties of the transistor included in the standard cell utilized by the integrated circuit design;

selecting a second set of timing values in response to a timing violation from the first static timing analysis, wherein the second set of timing values correspond to the second set of layout properties of the transistor included in the standard cell;

performing a second static timing analysis using the second set of timing values; and

generating mask layer data that includes the second set of layout properties in response to a determination that the second static timing analysis resolves the timing violation, wherein the mask layer data is configured to generate a plurality of masks for construction of an integrated circuit corresponding to the integrated circuit design.

11. The method of claim 10 wherein an overall layout area of the standard cell is unchanged by using the second set of layout properties included in the mask layer data instead of the first set of layout properties.

12. The method of claim 10 wherein, prior to performing the first static timing analysis, the method further comprises:

determining that the transistor is included in a timing path in the standard cell selected from the group consisting of a clock path and a data path; and

generating the second set of layout properties in response to determining that the transistor is included in the timing path.

13. The method of claim 10 wherein the first set of layout properties is stored in a default layer entry, and wherein both the resizer layer entry and the default layer entry correspond to a same mask layer.

14. The method of claim 10 wherein the timing violation corresponds to a standard cell instance of the standard cell, the method further comprising:

assigning a resize indicator to the standard cell instance in response to resolution of the timing violation;

detecting the assigned resize indicator during generation of the mask layer data;

retrieving the second set of layout properties from the resize layer entry in response to the detection of the assigned resize indicator; and

including the retrieved second set of layout properties in a corresponding one of a plurality of mask layers.

15. The method of claim 14 further comprising:

utilizing the first set of timing values during performing the second static timing analysis for a different standard cell instance of the standard cell, the different standard cell instance included in the integrated circuit design at a location different than the standard cell instance.

16. The method of claim 10 wherein the first static timing analysis uses parasitic data generated from a physical design stage of the integrated circuit design.

17. The method of claim 10 wherein:

the transistor comprises a plurality of transistor objects selected from the group consisting of a gate object, a source object, and a drain object; and

the second set of layout properties includes resize object dimensions of a selected one of the plurality of transistor objects that are different than default object dimensions of the selected transistor object included in the first set of layout properties.

18. The method of claim 10 wherein the standard cell corresponds to a multi-bit flip flop that includes a first timing path and a second timing path, and wherein, prior to the executing of the static timing analysis, the method further comprises:

selecting a subset of transistors corresponding to the first timing path; and

utilizing the selected subset of transistors to generate the second set of timing values and the second set of layout properties, the transistor included in the selected subset of transistors.

19. A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, causes the information handling system to perform actions comprising:

creating a standard cell that includes a first set of layout properties and a second set of layout properties of a transistor included in a timing path in the standard cell, wherein the second set of layout properties is stored into a resize layer entry of annotated cell layout data associated with the standard cell;

performing a first static timing analysis of an integrated circuit design using a first set of timing values corresponding to the first set of layout properties of the transistor included in the standard cell utilized by the integrated circuit design;

selecting a second set of timing values in response to a timing violation from the first static timing analysis, wherein the second set of timing values correspond to the second set of layout properties of the transistor included in the standard cell;

performing a second static timing analysis using the second set of timing values; and

generating mask layer data that includes the second set of layout properties in response to a determination that the second static timing analysis resolves the timing violation, wherein the mask layer data is configured to generate a plurality of masks for construction of an integrated circuit corresponding to the integrated circuit design.

Assignments (17)
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 →
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 NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040632 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Sep 21, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 044209/0047 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 040632/0001 →
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 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBERS PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0438. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded May 12, 2016
From: CITIBANK, NA
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038665/0136 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPLICATION NUMBERS 12222918, 14185362, 14147598, 14185868 & 14196276 PREVIOUSLY RECORDED AT REEL: 037458 FRAME: 0479. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded May 12, 2016
From: CITIBANK, NA
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038665/0498 →
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/0438 →
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/0479 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0763 →
SUPPLEMENT TO SECURITY AGREEMENT Recorded May 7, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 032845/0497 →
SUPPLEMENT TO SECURITY AGREEMENT Recorded May 7, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032845/0522 →
SUPPLEMENT TO SECURITY AGREEMENT Recorded May 7, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 032845/0442 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2014
From: SUNDARESWARAN, SAVITHRI; TUVELL, JAMES A.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 032534/0064 →
Continuity (1)
Related Publication 20150278425A1 · Oct 1, 2015