• 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. Blogs
  2. Analog/Custom Design
  3. Spectre Tech Tips: Using the Spectre Strobe Feature
Stefan Wuensche
Stefan Wuensche

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
CDNS - RequestDemo

Have a question? Need more information?

Contact Us
Fast Fourier Transform
ADE Explorer
strobe
Spectre Circuit Simulator
Virtuoso Analog Design Environment
Virtuoso IC6.1.8
ADE Assembler

Spectre Tech Tips: Using the Spectre Strobe Feature

28 Apr 2022 • 4 minute read

  

From time to time, we observe customers of Spectre® circuit simulator using the maxstep feature for applications that can be better addressed with the Spectre strobe feature. We, therefore, focus this blog on explaining the usage of the Spectre strobe feature.

When running a Spectre simulation with the goal to later perform post-processing on the waveform, either in Virtuoso® Visualization and Analysis XL, with OCEAN or some other tool, and if this post-processing is performed at equidistant time steps, then strobe is your feature of choice.

Let’s assume, we target to perform a Fast Fourier Transform (FFT) on the waveforms of a simulated design. Without the strobe feature, the time points of Spectre and the post-processing time points do not match. Therefore, in post-processing, a time step interpolation is required, which introduces an error in the FFT measurement. If you set up strobe to enforce additional time steps exactly at the FFT time points, then you can significantly improve the accuracy of your measurement.

Spectre strobe simulation

All Spectre strobe options are part of the transient statement. skipstart and skipstop define the strobe window, strobedelay defines the delay between skipstart and the time when strobing starts. strobeperiod defines the period of the strobe time points inside the strobe window.

tr1 tran skipstart=100n skipstop=200n strobedelay=10p strobeperiod=20p

The strobe feature is enabled only when the strobeperiod option is defined in the transient statement. Additionally, there is a parameter called strobeoutput that defines whether only the strobe points are to be written into the waveform file (specified by the default value, strobeoutput=strobeonly), or whether both regular time steps and strobe points are to be written (strobeoutput=all).

As you can observe in the above picture, strobe will enforce time points exactly at the later FFT points. Opposite to strobe, maxstep would limit the step size of the simulator, but it does not enforce time steps at the FFT time points. That means, maxstep would still cause interpolation errors.

Alternatively, the Spectre fourier element can be used to perform an FFT and to enforce time steps at the FFT time points. Nevertheless, since the functionality of the FFT element is limited, in most cases, the combination of strobe with Virtuoso Visualization and Analysis XL calculator is a better solution.

If you run a transient noise simulation from Virtuoso® ADE Explorer, and measure PSD, then the GUI is already providing you with a selection enabling strobe at the PSD measurement points.

If a user is not performing periodic measurements, but still needs to enforce the simulation to calculate user-defined time points, then the strobetimes option can be used.

tr2 tran stop=20n strobetimes=[3.23n 5.01n 10.17n 15.98n 16.11n 19.01n]

Now, when do we recommend using maxstep? Generally, we don’t recommend setting maxstep. From time to time, we receive customer complains about Spectre performance problems caused by an inappropriate maxstep usage.

Nevertheless, there are a few scenarios where the maxstep option may be useful:

  • If an oscillation is dying because Spectre is choosing very large time steps, setting maxstep may be advantageous.
  • When measuring jitter or clock frequency, maxstep may be used to reduce the LTE error. Compared to tightening reltol, this will only impact the large steps, and therefore, provides better performance.

If maxstep is required only for a portion of the transient time, then dynamically changing it can help optimize the overall simulation performance. The following statement will use a maxstep of 20ps for the first 20ns of the simulation and relax it afterwards to 200ns.

tr1 tran stop=200n param=maxstep param_vec=[0 20p 20n 200n]

Remember, in Spectre X, you need to use the -preset_override=maxstep option to honor a globally set maxstep option in the netlist. Nevertheless, you don’t need the -preset_override option when dynamically changing maxstep.

Let me conclude:

  • When running a simulation with FFT or a similar measurement, then use the strobe feature to eliminate interpolation errors. maxstep shouldn’t be used for this purpose.
  • Generally, avoid using maxstep to control accuracy. Instead, use the Spectre X +preset setting.
  • In rare cases, advanced users may use maxstep to fine tune Spectre accuracy while measuring jitter or clock frequencies, or to start and maintain oscillations.

Related Resources

  • Spectre Classic Simulator, Spectre Accelerated Parallel Simulator (APS), and Spectre Extensive Partitioning Simulator (XPS) User Guide
  • Introducing Spectre X
  • Getting the most out of Spectre X 
  • How to use the Spectre fourier primitive?

You may also contact your Cadence support AE for guidance.

For more information on Cadence products and services, visit www.cadence.com.

About Spectre Tech Tips

Spectre Tech Tips is a blog series aimed at exploring the capabilities and potential of Spectre simulation platform. In addition to providing insight into the useful features and enhancements in Spectre, this series broadcasts the voice of different bloggers and experts, who share their knowledge and experience on all things related to this platform. 


CDNS - RequestDemo

Try Cadence Software for your next design!

Free Trials

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

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