• 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. Can the stb simulation in Spectre calculate the negative...

Stats

  • Locked Locked
  • Replies 11
  • Subscribers 126
  • Views 17390
  • 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

Can the stb simulation in Spectre calculate the negative phase margin?

zuiying
zuiying over 3 years ago

When I was simulating a two-stage op amp, I tried to use stb to simulate its stability.

 At first I did not add a compensation capacitor (later I used ac simulation and the calculator to find that the phase margin at this time was a negative value).The stb simulation shows "PM metric not found".

And when I added the compensation capacitor, the stb simulation showed the phase margin.

Therefore, can the stb simulation only calculate the positive phase margin, and the negative phase margin will be considered "PM metric not found"? (If this is the case, then I may prefer to use ac simulation and calculators in the future.)

Thank you very much.

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

    Can you show the plot of the phase and gain magnitude (edit - typo) of the loop gain? I'm assuming it's V2 you're using as the probe for the stability analysis?

    AC analysis is a pretty poor way of measuring stability (you're not really measuring loop gain and it's hard to get the loading right if you break the loop by using ac resistances/switches or even large inductors/capacitors) - so I'm not sure that's a good idea (I don't know how you set up the AC analysis).

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • zuiying
    zuiying over 3 years ago in reply to Andrew Beckett

    OK.The following figure shows the loop gain and its phase when no compensation capacitor is added. (the phase margin at this time is about -0.86mdeg). But the stb simulation says "PM metric not found". I think the frequency range of 1~100MHz is large enough.

    I also tried to expand the frequency range, as shown in the figure below. But the stb simulation still says "PM metric not found".

    The picture below is the loop gain and its phase when the compensation capacitor is added. This time, the stb simulation gives the phase margin.

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

    OK.The following figure shows the loop gain and its phase when no compensation capacitor is added. (the phase margin at this time is about -0.86mdeg). But the stb simulation says "PM metric not found". I think the frequency range of 1~100MHz is large enough.

    I also tried to expand the frequency range, as shown in the figure below. But the stb simulation still says "PM metric not found".

    The picture below is the loop gain and its phase when the compensation capacitor is added. This time, the stb simulation gives the phase margin.

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

    It's probably a matter of definition - a negative phase at the crossing point means there is no margin at all. Maybe it could just report the phase at the point that the gain crosses unity, but it seems to be more selective than that (I don't have an example to hand to try this out)

    I suspect you could probably use the phaseMargin() calculator function on the loop gain from the stb analysis - so if you send the loop gain to the calculator and then use the phaseMargin function on it, it may do what you want (from looking at what the calculator function does, I think it should).

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • zuiying
    zuiying over 3 years ago in reply to Andrew Beckett

    Thanks a lot. I aslo think it could just report the phase at the point that the gain crosses unity. But it doesn’t seem to do so.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 3 years ago in reply to zuiying

    Did you also take a look at the phaseMargin result in the Results Browser and and at the result reported in the spectre.out log file?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • zuiying
    zuiying over 3 years ago in reply to Frank Wiedmann

    The phaseMargin result in the Results Browser is nan.

    spectre.out is here.

    Spectre believes that the system is unstable. This should be the reason why there is no output phase margin.

    • 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