Patent US5629859A successfully refreshed from Google Patents.
US5629859A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method for timing-directed circuit optimizations
Assignee: Texas Instruments Inc
•
Filing: 1994-09-12
•
Granted: 1997-05-13
•
Expires: 2014-09-12
Abstract
Abstract Shown is a method of optimizing the performance of a logic circuit. The circuit is represented as a set of vertices, with each element output being represented as a vertex whose element is selected for local optimization on a depth first traversal basis. As each element is optimized, its path length is calculated by partial path lengths, which are known to be either valid or invalid as a result of prior local optimizations. Specifically, invalid path lengths to the associated vertex from circuit inputs are re-computed and added to valid path lengths from the associated vertex to a circuit output.
Inventors
- 👤 Sanjive Agarwala
- 👤 Patrick W. Bosshart
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 06:34
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/32; G06F30/327
Claims Analysis
Total Claims: 8
Claim 1
Independent Claim
216 words
A method of performing a time-driven optimization on a logic circuit represented as a set of input vertices, element vertices for associated circuit elements, and output vertices, and a set of edges connecting ordered pairs of vertices, comprising the steps of: calculating a backward delay value at each vertex of the logic circuit; for a given output vertex of the logic circuit, selecting a set of element vertices on all paths from that output vertex to an input vertex; selecting an element vertex from said set of element vertices for local computation, on a depth first traversal basis; calculating a path length at said selected element vertex, wherein said path length includes a local computation of edge delays of the element associated with said selected element vertex; optimizing the circuit element associated with said selected element vertex by changing one or more characteristics of said circuit element; updating the edge delays of the edges associated with said selected element vertex as a result of the local optimization; invalidating the backward delay values at element vertices immediately succeeding said selected element vertex; invalidating backward delay values at all predecessor vertices of said immediately succeeding vertices; and repeating said selecting, calculating, optimizing, updating, and invalidating steps with respect to each element vertex of said set of element vertices.
Claim 2
Independent Claim
216 words
A method of performing a time-driven optimization on a logic circuit represented as a set of input vertices, element vertices for associated circuit elements, and output vertices, and a set of edges connecting ordered pairs of vertices, comprising the steps of: calculating a backward delay value at each vertex of the logic circuit; for a given output vertex of the logic circuit, selecting a set of element vertices on all paths from that output vertex to an input vertex; selecting an element vertex from said set of element vertices for local computation, on a depth first traversal basis; calculating a path length at said selected element vertex, wherein said path length includes a local computation of edge delays of the element associated with said selected element vertex; optimizing the circuit element associated with said selected element vertex by changing one or more characteristics of said circuit element; updating the edge delays of the edges associated with said selected element vertex as a result of the local optimization; invalidating the backward delay values at element vertices immediately succeeding said selected element vertex; invalidating backward delay values at all predecessor vertices of said immediately succeeding vertices; and repeating said selecting, calculating, optimizing, updating, and invalidating steps with respect to each element vertex of said set of element vertices.
Claim 3
Independent Claim
201 words
A method of using a computer to perform a time-driven optimization on a logic circuit represented as a set of input vertices, element vertices for associated circuit elements, and output vertices, and a set of edges connecting ordered pairs of vertices, comprising the steps of: calculating a forward delay value at each vertex of the logic circuit; for a given input vertex, selecting a set of element vertices on all paths from that input vertex to an output vertex; selecting one element vertex from said set of element vertices for local computation, on a depth first traversal basis; calculating a path length at said selected element vertex, wherein said path length includes a computation of edge delays of the element associated with said selected element vertex; optimizing the circuit element associated with said selected element vertex by changing one or more characteristics of said circuit element; updating the edge delays of the edges associated with said selected element vertex as a result of the local optimization; invalidating the forward delay values at element vertices preceding said selected element vertex; and repeating said selecting, calculating, optimizing, updating, and invalidating steps with respect to each element vertex of said set of element vertices.
Claim 4
Independent Claim
201 words
A method of using a computer to perform a time-driven optimization on a logic circuit represented as a set of input vertices, element vertices for associated circuit elements, and output vertices, and a set of edges connecting ordered pairs of vertices, comprising the steps of: calculating a forward delay value at each vertex of the logic circuit; for a given input vertex, selecting a set of element vertices on all paths from that input vertex to an output vertex; selecting one element vertex from said set of element vertices for local computation, on a depth first traversal basis; calculating a path length at said selected element vertex, wherein said path length includes a computation of edge delays of the element associated with said selected element vertex; optimizing the circuit element associated with said selected element vertex by changing one or more characteristics of said circuit element; updating the edge delays of the edges associated with said selected element vertex as a result of the local optimization; invalidating the forward delay values at element vertices preceding said selected element vertex; and repeating said selecting, calculating, optimizing, updating, and invalidating steps with respect to each element vertex of said set of element vertices.
Claim 5
Independent Claim
187 words
A method for optimizing a logic circuit represented as a set of input vertices, element vertices for associated circuit elements, and output vertices, plus directional edges connecting ordered pairs of vertices, comprising the steps of: (a) calculating forward delays for each element vertex from each input vertex which connects to said each element vertex by a path of said edges, and storing said forward delays in a forward delay table; (b) for each element vertex along the paths made of sets of said edges from an input vertex to all output vertices which connect to said input vertex: (1) calculating backward delay for said element vertex; (2) determining if the forward delay for said element vertex in said forward delay table is valid and, if not, calculating the forward delay for said element vertex; (3) optimizing said element vertex by changing one or more characteristics of said associated circuit element; and (4) if said element vertex is changed by said optimization, invalidating the forward delays in said forward delay table for all element vertices preceding said element vertex; (c) repeating foregoing step (b) for each input vertex.
Claim 6
Independent Claim
187 words
A method for optimizing a logic circuit represented as a set of input vertices, element vertices for associated circuit elements, and output vertices, plus directional edges connecting ordered pairs of vertices, comprising the steps of: (a) calculating forward delays for each element vertex from each input vertex which connects to said each element vertex by a path of said edges, and storing said forward delays in a forward delay table; (b) for each element vertex along the paths made of sets of said edges from an input vertex to all output vertices which connect to said input vertex: (1) calculating backward delay for said element vertex; (2) determining if the forward delay for said element vertex in said forward delay table is valid and, if not, calculating the forward delay for said element vertex; (3) optimizing said element vertex by changing one or more characteristics of said associated circuit element; and (4) if said element vertex is changed by said optimization, invalidating the forward delays in said forward delay table for all element vertices preceding said element vertex; (c) repeating foregoing step (b) for each input vertex.
Claim 7
Dependent Claim
28 words
A method as in claim 3 wherein said step of invalidating the forward delays further includes the step of updating any altered edge delays caused by said optimization.
Claim 8
Dependent Claim
40 words
A method as in claim 3 wherein said optimizing step further includes computing a new path length for each path in which the element is involved and determining if the optimization change is acceptable, if not, rejecting said optimization change.
References Cited (Backward Citations)
US3617714A
Cited
UST943001I4
Cited
US4263651A
Cited
US4593362A
Cited
US4752887A
Cited
US4805113A
Cited
US4698760A
Cited
US4916627A
Cited
US4931946A
Cited
US5157618A
Cited
US5404313A
Cited
US5282148A
Cited
US5251147A
Cited
US5175843A
Cited
US5231589A
Cited
US5210700A
Cited
US5218551A
Cited
US5191541A
Cited
US5189629A
Cited
US5237514A
Cited
US5168455A
Cited
US5331568A
Cited
US5282147A
Cited
US5381343A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-05-12 | 2000-11-11 | 2001-05-13 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-05-12 | 2004-11-11 | 2005-05-13 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-05-12 | 2008-11-11 | 2009-05-13 | $7700.00 | Window Closed / Lapsed |