Quantcast
Channel: Cadence RF Design Forum
Viewing all articles
Browse latest Browse all 956

AC Noise : inductors and noiseless ports still making noise

$
0
0

Hi,

I am exploring noise simulation capabilities and I stumbled upon something that looks strange to me, namely that when I list the noise contributors for a certain circuit containing ideal inductors and noiseless ports (set specifically to that status), I still see noise coming from resistors associated with those components. I am wondering what is it that I am doing wrong here.

This is the Results Window:

So, given for instance that I did not specify any kind of external files for the ports, nor any resistance for the inductor primitives, and explicitly set "isnoisy=no"  to the output port (P2), why am I seeing noise from what is, in my understanding, ghost components?

I have OCR'd the netlist to tray and avoid last pitfall, just in case we want to have a base:

----------------------------------------- NETLIST ----------------------------------------

simulator lang=spectre

global 0

include "$SPECTRE_MODEL_PATH/our_lib.lib.scs" section=tt_pre
include "save.scs"

parameters fB=(8e+10 + 10000) fRF=80G fRF2=(8e+10 + 1000000) PB=-20 RL=50 \
Lg=175p Ls=35p nf=64 fwid=300n wireopt=19 vgs=450m

// Library name: mylib
// Cell name: mytest
// View nane: schematic
NO (net7 net3 nett netd net6 0) nfet_xxx w=300e-9*(nf) 1=28n m=1\
// other parameters here...
V_GS (net2 0) vsource dc=vgs type=dc
V_DS (vDD 0) vsource dc=800.0n type=dc
LG (vgs net3) inductor l=LG
L1 (nett 0) inductor l=LS
G_choke (vgs net2) inductor l=1u
D_choke (VDD net?) inductor l=1u
D_bypass (net7 net10) capacitor c=1u
G_bypass (net9 vgs) capacitor c=1u
P2 (net10 0) port r=RL num=2 type=sine isnoisy=no
P1 (net9 0) port r=50 num=1 type=sine freq2=fRF2 dbm2=-50 fundname2="fRF2" \
freqvec=[ fRF fRF2 fB ] dbmvec=[ -50 -50 PB ]
simulatorOptions options psfversion="1.4.0" reltol=e-3 vabstol=1e-6 \
iabstol=le-12 temp=27 tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 \
vthmod=vthcc ivthn=300e-9 ivthp=70e-9 ivthw=0 ivthl=0 maxnotes=5 \
maxwarns=5 digits=5 cols-80 pivrel=le-3 sensfile="../psf/sens.output" \
checkLimitdest=pst vdsatnod=gds
parameters _acip3_sweep_power_=-40
sweepac sweep param=_acip3 sweep_power_ start=-40 stop=-30
sweepac sweep param=_acip3_sweep_power_ start=-40 stop=-30
+ lin=1 {
ac ac start=80G stop=80.002G out2=0 outl=net10 maxharm_nonlin=7 \
flin_out=80.002G fim_out=80.004G rfdbm=_acip3_sweep_power_ \
rf2_src=["P1"] rfl_src=["P1"] perturbation=ip3 annotate=status
}

dcOp dc write="spectre.dc" save=all maxiters=150 maxsteps=10000 \
annotate=status
dcOpInfo info what=oppoint where=rawfile
noise noise start=50G stop=90G oprobe=P2 iprobe=P1 separatenoise=yes \
annotate=status
sp sp ports=[P1 P2] start=50G stop=90G donoise=yes oprobe=P2 iprobe=P1 \
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
save D_choke:1
saveOptions options save=allpub

--------------------------------------- END OF NETLIST -----------------------------------

NOTES: there are some extra simulations as I'm actually trying to build a bridge between SP and AC noise as far as NF is concerned.

This works well for those specific outputs (NF is consistent if you specify P2 as a "port" for the load), but somehow (and this is what I was trying to achieve in the first place), the standard AC noise output always includes all noise, no possibility to take the "load" noise out of the equation in an easy fashion. That's why I was looking at the contributors to try and isolate the load induced noise and have a confirmation of the NF result through another way. That's when I found that other components were unintendedly making noise.

Thanks & regards,

Michele


Viewing all articles
Browse latest Browse all 956

Trending Articles