pancho_hideboo
Advanced Member level 5
- Joined
- Oct 21, 2006
- Messages
- 2,847
- Helped
- 767
- Reputation
- 1,536
- Reaction score
- 733
- Trophy points
- 1,393
- Location
- Real Homeless
- Activity points
- 17,490
.option PARHIER = LOCAL
.option POST
.temp 25
.GLOBAL gnd! vdd!
.param fund_period=2n
.param delta_phase_deg=0.0
.param tdelay='(delta_phase_deg/360)*fund_period'
v5 vdd! gnd! dc=1.8
v17 start gnd! dc=0 pulse ( 0 1.8 500p 1p 0 0.5 1)
v16 out_clk gnd! dc=0 pulse(0 1.8 '1.1*fund_period+tdelay'
+ 5p 5p 'fund_period/2' fund_period)
v2 ref_clk gnd! dc=0 pulse(0 1.8 '1.1*fund_period'
+ 5p 5p 'fund_period/2' fund_period)
xi12 vdd! down up out_clk ref_clk start pfdv2_sch
xi17 down up vctrl+ vctrl- cpv2_sch
vdummy_n vctrl- vctrl_n dc=0
c18 vctrl_n gnd! c=.8p
h_n out_n gnd! ccvs vdummy_n 1
vdummy_p vctrl+ vctrl_p dc=0
c7 vctrl_p gnd! c=.8p
h_p out_p gnd! ccvs vdummy_p 1
*.tran .1n 75n start=0
.sn tres='fund_period/10' period=fund_period
+ trinit='5*fund_period' maxtrinitcycles=5
+ sweep delta_phase_deg lin 101 -360 360
.op All 0
.option opfile=1 split_dp=1
.probe v(out_p) v(out_n)
.probe sn v(out_p) v(out_n)
.probe snfd v(out_p) v(out_n)
.probe snfd vdb(out_p) vdb(out_n)
.probe snfd v(out_p)[0] v(out_n)[0]
.probe snfd vr(out_p)[0] vr(out_n)[0]
.end
I'm sorry. I tried searching the file, and either I am not allowed to access it or it actually doesn't exist in my directories.Run $<installdir>/hspicerf/examples/pfdcpGain.sp
I can confirm 11 spectrum tones from 0.0 to 5.0GHz, step=0.5GHz.Plot vdb(out_p) and vdb(out_n) of "input.snf0".
.param fund_period=2n
.sn tres='fund_period/10' period=fund_period
+ trinit='5*fund_period' maxtrinitcycles=5
+ sweep delta_phase_deg lin 101 -360 360
Order of Magnitude is not extraordinary.Plot v(out_p):0 and v(out_n):0 of "input.snf0"
Plot vr(out_p):0 and vr(out_n):0 of "input.snf0"
Order of Magnitude is extraordinary.Plot i1(c7):0 and i1(c18):0
However they can't be same.Plot v(out_p):0 and v(out_n):0 of "input.snf0"
Enter "which hspice" in unix command prompt.I'm sorry. I tried searching the file, and either I am not allowed to access it or it actually doesn't exist in my directories.
.option PARHIER = LOCAL
.option POST
.temp 25
.GLOBAL gnd! vdd!
.param fund_period=2n
.param delta_phase_deg=0.0
.param tdelay='(delta_phase_deg/360)*fund_period'
xi12 vdd! down up out_clk ref_clk start pfdv2_sch
v17 start gnd! dc=0 pulse ( 0 1.8 500p 1p 0 0.5 1)
v16 out_clk gnd! dc=0 pulse(0 1.8 '1.1*fund_period+tdelay'
+ 5p 5p 'fund_period/2' fund_period)
v2 ref_clk gnd! dc=0 pulse(0 1.8 '1.1*fund_period'
+ 5p 5p 'fund_period/2' fund_period)
v5 vdd! gnd! dc=1.8
c18 vctrl- gnd! c=.8p
c7 vctrl+ gnd! c=.8p
xi17 down up vctrl+ vctrl- cpv2_sch
.tran .1n 75n start=0
.sn tone='1/fund_period' nharms=10
+ trinit='5*fund_period' maxtrinitcycles=5
+ sweep delta_phase_deg lin 101 -360 360
.op All 0
.option opfile=1 split_dp=1
.probe i1(c7)
.probe i1(c18)
.probe snfd i(c7)[0]
.probe snfd i(c18)[0]
*.probe snfd i(c18) i(c7)
*.probe snfd i(c18)[0] i(c7)[0]
.probe snfd ir(c18)[0]
.probe snfd ir(c7)[0]
*.probe snfd ir(c18) ir(c7)
*.probe snfd ir(c18)[0] ir(c7)[0]
.probe sn i(c18) i(c7)
.measure sn Ip AVG i(c18)
.measure sn In AVG i(c7)
.measure sn Ipump param='In+Ip'
.end
I've been using the .tran analysis in checking my PFD+CP since before. And from the papers I've got, only the output from the .tran was shown that is why I wanted to try showing the plots (such as in the beginning of this thread) to check my PFD.Does your PFD work correctly ?
.option PARHIER = LOCAL
.option POST
.temp 25
.GLOBAL gnd! vdd!
.param fund_period=2n
.param delta_phase_deg=0.0
.param tdelay='(delta_phase_deg/360)*fund_period'
v5 vdd! gnd! dc=1.8
v17 start gnd! dc=0 pulse ( 0 1.8 500p 1p 0 0.5 1)
v16 out_clk gnd! dc=0 pulse(0 1.8 '1.1*fund_period+tdelay'
+ 5p 5p 'fund_period/2' fund_period)
v2 ref_clk gnd! dc=0 pulse(0 1.8 '1.1*fund_period'
+ 5p 5p 'fund_period/2' fund_period)
xi12 vdd! down up out_clk ref_clk start pfdv2_sch
xi17 down up vctrl+ vctrl- cpv2_sch
vdummy_n vctrl- vctrl_n dc=0
c18 vctrl_n gnd! c=.8p
h_n out_n gnd! ccvs vdummy_n 1
vdummy_p vctrl+ vctrl_p dc=0
c7 vctrl_p gnd! c=.8p
h_p out_p gnd! ccvs vdummy_p 1
*.tran .1n 75n start=0
.sn tres='fund_period/10' period=fund_period
+ trinit='5*fund_period' maxtrinitcycles=5
+ sweep delta_phase_deg lin 101 -360 360
.op All 0
.option opfile=1 split_dp=1
.probe v(out_p) v(out_n)
.probe sn v(out_p) v(out_n)
.probe snfd v(out_p) v(out_n)
.probe snfd vdb(out_p) vdb(out_n)
.probe snfd v(out_p)[0] v(out_n)[0]
.probe snfd vr(out_p)[0] vr(out_n)[0]
.end
I already run it but can't find i1(closed):0Run $<installdir>/hspicerf/examples/pfdcpGain.sp
Then plot i1(closed):0
Order of Magnitude is extraordinary.
They should be same as
Plot v(out_p):0 and v(out_n):0 of "input.snf0"
However they can't be same.
Can you get $<installdir>/hspicerf/examples/pfdcpGain.sp ?I already run it but can't find i1(closed):0
* SN setup
.SN tres=0.1n period=40n trinit=60ns SWEEP phase LIN 5 -10.0 10.0
.probe sn v(data) v(clock) v(up) v(down) i(vload)
.print snfd i(vload)[0]
.probe snfd i(vload)[0]
I found the pfdcpGain.sp at the different directory.Can you get $<installdir>/hspicerf/examples/pfdcpGain.sp ?
Yes, the lines exist at the .sp that I run.Is there following in "pfdcpGain.sp" ?
* SN setup
.SN tres=0.1n period=40n trinit=60ns SWEEP phase LIN 5 -10.0 10.0
.probe sn v(data) v(clock) v(up) v(down) i(vload)
.print snfd i(vload)[0]
.probe snfd i(vload)[0]
I attached i1(vload):0 plots of the .snf0 and .sn0.Plot i1(vload):0
This shows reasonable pfd-cp characteristics.Real part of i1(vload):0.
This netlist was the version before I inserted #41. I also shrink range of delta_phase_deg as what you had stated.In your pfd-cp, shrink range of delta_phase_deg, e.g. from -20 to 20
.option PARHIER = LOCAL
.option POST
.temp 25
.GLOBAL gnd! vdd!
.param fund_period=2n
.param delta_phase_deg=0.0
.param tdelay='(delta_phase_deg/360)*fund_period'
xi12 vdd! down up out_clk ref_clk start pfdv2_sch
v17 start gnd! dc=0 pulse ( 0 1.8 500p 1p 0 0.5 1)
v16 out_clk gnd! dc=0 pulse(0 1.8 '1.1*fund_period+tdelay'
+ 5p 5p 'fund_period/2' fund_period)
v2 ref_clk gnd! dc=0 pulse(0 1.8 '1.1*fund_period'
+ 5p 5p 'fund_period/2' fund_period)
v5 vdd! gnd! dc=1.8
c18 vctrl- gnd! c=.8p
c7 vctrl+ gnd! c=.8p
xi17 down up vctrl+ vctrl- cpv2_sch
.tran .1n 75n start=0
.sn tone='1/fund_period' nharms=10
+ trinit='5*fund_period' maxtrinitcycles=5
+ sweep delta_phase_deg lin 101 -20 20
.op All 0
.option opfile=1 split_dp=1
.probe i1(c7)
.probe i1(c18)
.probe snfd i(c7)[0]
.probe snfd i(c18)[0]
*.probe snfd i(c18) i(c7)
*.probe snfd i(c18)[0] i(c7)[0]
.probe snfd ir(c18)[0]
.probe snfd ir(c7)[0]
*.probe snfd ir(c18) ir(c7)
*.probe snfd ir(c18)[0] ir(c7)[0]
.probe sn i(c18) i(c7)
.measure sn Ip AVG i(c18)
.measure sn In AVG i(c7)
.measure sn Ipump param='In+Ip'
.end
I suspect your circuit itself.My graph is still far compared to #52
I will recheck my circuit and apply what I learned in this thread. If my circuit is the problem at least now I have the idea on plotting the curve. Thank you for all the help. :smile: Salamat!I suspect your circuit itself.
Compare time domain waveform in #50 with yours.
I wait for good report from you.I will recheck my circuit and apply what I learned in this thread.
If my circuit is the problem at least now I have the idea on plotting the curve.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?