The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
May 4th, 2024, 9:15am
Pages: 1 2 3 
Send Topic Print
which is accurate for IM3 simulation? ADS or Spectre? (Read 637 times)
waseda-rfic
Community Member
***
Offline



Posts: 46

which is accurate for IM3 simulation? ADS or Spectre?
Jan 06th, 2010, 5:47pm
 
I did IM3 simulation using HB of ADS ,and I also used HB and PSS of  Spectre. there is a big difference in simulation results. for a fix input power, the simulation result of Spectre HB is -25 dBc, the simulation result of Spectre pss is -32dBc and ADS  HB is -40 dBc. so which is believable? and for ACPR simulation which is best?        Thanks!!!!!
Back to top
 
 
View Profile   IP Logged
sheldon
Community Fellow
*****
Offline



Posts: 751

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #1 - Jan 7th, 2010, 12:04am
 
Waseda,

 It sounds like a setup problem, why don't you contact your local
support team?

                                                               Best Regards,

                                                                  Sheldon
Back to top
 
 
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #2 - Jan 7th, 2010, 1:08am
 
waseda-rfic wrote on Jan 6th, 2010, 5:47pm:
the simulation result of Spectre HB is -25 dBc,
the simulation result of Spectre pss is -32dBc
and ADS  HB is -40 dBc.
Show me your netlist regarding analysis statement, signal source and accuracy setting for both ADS and Spectre.

HB PSS analysis of Cadence Spectre can give same results as Agilent ADS or Agilent GoldenGate if your settings are proper, although HB QPSS analysis of Cadence Spectre very often can not give same results as Agilent ADS or Agilent GoldenGate.
Back to top
 
 
View Profile WWW Top+Secret Top+Secret   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

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

Posts: 1742
Bracknell, UK
Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #3 - Jan 7th, 2010, 3:11am
 
Quote:
HB QPSS analysis of Cadence Spectre very often can not give same results as Agilent ADS or Agilent GoldenGate.

That's not true. HB QPSS in spectre is pretty robust these days. Like all RF simulations, it must be properly set up though.

You may be basing your view on old information. Also, in the past, HB QPSS required more tuning by the user than it does these days, so maybe you also had incorrect settings when you used it in some older version.

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
waseda-rfic
Community Member
***
Offline



Posts: 46

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #4 - Jan 8th, 2010, 12:57am
 
thanks everyone!  here I send the set of PAC+PSS ,PAC+HB and the simulation results in the picture
Back to top
 

HBset.JPG
View Profile   IP Logged
waseda-rfic
Community Member
***
Offline



Posts: 46

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #5 - Jan 8th, 2010, 12:58am
 
continue
Back to top
 

pssset.JPG
View Profile   IP Logged
waseda-rfic
Community Member
***
Offline



Posts: 46

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #6 - Jan 8th, 2010, 12:58am
 
continue
Back to top
 

pacset.JPG
View Profile   IP Logged
waseda-rfic
Community Member
***
Offline



Posts: 46

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #7 - Jan 8th, 2010, 12:58am
 
continue
Back to top
 

source.JPG
View Profile   IP Logged
waseda-rfic
Community Member
***
Offline



Posts: 46

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #8 - Jan 8th, 2010, 12:59am
 
continue
Back to top
 

load.JPG
View Profile   IP Logged
waseda-rfic
Community Member
***
Offline



Posts: 46

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #9 - Jan 8th, 2010, 12:59am
 
continue
Back to top
 

hb_sim_result.GIF
View Profile   IP Logged
waseda-rfic
Community Member
***
Offline



Posts: 46

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #10 - Jan 8th, 2010, 12:59am
 
continue
Back to top
 

pss_sim_result.GIF
View Profile   IP Logged
pancho_hideboo
Senior Fellow
******
Offline



Posts: 1424
Real Homeless
Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #11 - Jan 8th, 2010, 1:52am
 
Maybe you invoked two-large-tones-HB in Agilent ADS. My guess is correct ?

