• 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. IIP3 simulation: shooting vs. hb and choosing extrapolation...

Stats

  • Locked Locked
  • Replies 8
  • Subscribers 127
  • Views 18192
  • 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

IIP3 simulation: shooting vs. hb and choosing extrapolation point

itos
itos over 9 years ago

Hi,

I have a simple voltage mode passive mixer (using NMOS transistors) in a 28nm process. I drive the mixer with a port, then an ideal balun, then shunt positive/negative ports with 50 Ohm for matching and connect 100fF at the output node of the mixer.



I follow Lab9 (IP3 Calculation (Swept QPSS and QPAC)) of "SpectreRF Workshop" by Cadence to calculate IIP3. I have some questions on this:

1.) What are typical values from your experience, what can I use as a "best I can get" reference? Is +10dBm great? Or +30dBm?

2.) This is the result of using shooting engine in qpss:





The curve is not monotonic and depending on the extrapolation point I get significantly different results. How can that be? What would be the best value for the extrapolation point in this case? ep=-50 gives 24dBm but ep=-20 would give me >30dBm.

3.) The same simulation but taking harmonic balance instead of shooting:

Now it's even more non-monotonic, and the result differs by 10dB!

Why is the difference so significant and which result should I trust and why?

Thank you!

PS: Good to know because it took me hours to find it out: For these curves to work, the input to port must be in dBm (not V!) and also for PAC value it needs to be the same (contrary to a document by Ken Kundert, where he writes the small signal pac value does not matter)

  • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 9 years ago

    You should use the low power range for extrapolation, where the slope of the third harmonic has the expected value. IP3 measures essentially small-signal third-order non-linearity. At higher power, large-signal effects start to have an effect on the result. The inaccurate harmonic balance results are probably due to some setup problem, for example not enough harmonics.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • itos
    itos over 9 years ago

    Hi Frank, thanks for your response.

    I know that by theory I should use low power input. But what does this mean specifically? A rule of thumb is 10-20dB backoff from compression which would be in the -15dBm range. -50dBm, as used in my plots would be MUCH less than this!

    So where could the bending of a curve come from? By looking at the plot (shooting engine), is ep=-50dBm correct or would you choose a different point?

    Can't it be that at lower input levels (such as -50dBm) other non-linearities (such as 5th) is more dominant and hence giving the wrong result?

    EDIT: I use the following settings for shooting and hb - both have the same amount of harmonics. Can 49 be really too small? Cany idea where I can tune?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Frank Wiedmann
    Frank Wiedmann over 9 years ago

    The extrapolation point in the shooting simulation looks correct, because it is inside a range with the correct slope. There should normally be no effect from other non-linearities at the frequency of a third-order mixing product.

    You are using a logarithmic sweep for the power in dBm (which is already a logarithmic unit). I would suggest a linear sweep, like this you also don't need to "Add Specific Points".

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • itos
    itos over 9 years ago

    Hi Frank,

    Thanks again for the input.

    Unfortunately it just gets crazier: Now the two match roughly, I did not change something significantly but the IIP3 dropped to 13dBm!


    But what's the most crazy thing: I followed your hint and used linear spacing with 100 steps: the third harmonic function looks crazy and even more non-monotonic. As can be seen, it is more a curve than a straight line, there is no position where it is really 3dB/dB slope.

    What can there be?

    This is shooting:

    vixer2_qpss_pac_IIP3_shooting2.pdf

    This is hb:

    vixer2_qpss_pac_IIP3_hb2.pdf

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    What you are seeing is almost certainly because this is a passive mixer. There are well known problems with simulating passive mixers if the models are BSIM3 or BSIM4 models due to a limitation in the model around 0 Vds. This is not specific to Spectre but a limitation in the model.

    This is discussed in solution 11454704. There's also this paper (that the solution references) which gives some background.

    It doesn't matter whether you use transient, shooting or HB - all will suffer from this apparent randomness in the results.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • itos
    itos over 9 years ago

    Hi Andrew, this is great input! Actually I stumbled already across this but forgot it again. There are two other interesting papers discussing this: "The New CMC Standard Compact MOS Model PSP: Advantages for RF Applications" (Scholten et.al.) and "Distortion in Current Commutating Passive CMOS Downconversion Mixers" (Larson et.al.).

    This is probably a stupid question ... but how do I make VDS!=0 without significantly altering the actual circuit? Connect a (big) resistor in parallel (drain to source)? Maybe not, this would increase Ron ...

    Connect an ideal voltage source between source and drain?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago
    That's the problem - generally adjusting the circuit so that you're no longer operating at Vds=0 means that the circuit doesn't work properly (or as well) any more. Others may have more practical experience on how they manage to simulate their passive mixer designs...
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • itos
    itos over 9 years ago
    Actually I just learned that the process uses UTSOI (now it's probably not hard to guess the process) which is based on PSP. The good news is that when I activate the flag for accurate simulation, results get significantly better!
    • 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