I am trying to run PAC analysis for multiple i/p frequency values.
Can it be done without running PSS multiple times if so, how it can be done.
If you are trying to find the transfer function from multiple different sidebands to a single expected output frequency (or sweep of output frequency), perhaps you would be better off using pxf instead of pac? pxf computes the transfer functions from each source in the design to the specified output, and can give you the transfer function from each sideband of the input frequency to the output.
Otherwise the only way to do this is really to put the analysis statements in an include file and reference them via the setup->model libraries form. To do this I'd start with copying the pss and pac analyses from the input.scs for a single run into a file, then repeating the pac analysis with a different instance name (the first word on a line) and changing the input frequency.
pss pss fund=5G harms=3 errpreset=conservative tstab=10n+ annotate=statuspac pac sweeptype=absolute start=5.000001G stop=5.01G+ maxsideband=5 annotate=statuspac2 pac sweeptype=absolute start=4.000001G stop=4.01G+ maxsideband=5 annotate=statuspac3 pac sweeptype=absolute start=3.000001G stop=3.01G+ maxsideband=5 annotate=status
Then disable the pss and pac analyses from the choosing analyses form in ADE. You need to include the pss plus the N pac (rather than using a mix of the UI analyses and those from an include file) because there's an order dependency - the pac analyses need to follow the pss analysis in the netlist.
should I simply run ADE (press the run button) without any analyse in it ?
Yes. Note that if you are using ADE XL (probably Explorer and Assembler), it will complain at you and not run, but you can then do:
envSetVal("adexl.simulation" "ignoreAnalysisCheck" 'boolean t)
Can you also outline more detail about the PSS setup and what PAC sweeps you wish to run? Then I can also advise if there's a better way of doing what you want to do (e.g. with PXF instead).
I need -N to +N sideband input and for each sideband input I need its -N to +N sidebands output.
Thanks - I guess that's a little unusual. Nothing that directly does that in one shot.
I tried to run multiple PXF analysis with the single PSS analysis.
To this end, I copied the following three lines into a file called include_file_PSXF.txt. I then added the file in ADE's Setup-->Model Libraries. I removed pss and PXF from ADE-L.
I then pressed the RUN button in ADE-L. But it is not taking the PSS and PXF analysis. Could you please tell what is the issue here.
pss ( V15 0 ) pss flexbalance=yes oversamplefactor=4 fund=409M harms=70 errpreset=conservative tstab=215n saveinit=yes oscmethod=onetier maxstep=1p method=gear2only tstabmethod=gear2only relref=alllocal lteratio=10 steadyratio=0.00001 maxacfreq=50G maxperiods=1000 annotate=status ppv=yes
pxf_POS ( V15 0 ) pxf sweeptype=relative relharmnum=1 start=1K maxsideband=70 annotate=status freqaxis=in
pxf_NEG ( V15 0 ) pxf sweeptype=relative relharmnum=1 start=-1K maxsideband=70 annotate=status freqaxis=in
I'm not sure what "is not taking" means - did you get an error in the simulator log?
In general it would be better to give the file a ".scs" suffix (rather the ".txt") because .scs will be read as spectre syntax, whereas anything else will assumed to be in SPICE syntax. Otherwise you'd need to precede these lines with:
So I'm guessing this fails because it's reading a file containing spectre statements and assuming it's in SPICE syntax, so I'm hopeful that just changing the suffix would fix it.
Secondly, there's a lot of excessive parameter values in the pss analysis. Do you really need oversamplefactor=4? Using maxstep=1p seems excessive too. If this is an oscillator, then you wouldn't normally set tstabmethod to gear2only, and maxperiods=1000 is a ridiculously high number. Also I have no idea why you've set steadyratio=0.00001 - that's really really tight. You're just giving the simulator a hard time without it being at all obvious as to why you're doing that.
Thanks Andrew. That worked.
Regarding the second part (simulation settings):-
I am trying to find Oscillator PPV from PSS and PXF. I need 70 PXF sidebands. I inject a PAC current source.
tstabmethod, maxperiods and steadratio... some how wrongly put.
But, oversamplefactor = 1 doesn't give correct PPV. But oversampling factor=2 gives correct PPV as it is compared with Spectre's PPV plot.
Can you please tell how oversamplefactor affects the PSS/PXF results.
What kind of oscillator is it?
It is a simple LC oscillator as below:-
So why do you need 70 harmonics (and sidebands)? Surely this is a pretty pure sinusoidal output? I would expect that oversample should only be needed if you have a very sharp transition within the period (normally you don't need to set it above 2), for oscillators such as a ring oscillator or when you have a buffer which squares the output of an LC or crystal oscillator. That doesn't appear to be the case here.