You can do one-large-tone-HB with one small signal Analysis also in ADS which is conceputually same as PSS/PAC of Cadence Spectre.
http://www.designers-guide.org/Forum/YaBB.pl?num=1191464825/1#1
http://www.designers-guide.org/Forum/YaBB.pl?num=1241681618/1#1

Of course, IM3 has to be same even if you invoke two-large-tones-HB or one-large-tone-HB with one small signal Analysis.

Anyway show me your netlist regarding analysis statement, signal source and accuracy setting for both ADS and Spectre.
About netlist of them see http://www.designers-guide.org/Forum/YaBB.pl?num=1205223090

In your case, try to increase HB_Order or HB_Oversample in HB Analysis.
Here HB_Oversample means "Nyquist rate oversample factor".
http://www.designers-guide.org/Forum/YaBB.pl?num=1237890768/10#10

The above example is for Agilent ADSsim.

In Agilent GoldenGate, HB_Sample_Number is provided like following which is different from ADSsim.
HB_Sample_Number=(2*HB_Oversample+1)*HB_Order

HB-PSS/PAC of Cadence Spectre can give same results as 1tone-HB-SS(SmallSignal) of Agilent ADSsim,
if HB_Order and HB_Oversample are same for Cadence Spectre and Agilent ADSsim.

About setting of Shooting PSS and slave small signal analysis of Cadence Spectre, see the following.
http://www.designers-guide.org/Forum/YaBB.pl?num=1208334972

Also see http://www.designers-guide.org/Forum/YaBB.pl?num=1190971685/7#7
Back to top
 
« Last Edit: Jan 8th, 2010, 6:16am by pancho_hideboo »  
View Profile WWW Top+Secret Top+Secret   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

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

Posts: 1742
Bracknell, UK
Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #12 - Jan 8th, 2010, 3:19am
 
I agree with Pancho Hideboo here - seeing the netlist (the sources and analysis statements) would really help. Whilst you showed lots of forms, you didn't show the small-signal settings on the RF source, which I assume were set - seeing the netlist would allow us to see that.

Out of interest, what kind of circuit is it that you're analysing? (not that it necessarily matters)

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
waseda-rfic
Community Member
***
Offline



Posts: 46

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #13 - Jan 8th, 2010, 6:22pm
 
ADS netlist
 
Options ResourceUsage=yes UseNutmegFormat=no TopDesignName="C:\users\default\cmospahi11\networks\highoutdiff33"
define rpolyrf_070608 ( PLUS  MINUS  SUB )
parameters    Ns=1  Np=1  wr=1  r=10  tc1=0  tc2=0  R1=0  R1multi=0  rpolyx=1

Lsu=((((r*Np*(wr-0.03)/315)-0.55)/Ns))
R:Rp2  _net12 SUB R=(1/(Lsu*wr*4.81206e-5))/(Np*Ns)*Np Tnom=27 Noise=yes
R:Rp1  _net11 SUB R=(1/(Lsu*wr*4.81206e-5))/(Np*Ns)*Np Tnom=27 Noise=yes
C:Cp1  PLUS _net11 C=(Lsu*wr*0.10755e-15*(Np*Ns))/Np
C:Cp2  MINUS _net12 C=(Lsu*wr*0.10755e-15*(Np*Ns))/Np
R:rpolyrf  PLUS MINUS R=rpolyx*r*Np Tnom=27 TC1=tc1 TC2=tc2 Noise=yes
end rpolyrf_070608
define cmimrf_070608_mim_orig ( PLUS  MINUS  SUB )
parameters    c=0  C1=0  C1multi=1  aratio=1.0  cmimx=1.0
R:Rsub  _net33 SUB R=11202*ws^(-1.1094) Tnom=27 Noise=yes
C:Cox  MINUS _net33 C=(0.0048*wx*wy+0.1769*ws)*1e-15
L:Ls  _net11 _net84 L=(0.9591*ws+0.194)*1e-12 Noise=yes  
R:Rp  PLUS _net3 R=-0.0429*ws+6.852 Tnom=27 Noise=yes

