The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jun 20th, 2019, 6:58am
Pages: 1
Send Topic Print
Tline in PSS analysis (Read 20680 times)
cmolsen
Junior Member
**
Offline



Posts: 10
NY
Tline in PSS analysis
Jan 18th, 2007, 9:41am
 
Hi,

When I try to include a tline component in an qpss analysis, spectre gives the error that "hidden state" precludes using tline.

Then I try mtline. Now spectre gives error to include "interp=rational".  However, I don't know where to put this statement.  I've tried in the options section and in the analysis section, but both places it gets rejected.  Manual offers no help.

I've noticed that if I do s parm analysis using nport, that there is a way to include the interp statement in the nport line.  But I'm not doing this kind of analysis.

Can you help?

I can supply netlist if needed.
Back to top
 
 
View Profile   IP Logged
mg777
Senior Member
****
Offline



Posts: 131

Re: Tline in PSS analysis
Reply #1 - Jan 19th, 2007, 11:23am
 

I waited to see if someone more informed than me would reply. In such absence, I venture the following suggestions:

My understanding is that qpss works off a harmonic balance solution, and HB should have no trouble at all with transmission lines. Maybe the delay of the line is comparable with the RF modulation period, so the simulator wants to look at a few points along the line.

Do you get the same error if you replace the tline with N sections of the corresponding LC ladder? Do the results match? Note that N will have to be large enough such that N/√LC is greater than ωc.

M.G.Rajan
www.eecalc.com









Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2168
Silicon Valley
Re: Tline in PSS analysis
Reply #2 - Jan 19th, 2007, 1:39pm
 
In recent versions of Spectre you can choose to use either harmonic balance or shooting methods with QPSS. Shooting methods struggle with distributed components such as tlines, but harmonic balance should have no trouble with them at all, regardless of their length.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
cmolsen
Junior Member
**
Offline



Posts: 10
NY
Re: Tline in PSS analysis
Reply #3 - Jan 19th, 2007, 2:43pm
 
Rajan,

Your solution works.  And I may have to resort to this kind of solution if I don't find any other solution.  But I don't find it a particularly acceptable solution.  Nevertheless, I may just have to put up with this shortcoming of Spectre.

Ken,

Setting harmonicbalance=yes gets rid of the interp=rational error and causes the simulator to actually run.  However a runtime error is generated, namely "Matrix is singular ...".  Then I tried increasing oversample=2.  This causes another runtime error, namely "Fail to build Preconditioner".

So I'm still stuck.

Since I originally got the error message (at parse time) "Use interp=rational" when I use mtline in the PSS analysis, there must be a place to put this statement.  

I assume that incorporating the statement "interp=rational" will get rid of the error.  But where does the statement go?

Michael
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1708
Bracknell, UK
Re: Tline in PSS analysis
Reply #4 - Jan 22nd, 2007, 3:55am
 
You must be using quite an old version of spectre, since versions since IC5141 have supported mtline with shooting and flexbalance. That said, the "interp" parameter is a parameter for an nport, not mtline. Do you have an nport in your circuit as well? Which version are you using? Perhaps you can past the complete error message or the log file in its entirety?

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
cmolsen
Junior Member
**
Offline



Posts: 10
NY
Re: Tline in PSS analysis
Reply #5 - Jan 22nd, 2007, 8:08am
 
I'm using an port in the circuit, but not an nport.

I'm running under Linux - Spectre version 6.1.0.190 (dated 15 Aug 2006).

Here's the output log and the netlist when running with harmonicbalance=no where I get the "interp" error:

######################
running Spectre for comsrc_ac.scs
spectre (ver. 6.1.0.190 -- 15 Aug 2006).
Includes RSA BSAFE(R) Cryptographic or Security Protocol Software from RSA Security, Inc.

Simulating `comsrc_ac.scs' on cmoa30s at 10:37:48 AM, Mon Jan 22, 2007.

Circuit inventory:
             nodes 19
         equations 186
             bsim4 1    
         capacitor 7    
          inductor 2    
            mtline 4    
              port 2    
          resistor 13    
           vsource 4    


******************************************
Sweep Analysis `sweep': prf = (-40 -> -30)
******************************************

++++++++++++++++++++++
sweep: prf = -40 (0 %)
++++++++++++++++++++++
Fundamental f1:  period = 555.556 ps, freq = 1.8 GHz.
Fundamental f2:  period = 555.247 ps, freq = 1.801 GHz.

**************************************************************************
Quasi-Periodic Steady State Analysis `sweep-000_anal': largefund = 1.8 GHz
**************************************************************************
Important parameter values in pdisto iteration:
   start = 555.556 ps
   outputstart = 555.556 ps
   stop = 1.11111 ns
   period = 555.556 ps
   steadyratio = 1
   step = 555.556 fs
   maxstep = 5.55556 ps
   ic = all
   skipdc = no
   reltol = 100e-06
   abstol(V) = 1 uV
   abstol(I) = 1 pA
   abstol(U) = 1 u
   temp = 25 C
   tnom = 25 C
   tempeffects = all
   errpreset = moderate
   method = gear2only
   lteratio = 3.5
   relref = sigglobal
   cmin = 0 F
   gmin = 1 pS
   maxrsd = 0 Ohm
   mos_method = s
   mos_vres = 50 mV


Warning from spectre at prf = -40 during periodic steady state analysis, during
       Quasi-Periodic Steady State Analysis `sweep-000_anal', during Sweep
       analysis `sweep'.
   Sweep iteration for `prf' = -40 terminated prematurely because of following
       error(s):

