Measuring Digital Properties using Spectre



Measuring Signal delay

Simulating digital circuits usually envolves a lot of measurments on propagation delay and rise/fall times. Although this is possible in the Waveform window, it becomes rather tedious after a while. A much better way is to employ the advanced evaluation features of Analog Artist.
In Analog Artist, do "Outputs | Setup..." to get the following window:

Give the measurment some nice name and type the following command in the "Expression" line:

delay(VT("/Cin") 1.65 1 "rising" VT("/Cout") 1.65 1 "rising")

This measures the time difference from the midpoint (3.3Volts / 2) of the first rising edge of the transient voltage of "Cin" to the midpoint of the first rising edge of "Cout". It can be customized to many different situations by selecting a higher edge count and by substituting "rising" with "falling" or "both".

After you entered the expression, hit the "Add" button to add it to your "Table of Outputs", then close the window with "Ok". Then hit the "Plot..." icon and you should see the number (around 774ps) right in your output list. So there is no need to open the waveform and place markers any more.


Measuring Rise/Fall time

Now the same procedure can be repeated and another measurement be added, this time for rise/fall times. The command is:

riseTime(VT("/Cout"),0,nil,3.3,nil,10,90)

It measures the rise-time of the transient voltage of "Cout" from the 10% to the 90% point of the 0V-3.3V swing.

You can repeat and apply the function to the "c1_b" signal by entering:

riseTime(VT("/c1_b"),0,nil,3.3,nil,10,90)

This time the result will be negative, since "c1_b" actually starts out with a falling transition.



Web Page created by Johannes Grad