wx=(sqrt(16.0*1.108*aratio*(c*cmimx*1e15/C1multi)+(1+aratio)*(1+aratio)*0.4548*0
.4548)-(1+aratio)*0.4548)/(4*1.108*aratio)
wy=aratio*wx
ws=0.5*(wx+wy)
C:cmimrf  _net84 MINUS C=c*cmimx/C1multi
R:Rs  PLUS _net11 R=14.394*(ws-5.3)^(-0.414) Tnom=27 Noise=yes
L:Lp  _net3 _net11 L=(531.09*(ws-4)^(-0.9279))*1e-12 Noise=yes  
end cmimrf_070608_mim_orig
define nmosvsrf_070608 ( d  g  s  b )
parameters  mgate=2  W=5.2u  L=0.11u  lneck=0.4u  LD2=0.58u  KC=0.01603  KRo=62.4  KR=56.21622  KL=0.2519  KCGB=0.02  nddg=0  nsdg=2  Mmulti=1
model c3_fast_n_model MOSFET NMOS=1 PMOS=0 Idsmod=8 Version=3.22 Mobmod=1 Capmod=3 Noimod=1 Paramchk=1 Binunit=1 Rsh=80 Js=1E-015 Lint=1.253e-008+_dlintn_fv Ll=-1.911E-015 Lln=1 Lw=0 Lwn=0 Lwl=0 Wint=9.391e-008+_dwintn_fv Wl=-1.567E-015 Wln=1.097 Ww=-1.714E-014 Wwn=1 Wwl=4.38083E-022 Tnom=27 Tox=2.9E-009+_dtox_fv Cj=0.00124 Mj=0.314 Cjsw=6.449E-011 Mjsw=3.997E-016 Pb=0.6575 Pbsw=0.9632 Cjswg=6.449E-011 Mjswg=3.997E-016 Pbswg=0.9632 Cgso=1.913E-010 Cgdo=1.913E-010 Cgbo=1E-012 Xpart=0 Dwg=-5.012E-009 Ldwg=0 Wdwg=0 Pdwg=0 Dwb=6.31E-010 Ldwb=0 Wdwb=0 Pdwb=0 Nch=2.57E+017 Lnch=0 Wnch=0 Pnch=0 Nsub=5E+014 Xj=2E-007 Lxj=0 Wxj=0 Pxj=0 U0=347.4 Lu0=0 Wu0=0 Pu0=0 Vth0=0.1449+_dvth0n_fv Lvth0=_dlvthn_fv Wvth0=0 Pvth0=0 K1=0.3452 Lk1=0 Wk1=0 Pk1=0 K2=-0.04056 Lk2=0 Wk2=0 Pk2=0 K3=-0.2908 Lk3=0 Wk3=0 Pk3=0 K3b=0.8059 Lk3b=0 Wk3b=0 Pk3b=0 W0=0 Lw0=0 Ww0=0 Pw0=0 Nlx=3.186E-007 Lnlx=0 Wnlx=0 Pnlx=0 Dvt0=0.3807 Ldvt0=0 Wdvt0=0 Pdvt0=0 Dvt1=0.192 Ldvt1=0 Wdvt1=0 Pdvt1=0 Dvt2=-0.05377 Ldvt2=0 Wdvt2=0 Pdvt2=0 Dvt0w=0.5 Ldvt0w=0 Wdvt0w=0 Pdvt0w=0 Dvt1w=7.9E+006 Ldvt1w=0 Wdvt1w=0 Pdvt1w=0 Dvt2w=0.01 Ldvt2w=0 Wdvt2w=0 Pdvt2w=0 Ua=-6.488E-010 Lua=0 Wua=0 Pua=0 Ub=1.808E-018 Lub=0 Wub=0 Pub=0 Uc=7.6E-011 Luc=0 Wuc=0 Puc=0 Delta=0.02319 Rdsw=1.98 Lrdsw=0 Wrdsw=0 Prdsw=0 Prwg=4.908 Lprwg=0 Wprwg=0 Pprwg=0 Prwb=-4.44089E-019 Lprwb=0 Wprwb=0 Pprwb=0 Wr=0.8233 Lwr=0 Wwr=0 Pwr=0 Vsat=96420 Lvsat=0 Wvsat=0 Pvsat=0 A0=2 La0=0 Wa0=0 Pa0=0 Keta=-0.04359 Lketa=0 Wketa=0 Pketa=0 Ags=1 Lags=0 Wags=0 Pags=0 A1=0 La1=0 Wa1=0 Pa1=0 A2=1 La2=0 Wa2=0 Pa2=0 B0=1.709E-008 Lb0=0 Wb0=0 Pb0=0 B1=1E-009 Lb1=0 Wb1=0 Pb1=0 Alpha0=2.605E-014 Lalpha0=0 Walpha0=0 Palpha0=0 Beta0=0.3255 Lbeta0=0 Wbeta0=0 Pbeta0=0 Voff=-0.1676 Lvoff=0 Wvoff=0 Pvoff=0 Nfactor=1 Lnfactor=0 Wnfactor=0 Pnfactor=0 Cdsc=8.495E-005 Lcdsc=0 Wcdsc=0 Pcdsc=0 Cdscb=5.514E-005 Lcdscb=0 Wcdscb=0 Pcdscb=0 Cdscd=-0.0002088 Lcdscd=0 Wcdscd=0 Pcdscd=0 Cit=0 Lcit=0 Wcit=0 Pcit=0 Eta0=0.2734 Leta0=0 Weta0=0 Peta0=0 Etab=-0.07382 Letab=0 Wetab=0 Petab=0 Dsub=0.8813 Ldsub=0 Wdsub=0 Pdsub=0 Drout=0.5473 Ldrout=0 Wdrout=0 Pdrout=0 Pclm=1.682 Lpclm=0 Wpclm=0 Ppclm=0 Pdiblc1=0.0171 Lpdiblc1=0 Wpdiblc1=0 Ppdiblc1=0 Pdiblc2=0.01 Lpdiblc2=0 Wpdiblc2=0 Ppdiblc2=0 Pdiblcb=0 Lpdiblcb=0 Wpdiblcb=0 Ppdiblcb=0 Pscbe1=2.163E+007 Lpscbe1=0 Wpscbe1=0 Ppscbe1=0 Pscbe2=5.383E-009 Lpscbe2=0 Wpscbe2=0 Ppscbe2=0 Pvag=1.369 Lpvag=0 Wpvag=0 Ppvag=0 Ute=-1.346 Lute=0 Wute=0 Pute=0 At=24320 Lat=0 Wat=0 Pat=0 Ua1=2.538E-009 Ub1=-3.138E-018 Uc1=-1.477E-010 Kt1=-0.1599 Lkt1=0 Wkt1=0 Pkt1=0 Kt1l=5.55112E-025 Lkt1l=0 Wkt1l=0 Pkt1l=0 Kt2=4.441E-016 Lkt2=0 Wkt2=0 Pkt2=0 Prt=2.165 Lprt=0 Wprt=0 Pprt=0 Cgsl=0 Cgdl=0 Ckappa=0.6 Cf=0 Clc=1E-007 Cle=0.6 Dlc=34E-009 Dwc=1E-009 Noff=1 Voffcv=0 Alpha1=2.354E-008 Acde=1 Moin=15 Tpb=0.001262 Tpbsw=1E-009 Tpbswg=1E-009 Tcj=0.0006052 Tcjsw=4.441E-018 Tcjswg=4.441E-018 Llc=0 Lwc=0 Lwlc=0 Wlc=0 Wwc=0 Wwlc=0 Gdsnoi=1 Kf=5.7e-26 Af=1.4 Ef=1.03 Imax=1 Acm=20 Eg=1.12452 Sc=1.0e20 W=5e-6 L=5e-6
Back to top
 
 
View Profile   IP Logged
waseda-rfic
Community Member
***
Offline



