Skoonk
Newbie level 1
Working in Cadence PSpice and want to automate my measurements. I read the user manual, but it's not very descriptive in describing the entire syntax of measurement expressions. For example, what do !1, !2, etc mean in the following:
Risetime_StepResponse_XRange(1,begin_x,end_x)=x4-x3
*#Desc#* Over a specified X-range, find the first
*#Desc#* and final Y values of the trace. Then find the
*#Desc#* difference between the X values of the points where the trace
*#Desc#* first crosses 10% then 90% of the range between its
*#Desc#* starting and final values with a positive slope.
*#Desc#* (Find the risetime of a step response curve over an X-range.)
*
*#Arg1#* Name of trace to search
*#Arg2#* X range begin value
*#Arg3#* X range end value
*
* Usage:
* Risetime_StepResponse_XRange(<trace name>,<begin_x>,<end_x>)
*
{
1|Search forward (begin_x,end_x) x value (0%) !1
Search forward (begin_x,end_x) x value (100%) !2
Search forward /Begin/(begin_x,end_x) level (y1+0.1*(y2-y1),p) !3
Search forward (begin_x,end_x) level (y1+0.9*(y2-y1),p) !4;
}
Ultimately I would like to do the following: calculate the time difference between the 10% final value point for one waveform and the 90% final value point for a second waveform, assuming there is overshoot. This is similar to the risetime step response for a single waveform, except I would like it setup to consider two.
Risetime_StepResponse_XRange(1,begin_x,end_x)=x4-x3
*#Desc#* Over a specified X-range, find the first
*#Desc#* and final Y values of the trace. Then find the
*#Desc#* difference between the X values of the points where the trace
*#Desc#* first crosses 10% then 90% of the range between its
*#Desc#* starting and final values with a positive slope.
*#Desc#* (Find the risetime of a step response curve over an X-range.)
*
*#Arg1#* Name of trace to search
*#Arg2#* X range begin value
*#Arg3#* X range end value
*
* Usage:
* Risetime_StepResponse_XRange(<trace name>,<begin_x>,<end_x>)
*
{
1|Search forward (begin_x,end_x) x value (0%) !1
Search forward (begin_x,end_x) x value (100%) !2
Search forward /Begin/(begin_x,end_x) level (y1+0.1*(y2-y1),p) !3
Search forward (begin_x,end_x) level (y1+0.9*(y2-y1),p) !4;
}
Ultimately I would like to do the following: calculate the time difference between the 10% final value point for one waveform and the 90% final value point for a second waveform, assuming there is overshoot. This is similar to the risetime step response for a single waveform, except I would like it setup to consider two.