• 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. Question about the iprobe cell in analogLib

Stats

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

Question about the iprobe cell in analogLib

mhkvy4
mhkvy4 over 5 years ago

I am using cadence virtuoso 6.1.8. 

I have a question about the iprobe cell in analogLib. I know that it appears as a short to DC signals and as an open to small-signals during STB analysis and also acts as the signal source during STB. So it is great for loop gain analysis where breaking the loop might load the circuit.

My question is, does iprobe appear as a short in XF, AC and noise analysis?  Having run some simulations it appears to be the case.

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 5 years ago

    Dear mhkvy4,

    mhkvy4 said:
    My question is, does iprobe appear as a short in XF, AC and noise analysis?  Having run some simulations it appears to be the case.

    To my knowledge, the iprobe analogLib element does exactly what it is intended to provide. It is an ideal current monitor that does not "break" any connection in your circuit, but rather inserts an ideal zero-ohm resistor in the circuit branch under study to monitor the current through the branch. Hence, it will be a short circuit in not only the XF, AC, and noise analyses, but in all analyses.

    However, with respect to your comment "...and as an open to small-signals during STB analysis...", I don't think that is totally accurate. If it were to be an "open", it would disturb the loading present in normal operation. This will impact the loop gain and hence impact the analysis results. The probe simply serves to alowl a Middlebrook like analysis to be performed in order to assess loop gain and phase.

    Does this help mhky4?

    Shawn

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

    Hello Shawn,

    Thanks for the prompt reply. I was under the impression that the iprobe acts as a short for DC but breaks the loop during STB analysis (similar to how we can use a LC network to inject a small signal source while preserving DC feedback). For loop gain, I thought the signal has to traverse the entirely of the loop after the loop has been broken. I am not familiar with Middlebrook and I should probably read up on it, but shouldn't the signal injected into the loop by iprobe from one of its terminals flow around it and then come out the other end into the other terminal to calculate it? 

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

    Dear mhky4....

    mhkvy4 said:
    I was under the impression that the iprobe acts as a short for DC but breaks the loop during STB analysis (similar to how we can use a LC network to inject a small signal source while preserving DC feedback).

    Suppose, as an example, the current probe is placed between the output node and the input node of an non-ideal amplifier with finite gain and finite input and output impedances. If the current probe were to be an "open" during the STB analysis, it would change the load impedance of the output of the amplifier as the finite input impedance of the amplifier would no longer be seen by the output node. Hence, the loop gain will not reflect the loop gain when the loop was closed. Hence, the view that the probe "breaks the loop during STB analysis" really is not totally accurate. Does this make any more sense mhky4?

    mhkvy4 said:
    I am not familiar with Middlebrook and I should probably read up on it, but shouldn't the signal injected into the loop by iprobe from one of its terminals flow around it and then come out the other end into the other terminal to calculate it?

    I was fortunate to have Dr. Middlebrook (and his student Dr, Cuk) as professors - hence I am pretty familiar with his work. His work served as the basis for the stability analysis provided by Spectre. I have some of his original papers, but think the most appropriate reference to provide you with was a more recent article authored by Michael Tian, V. Visvanathan, Jeffrey Hantgan, and Kenneth Kundert from an IEEE 2001 CAS magazine. This summary tutorial article describes the basics of Middlebrook's concept (null double signal injection) and its implementation. The paper also cites Middlebrook's original paper from 1975.

    I hope this helps your understanding a bit...let us know.

    Shawn

    00900125_striving_for_small_signal_stability_circuits_devices_2001.pdf

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

    Hey Shawn, 

    Thanks for the paper. The reason for my confusion were these slides (slide no.4)

    www.eecis.udel.edu/.../Loop Stability Analysis.pdf

    and also the fact that traditionally we break the loop and do small signal ac analysis by hand to find the transfer function by hand (and sometimes we use an LC network  for loop gain analysis in circuit simulators). I thought that the iprobe does the same as an LC network and breaks the loop for the small signal injected into it while not loading the loop. 

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

    Dear mhkvy4,

    mhkvy4 said:

    The reason for my confusion were these slides (slide no.4)

    www.eecis.udel.edu/.../Loop Stability Analysis.pdf

    I took a quick look and see the author uses the "break the loop" terminology. Personally, my feeling is that this terminology is rather misleading. The method using an iprobe uses signal point injection and is definitely not "breaking the loop". However, if you examine the references the author includes, one is the paper I provided you. A second is the URL to Frank Weidmann's "loopgain" page at:

    https://sites.google.com/site/frankwiedmann/loopgain

    This has a lot of good information. It also contains a link to Dr. Middlebrook's video on his General Feedback Theorem at URL:

    https://www.youtube.com/playlist?list=PLFEq0We5q1LKsl-45zVt2A6Os__maQ2Cr

    mhkvy4 said:
    also the fact that traditionally we break the loop and do small signal ac analysis by hand to find the transfer function by hand (and sometimes we use an LC network  for loop gain analysis in circuit simulators). I thought that the iprobe does the same as an LC network and breaks the loop for the small signal injected into it while not loading the loop

    If you are using large L or C values in this approach, my concern is that this will stress the dynamic range of your simulator. I have definitely had accuracy issues when using very large L or C values to "block" DC or AC signals and would be leary of its use in estimating loop gain - my personal thought only!

    Shawn

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

    Dear mhkvy4,

    mhkvy4 said:

    The reason for my confusion were these slides (slide no.4)

    www.eecis.udel.edu/.../Loop Stability Analysis.pdf

    I took a quick look and see the author uses the "break the loop" terminology. Personally, my feeling is that this terminology is rather misleading. The method using an iprobe uses signal point injection and is definitely not "breaking the loop". However, if you examine the references the author includes, one is the paper I provided you. A second is the URL to Frank Weidmann's "loopgain" page at:

    https://sites.google.com/site/frankwiedmann/loopgain

    This has a lot of good information. It also contains a link to Dr. Middlebrook's video on his General Feedback Theorem at URL:

    https://www.youtube.com/playlist?list=PLFEq0We5q1LKsl-45zVt2A6Os__maQ2Cr

    mhkvy4 said:
    also the fact that traditionally we break the loop and do small signal ac analysis by hand to find the transfer function by hand (and sometimes we use an LC network  for loop gain analysis in circuit simulators). I thought that the iprobe does the same as an LC network and breaks the loop for the small signal injected into it while not loading the loop

    If you are using large L or C values in this approach, my concern is that this will stress the dynamic range of your simulator. I have definitely had accuracy issues when using very large L or C values to "block" DC or AC signals and would be leary of its use in estimating loop gain - my personal thought only!

    Shawn

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

    Shawn,

    I agree, the terminology is misleading at best - the fact that it says that it is a short in DC and opens the loop for stb analysis is really just plain wrong. That's what the spt1switch (and spt[2-4]switch) components in analogLib do in an AC analysis - they allow you to have a switch which is ideally closed or open in different analyses, and was the old-school way of doing stability prior to the introduction of stb analysis. The switch approach was better than a large L/C because the large components introduced actual components which could impact the AC response, plus potentially introducing numerical errors as you mentioned. The main issue however with any of the old "opening the loop" approaches was that the messed up the loading of the loop at the point it was broken, so the results were of dubious value unless you took a lot of care to try to replicate the missing loading - and even then it still was likely to mess up the loop.

    So as you've said, the whole point is to keep the loop closed and directly measure the loop gain.

    The presentation shared by mhkvy4 is also fairly old and suggests using cmdmprobe for differential loops - although it does mention diffstbprobe as a newer mechanism. Anyone reading that presentation should not use cmdmprobe any more - it's obsolete - and diffstbprobe should definitely be used instead as it's a superior way of dealing with measuring common-mode and differential-mode stability (it uses ideal baluns to convert the differential signals into a differential-mode and common-mode path with an iprobe in each, and then back again to differential signals; the analysis then picks the specific iprobe depending on whether you're analysing the differential-mode or common-mode stability).

    Regards,

    Andrew.

    • 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