Posts: 46

Re: which is accurate for IM3 simulation? ADS or Spectre?
Reply #14 - Jan 8th, 2010, 6:23pm
 

_dvth0n_fv=0
_dtox_fv=0
_dwintn_fv=0
_dlintn_fv=0
_dlvthn_fv=0
C:Cdgsb  s b C=nsdg*(12.00f*KC*1e6*W+(1.913e-010*W))
C:Cdgdb  d b C=nddg*(12.00f*KC*1e6*W+(1.913e-010*W))
C:Cgbx  g b C=KCGB*0.34e-6*L*mgate*(1-(110/111)*(1.05-0.08*ln(mgate))*exp(-L*1e6/1.0))
R:Rg  g gg R=(12.93*KR*(1.1*L*1e6+0.11/L/1e6)*(0.02*W*1e6+1/W/1e6)/mgate)+Rg2 Tnom=27 TC1=0 TC2=0 Noise=yes
C:Cfgd  gg d C=12.00f*KC*1e6*Wmg
C:Cfgs  gg s C=12.00f*KC*1e6*Wmg
"c3_fast_n_model":nmosvsrf  d gg s bb Length=LENGTH Width=WIDTH Ad=1e-018 As=1e-018 Pd=1e-018 Ps=1e-018 Nrd=0 Nrs=0 Mode=1 Noise=yes _M=mgate
R:Rsub3  sb bb R=36.90*KRo/(1e6*Wmg) Tnom=27 Noise=yes
R:Rsub2  db_n bb R=36.90*KRo/(1e6*Wmg) Tnom=27 Noise=yes
R:Rsub4  sb b R=124.0*KRo/(1e6*W*(mgate+nsdg)) Tnom=27 Noise=yes
R:Rsub1  db_n b R=124.0*KRo/(1e6*W*(mgate+nddg)) Tnom=27 Noise=yes
"DIODE_s":Djsb  sb s Mode=1 Noise=yes
"DIODE_d":Djdb  db_n d Mode=1 Noise=yes
model DIODE_s Diode Cjo=56.47f*KC*1e6*KRLD2*W*(mgate+nsdg) Vj=0.6575 M=0.314 AllowScaling=0 Tnom=27 Eg=1.124481
model DIODE_d Diode Cjo=56.47f*KC*1e6*KRLD2*W*(mgate+nddg) Vj=0.6575 M=0.314 AllowScaling=0 Tnom=27 Eg=1.124481

