Method of simulating AC timing characteristics of integrated circuits
First Claim
1. A method of simulating AC timing characteristics of an integrated circuit comprising:
- identifying a first flip flop associated with an input of the integrated circuit, the flip flop having a clock input and a data input;
applying a clock reference signal to the clock input of the flip-flop, and applying a data input signal to the data input of the flip-flop, the data input signal edge having a specific time delay relative to the clock signal active edge, thereby generating a known logic value at an output of the flip-flop;
then successively applying the clock reference signal and a data input signal while changing the specific time delay between the clock reference signal active edge and data input signal edge thereby relatively moving the data input signal edge and the active edge of the clock reference signal until an unknown logic value X, characteristic of an X condition, is observed at the output of the flip-flop,and calculating one of the Setup time and Hold time from the specific delay time between the clock reference signal and data input signal for the time values immediately preceding those when the X condition is generated.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of simulating AC timing characteristics at the pins of a device in of an application specific integrated circuit (ASIC) design is presented. The approach is fully automatic and is generalized, in the sense that both positive and negative Setup and Hold times and Propagation delays can be captured. The approach allows each bit of a data bus to be treated individually so as to be able to identify the worst case Setup time, Hold time and Propagation delay. Measurement is carried out in parallel for all data inputs and outputs. The need for manual intervention is eliminated and considerably reduces simulation time. Delay files are used through a call from a test bench, and the same testbench can be run on different delay information, namely pre-layout or post-layout delays.
-
Citations
13 Claims
-
1. A method of simulating AC timing characteristics of an integrated circuit comprising:
-
identifying a first flip flop associated with an input of the integrated circuit, the flip flop having a clock input and a data input; applying a clock reference signal to the clock input of the flip-flop, and applying a data input signal to the data input of the flip-flop, the data input signal edge having a specific time delay relative to the clock signal active edge, thereby generating a known logic value at an output of the flip-flop; then successively applying the clock reference signal and a data input signal while changing the specific time delay between the clock reference signal active edge and data input signal edge thereby relatively moving the data input signal edge and the active edge of the clock reference signal until an unknown logic value X, characteristic of an X condition, is observed at the output of the flip-flop, and calculating one of the Setup time and Hold time from the specific delay time between the clock reference signal and data input signal for the time values immediately preceding those when the X condition is generated.
-
-
2. A method of simulating AC timing characteristics of an integrated circuit comprising:
-
identifying a first flip flop associated with an input of the integrated circuit, the flip flop having a clock input and a data input; applying a clock reference signal to the clock input of the flip-flop, and applying a data input signal to the data input of the flip-flop, the data input signal edge having a specific time delay relative to the clock signal active edge, thereby generating a known logic value at an output of the flip-flop; then successively applying the clock reference signal and a data input signal while changing the specific time delay between the clock reference signal active edge and data input signal edge thereby relatively moving the data input signal edge and the active edge of the clock reference signal until an unknown logic value X, characteristic of an X condition, is observed at the output of the flip-flop, and then calculating a Setup time, wherein the data edge is moved relative to the active edge of the clock to decrement the specific delay time between the active edge of the clock reference signal and the data signal edge, and a Setup time measurement is made after each decrement of the data edge, and when the X condition is observed, the Setup time preceding the one causing the X condition is taken as the correct minimum Setup time, wherein the Setup time is calculated by
space="preserve" listing-type="equation">Setup=-(Data.sub.edge -(Clkref.sub.a +Clkref.sub.period /2))where, Dataedge =data edge occurrence time; Clkrefa =reference clock active edge occurrence time; and Clkrefperiod =period of the reference clock. - View Dependent Claims (3, 4, 5)
-
-
6. A method of simulating AC timing characteristics of an integrated circuit comprising:
-
identifying a first flip flop associated with an input of the integrated circuit, the flip flop having a clock input and a data input; applying a clock reference signal to the clock input of the flip-flop, and applying a data input signal to the data input of the flip-flop, the data input signal edge having a specific time delay relative to the clock signal active edge, thereby generating a known logic value at an output of the flip-flop; then successively applying the clock reference signal and a data input signal while changing the specific time delay between the clock reference signal active edge and data input signal edge thereby relatively moving the data input signal edge and the active edge of the clock reference signal until an unknown logic value X, characteristic of an X condition, is observed at the output of the flip-flop, and then calculating a Hold time, wherein the active edge of the clock is moved relative to the data signal edge to decrement the specific delay time between the active edge of the clock reference signal and the data signal edge, and a Hold time measurement is made after each decrement of the clock edge, and when the X condition is observed, the Hold time preceding that Hold time causing the X condition is taken as the correct Hold time for that data signal, wherein the Hold time is calculated by;
space="preserve" listing-type="equation">Hold=-(Clkref.sub.a -(Data.sub.edge +Data.sub.period /2))where, Clkrefa =reference clock active edge occurrence time, Dataedge =data edge occurrence time; Dataperiod =period of the data signal. - View Dependent Claims (7, 8, 9)
-
-
10. A method of simulating AC timing characteristics of an integrated circuit comprising:
-
identifying a first flip flop associated with an input of the integrated circuit having a clock input, a data input, and an output; applying a clock reference signal to the clock input of the flip-flop, and applying a data input signal to the data input of the flip-flop with a specific time delay between the edge of the data signal and to the active edge of the clock input signal, thereby generating a known logic value at the output of the flip-flop; observing the active edge of the reference clock and the changing edge of the output data signal, and measuring a propagation delay given by
space="preserve" listing-type="equation">Propagation delay=Data.sub.edge -Clkref.sub.a,where, Dataedge =occurrence time of the changing data edge; Clkrefa =occurrence time of the reference clock active edge. - View Dependent Claims (11, 12)
-
-
13. A method of simulating AC timing characteristics of an integrated circuit to determine Setup and Hold times and Propagation delay, comprising:
-
identifying a first flip flop associated with an input of the integrated circuit and having a clock input and a data input; applying a clock reference signal to the clock input of the flip-flop, and applying a data input signal to the data input of the flip-flop, the data input signal edge having a specific time delay relative to the clock input signal edge, thereby generating a known logic value at an output of the flip-flop; then successively applying the clock reference signal and a data input signal while decrementing the specific time delay between the the clock reference signal and data input signal thereby relatively moving the data edge and the active edge of the clock signal until an unknown logic value X, characteristic of an X condition, is observed at the flip flop output, determining the Setup time by moving the data edge relative to the active edge of the clock and making a Setup time measurement after each decrement of the data edge, and when the X condition is observed, the Setup time preceding the one causing the X condition is taken as the correct minimum Setup time, wherein the Setup time is calculated by
space="preserve" listing-type="equation">Setup=-(Data.sub.edge -(Clkref.sub.a +Clkref.sub.period /2))where, Dataedge =data edge occurrence time; Clkrefa =reference clock active edge occurrence time; and Clkrefperiod =period of the reference clock; determining the Hold time by moving the active edge of the clock relative to the data edge and making a Hold time measurement after each decrement of the clock edge, and when the X condition is observed, the Hold time preceding that Hold time causing the X condition is taken as the correct Hold time for that data signal wherein the Hold time is calculated by;
space="preserve" listing-type="equation">Hold=-(Clkref.sub.a -(Data.sub.edge +Data.sub.period /2)),where Clkrefa =reference clock active edge occurrence time, Dataedge =data edge occurrence time; and Dataperiod =period of the data signal, and, measuring the propagation delay by steps comprising; applying a clock reference signal Clkref to the clock input of the flip-flop, and applying a data input signal to a data input of the flip-flop, with a specific time delay relative to the clock input, thereby generating a known logic value at an output of the flip-flop; observing the active edge of the reference clock and the changing edge of the output data signal, and measuring a propagation delay given by
space="preserve" listing-type="equation">Propagation delay=Data.sub.edge -Clkref.sub.awhere, Dataedge =occurrence time of the changing data edge; Clkrefa =occurrence time of the reference clock active edge.
-
Specification