• 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. pss/qpss in the same run (alter? in ADE L?)

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 2439
  • 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

pss/qpss in the same run (alter? in ADE L?)

itos
itos over 9 years ago

Hi,

I simulate a mixer and I would like to obtain values for NF and IIP3 at the same time.

NF is obtained using pss+pnoise. For this analysis only one periodic signal must exist (the LO) and the port of the input signal must have zero frequency/power.

IIP3 is obtained using a swept qpss+qpac. Apart from the LO, the input port must contain a nonzero frequency signal.

The stupid way is to change the schematic for each analysis. To avoid that, I created a design variable tran_in_enable and set the frequency and amplitude of the input port to tran_in_enable*fin and tran_in_enable*Pin. In ADE L, I the set tran_in_enable to 0 and run pss/pnoise to get the NF and in the next step set it to 1 and enable qpss/qpac to get IIP3.

However, I want to obtain both values in one shot. Now I learned about the alter statement. If I manually change my input.scs the following way, everything works as expected:

simulator lang=spectre
global 0 vdd!
include "models.scs"
parameters  tran_in_enable=0
[...]
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
    tnom=25 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
    digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \
    checklimitdest=psf
pss  pss  fund=1G  harms=50  errpreset=conservative  annotate=status
pnoise  (  vop  vom  )  pnoise  sweeptype=absolute  start=1k
+       stop=BW  dec=10  maxsideband=10  iprobe=PORT0  refsideband=-1
+       annotate=status

alter1 alter param=tran_in_enable value=1

sweepqpss  sweep  param=Pin  start=-60  stop=40  lin=100  {
  qpss  qpss  flexbalance=yes  oversample=[1  1]  funds=["LO"  "fin"]
+     maxharms=[3  3]  errpreset=moderate  annotate=status

  qpac  qpac  start=1.09G  clockmaxharm=2  annotate=status
}
[...]

However, ADE L always overwrites the alter line.

What is the correct approach to run pss/qpss simultanuously in ADE L?

Thank you!

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

    I was also going to suggest doing this in ADE XL - there's no massive benefit in doing them in the same simulation (in general) because you can't share the pss/qpss or different hb analyses so there's no significant time saving doing them in the same run. In fact ADE XL would allow them to run in parallel which could give you speed up. Then you could use the Cadence optimisers which don't have this restriction ;-)

    In this specific case, you could just omit the analysis statements in ADE L and create a file called (say) analyses.scs containing the analysis statements you showed above. Reference this file via Setup->Model Libraries and it should do the job (I think).

    However, I'd like it if you could log a case via support.cadence.com about this, and quote this bit on the forums, asking the AE to contact me (ideally to pass the case to me). I'd like to add this to the set of similar requests, and I do have another solution which I can't post in a public forum - I need to make sure it has an associated enhancement request so that we can keep track of everyone who has a specific reason for needing it.

    And thanks to Tawna for taking the dangerous risk of attempting to answer pre-coffee...

    Thanks,

    Andrew.

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

    I was also going to suggest doing this in ADE XL - there's no massive benefit in doing them in the same simulation (in general) because you can't share the pss/qpss or different hb analyses so there's no significant time saving doing them in the same run. In fact ADE XL would allow them to run in parallel which could give you speed up. Then you could use the Cadence optimisers which don't have this restriction ;-)

    In this specific case, you could just omit the analysis statements in ADE L and create a file called (say) analyses.scs containing the analysis statements you showed above. Reference this file via Setup->Model Libraries and it should do the job (I think).

    However, I'd like it if you could log a case via support.cadence.com about this, and quote this bit on the forums, asking the AE to contact me (ideally to pass the case to me). I'd like to add this to the set of similar requests, and I do have another solution which I can't post in a public forum - I need to make sure it has an associated enhancement request so that we can keep track of everyone who has a specific reason for needing it.

    And thanks to Tawna for taking the dangerous risk of attempting to answer pre-coffee...

    Thanks,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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