Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How to get correct FET S Parameter result from Cadence sp simulation

Status
Not open for further replies.

OrangeHalo

Junior Member level 2
Joined
Jan 16, 2019
Messages
23
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Location
Ann Arbor
Activity points
312
Hi guys,

I am wondering how to get correct (which means the same as the value given in model manual) FET S parameter results using Cadence Spectre simulator. Previously I used the same testbench in ADS to test S parameters and it seems correct. I think my test bench has no error. But I cannot get the same result with the model given by the fab. Could someone please point out my mistake in testbench, or the correct simulation method? Thanks!

OrangeHalo

Testbench and simulation results:
tb.png

Settings of sp analysis:
tb2.png

Results given by fab:
man.png
 

Show me both Spectre and ADSsim netlists.

Hi Pancho,

Netlist in Spectre:
// Library name: Dbler
// Cell name: FETSparam
// View name: schematic
T0 (net011 net01 0 0) nfet l=120.0n w=10u nf=10 m=1 par=1 ngcon=1 \
ad=1.8e-12 as=2.54e-12 pd=13.6u ps=17.08u nrd=0.018 nrs=0.018 \
rf_rsub=1 plnest=-1 plorient=-1 pld200=-1 pwd100=-1 lstis=1 lnws=0 \
rgatemod=0 rbodymod=0 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
V1 (net03 0) vsource dc=1.2 type=dc
V0 (net06 0) vsource dc=450m type=dc
rf (net1 0) port r=50 num=1 type=dc
load (net02 0) port r=50 num=2 type=dc
L0 (net011 net03) dcfeed l=1u
L1 (net06 net01) dcfeed l=1u
C0 (net011 net02) dcblock c=1u
C1 (net1 net01) dcblock c=1u
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 sensfile="../psf/sens.output" \
checklimitdest=psf
sp sp start=80G stop=220G step=1G 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=allpub

Netlist in ADS:
Options ResourceUsage=yes UseNutmegFormat=no EnableOptim=no TopDesignName="Project1_lib:test:schematic" DcopOutputNodeVoltages=yes DcopOutputPinCurrents=yes DcopOutputAllSweepPoints=no DcopOutputDcopType=0
#uselib "MicrowaveTransistorLibrary" , "ch_fuj_FHX35X_19930915"
ch_fuj_FHX35X_19930915:X1 N__2 N__1 0
Port:TermG1 N__5 0 Num=1 Z=50 Ohm Noise=yes Vdc=0
Port:TermG2 N__9 0 Num=2 Z=50 Ohm Noise=yes Vdc=0
S_Param:SP1 CalcS=yes CalcY=no CalcZ=no GroupDelayAperture=1e-4 FreqConversion=no FreqConversionPort=1 StatusLevel=2 CalcNoise=no SortNoise=0 BandwidthForNoise=1.0 Hz DevOpPtLevel=0 \
SweepVar="freq" SweepPlan="SP1_stim" OutputPlan="SP1_Output"

SweepPlan: SP1_stim Start=0.1 GHz Stop=22 GHz Step=0.1 GHz

OutputPlan:SP1_Output \
Type="Output" \
UseEquationNestLevel=yes \
EquationNestLevel=2 \
UseSavedEquationNestLevel=yes \
SavedEquationNestLevel=2

#load "python","LinearCollapse"
Component Module="LinearCollapse" Type="ModelExtractor" NetworkRepresentation=2
Short:DC_Block2 N__2 N__9 Mode=1
Short:DC_Feed2 N__2 N__6 Mode=-1
V_Source:SRC2 N__6 0 Type="V_DC" Vdc=3 V SaveCurrent=1
Short:DC_Block1 N__5 N__1 Mode=1
Short:DC_Feed1 N__1 N__4 Mode=-1
V_Source:SRC1 N__4 0 Type="V_DC" Vdc=-0.33 SaveCurrent=1

I did not use the same FET in ADS and Spectre, but the simulation results in ADS fit the results provided by the FET data sheet.

Thanks!

OrangeHalo
 

I did not use the same FET in ADS and Spectre
Models are completely different.

Model of FET you use in ADSsim is for specific size FET.
Also frequency range is reasonably low.

On the other hand, you use nonlinear model provided as PDK which is modeled for various size in Spectre.
Also frequency range 80GHz to 220GHz in Spectre is very high for accurate modeling of FET.

So simply model’s accuracy is not good in Spectre.
 
Last edited:

Thanks! But I do not have the license to use ADS Dynamic link, so I cannot import FET model in cadence to ADS ot do simulation. Do you have any suggesstion or idea?

OrangeHalo
 

Hi pancho,

Thanks a lot! I just did it and find what you said is right. I will contact the fab and see what happens. I will upgrade it then.

OrangeHalo
 

I think nfet you use is standard device or core device.
It is not RF model.

Generally RF device is modeled as macro model.
Surely see your PDK.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top