Wmg=W*mgate
WIDTH=W
LENGTH=L
KRLD2=LD2/0.42u
Rg2=7*(lneck-0.12u)/L/mgate
end nmosvsrf_070608
Short:iout  _net9041 vout Mode=0 SaveCurrent=yes
HB:HB1 MaxOrder=Max_IMD_order Freq[1]=RFfreq-fspacing/2 Freq[2]=RFfreq+fspacing/2 Order[1]=7 Order[2]=7 StatusLevel=2 FundOversample=1 \
Restart=no UseAllSS_Freqs=yes UseOutFile=no UseInFile=no SweepVar="RFpower" SweepPlan="Coarse" OutputPlan="HB1_Output" ConvMode=2 MaxIters=10 ArcLevelMaxStep=0.0 MaxStepRatio=100 MaxShrinkage=1.0e-5 ArcMaxStep=0.0 \
UseKrylov=yes SamanskiiConstant=2 \

OutputPlan:HB1_Output \
     Type="Output" \
     UseNodeNestLevel=yes \
     NodeNestLevel=2 \
     UseEquationNestLevel=yes \
     EquationNestLevel=2 \
     EquationName[1]="Max_IMD_order" \
     UseSavedEquationNestLevel=yes \
     SavedEquationNestLevel=2

Tran:HB1_tran HB_Sol=1 SteadyState=1 StatusLevel=3 \
Freq[1]=RFfreq-fspacing/2 Order[1]=7 \
OutputPlan="HB1_Output"

Component:tahb_HB1 Module="ATAHB" Type="ModelExtractor" \
Tran_Analysis="HB1_tran" HB_Analysis="HB1"


SweepPlan:Fine SweepPlan[1]="Fine_seg1"
SweepPlan:Fine_seg1 Start=3 Stop=9 Step=1

RFfreq=5800 MHz
fspacing=-2000 kHz
RFpower=10 _dBm
Max_IMD_order=3
Vhigh=2.5
Vlow=0.35 notune{ 0.17 to 0.51 by 0.034 }
Back to top
 
 
View Profile   IP Logged
Pages: 1 2 3 
Send Topic Print
Copyright 2002-2024 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.