US5719783A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for performing timing analysis on a circuit design
Assignee: Unisys Corp
•
Filing: 1996-02-07
•
Granted: 1998-02-17
•
Expires: 2016-02-07
Abstract
Abstract A method and apparatus for efficiently performing timing analysis on a circuit design. The present invention essentially provides a hybrid between a path enumeration algorithm and a critical path algorithm. As such, the present invention increases the number and degree of timing violations reported by a Critical Path Analysis (CPA) algorithm, while maintaining a performance advantage over a Path Enumeration (PE) algorithm. This is accomplished by providing a number of "pseudo" clocks to selected latches within the circuit design database, thereby tricking the CPA algorithm into reporting more timing violations than would otherwise be reported.
Inventors
- 👤 Joseph P. Kerzman
- 👤 Duane G. Kurth
- 👤 Douglas A. Fuller
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-07 23:45
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/32; G06F30/33; G06F30/3308; G06F30/3312
Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
229 words
A data processing system for identifying timing violations in a circuit design, wherein the circuit design is represented in a circuit design database including a number of source latches each having an output, and a number of destination latches each having an input, the circuit design database further including combinational logic coupled to the output of the number of source latches and to the input of the number of destination latches, the circuit design database further having a number of source clocks for controlling the number of source latches wherein selected ones of the number of source clocks are associated with a corresponding source clock group, selected source latches that are controlled by a particular one of the number of source clocks are associated with the corresponding source clock group, the data processing system being programmed to identify the worst case timing paths, through the combinational logic, from selected source clock groups to selected destination latches, the data processing system comprising: a. introducing means for introducing a number of source pseudo clocks wherein each of the number of source pseudo clocks corresponds to a predetermined one of the number of source latches, thereby increasing the number of source clock groups; and b. identifying means coupled to said introducing means for identifying the worst case timing paths, through the combinational logic, from selected source clock groups to selected destination latches.
Claim 2
Dependent Claim
229 words
A data processing system for identifying timing violations in a circuit design, wherein the circuit design is represented in a circuit design database including a number of source latches each having an output, and a number of destination latches each having an input, the circuit design database further including combinational logic coupled to the output of the number of source latches and to the input of the number of destination latches, the circuit design database further having a number of source clocks for controlling the number of source latches wherein selected ones of the number of source clocks are associated with a corresponding source clock group, selected source latches that are controlled by a particular one of the number of source clocks are associated with the corresponding source clock group, the data processing system being programmed to identify the worst case timing paths, through the combinational logic, from selected source clock groups to selected destination latches, the data processing system comprising: a. introducing means for introducing a number of source pseudo clocks wherein each of the number of source pseudo clocks corresponds to a predetermined one of the number of source latches, thereby increasing the number of source clock groups; and b. identifying means coupled to said introducing means for identifying the worst case timing paths, through the combinational logic, from selected source clock groups to selected destination latches.
Claim 3
Dependent Claim
55 words
A data processing system according to claim 1 wherein said introducing means reads a state map wherein said state map includes a predetermined list of selected ones of the number of source latches, said state map being processed by a processing means to create the number of source pseudo clocks for the predetermined source latches.
Claim 4
Dependent Claim
40 words
A data processing system according to claim 1 further comprising analyzing means coupled to said identifying means for analyzing the number of worst case timing paths, said analyzing means calculating the delay of the number of worst case timing paths.
Claim 5
Dependent Claim
33 words
A data processing system according to claim 3 further comprising comparing means coupled to said analyzing means for comparing the delay of the number of worst case timing paths with a predetermined specification.
Claim 6
Dependent Claim
50 words
A data processing system according to claim 4 wherein said comparing means compares the delay of the number of worst case timing paths and determines if predetermined setup and hold time specifications are met for selected destination latches, and for identifying the worst case timing paths that are responsible thereof.
Claim 7
Dependent Claim
55 words
A data processing system according to claim 5 wherein said combinational logic includes a number of components selected from a component library, predetermined components of the component library having at least one corresponding logically equivalent component with a different drive strength, each of the number of worst case timing paths comprising a number of components.
Claim 8
Dependent Claim
44 words
A data processing system according to claim 6 further comprising substituting means for substituting selected components with a corresponding logically equivalent component having a different drive strength, said substituting means substituting selected components along the worst case timing paths identified by said comparing means.
Claim 9
Independent Claim
207 words
A method of identifying timing violations in a circuit design, wherein the circuit design is represented in a circuit design database including a number of source latches each having an output, and a number of destination latches each having an input, the circuit design database further including combinational logic coupled to the output of the number of source latches and to the input of the number of destination latches, the circuit design database further having a number of source clocks for controlling the number of source latches wherein selected ones of the number of source clocks are associated with a corresponding source clock group, selected source latches that are controlled by a particular one of the number of source clocks are associated with the corresponding source clock group, the data processing system being programmed to identify the worst case timing paths, through the combinational logic, from selected source clock groups to selected destination latches, the method comprising the steps of: a. introducing a number of source pseudo clocks corresponding to predetermined ones of the number of source latches, thereby increasing the number of source clock groups; and b. identifying the worst case timing paths, through the combinational logic, from selected source clock groups to selected destination latches.
Claim 10
Independent Claim
207 words
A method of identifying timing violations in a circuit design, wherein the circuit design is represented in a circuit design database including a number of source latches each having an output, and a number of destination latches each having an input, the circuit design database further including combinational logic coupled to the output of the number of source latches and to the input of the number of destination latches, the circuit design database further having a number of source clocks for controlling the number of source latches wherein selected ones of the number of source clocks are associated with a corresponding source clock group, selected source latches that are controlled by a particular one of the number of source clocks are associated with the corresponding source clock group, the data processing system being programmed to identify the worst case timing paths, through the combinational logic, from selected source clock groups to selected destination latches, the method comprising the steps of: a. introducing a number of source pseudo clocks corresponding to predetermined ones of the number of source latches, thereby increasing the number of source clock groups; and b. identifying the worst case timing paths, through the combinational logic, from selected source clock groups to selected destination latches.
Claim 11
Dependent Claim
51 words
A method according to claim 8 wherein the combinational logic includes a number of components selected from a component library, predetermined components of the component library having at least one corresponding logically equivalent component with a different drive strength, each of the worst case timing paths comprising a number of components.
Claim 12
Dependent Claim
128 words
A method according to claim 9 further comprising the steps of: c. analyzing the delay of the worst case timing paths within the circuit design by calculating the delay of selected components along each of the worst case timing paths and summing the delays of the selected components; d. comparing the delay of each worst case timing path with a predefined specification; e. reporting a violation if the delay along a selected worst case timing path is determined to exceed the predefined specification; f. substituting selected components along selected worst case timing paths with the corresponding logically equivalent component having a different drive strength to improve the delay of the corresponding worst case timing path; and g. repeating steps (a) through (f) for a predetermined number of iterations.
Claim 13
Dependent Claim
37 words
A method according to claim 10 wherein said substituting step further comprises the step of resolving any conflicts between the substituted components if a substituted component resides in two or more of the worst case timing paths.
Claim 14
Dependent Claim
18 words
A method according to claim 11 wherein said resolving step resolves any conflicts using a predetermined priority scheme.
References Cited (Backward Citations)
US5095454A
Cited
US5210700A
Cited
US5490268A
Cited
US5168455A
Cited
US5576979A
Cited
US5396435A
Cited
US5426591A
Cited
US5555187A
Cited
US5619418A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-02-16 | 2001-08-18 | 2002-02-17 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-02-16 | 2005-08-18 | 2006-02-17 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-02-16 | 2009-08-18 | 2010-02-17 | $7700.00 | Window Closed / Lapsed |