Never miss a story from Analog/Custom Design. Subscribe for in-depth analysis and articles.
Spectre APS supports dynamically changing errpreset or reltol during a transient simulation. This feature is used by advanced Spectre users to optimize simulation performance when different time windows of the simulation have different accuracy requirements. The use model for this feature is the following:
The errpreset parameter is not available in Spectre X. Furthermore, only supporting a dynamic reltol in Spectre X provides a limited solution. Therefore, a new parameter called steppreset was introduced, which enables the user to dynamically change all Spectre X solver parameters at the same time.
The main setting in Spectre X for optimizing accuracy and performance is the +preset command line option which can have the values cx (most accurate), ax, mx, lx, and vx (highest performing). The +preset setting is a high-level option which defines all Spectre technology being used, including RC optimization, element and device model handling, and matrix solving.
When thinking about dynamically changing Spectre technology, we have to differentiate between technologies like RC optimization, which is defined in the beginning of the simulation and fixed for the entire simulation, and technologies like matrix solving, which can be adjusted during simulation since it is deployed at each time step. The newly introduced steppreset option (supported values cx, ax, mx, lx, vx) combines all Spectre X solver settings and enables the user to adjust them during a transient simulation.
When the steppreset option is set in the transient analysis statement, Spectre will report the steppreset value change in the logfile. You can see a logfile example below:
While the steppreset option lets you dynamically adjust the Spectre X solver settings, it is important to understand that the global +preset command line option needs to be set conservative enough to still provide sufficient accuracy for the design being simulated. If the +preset setting is set too loose, then, for example, the RC optimization chosen may be too aggressive and the simulation results may be wrong.
The Spectre X dynamic steppreset feature is a useful tool for advanced users who already know the best +preset settings for their design but want to further optimize the performance by taking advantage of the effect that different windows of the transient simulation have different accuracy requirements. Target applications for the option may be power up simulation, PLL simulations, simulations with long setup sequences, or EMIR simulation, where the EMIR analysis is only performed at the end of a long transient simulation.
The steppreset parameter can be defined in the dynamic parameter section of the transient analysis window in Virtuoso ADE.
While the steppreset option has already been supported for the last few ISR releases, it was announced recently in the Spectre 21.1 ISR15 release slides.
You may also contact your Cadence support AE for guidance.
For more information on Cadence products and services, visit www.cadence.com.
Spectre Tech Tips is a blog series aimed at exploring the capabilities and potential of Spectre®. 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 Spectre. Enter your email address in the Subscriptions box and click SUBSCRIBE NOW to receive notifications about our latest Spectre Tech Tips posts.