Patent US6550044B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6550044B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Method in integrating clock tree synthesis and timing optimization for an integrated circuit design

Assignee: Bell Semiconductor LLC
•
Filing: 2001-06-19
•
Granted: 2003-04-15
•
Expires: 2021-06-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of synthesizing a clock tree for an integrated circuit design is disclosed that includes the steps of constructing an initial balanced clock tree for an integrated circuit design; calculating a clock arrival time for each clock driven cell in the initial clock tree; performing a timing analysis from the clock arrival time calculated for each clock driven cell; and performing a skew optimization concurrently with the timing analysis to correct timing violations discovered by the timing analysis.

Inventors

  • 👤 Ivan Pavisic
  • 👤 Aiguo Lu
  • 👤 Andrej A. Zolotykh
  • 👤 Elyar E. Gasanov

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 19:50
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 159 words
A method of synthesizing a clock tree for an integrated circuit design comprising the steps of: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for each corresponding clock driven cell; (d) if a signal path having a first hold time violation is detected by the timing analysis, then inserting a first buffer to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation.
Claim 2
Independent Claim 159 words
A method of synthesizing a clock tree for an integrated circuit design comprising the steps of: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for each corresponding clock driven cell; (d) if a signal path having a first hold time violation is detected by the timing analysis, then inserting a first buffer to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation.
Claim 3
Dependent Claim 28 words
The method of claim 1 wherein step (d) comprises inserting the first buffer at a clock input of the corresponding clock driven cell in the balanced clock tree.
Claim 4
Dependent Claim 24 words
The method of claim 1 wherein the first buffer is selected so as not to create a hold timing violation in another signal path.
Claim 5
Dependent Claim 22 words
The method of claim 1 wherein step (e) comprises inserting the second buffer in a signal path between two clock driven cells.
Claim 6
Dependent Claim 27 words
The method of claim 1 further comprising updating the balanced clock tree when a buffer is inserted therein for concurrent analysis of timing problems during cell placement.
Claim 7
Dependent Claim 201 words
A computer program product comprising: a medium for embodying a computer program for input to a computer; and a computer program embodied in the medium for causing the computer to perform the following functions: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for each corresponding clock driven cell; (d) it a signal path having a first hold time violation is detected by the timing analysis, then inserting a first butter to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation wherein step (d) comprises inserting the first buffer delay at a clock input of the corresponding clock driven cell in the balanced clock tree.
Claim 8
Dependent Claim 201 words
A computer program product comprising: a medium for embodying a computer program for input to a computer; and a computer program embodied in the medium for causing the computer to perform the following functions: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for each corresponding clock driven cell; (d) it a signal path having a first hold time violation is detected by the timing analysis, then inserting a first butter to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation wherein step (d) comprises inserting the first buffer delay at a clock input of the corresponding clock driven cell in the balanced clock tree.
Claim 9
Dependent Claim 196 words
A computer program product comprising: a medium for embodying a computer program for input to a computer; and a computer program embodied in the medium for causing the computer to perform the following functions: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for cacti corresponding clock driven cell; (d) if a signal path having a first hold time violation is detected by the timing analysis, then inserting a first buffer to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation wherein the first buffer is selected so as not to create a hold timing violation in another signal path.
Claim 10
Dependent Claim 196 words
A computer program product comprising: a medium for embodying a computer program for input to a computer; and a computer program embodied in the medium for causing the computer to perform the following functions: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for cacti corresponding clock driven cell; (d) if a signal path having a first hold time violation is detected by the timing analysis, then inserting a first buffer to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation wherein the first buffer is selected so as not to create a hold timing violation in another signal path.
Claim 11
Dependent Claim 194 words
A computer program product comprising: a medium for embodying a computer program for input to a computer; and a computer program embodied in the medium for causing the computer to perform the following functions: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for each corresponding clock driven cell; (d) if a signal path having a first hold time violation is detected by the timing analysis, then inserting a first buffer to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation wherein step (e) comprises inserting the second buffer in a signal path between two clock driven cells.
Claim 12
Dependent Claim 194 words
A computer program product comprising: a medium for embodying a computer program for input to a computer; and a computer program embodied in the medium for causing the computer to perform the following functions: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for each corresponding clock driven cell; (d) if a signal path having a first hold time violation is detected by the timing analysis, then inserting a first buffer to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation wherein step (e) comprises inserting the second buffer in a signal path between two clock driven cells.
Claim 13
Dependent Claim 199 words
A computer program product comprising: a medium for embodying a computer program for input to a computer; and a computer program embodied in the medium for causing the computer to perform the following functions: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for each corresponding clock driven cell; (d) if a signal path having a first hold time violation is detected by the timing analysis, then inserting a first buffer to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation further comprising updating the balanced clock tree when a buffer is inserted therein for concurrent analysis of timing problems during cell placement.
Claim 14
Dependent Claim 199 words
A computer program product comprising: a medium for embodying a computer program for input to a computer; and a computer program embodied in the medium for causing the computer to perform the following functions: (a) constructing an initial balanced clock tree for an integrated circuit design; (b) calculating a clock arrival time for each clock driven cell in the initial clock tree; (c) performing a timing analysis from the clock arrival time calculated for each corresponding clock driven cell; (d) if a signal path having a first hold time violation is detected by the timing analysis, then inserting a first buffer to delay the clock arrival time at the corresponding clock driven cell by a first selected delay time to correct the first hold time violation; and (e) if a second hold time violation is introduced in a second signal path by the insertion of the first buffer, then inserting a second buffer in the second signal path to delay a signal arrival time by a second selected delay time to correct the second hold time violation further comprising updating the balanced clock tree when a buffer is inserted therein for concurrent analysis of timing problems during cell placement.

References Cited (Backward Citations)

US5452239A Cited
US6378123B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-04-14 2006-10-14 2007-04-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-04-14 2010-10-14 2011-04-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-04-14 2014-10-14 2015-04-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag