The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> RF Simulators >> Accuracy of PNOISE analysis
https://designers-guide.org/forum/YaBB.pl?num=1234906984

Message started by SiValley_designer on Feb 17th, 2009, 1:43pm

Title: Accuracy of PNOISE analysis
Post by SiValley_designer on Feb 17th, 2009, 1:43pm

I'm simulating the phase noise of an LC-VCO. Sometimes I get the following warning:

PSS analysis may be insufficiently accurate for PNOISE analysis. Consider tightening simulation tolerance.

I have tried reducing reltol, vabstol, and iabstol to much smaller values than recommended by the manual but nothing changed.

I searched previous threads but in the only relevant one the issue was sweeping frequencies all the way down to zero thus creating flicker-noise related issues. I'm only looking at above 1kHz and I have turned off all flicker noise sources of active devices.

Amy ideas on how to get rid of these warnings?

Thanks,

Title: Re: Accuracy of PNOISE analysis
Post by pancho_hideboo on Feb 18th, 2009, 4:58am

Your post is no more than usage of specific EDA vendor's simulator. There is no Design issue.
Please post to "The Designer's Guide Community Forum ≫ Simulators ≫ RF Simulators".


SiValley_designer wrote on Feb 17th, 2009, 1:43pm:
I'm simulating the phase noise of an LC-VCO. Sometimes I get the following warning:
PSS analysis may be insufficiently accurate for PNOISE analysis. Consider tightening simulation tolerance.
A name of "PNOISE analysis" is not restricted to Cadence Spectre.
So you have to make it clear what vendor's simulator you use.
If you use Spectre, which solver do you use in PSS or QPSS, Shooting_Newton or HB ?


SiValley_designer wrote on Feb 17th, 2009, 1:43pm:
I have tried reducing reltol, vabstol, and iabstol to much smaller values than recommended by the manual but nothing changed.
How do you set maxstep or maxacfreq for Shooting_Newton ?
If you use HB, how do you set max harmonics and oversample_factor ?

Title: Re: Accuracy of PNOISE analysis
Post by SiValley_designer on Feb 18th, 2009, 10:05am

Thanks for your response.

I'm using Spectre so I run PSS followed by PNOISE to simulate phase noise.

I believe because I'm using Spectre PSS, the solver is Shooting_Newton. The parameters you have referred to are calculated automatically by Spectre based on analog options.

In terms of maximum number of sidebands and also tstab I believe they are large enough because further increase in them does not change anything.

Title: Re: Accuracy of PNOISE analysis
Post by pancho_hideboo on Feb 18th, 2009, 7:00pm


SiValley_designer wrote on Feb 18th, 2009, 10:05am:
I believe because I'm using Spectre PSS, the solver is Shooting_Newton.
PSS of Cadence Spectre have both Shooting_Newtyon and HB solvers.


SiValley_designer wrote on Feb 18th, 2009, 10:05am:
The parameters you have referred to are calculated automatically by Spectre based on analog options.
No, you are misunderstanding. Perameters I refered are not controled by analog options. They are controled by errorpreset in PSS setting.


SiValley_designer wrote on Feb 18th, 2009, 10:05am:
In terms of maximum number of sidebands and also tstab I believe they are large enough because further increase in them does not change anything.
There is no setting of sidebands in PSS setting.

Show me your portions of netlist regarding analysis statements(PSS and Pnoise) and options statement.

Title: Re: Accuracy of PNOISE analysis
Post by SiValley_designer on Feb 18th, 2009, 7:11pm

Here is my simulation command:

simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
   tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
   digits=5 cols=80 pivrel=1e-3 ckptclock=1800 \
   sensfile="../psf/sens.output" checklimitdest=psf
dcOp dc write="spectre.dc" maxiters=150 maxsteps=10000 annotate=status
dcOpInfo info what=oppoint where=rawfile
pss  (  Out  Outb  )  pss  fund=18G  harms=80
+    errpreset=conservative  tstab=100n  skipdc=no  method=gear2only
+    tstabmethod=gear2only  annotate=status
pnoise  (  Out  Outb  )  pnoise  relharmnum=1  start=1k
+       stop=100M  dec=20  maxsideband=80  annotate=status
modelParameter info what=models where=rawfile
element info what=inst where=rawfile
outputParameter info what=output where=rawfile
designParamVals info what=parameters where=rawfile
primitives info what=primitives where=rawfile
subckts info what=subckts  where=rawfile
saveOptions options save=selected pwr=none


Title: Re: Accuracy of PNOISE analysis
Post by pancho_hideboo on Feb 18th, 2009, 7:45pm


SiValley_designer wrote on Feb 18th, 2009, 7:11pm:
pss  (  Out  Outb  )  pss  fund=18G  harms=80
+    errpreset=conservative tstab=100n  skipdc=no  method=gear2only
+    tstabmethod=gear2only  annotate=status
pnoise  (  Out  Outb  )  pnoise  relharmnum=1  start=1k
+       stop=100M  dec=20  maxsideband=80  annotate=status

If this too extraordinarily tight netlist is true netlist you use, show me log file of Spectre corresponding to this netlist.

There are some people who show fake netlists in this Forum.

Title: Re: Accuracy of PNOISE analysis
Post by SiValley_designer on Feb 18th, 2009, 8:02pm

Here is the log file. I removed part of the preamble for confidentiality reasons. There are many breakdown warnings, which I'm sure are not the reason for PNOISE failure (I have other simulations without such warnings and yet they give the warning regarding PNOISE accuracy).

The PSS command used in this simulation is:
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
   tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
   digits=5 cols=80 pivrel=1e-3 ckptclock=1800 \
   sensfile="../psf/sens.output" checklimitdest=psf
pss  (  Out  Outb  )  pss  fund=15G  harms=80
+    errpreset=conservative  tstab=100n  skipdc=no  method=gear2only
+    tstabmethod=gear2only  annotate=status  tstart=20n
pnoise  (  Out  Outb  )  pnoise  relharmnum=1  start=10k
+       stop=100M  dec=20  maxsideband=80  annotate=status



Title: Re: Accuracy of PNOISE analysis
Post by pancho_hideboo on Feb 19th, 2009, 5:00am


SiValley_designer wrote on Feb 18th, 2009, 8:02pm:
The PSS command used in this simulation is:
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \
   tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
   digits=5 cols=80 pivrel=1e-3 ckptclock=1800 \
   sensfile="../psf/sens.output" checklimitdest=psf
pss  (  Out  Outb  )  pss  fund=15G  harms=80
+    errpreset=conservative  tstab=100n  skipdc=no  method=gear2only
+    tstabmethod=gear2only  annotate=status  tstart=20n
pnoise  (  Out  Outb  )  pnoise  relharmnum=1  start=10k
+       stop=100M  dec=20  maxsideband=80  annotate=status

Three different fundamental frequencies exist in your log file.
  Fundamental frequency is 13.9102 GHz.
  Fundamental frequency is 13.9101 GHz.
  Fundamental frequency is 14.3745 GHz.

If the above analysis statements are true, why do three different fundamental frequencies exist ?
Show true netlist and log file.

You should use HB solver not Shooting_Newton.
http://www.designers-guide.org/Forum/YaBB.pl?num=1228240587/14#14

15GHz x 80=1200GHz. Holding noises from 1200GHz are nonsence.





Title: Re: Accuracy of PNOISE analysis
Post by Andrew Beckett on Feb 19th, 2009, 6:55am

I would assume some sort of sweep is being done (perhaps via the parametric analysis tool?) which could explain why the netlist shows a single analysis,  but the log has several.

For a 15GHz (ish) oscillator, 80 harmonics seems rather excessive. Perhaps that's why it is struggling with accuracy - it thinks that the PSS solution is not accurate enough at higher harmonics (I'm guessing here).

What kind of oscillator is it - that would govern the choice of HB or shooting? That said, you're not going to have massing amounts of harmonic content if it's a 15GHz oscillator, so shooting is unlikely to give you much advantage.

Regards,

Andrew.

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.