• 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. set minimum time step for saved data

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 125
  • Views 9999
  • 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

set minimum time step for saved data

Darrell L
Darrell L over 3 years ago

I want to reduce the amount of saved data in a simulation.  This simulation uses a very small time step at certain signal transitions and then uses a very large time step between events.  Ideally, I want to skip all the data points less than 250ps apart, but not require data points every 250ps.   Skip count is not working for me because it does not skip enough points when the time step is small without use a very large number, and then I worry I will miss too many points where the time step is large.  Data strobing works better, but it slows the simulation down significantly, and saves too many useless data points when the time step is large.

Is there a way to command Spectre to skip saving all the data points X ps after each data point saved?  IE it will save a data point, and then skip all the data for the next 250ps and save the next data point after that time.  So when the time step is 2ps it will save data approximately every 250ps, but when the time step is 10ns, it will just save the data points calculated.

BTW, I swear I could do this using the strobe delay parameter in older versions of Spectre.  But perhaps it was just a useful bug since I can't get it to work now.

Thanks

Darrell

  • Cancel
  • ShawnLogan
    ShawnLogan over 3 years ago

    Dear Darrell,

    Darrell L said:
    Is there a way to command Spectre to skip saving all the data points X ps after each data point saved?  IE it will save a data point, and then skip all the data for the next 250ps and save the next data point after that time.  So when the time step is 2ps it will save data approximately every 250ps, but when the time step is 10ns, it will just save the data points calculated.

    I am afraid I do not understand your example...I believe Figure 1 provides a view of what I understand of your words and includes my suggestion:

    Shawn

    Figure 1

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

    The strobe commands will force the simulator to only save data every 250ps.  But it also forces the simulator to calculate time steps every 250ps even if it would normally have a 10ns time step.  I have tried strobe, but it make the simulation time much longer since a large percentage of the total simulation time is normally done with a large time step.  And it does not minimize the data stored as much as I want since it still stores a lot of data I don't need. Basically I want the simulator to skip saving data  when the time step is <250ps, but not create additional time points if the time step is >250ps.  

    I used to use just strobe delay without specifying a strobe period and that did what I want.  It would not force the simulator to calculate data at 250ps steps, but it would still skip saving any data point less than 250ps after the last saved point.  But this does not work for me any more.  I was hoping there was still a way to do something similar.

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

    Darrell,

    I'm not aware of Spectre ever having behaved this way - certainly that's not what strobedelay is supposed to do (and I'd be rather surprised if it ever did this even by mistake; I'm happy to be proved wrong if you can give me a version where it used to do this!). I can't think of anything quite like this. I can see some use for this, perhaps a parameter such as "minoutputstep" could be added. That would need an enhancement request, and so you should contact customer support for that.

    Andrew

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

    Dear Darrell L,

    Thank you for clarifying your intent! I now understand, and note that Andrew has already provided you his suggestion(s). Basically, you would like a means to monitor the simulator time step as the simulation progresses as a means of determining if and when the simulator should save a data point. In essence, set a "dynamic" strobeperiod to a value dependent on the timestep itself.

    I am also not aware of a means to monitor the simulatot timestep, however, might I suggest that perhaps if you know the approximate times at which your waveform(s) undergo transitions that you want to capture with high simulator accuracy and the periods of time where little or no waveform changes are occurring, you might consider customizing the simuation "relotl" parameter. As you probably know, the "reltol" parameter can be varied dynamically. Higher values will allow larger time steps (and subsequently fewer data points). You can set up a table of time versus reltol value or read in a table of values from a file from the Transient analysis GUI if you check the radio box "Dynamic Parameter" (see Figure 1).

    I thought I would pass the thought by you in case you have not already considered it as a means to reduce your database size. Perhaps it is not relevant or possible, but not knowing the details of your circuit netlist and design objective, I decided to mention it.

    Shawn

    Figure 1

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

    Thanks Andrew and Shawn for the replies and suggestions.  I got some things to try.

    Andrew,

    As I recall I was doing the strobe delay trick from early 2000's to about 2012.  So it was a very long time ago, and I don't remember what version of Cadence that was.  I also found an old note that mentioned using the 'overstep' parameter to do this instead of strobe delay.  I wish I had some record of all that, but I only have my potentially flawed memory.  

    Thanks,

    Darrell

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

    Hi Darrell,

    I can't find any reference to a parameter called overstep in spectre. I guess we'll never know!

    Andrew

    • 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