← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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:01
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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag