simulate LC vco in HSPICe with .18 TSMC model with Hspice
时间:04-06
整理:3721RD
点击:
Hello every body.... i try to simulate LC vco in HSPICe, i have read all the post and found that my tail current must be 2mA or like this.
but in my simulation i try to use 20mA tail current, and my phase noise is better than -120dBc for 100Mhz offset..
would you please look at my design and tell your idea about my design...thank you so much my friend.
VCO_OK
**** 2.2ghz - 2.6 kvco=230
******************************
.PROTECT
*.lib 'C:\Hspice2003.03\Models\RF018.l' TT_RFMOS
.lib 'D:\Model\RF018.l' TT_RFMOS
.UNPROTECT
.OPTIONS post
************************************************** *********
.ic outp=1v outn=0v
Vdd Vdd 0 1.8v
vctrl vt 0 1v
.global Vdd vt 0
************************************************** ************************************************** ***
********************Main Program******************************************* **********************
X_vco vt outn outp voutn2 voutp2 vco24
************************************************** ************************************************** ***
************************************************ Voltage Control Oscillator Sub Circuits******
**********VCO *
.subckt vco24 vt outn outp voutn2 voutp2 *
mp1 outp outn vdd vdd pch_rf l=.18u w=30u m=45 *
mp2 outn outp vdd vdd pch_rf l=.18u w=30u m=45 *
m1 outp outn vbias 0 nch_rf l=.18u w=100u * m=50 *
m2 outn outp vbias 0 nch_rf l=.18u w=100u * m=50 *
*X_varactor outn outp varactor *
X_self1 outn outp self2*
x_bias vbias currentmirror_vco *
X_loadn voutn2 0 load_vco*
*X_loadp outp 0 load_vco*
x_not11 outn voutn1 not_vco*
x_not12 voutn1 voutn2 not_vco *
x_not21 outp voutp1 not_vco*
x_not22 voutp1 voutp2 not_vco *
xc1 outn vt MOSCap_g6 * l=.5u w=8.2u *
xc2 outp vt MOSCap_g6 *
.ends vco24 *
******************************LOAD_VCO *
.subckt load_vco in 0*
ml1 0 in 0 0 nch_rf l=.18u w=0.22u m=100 *
.ends load_vco *
*****************************VARACTOR_VCO *
.subckt varactor out1 out2*
xc1 out1 vt MOSCap_g6 * l=.5u w=8.2u *
xc2 out2 vt MOSCap_g6 *
.ends varactor *
****************************SELF_VCO *
.subckt self2 L1 L2 *
xl1 l1 l2 spiral_rad turn= 4.5 rad=40u *
xl2 l1 l2 spiral_rad turn= 4.5 rad=40u *
xl3 l1 l2 spiral_rad turn= 4.5 rad=40u *
xl4 l1 l2 spiral_rad turn= 4.5 rad=40u *
xl5 l1 l2 spiral_rad turn= 4.5 rad=40u *
.ends self2 *
****************************NOT_VCO *
.subckt not_vco in out*
c1 in gate 10p *
r1 gate out 10k *
Mp1 out gate vdd vdd pch_rf l=0.18u w=5u *
Mn1 out gate 0 0 nch_rf l=0.18u w=2u *
*Ml3 0 out 0 0 nch_rf l=0.18u w=.22u M=50 *
.ends not_vco *
*************************Currentmirror_VCO *
.subckt currentmirror_vco out*
m1 out 2 0 0 nch_rf l=.18u w=100u m=45 *
m2 1 1 0 0 nch_rf l=.18u w=20u *
r1 1 2 150kohm *
cf 2 0 100pf *
i1 vdd 1 100uA *
v1 out 0 .3v *
.ends currentmirror_vco*
************************************************** ************************************************** **
************************************************** ************************************************** ***
************************************************** ************************************************** ***
************************************************** ********* ANALYSIS *****************************
************************************************** ************************************************** ***
.TRAN 100ns 300ns START=100ns UIC sweep vctrl 0 1.8 .3
.HBOSC TONE=2.485000g NHARMS=9 PROBENODE=outn ,0 ,1
.phasenoise V(outn) DEC 10 1x 500x METHOD=0
.fft v(voutn2) window=Bartlett fmin=3.673489g fmax=4g format = unorm *freq=3.67g
.print phasenoise phnoise_flicker
.PRINT PHASENOISE PHNOISE JITTER
.PROBE PHASENOISE phnoise phnoise(outn)
.OP 27ps
.probe
.end
but in my simulation i try to use 20mA tail current, and my phase noise is better than -120dBc for 100Mhz offset..
would you please look at my design and tell your idea about my design...thank you so much my friend.
VCO_OK
**** 2.2ghz - 2.6 kvco=230
******************************
.PROTECT
*.lib 'C:\Hspice2003.03\Models\RF018.l' TT_RFMOS
.lib 'D:\Model\RF018.l' TT_RFMOS
.UNPROTECT
.OPTIONS post
************************************************** *********
.ic outp=1v outn=0v
Vdd Vdd 0 1.8v
vctrl vt 0 1v
.global Vdd vt 0
************************************************** ************************************************** ***
********************Main Program******************************************* **********************
X_vco vt outn outp voutn2 voutp2 vco24
************************************************** ************************************************** ***
************************************************ Voltage Control Oscillator Sub Circuits******
**********VCO *
.subckt vco24 vt outn outp voutn2 voutp2 *
mp1 outp outn vdd vdd pch_rf l=.18u w=30u m=45 *
mp2 outn outp vdd vdd pch_rf l=.18u w=30u m=45 *
m1 outp outn vbias 0 nch_rf l=.18u w=100u * m=50 *
m2 outn outp vbias 0 nch_rf l=.18u w=100u * m=50 *
*X_varactor outn outp varactor *
X_self1 outn outp self2*
x_bias vbias currentmirror_vco *
X_loadn voutn2 0 load_vco*
*X_loadp outp 0 load_vco*
x_not11 outn voutn1 not_vco*
x_not12 voutn1 voutn2 not_vco *
x_not21 outp voutp1 not_vco*
x_not22 voutp1 voutp2 not_vco *
xc1 outn vt MOSCap_g6 * l=.5u w=8.2u *
xc2 outp vt MOSCap_g6 *
.ends vco24 *
******************************LOAD_VCO *
.subckt load_vco in 0*
ml1 0 in 0 0 nch_rf l=.18u w=0.22u m=100 *
.ends load_vco *
*****************************VARACTOR_VCO *
.subckt varactor out1 out2*
xc1 out1 vt MOSCap_g6 * l=.5u w=8.2u *
xc2 out2 vt MOSCap_g6 *
.ends varactor *
****************************SELF_VCO *
.subckt self2 L1 L2 *
xl1 l1 l2 spiral_rad turn= 4.5 rad=40u *
xl2 l1 l2 spiral_rad turn= 4.5 rad=40u *
xl3 l1 l2 spiral_rad turn= 4.5 rad=40u *
xl4 l1 l2 spiral_rad turn= 4.5 rad=40u *
xl5 l1 l2 spiral_rad turn= 4.5 rad=40u *
.ends self2 *
****************************NOT_VCO *
.subckt not_vco in out*
c1 in gate 10p *
r1 gate out 10k *
Mp1 out gate vdd vdd pch_rf l=0.18u w=5u *
Mn1 out gate 0 0 nch_rf l=0.18u w=2u *
*Ml3 0 out 0 0 nch_rf l=0.18u w=.22u M=50 *
.ends not_vco *
*************************Currentmirror_VCO *
.subckt currentmirror_vco out*
m1 out 2 0 0 nch_rf l=.18u w=100u m=45 *
m2 1 1 0 0 nch_rf l=.18u w=20u *
r1 1 2 150kohm *
cf 2 0 100pf *
i1 vdd 1 100uA *
v1 out 0 .3v *
.ends currentmirror_vco*
************************************************** ************************************************** **
************************************************** ************************************************** ***
************************************************** ************************************************** ***
************************************************** ********* ANALYSIS *****************************
************************************************** ************************************************** ***
.TRAN 100ns 300ns START=100ns UIC sweep vctrl 0 1.8 .3
.HBOSC TONE=2.485000g NHARMS=9 PROBENODE=outn ,0 ,1
.phasenoise V(outn) DEC 10 1x 500x METHOD=0
.fft v(voutn2) window=Bartlett fmin=3.673489g fmax=4g format = unorm *freq=3.67g
.print phasenoise phnoise_flicker
.PRINT PHASENOISE PHNOISE JITTER
.PROBE PHASENOISE phnoise phnoise(outn)
.OP 27ps
.probe
.end