• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Change default increment of deriv

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 125
  • Views 10313
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Change default increment of deriv

Holz
Holz over 3 years ago

Hello,

I try to use "deriv" function to analyze the slope of some signals, I'm using transient simulation, so X-axis is time. For "deriv" function, what is the default increment or step size of the derivative function? In output setup, I simply write:

deriv(v("/cout" ?result"tran-tran"))

"/cout" is the signal. I want to change the increment to 2ps or 20ps, how should I do it?

Thanks a lot!

  • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago

    Dear Holz,

    I, personally, am not aware of a "default" value for the x-axis increment if the deriv() function as x-axis can represent time or some other variable and, if time in a transient analysis, it will depend on the simulator accuracy chosen and other designer specified simulator settings. There seem to be too many options to specify a default without impinging on its accuracy. The derivative process is already considered "noisy" for any numerical simulatior.

    One method to set the time steps to values of your choosing, such as 2ps or 20 ps in a transient analysis, is to set the strobeperiod and choose that ONLY the strobepoints be saved. In this fashion, the only data points that the function deriv() can use in its calculation are the strobepoints.

    This strobeperiod option and the choice to save only the strobepoints may be accessed through the "Outputs" tab of the Transient Analysis->Options GUI. I have included this tab as Figure 1 if it helps at all Holz.

    A second way might be to use the strobeperiod of 2 ps and then use the sample() function on your strobed waveform wits a sampling time of  20 ps. Use the sampled strobed data waveform as an argument to the deriv() to use a 20 ps x-increment or the unsampled strobe data as the 2 ps x-increment.

    Shawn

    Dear Holz,

    I, personally, am not aware of a "default" value for the x-axis increment if the deriv() function as x-axis can represent time or some other variable and, if time in a transient analysis, it will depend on the simulator accuracy chosen and other designer specified simulator settings. There seem to be too many options to specify a default without impinging on its accuracy. The derivative process is already considered "noisy" for any numerical simulatior.

    One method to set the time steps to values of your choosing, such as 2ps or 20 ps in a transient analysis, is to set the strobeperiod and choose that ONLY the strobepoints be saved. In this fashion, the only data points that the function deriv() can use in its calculation are the strobepoints.

    This strobeperiod option and the choice to save only the strobepoints may be accessed through the "Outputs" tab of the Transient Analysis->Options GUI. I have included this tab as Figure 1 if it helps at all Holz.

    Shawn

    Figure 1

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to ShawnLogan

    As Shawn said, there's no control over the x-axis increment because it uses the same increment as the source waveform - it just takes the piece-wise slope between each point. Strobing to improve the resolution could be useful if you need that (there is the strobeoutput=all option which means that you get all the strobe points and any other output points (the default behaviour is to only output the strobe points) - so you can strobe on your desired time-step, and then sample with the same time-step, but any sharp transitions will still be output). Not sure I get Shawn's point of strobing with 2ps and then sampling with 20ps - that just seems a good way of slowing the simulator down or forcing it to produce more output data than it might otherwise need to).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago in reply to Andrew Beckett

    Dear Andrew (and Holz),

    Andrew Beckett said:
    Not sure I get Shawn's point of strobing with 2ps and then sampling with 20ps - that just seems a good way of slowing the simulator down or forcing it to produce more output data than it might otherwise need to).

    My motivation for this comment was to avoid running two simulations - one with a strobeperiod of 20 ps and only saved strobed outputs and a second with a strobeperiod of 2 ps and only save strobed outputs if Holz wanted to examine the output of the deriv() function using both 20 ps and 2 ps x-increments. By running a single simulation with a strobeperiod of 2 ps, and then using the sample() function to sample the 2 ps data at an interval of 20 ps, the need to run two distinct simulations is avoided.

    I hope that makes a little more sense now. My apologies for my confusing post!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Holz
    Holz over 3 years ago in reply to ShawnLogan

    Thank you both for suggestions! 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago in reply to Holz

    Dear Holz,

    Holz said:
    Thank you both for suggestions! 

    Of course - I just hope either were helpful in your study of the derivative function!! All of Andrew's suggestions are very helpful as I'm sure you now realize!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information