← Back to Patent Explorer
US6487705B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Timing optimization and timing closure for integrated circuit models

Assignee: NEC Electronics America Inc
•
Filing: 2001-09-05
•
Granted: 2002-11-26
•
Expires: 2021-09-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method correlates a timing target for electronic design automation (EDA) design tools by comparing slack distributions. A method of designing an integrated circuit can include designing an integrated circuit by RTL synthesis with embedded timing analysis and optimization and placement of cells with embedded timing analysis and optimization. The method can also include designing an integrated circuit by routing with embedded timing analysis and optimization; performing reference timing analysis; performing reference timing analysis and embedded timing analysis using a parasitic estimation model. The method can also include comparing at least two slack distributions resulting from timing analyses. The method can include calculating and comparing autocorrelation functions of slack distributions. The method can include calculating interrcorrelation functions of slack distributions. An embodiment teaches an integrated circuit designed by the method taught. Another embodiment teaches a computer program product according to the method taught.

Inventors

  • 👤 Wolfgang Roethig
  • 👤 Attila Kovacs-Birkas

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 14:25
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/32; G06F30/327; G06F30/39; G06F2119/00; G06F2119/12

Claims Analysis

Total Claims: 37
Claim 1
Independent Claim 110 words
A method of designing an integrated circuit, comprising: designing an integrated circuit by RTL synthesis with embedded timing analysis and optimization; designing an integrated circuit by placement of cells with embedded timing analysis and optimization; designing an integrated circuit by routing of interconnect between cells with embedded timing analysis and optimization; performing reference timing analysis on the result of the integrated circuit design; performing reference timing analysis and embedded timing analysis using a parasitic estimation model, a timing model for arc, timing constraints and exceptions from designer; and comparing a first slack distribution resulting from a first timing analyses to a second slack distribution resulting from a second timing analyses.
Claim 2
Independent Claim 110 words
A method of designing an integrated circuit, comprising: designing an integrated circuit by RTL synthesis with embedded timing analysis and optimization; designing an integrated circuit by placement of cells with embedded timing analysis and optimization; designing an integrated circuit by routing of interconnect between cells with embedded timing analysis and optimization; performing reference timing analysis on the result of the integrated circuit design; performing reference timing analysis and embedded timing analysis using a parasitic estimation model, a timing model for arc, timing constraints and exceptions from designer; and comparing a first slack distribution resulting from a first timing analyses to a second slack distribution resulting from a second timing analyses.
Claim 3
Dependent Claim 36 words
The method of designing an integrated circuit as recited in claim 1 , further comprising: based on the comparing step, identifying a cause of a mismatch between a first slack distribution and a second slack distribution.
Claim 4
Dependent Claim 25 words
The method of designing an integrated circuit as recited in claim 2 , further comprising: comparing a total number of paths reported in slack distribution.
Claim 5
Dependent Claim 23 words
The method of designing an integrated circuit as recited in claim 3 , further comprising: calculating and comparing autocorrelation functions of slack distributions.
Claim 6
Dependent Claim 23 words
The method of designing an integrated circuit as recited in claim 2 , further comprising: calculating an interrcorrelation function of a slack distribution.
Claim 7
Dependent Claim 41 words
The method of designing an integrated circuit as recited in claim 2 , further comprising: calculating an autocorrelation function of a slack distribution; calculating an interrcorrelation function a plurality of slack distributions; and comparing the autocorrelation function with the interrecorrelation function.
Claim 8
Dependent Claim 24 words
The method of designing an integrated circuit as recited in claim 2 , further comprising: correcting a cause of a mismatch between slack distributions.
Claim 9
Dependent Claim 29 words
The method of designing an integrated circuit as recited in claim 7 , further comprising: calibrating a parasitic estimation model after a cause of a mismatch has been corrected.
Claim 10
Dependent Claim 75 words
The method of designing an integrated circuit as recited in claim 1 , further comprising: identifying a cause of a mismatch between a first slack distribution and a second slack distribution; and correcting a cause of a mismatch between a first slack distribution and a second distribution, wherein correcting a cause of a mismatch between a first slack distribution and a slack distribution further comprises; modifying a timing constraint; and selecting a parasitic estimation model.
Claim 11
Dependent Claim 25 words
The method of designing an integrated circuit as recited in claim 1 , further comprising: based on the comparing step, calibrating a parasitic estimation model.
Claim 12
Dependent Claim 42 words
The method of designing an integrated circuit as recited in claim 1 , further comprising: performing RTL synthesis but not performing layout; checking timing constraint compatibility for all embedded timing analyses performed on the result of RTL synthesis; and modifying timing constraints.
Claim 13
Dependent Claim 59 words
The method of designing an integrated circuit as recited in claim 1 , further comprising: performing a design step after performing RTL synthesis; selecting a parasitic estimation model after performing one subsequent design step; repeating a design steps if a selected parasitic model is not suitable; and changing a structural hierarchy if a selected parasitic model is not suitable.
Claim 14
Dependent Claim 112 words
An integrated circuit designed by a method, the method comprising: designing an integrated circuit by RTL synthesis with embedded timing analysis and optimization; designing an integrated circuit by placement of cells with embedded timing analysis and optimization; designing an integrated circuit by routing of interconnect between cells with embedded timing analysis and optimization; performing reference timing analysis on the result of the integrated circuit design; performing reference timing analysis and embedded timing analysis using a parasitic estimation model, a timing model for arc, timing constraints and exceptions from designer; and comparing a first slack distribution resulting from a first timing analyses to a second slack distribution resulting from a second timing analyses.
Claim 15
Dependent Claim 112 words
An integrated circuit designed by a method, the method comprising: designing an integrated circuit by RTL synthesis with embedded timing analysis and optimization; designing an integrated circuit by placement of cells with embedded timing analysis and optimization; designing an integrated circuit by routing of interconnect between cells with embedded timing analysis and optimization; performing reference timing analysis on the result of the integrated circuit design; performing reference timing analysis and embedded timing analysis using a parasitic estimation model, a timing model for arc, timing constraints and exceptions from designer; and comparing a first slack distribution resulting from a first timing analyses to a second slack distribution resulting from a second timing analyses.
Claim 16
Dependent Claim 32 words
The integrated circuit as recited in claim 13 , further comprising: based on the comparing step, identifying a cause of a mismatch between a first slack distribution and a second slack distribution.
Claim 17
Dependent Claim 22 words
The integrated circuit as recited in claim 14 , further comprising: comparing a total number of paths reported in a slack distribution.
Claim 18
Dependent Claim 33 words
The integrated circuit as recited in claim 15 , further comprising: calculating and comparing a first autocorrelation function of a first slack distribution to a second autocorrelation function of a second slack distribution.
Claim 19
Dependent Claim 19 words
The integrated circuit as recited in claim 14 , further comprising: calculating an interrcorrelation function of a slack distribution.
Claim 20
Dependent Claim 38 words
The integrated circuit as recited in claim 14 , further comprising: calculating an autocorrelation function of a slack distribution; calculating an interrcorrelation function of a plurality of slack distributions; and comparing the autocorrelation function with the interrecorrelation function.
Claim 21
Dependent Claim 20 words
The integrated circuit as recited in claim 14 , further comprising: correcting a cause of a mismatch between slack distributions.
Claim 22
Dependent Claim 25 words
The integrated circuit as recited in claim 19 , further comprising: calibrating a parasitic estimation model after a cause of a mismatch has been corrected.
Claim 23
Dependent Claim 71 words
The integrated circuit as recited in claim 13 , further comprising: identifying a cause of a mismatch between a first slack distribution and a second slack distribution; and correcting a cause of a mismatch between a first slack distribution and a second distribution, wherein correcting a cause of a mismatch between a first slack distribution and a slack distribution further comprises; modifying a timing constraint; and selecting a parasitic estimation model.
Claim 24
Dependent Claim 16 words
The integrated circuit as recited in claim 13 , further comprising: calibrating a parasitic estimation model.
Claim 25
Dependent Claim 131 words
A computer program product, the computer program product encoded in computer readable media, the computer program product comprising: a set of instructions, executable on a computer system, configured to: design an integrated circuit by RTL synthesis with embedded timing analysis and optimization; design an integrated circuit by placement of cells with embedded timing analysis and optimization; design an integrated circuit by routing of interconnect between cells with embedded timing analysis and optimization; perform reference timing analysis on the result of the integrated circuit design; perform reference timing analysis and embedded timing analysis using a parasitic estimation model, a timing model for arc, timing constraints and exceptions from designer; and compare a first slack distribution resulting from a first timing analyses to a second slack distribution resulting from a second timing analyses.
Claim 26
Dependent Claim 131 words
A computer program product, the computer program product encoded in computer readable media, the computer program product comprising: a set of instructions, executable on a computer system, configured to: design an integrated circuit by RTL synthesis with embedded timing analysis and optimization; design an integrated circuit by placement of cells with embedded timing analysis and optimization; design an integrated circuit by routing of interconnect between cells with embedded timing analysis and optimization; perform reference timing analysis on the result of the integrated circuit design; perform reference timing analysis and embedded timing analysis using a parasitic estimation model, a timing model for arc, timing constraints and exceptions from designer; and compare a first slack distribution resulting from a first timing analyses to a second slack distribution resulting from a second timing analyses.
Claim 27
Dependent Claim 39 words
The computer program product as recited in claim 23 , further comprising: a set of instructions configured to: based on the comparing step, identify a cause of a mismatch between a first slack distribution and a second slack distribution.
Claim 28
Dependent Claim 42 words
The computer program product as recited in claim 24 , further comprising: a set of instructions configured to: compare a total number of paths reported in a first slack distribution with a total number of paths reported in a second slack distribution.
Claim 29
Dependent Claim 49 words
The computer program product as recited in claim 25 , further comprising: a set of instructions configured to: calculate a first autocorrelation function of a first clack distribution; calculate a second autocorrelation function of a first slack distribution; and compare the first autocorrelation function to the second autocorrelation function.
Claim 30
Dependent Claim 26 words
The computer program product as recited in claim 24 , further comprising: a set of instructions, configured to: calculate an interrecorelation function of a slack distribution.
Claim 31
Dependent Claim 44 words
The computer program product as recited in claim 24 , further comprising: a set of instructions configured to: calculate an autocorrelation function of a slack distribution; calculate an interrcorrelation function a plurality of slack distributions; and compare the autocorrelation function with the interrecorrelation function.
Claim 32
Dependent Claim 34 words
The computer program product as recited in claim 24 , further comprising: a set of instructions configured to: correct a cause of a mismatch between a first slack distribution and a second slack distribution.
Claim 33
Dependent Claim 32 words
The computer program product as recited in claim 29 , further comprising: a set of instructions configured to: calibrate a parasitic estimation model after a cause of a mismatch has been corrected.
Claim 34
Dependent Claim 78 words
The computer program product as recited in claim 23 , further comprising: a set of instructions configured to: identify a cause of a mismatch between a first slack distribution and a second slack distribution; and correct a cause of a mismatch between a first slack distribution and a second distribution, wherein correcting a cause of a mismatch between a first slack distribution and a slack distribution further comprises; modifying a timing constraint; and selecting a parasitic estimation model.
Claim 35
Dependent Claim 23 words
The computer program product as recited in claim 23 , further comprising: a set of instructions configured to: calibrate a parasitic estimation model.
Claim 36
Dependent Claim 45 words
The computer program product as recited in claim 23 , further comprising: a set of instructions configured to: perform RTL synthesis but not performing layout; check timing constraint compatibility for all embedded timing analyses performed on the result of RTL synthesis; and modify timing constraints.
Claim 37
Dependent Claim 62 words
The computer program product as recited in claim 23 , further comprising: a set of instructions configured to: perform a design step after performing RTL synthesis; select a parasitic estimation model after performing one subsequent design step; repeat a design steps if a selected parasitic model is not suitable; and change a structural hierarchy if a selected parasitic model is not suitable.

References Cited (Backward Citations)

US5572437A Cited
US5461576A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-11-25 2006-05-27 2006-11-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-11-25 2010-05-27 2010-11-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-11-25 2014-05-27 2014-11-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag