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

Method of determining signal propagation delay through circuit elements

Assignee: Sun Microsystems Inc
•
Filing: 1995-07-05
•
Granted: 1997-06-03
•
Expires: 2015-07-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method is provided for accurately determining the propagation delay of a gate under consideration in a static timing analyzer. This is accomplished by determining both the output load and input rise time of the gate under consideration. These values are then compared with a load versus rise time grid having previously determined values of propagation delay (points) for specified combinations of load and input rise time. These points are then used to interpolate a value of propagation delay for the gate under consideration by an interpolation technique that accounts for at least one of the following non-linear effects: the feed forward capacitance of a gate, soft switching, gate resistance, source and drain resistance, and/or other non-linear effects. The method accounts for each non-linear effect by imparting a corresponding component to propagation delay only in that range of output load and input rise time for which that non-linear effect is most pronounced.

Inventors

  • 👤 Raoul B. Salem
  • 👤 Vernon R. Brethour
  • 👤 Wen-Jay Hsu
  • 👤 Raymond A. Heald
  • 👤 Subramanian Ganesan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 12:38
CPC Classifications
G; G06; G06F; G06F30/00; G06F30/30; G06F30/32; G06F30/33

Claims Analysis

Total Claims: 35
Claim 1
Independent Claim 237 words
A method of using a computer having a memory to determine a propagation delay associated with a selected gate in a synchronous design which includes clocked elements connected by various paths, each of which may have one or more gates, the selected gate having an associated propagation delay which is defined, at least in part, by a load on the selected gate and an input rise time which is related to the output transition time of a gate immediately preceding the selected gate on a path connecting two clocked elements, the method comprising the following steps: (a) receiving a grid of points from said memory, each grid point specifying a propagation delay for a unique combination of gate load and input rise time; (b) determining the load associated with the selected gate; (c) determining the input rise time for the selected gate; (d) from the grid, identifying at least three points which specify combinations of gate load and input rise time such that these points surround a point defined by the combination of gate load and input rise time for the selected gate; and (e) interpolating within the at least three points identified in step (d) to determine the propagation delay of the selected gate, the interpolating being conducted by a technique that accounts for a non-linear gate effect selected from the group consisting of feedforward capacitance, source and drain resistance, and a slow input rise time.
Claim 2
Independent Claim 237 words
A method of using a computer having a memory to determine a propagation delay associated with a selected gate in a synchronous design which includes clocked elements connected by various paths, each of which may have one or more gates, the selected gate having an associated propagation delay which is defined, at least in part, by a load on the selected gate and an input rise time which is related to the output transition time of a gate immediately preceding the selected gate on a path connecting two clocked elements, the method comprising the following steps: (a) receiving a grid of points from said memory, each grid point specifying a propagation delay for a unique combination of gate load and input rise time; (b) determining the load associated with the selected gate; (c) determining the input rise time for the selected gate; (d) from the grid, identifying at least three points which specify combinations of gate load and input rise time such that these points surround a point defined by the combination of gate load and input rise time for the selected gate; and (e) interpolating within the at least three points identified in step (d) to determine the propagation delay of the selected gate, the interpolating being conducted by a technique that accounts for a non-linear gate effect selected from the group consisting of feedforward capacitance, source and drain resistance, and a slow input rise time.
Claim 3
Dependent Claim 102 words
The method of claim 1 wherein four points are identified from the grid in step (d) and wherein the step of interpolating employs the following expression to specify the propagation delay of the selected gate: propagation delay=A+B(input rise time)+C(gate load)+D f(input rise time, gate load) where A, B, C, and D are coefficients determined from the coordinates of the four identified grid points and where f(input rise time, gate loads) is a first order function selected from the group consisting of (i) (input rise time)*(gate load), (ii) (input rise time)/(gate load), (iii) (gate load)/(input rise time), and (iv) 1/((gate load)*(input rise time)).
Claim 4
Dependent Claim 70 words
The method of claim 1 wherein the step of interpolating interpolates on a surface defined within said at least three points, the surface representing the propagation delay as a function of gate load and input rise time, and wherein the step of interpolating imparts to that surface a component which affects the value of propagation delay most strongly in the direction of increasing input rise time and decreasing gate load.
Claim 5
Dependent Claim 62 words
The method of claim 3 wherein four points are identified from the grid and wherein the step of interpolating employs the following expression to specify the propagation delay of the selected gate: propagation delay=A+B(input rise time)+C(gate load)+D(input rise time)/(gate load) where A, B, C, and D are coefficients determined from the coordinates of the four points identified from the identified grid points.
Claim 6
Dependent Claim 41 words
The method of claim 1 further comprising the following steps: identifying the slowest path between two clocked elements in the synchronous design, the slowest path including a plurality of gates; and determining a total delay required to traverse said slowest path.
Claim 7
Dependent Claim 28 words
The method of claim 5 wherein the step of determining the total delay includes steps of determining the propagation delay associated with each gate on said slowest path.
Claim 8
Dependent Claim 50 words
The method of claim 6 wherein the step of determining the total delay further comprises the following steps: determining a connection delay between each two gates on said slowest path; and summing the connection delays and propagation delays of the gates on said slowest path to obtain the total delay.
Claim 9
Dependent Claim 33 words
The method of claim 1 further comprising the following steps: employing the total delay determined for the slowest path to develop a final synchronous design; and converting said final synchronous design to hardware.
Claim 10
Dependent Claim 11 words
The method of claim 8 wherein the hardware is a microprocessor.
Claim 11
Dependent Claim 33 words
The method of claim 1 further comprising a step of generating said collection of points from a numerical model of transistors which are included in gates of specified loads and input rise times.
Claim 12
Dependent Claim 27 words
The method of claim 1 further comprising a step of generating said collection of points by measuring real circuits with predefined input rise times and output loads.
Claim 13
Dependent Claim 187 words
A computer system for determining the propagation delay of a selected gate in a synchronous design, the selected gate having an associated propagation delay which is defined, at least in part, by a load on the selected gate and an input rise time for the selected gate, the computer system comprising: a load analyzer which determines associated with the load the selected gate; an input rise time analyzer which determines the input rise time of the selected gate; a grid stored in a memory, the grid including a plurality of grid points each having a unique combination of input rise time and load, each grid point also having a value of propagation delay previously determined for a gate having the input rise time and load of that grid point; and an interpolator which determines the propagation delay of the selected gate by interpolating within at least four grid points defining a surface of propagation delay values, the surface being shaped such that it accounts for a non-linear gate effect selected from the group consisting of feedforward capacitance, source and drain resistance, and a slow input rise time.
Claim 14
Dependent Claim 187 words
A computer system for determining the propagation delay of a selected gate in a synchronous design, the selected gate having an associated propagation delay which is defined, at least in part, by a load on the selected gate and an input rise time for the selected gate, the computer system comprising: a load analyzer which determines associated with the load the selected gate; an input rise time analyzer which determines the input rise time of the selected gate; a grid stored in a memory, the grid including a plurality of grid points each having a unique combination of input rise time and load, each grid point also having a value of propagation delay previously determined for a gate having the input rise time and load of that grid point; and an interpolator which determines the propagation delay of the selected gate by interpolating within at least four grid points defining a surface of propagation delay values, the surface being shaped such that it accounts for a non-linear gate effect selected from the group consisting of feedforward capacitance, source and drain resistance, and a slow input rise time.
Claim 15
Dependent Claim 82 words
The computer system of claim 12 wherein the interpolator interpolates according to the following expressions: propagation delay=A+B(input rise time)+C(gate load)+D f(input rise time, gate load) where A, B, C, and D are coefficients determined from the coordinates of the four identified grid points and where f(input rise time, gate load) is a first order function selected from the group consisting of (i) (input rise time)*(gate load), (ii) (input rise time)/(gate load), (iii) (gate load)/(input rise time), and (iv) 1/((gate load)*(input rise time)).
Claim 16
Dependent Claim 41 words
The computer system of claim 12 wherein interpolator interpolates by imparting to said surface of propagation delay values a component which affects the value of propagation delay most strongly in the direction of increasing input rise time and decreasing gate load.
Claim 17
Dependent Claim 47 words
The computer system of claim 14 wherein the interpolation surface is described by the following expression: propagation delay=A+B(input rise time)+C(gate load)+D(input rise time)/(gate load) where A, B, C, and D are coefficients determined from the coordinates of four points of known propagation delay identified on said surface.
Claim 18
Dependent Claim 23 words
The computer system of claim 12 further comprising an element which identifies the slowest path between two clocked elements in the synchronous design.
Claim 19
Dependent Claim 48 words
The computer system of claim 15 further comprising means for determining a total delay on a slowest path between the two clocked elements by summing the propagation delays of all gates on said slowest path and any connection delays between each two successive gates on said slowest path.
Claim 20
Independent Claim 314 words
A method of using a computer having a memory to determine a propagation delay associated with a selected gate in a synchronous design which includes clocked elements connected by various paths, each of which may have one or more gates, the selected gate having an associated propagation delay which is defined, at least in part, by a load on the selected gate and an input rise time which is related to the output transition time of a gate immediately preceding the selected gate on a path connecting two clocked elements, the method comprising the following steps: (a) receiving a grid of points from said memory, each grid point specifying a propagation delay for a unique combination of gate load and input rise time; (b) determining the load associated with the selected gate; (c) determining the input rise time for the selected gate; (d) from the grid, identifying at least three points which specify combinations of gate load and input rise time such that these points surround a point defined by the combination of gate load and input rise time for the selected gate; (e) identifying from among the at least three points surrounding the selected gate's point a closest grid point which is closest to the selected gate point; (f) specifying outer grid points at least one of which lies beyond the at least three points surrounding the selected gate's point; (g) with said outer surrounding grid points, determining expected propagation delay values for the closest point using at least two different expressions for propagation delay; (h) from said expected propagation delay values, identifying which one of the at least two different expressions best predict propagation delay at the closest point; and (i) interpolating within the at least three points identified in step (d) to determine the propagation delay of the selected gate, the interpolating being conducted with the expression identified in step (h).
Claim 21
Independent Claim 314 words
A method of using a computer having a memory to determine a propagation delay associated with a selected gate in a synchronous design which includes clocked elements connected by various paths, each of which may have one or more gates, the selected gate having an associated propagation delay which is defined, at least in part, by a load on the selected gate and an input rise time which is related to the output transition time of a gate immediately preceding the selected gate on a path connecting two clocked elements, the method comprising the following steps: (a) receiving a grid of points from said memory, each grid point specifying a propagation delay for a unique combination of gate load and input rise time; (b) determining the load associated with the selected gate; (c) determining the input rise time for the selected gate; (d) from the grid, identifying at least three points which specify combinations of gate load and input rise time such that these points surround a point defined by the combination of gate load and input rise time for the selected gate; (e) identifying from among the at least three points surrounding the selected gate's point a closest grid point which is closest to the selected gate point; (f) specifying outer grid points at least one of which lies beyond the at least three points surrounding the selected gate's point; (g) with said outer surrounding grid points, determining expected propagation delay values for the closest point using at least two different expressions for propagation delay; (h) from said expected propagation delay values, identifying which one of the at least two different expressions best predict propagation delay at the closest point; and (i) interpolating within the at least three points identified in step (d) to determine the propagation delay of the selected gate, the interpolating being conducted with the expression identified in step (h).
Claim 22
Dependent Claim 75 words
The method of claim 18 wherein four points are identified from the grid in step (d) and wherein the at least two different expressions are selected from the group consisting of propagation delay=A+B(rise time)+C(gate load)+D(rise time)(gate load) propagation delay=A+B(rise time)+C(gate load)+D(gate load)/(rise time) propagation delay=A+B(rise time)+C(gate load)+D(rise time)/(gate load) propagation delay=A+B(rise time)+C(gate load)+D/(rise time)(gate load) where A, B, C, and D are coefficients determined from the coordinates of the four points identified from the grid.
Claim 23
Dependent Claim 41 words
The method of claim 18 further comprising the following steps: identifying the slowest path between two clocked elements in the synchronous design, the slowest path including a plurality of gates; and determining a total delay required to traverse said slowest path.
Claim 24
Dependent Claim 28 words
The method of claim 20 wherein the step of determining the total delay includes steps of determining the propagation delay associated with each gate on said slowest path.
Claim 25
Dependent Claim 50 words
The method of claim 21 wherein the step of determining the total delay further comprises the following steps: determining a connection delay between each two gates on said slowest path; and summing the connection delays and propagation delays of the gates on said slowest path to obtain the total delay.
Claim 26
Dependent Claim 33 words
The method of claim 18 further comprising the following steps: employing the total delay determined for the slowest path to develop a final synchronous design; and converting said final synchronous design to hardware.
Claim 27
Dependent Claim 11 words
The method of claim 23 wherein the hardware is a microprocessor.
Claim 28
Independent Claim 223 words
A method of using a computer having a memory to determine an output rise time associated with a selected gate in a synchronous design, the synchronous design including clocked elements connected by various paths, each of which may have one or more gates, the selected gate having an associated output rise time which is defined, at least in part, by a load on the selected gate and an input rise time, the method comprising the following steps: (a) receiving a grid of points from said memory, each grid point specifying an output rise time for a unique combination of gate load and input rise time; (b) determining the load associated with the selected gate; (c) determining the input rise time for the selected gate; (d) from the grid, identifying at least three points which specify combinations of gate load and input rise time such that these points surround a selected point defined by the combination of gate load and input rise time for the selected gate; and (e) interpolating within the at least three points identified in step (d) to determine the output rise time of the selected gate, the interpolating being conducted by a technique that accounts for a non-linear effect selected from the group consisting of feedforward capacitance, gate electrode resistance, source and drain resistance, and a slow input rise time.
Claim 29
Independent Claim 223 words
A method of using a computer having a memory to determine an output rise time associated with a selected gate in a synchronous design, the synchronous design including clocked elements connected by various paths, each of which may have one or more gates, the selected gate having an associated output rise time which is defined, at least in part, by a load on the selected gate and an input rise time, the method comprising the following steps: (a) receiving a grid of points from said memory, each grid point specifying an output rise time for a unique combination of gate load and input rise time; (b) determining the load associated with the selected gate; (c) determining the input rise time for the selected gate; (d) from the grid, identifying at least three points which specify combinations of gate load and input rise time such that these points surround a selected point defined by the combination of gate load and input rise time for the selected gate; and (e) interpolating within the at least three points identified in step (d) to determine the output rise time of the selected gate, the interpolating being conducted by a technique that accounts for a non-linear effect selected from the group consisting of feedforward capacitance, gate electrode resistance, source and drain resistance, and a slow input rise time.
Claim 30
Dependent Claim 105 words
The method of claim 25 wherein four points are identified from the grid in step (d) and wherein the step of interpolating employs the following expression to specify the output rise time of the selected gate: output rise time=A+B(input rise time)+C(gate load)+D f(input rise time, gate load) where A, B, C, and D are coefficients determined from the coordinates of the four points identified grid points and where f(input rise time, gate loads) is a first order function selected from the group consisting of (i) (input rise time)*(gate load), (ii) (input rise time)/(gate load), (iii) (gate load)/(input rise time), and (iv) 1/((gate load)*(input rise time)).
Claim 31
Dependent Claim 70 words
The method of claim 25 wherein the step of interpolating interpolates on a surface defined within said at least three points, the surface representing the output rise time as a function of gate load and input rise time, and wherein the step of interpolating imparts to that surface a component which decreases the value of output rise time in the direction of increasing input rise time and decreasing gate load.
Claim 32
Dependent Claim 64 words
The method of claim 27 wherein four points are identified from the grid and wherein the step of interpolating employs the following expression to specify the output rise time of the selected gate: output rise time=A+B(input rise time)+C(gate load)+D(input rise time)/(gate load) where A, B, C, and D are coefficients determined from the coordinates of the four points identified from the identified grid points.
Claim 33
Dependent Claim 33 words
The method of claim 25 further comprising a step of generating said collection of points of specified loads and rise times by using a numerical model of transistors which are included in gates.
Claim 34
Dependent Claim 143 words
The method of claim 25 further comprising the following substeps before the step of interpolating: (i) identifying from among the at least three points surrounding the selected gate's point a closest grid point which is closest to the selected gate point; (ii) specifying outer grid points at least one of which lies beyond the at least three points surrounding the selected gate's closest grid point; (iii) with said outer surrounding grid points, determining expected output rise time values for the closest point using at least two different expressions for output rise time; (iv) from said expected output rise time values, identifying which one of the at least two different expressions best predict output rise time at the closest point; and (v) specifying the one of the at least two different expressions that best predicts output rise time for use in said step interpolating.
Claim 35
Dependent Claim 79 words
The method of claim 30 wherein four points are identified from the grid in step (d) and wherein the at least two different expressions are selected from the group consisting of output rise time=A+B(rise time)+C(gate load)+D(rise time)(gate load) output rise time=A+B(rise time)+C(gate load)+D(gate load)/(rise time) output rise time=A+B(rise time)+C(gate load)+D(rise time)/(gate load) output rise time=A+B(rise time)+C(gate load)+D/(rise time)(gate load) where A, B, C, and D are coefficients determined from the coordinates of the four points identified from the grid.

References Cited (Backward Citations)

US5210700A Cited
US5508937A Cited
US5544071A Cited
US5475605A Cited
US5493508A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-06-02 2000-12-02 2001-06-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-06-02 2004-12-02 2005-06-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-06-02 2008-12-02 2009-06-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag