• 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. Small signal analysis during transient, triggered by ev...

Stats

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

Small signal analysis during transient, triggered by event

StevenMikes
StevenMikes over 5 years ago

I know about how to run things like ac, stb, and info and set times during transient analysis, but is it possible to run one of these, say ac, at a time determined during the transient simulation itself?

For example, say I would like to run an AC sim when a particular voltage crosses 0.

  • Cancel
  • ShawnLogan
    ShawnLogan over 5 years ago

    Dear Steven,

    StevenMikes said:
    For example, say I would like to run an AC sim when a particular voltage crosses 0.

    Have you explored the actimes feature of spectre? This allows you to perform an AC small signal analysis at specific times of a transient simulation as it is progressing. A couple of articles that detail this capability (depending on how you are perfoming the simulation) are at URL:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000nSkaEAE&pageName=ArticleContent&oMenu=People%20who%20viewed%20this%20also%20viewed

    https://support.cadence.com/apex/techpubDocViewerPage?xmlName=anasimhelp.xml&title=Virtuoso%20Analog%20Design%20Environment%20L%20User%20Guide%20--%20Setting%20Up%20an%20Analysis%20-%20Transient%20Analysis&hash=pgfId-1013885&c_version=IC6.1.8&path=anasimhelp/anasimhelpIC6.1.8/chap5.html#pgfId-1013885

    (do a "find" for "actimes" in this latter URL)

    Does this address your question Steven or did I misunderstand your question?

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StevenMikes
    StevenMikes over 5 years ago in reply to ShawnLogan

    Shawn, I'm afraid you may have misunderstood. As I said at the beginning of my post, I already know how to run small signal analyses at predetermined times using actimes.

    What I'm asking is if there is a way to run small signal analyses based on events in the simulation, which could occur at any time. My example was a small signal AC analysis triggered by a particular voltage crossing 0. The time of the zero crossing is not known beforehand.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 5 years ago in reply to StevenMikes

    Dear Steven,

    My apologies for not fully understanding your question! In short, the answer is yes to your question. You may trigger an ac small-signal analysis during the course of a transient analysis through the use of an assertion. Please refer to the following for some instructions and an error you may encounter if your version of spectre is not current.

    https://support.cadence.com/apex/techpubDocViewerPage?xmlName=spectreuser.xml&title=Spectre%20Classic%20Simulator,%20Spectre%20APS,%20Spectre%20X,%20and%20Spectre%20XPS%20User%20Guide%20--%20Analyses%20-%20Performing%20Event-Triggered%20Analysis%20During%20Transient%20Analysis&hash=pgfId-885296&c_version=19.1&path=spectreuser/spectreuser19.1/chap7.html#pgfId-885296

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V0000091CU1UAM&pageName=ArticleContent

    Hopefully, I did a better job this time!! Sorry!

    Shawn

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

    Hi Shawn,

    You beat me to it! I was just about to quickly suggest the following steps (using SPECTRE17.1 or later):

    1. Create a file called (say) myTrigger.scs with contents similar to the following:
      sigoutCross assert expr="V(sigout)" max=0.0 // the signal you want and the threshold you want
    2. Reference this via Setup->Model Libraries in ADE
    3. In the actimes field of tran analysis, enter @sigoutCross (which will trigger on the first crossing) or "@(sigoutCross,2)" if you want the second crossing, or "@(sigoutCross,0)" if you want all crossings (note, you need the quotation marks if you have the event in parentheses such as this).
    4. Fill in the acnames as "ac" and set up the ac analysis as usual.

    In addition to triggering on an assert, you can trigger on a variable changing in a Verilog-A model (this is useful if you need more precision for the threshold crossing; asserts do not force a timestep at the threshold crossing, whereas using @cross in VerilogA can do that).

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 5 years ago in reply to ShawnLogan

    The error described in https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V0000091CU1UAM&pageName=ArticleContent does not depend on the Spectre version, but on the Virtuoso version, which is responsible for the netlisting. The error was fixed in the IC6.1.8 ISR3 and ICADVM18.1 ISR3 releases.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • StevenMikes
    StevenMikes over 5 years ago

    Brilliant, thank you gentlemen!

    • 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