Error found by spectre at prf = -40 during periodic steady state analysis,
       during Quasi-Periodic Steady State Analysis `sweep-000_anal', during
       Sweep analysis `sweep'.
   Distributed components are not supported directly for Pdisto, Please use
       rational fitting technique by setting interp=rational.
Warning from spectre at prf = -40 during periodic steady state analysis, during
       Quasi-Periodic Steady State Analysis `sweep-000_anal', during Sweep
       analysis `sweep'.
   Arithmetic exception in analysis `sweep-000_anal' .

Analysis `sweep-000_anal' terminated prematurely due to error.

---------------------
...
10 more identical err msgs follow.
...
---------------------

**** Run Status for sweep analysis `sweep' ****
Sweep iteration 1 (`prf' = -40) failed.
Sweep iteration 2 (`prf' = -39) failed.
Sweep iteration 3 (`prf' = -38) failed.
Sweep iteration 4 (`prf' = -37) failed.
Sweep iteration 5 (`prf' = -36) failed.
Sweep iteration 6 (`prf' = -35) failed.
Sweep iteration 7 (`prf' = -34) failed.
Sweep iteration 8 (`prf' = -33) failed.
Sweep iteration 9 (`prf' = -32) failed.
Sweep iteration 10 (`prf' = -31) failed.
Sweep iteration 11 (`prf' = -30) failed.

Warning from spectre.
   Arithmetic exception in analysis `sweep' .

Total time required for sweep analysis `sweep' was 250 ms.


Aggregate audit (11:00:18 AM, Mon Jan 22, 2007):
Time used: CPU = 630 ms, elapsed = 10 s, util. = 6.3%.
Time spent in licensing: elapsed = 20 ms.
Virtual memory used = 5.05 Mbytes.
spectre completes with 11 errors, 25 warnings, and 0 notices.

######################


######################
//Generated for: spectre
simulator lang=spectre
global 0
parameters vg=0.5083 frf=1.8G prf=-30 vdd=1.2
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=25.0 \
   tnom=25 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \
   digits=5 cols=80 pivrel=1e-3 ckptclock=1800\
   rawfmt=nutascii rawfile="acdata"

include "tech/design.scs"
include "tech/fixed_corner.scs"
include "tech/process_ibm.scs"

TR0 (tr1 tr2 0 0) nfet_rf l=0.120u w=382u nf=128 m=1 par=1 ngcon=2 \
       ad=6.912e-11 as=7.134e-11 pd=430.08u ps=437.56u nrd=0.06 nrs=0.06 \
       rf_rsub=1 plnest=-1 plorient=-1 pld200=-1 pwd100=-1 lstis=1 lnws=0 \
       rgatemod=3 rbodymod=1 ring=2 cwire=1 panw1=0p panw2=0p panw3=0p \
       panw4=0p panw5=0p panw6=0p panw7=0p panw8=0p panw9=0p panw10=0p \
       sa=5.5e-07 sb=5.5e-07 sd=3.6e-07 dtemp=0

Cg  (2 tr2)  capacitor c=800p
Lg  (tr2 100)  inductor  l=2u
Cd  (tr1 3)  capacitor c=800p
Ld  (tr1 200)  inductor  l=2u

TL  (1 2 0 0)   mtline z0=50 td=1.5n

Vd (200 0) vsource dc=vdd type=dc
Vg (100 0) vsource dc=vg type=dc

PORTin (1 0) port r=50 num=1 type=sine sinedc=0 \
           freq=frf     dbm=prf   fundname="f1" \
           freq2=frf+1M dbm2=prf  fundname2="f2"
PORTout (3 0) port r=50 num=2 dc=0 type=dc

save 1 2 3

sweep sweep param=prf start=-40 stop=-30 step=1 {
  anal qpss funds=["f1" "f2"] maxharms=[3 3] \
  errpreset=moderate maxstep=10p annotate=status
  }
######################

Michael
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1708
Bracknell, UK
Re: Tline in PSS analysis
Reply #6 - Jan 22nd, 2007, 8:41am
 
Ah, that explains it. Distributed components such as nport in linear/spline mode, or mtline, are only supported in shooting PSS, not shooting QPSS (currently).

If you need to use QPSS, you'll need to use flexbalance=yes for this to work, so that the simulation can be performed in the frequency domain. Essentially the work that was done to allow a convolution-based model to be used with shooting PSS has not been done for QPSS.

Since mtline does not support "rational" interpolation (that's only for nport), the error message is not really very helpful...

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
mohta
Junior Member
**
Offline



Posts: 13

Re: Tline in PSS analysis
Reply #7 - Sep 24th, 2007, 7:54pm
 
Hi Andrew,

Is the QPSS limitation you describe still present in Spectre 6.2.0.453?

Thanks,
mohta
Back to top
 
 
View Profile   IP Logged
Lynn Lou
Junior Member
**
Offline



Posts: 18

Re: Tline in PSS analysis
Reply #8 - Aug 17th, 2012, 6:39pm
 
Hi cmolsen,
My virtuoso version is IC6.1.5.500.6. I've once simulated a tline using NPORT in a VCO PSS analysis, and the "interpolation method" is one of the optional rows in Edit Object Properties (see Fig). However, I have not seen any related options when using MTLINE. I hope it can help you.

Regards,
Lynn
Back to top
 

interp_method.JPG
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2019 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.