• 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. SpectreMDL sensitivity analysis

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 125
  • Views 14062
  • 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

SpectreMDL sensitivity analysis

mihaiciortuz
mihaiciortuz over 4 years ago

Hi all,

I am running a simulation that uses spectreMDL in order to detect the offset/ trigger point of a StrongARM latch. I then apply Monte Carlo from spectreMDL since I cannot use Monte Carlo inside the ADE.

However, by using this method, I'm not able to use the sensitivity analysis without ADE to determine the contribution of the device to that input referred offset. 

I am using Virtuoso IC6.1.8 ISR16.

Any help would be of great value.

Best regards,

Mihai

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 4 years ago

    Hi Mihai,

    I'm guessing that by "sensitivity analysis" you're referring to the ADE XL/Assembler sensitivity analysis (which is a large-signal sensitivity analysis of any measurement to some varied input) as opposed to the small-signal "sens" analysis built into spectre.

    The challenge here is that you're using two somewhat orthogonal simulation control mechanisms - one being ADE, and one being MDL. There is very limited support for mixing these, and beyond simple measurements alongside standard simulations, they don't play well together because they are both trying to control what is simulated.

    Why are you using SpectreMDL in this case - what particular feature do you need that can't be achieved with normal ADE/ViVA measurements?

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mihaiciortuz
    mihaiciortuz over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    Apologies to revisit an old post but I'm facing the same issue again. 

    You are correct in guessing that I am referring to sensitivity analysis as part of the ADE. To be more clear I am using spectreMDL in order to measure the input referred offset of a clocked circuit. Unlike DC analog circuits, it is extremely time-consuming to perform transient simulations with the necessary time steps in order to get the offset precisely. As such, spectreMDL's binary search capability efficiently homes in on the wanted value. 

    What I am really trying to avoid is a trial and error method of switching on and off some components to identify the major contributors within the DUT. So I was thinking I could use the similar approach of Monte Carlo simulations and sensitivity analysis to identify those contributors.

    Surely there is a way to apply sensitivity analysis on the results that come back from the spectreMDL with some targets defined in maestro?

    Best regards,

    Mihai

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to mihaiciortuz
    mihaiciortuz said:
    Surely there is a way to apply sensitivity analysis on the results that come back from the spectreMDL with some targets defined in maestro?

    No, there isn't. If you were using SpectreMDL merely to take measurements, and the control over the points run was being performed by ADE (e.g. using Monte Carlo or specifically the ADE sensitivity analysis), then yes you could (because you could add an output in ADE which read the result of the SpectreMDL measurement and have it appear in the ADE output table). If SpectreMDL is choosing the simulation points to be run (e.g. using its binary search), then no - that's not possible.

    As I mentioned, you're expecting combination of two different (and orthogonal) simulation control mechanisms. Support for MDL within ADE is quite limited, and the binary search and multi-variable search are mostly used for command-line flows.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mihaiciortuz
    mihaiciortuz over 4 years ago in reply to Andrew Beckett

    Thank you very much for your reply Andrew, 

    I think I get what you mean by the control mechanism, and how it is required by the ADE sensitivity analysis. 

    What I'm not sure about is how the Monte Carlo algorithm in ADE is different than the Monte Carlo in SpectreMDL? Aren't those two mechanisms the same?

    Many thanks,

    Mihai

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to mihaiciortuz

    Hi Mihai,

    The underlying Monte Carlo mechanism is the same, but there are two different flows for accessing it (actually there's a third, but that's a legacy command-line flow which is similar to how ADE used to invoke Monte Carlo that I won't cover here). The non-MDL flow has the Monte Carlo analysis in the netlist, and some specific parameters in there to generate data that ADE needs - it gives ADE the responsibility to monitor when iterations finish so that ADE can pick up the result data, evaluate expressions, move data into the places that ADE needs it, and store (if relevant) the statistical variation data into a database that is used for the variance contribution, sensitivity and other results. The MDL flow runs the Monte Carlo a different way, with measurements in the MDL file and does not have any means for ADE to synchronise with it and gather the statistical data. So they are different mechanisms, as I said before.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to mihaiciortuz

    Hi Mihai,

    The underlying Monte Carlo mechanism is the same, but there are two different flows for accessing it (actually there's a third, but that's a legacy command-line flow which is similar to how ADE used to invoke Monte Carlo that I won't cover here). The non-MDL flow has the Monte Carlo analysis in the netlist, and some specific parameters in there to generate data that ADE needs - it gives ADE the responsibility to monitor when iterations finish so that ADE can pick up the result data, evaluate expressions, move data into the places that ADE needs it, and store (if relevant) the statistical variation data into a database that is used for the variance contribution, sensitivity and other results. The MDL flow runs the Monte Carlo a different way, with measurements in the MDL file and does not have any means for ADE to synchronise with it and gather the statistical data. So they are different mechanisms, as I said before.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • mihaiciortuz
    mihaiciortuz over 4 years ago in reply to Andrew Beckett

    Hi Andrew,

    I want to thank you for taking the time to answer my question, I can now understand how these things work! 

    Best regards,

    Mihai

    • 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