Patent US6550044B1 successfully refreshed from Google Patents.
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
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 |