The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
May 5th, 2024, 2:33pm
Pages: 1 2 
Send Topic Print
phase noise - jitter relationship (Read 2984 times)
trond
Senior Member
****
Offline



Posts: 168
Glasgow, Scotland
phase noise - jitter relationship
Sep 13th, 2005, 4:40am
 
Hello All,

I would like to become more familiar with phase noise / jitter in VCOs and thus use the models given for a VCO with jitter from the VerilogAMS section. However, I still have some questions about the validity of these models. Any feedback is greatly appreciated.
From reading Ken’s paper on noise in PLLs I know that the derived equations to related phase noise to jitter are only valid in the absence of 1/f noise. So naturally my first question is:
1.) What happens when 1/f noise is present as it is in real circuits? Are the models still valid then?
2.) When simulating a circuit implementation of a VCO with SpectreRF (pnoise) and finding the noise at a given offset frequency to obtain the value for c, does the phase noise not already include 1/f noise since it is inherent to mosfets?
3.) When wanting to include flicker and thermal noise as well, is it valid to add “flicker_noise(n,2,”wpn”) + flicker_noise(n*fc,3,”fpn”)” to the VerilogA code
“phase = 2*`M_PI*idtmod(freq, 0.0, 1.0, -0.5);”? I am asking since when I do so in VerilogA, it does not change the phase for any values of n and fc. In fact the term “flicker_noise(n,2,”wpn”) + flicker_noise(n*fc,3,”fpn”)” is always zero.

Thanks
Svensl
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: phase noise - jitter relationship
Reply #1 - Sep 13th, 2005, 8:50am
 
1. Flicker noise is problematic in that most jitter metrics are undefined in the presence of flicker noise.
2. You should choose to compute c at a frequency where flicker noise is negligible.
3. The flicker_noise function produces a non-zero onlyl during the small-signal noise analyses. During large signal analyses it always produces zero. So that any way that you have of observing its output will always give zero unless you observe it indirectly by looking at the output of a noise analysis. You can view the contributed noise summary produced by the noise analysis to confirm that it is operating properly.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
tumeda
Community Member
***
Offline



Posts: 37

Re: phase noise - jitter relationship
Reply #2 - Sep 14th, 2005, 4:38am
 
Dear Ken,
I have a question about the offest frequency selection!
In page 31 of the paper, your suggestion is the offset frequency "detaf"  should be selected as fc<detaf<f0, then the jitter of VCO(form 78,79) should be well calculated.
For different selections of detaf in this region, the value of Jvco should be same, because they present a jitter value for a same VCO circuit. But these values look like some different.  ???

Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: phase noise - jitter relationship
Reply #3 - Sep 14th, 2005, 9:14am
 
What is causing the difference?

-Ken
Back to top
 
 
View Profile WWW   IP Logged
trond
Senior Member
****
Offline



Posts: 168
Glasgow, Scotland
Re: phase noise - jitter relationship
Reply #4 - Sep 14th, 2005, 9:54pm
 
[quote author=Ken Kundert  link=1126611641/0#1 date=1126626602]1. Flicker noise is problematic in that most jitter metrics are undefined in the presence of flicker noise.
2. You should choose to compute c at a frequency where flicker noise is negligible.
3. The flicker_noise function produces a non-zero onlyl during the small-signal noise analyses. During large signal analyses it always produces zero. So that any way that you have of observing its output will always give zero unless you observe it indirectly by looking at the output of a noise analysis. You can view the contributed noise summary produced by the noise analysis to confirm that it is operating properly.

-Ken [/quote]


How then would I include flicker noise in a transient simulation to see its effect in the time domain?

Cheers,
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: phase noise - jitter relationship
Reply #5 - Sep 14th, 2005, 10:14pm
 
You could use Verilog-A to create a large-signal white noise source and then pass the output through a fracpole with a slope of 1/2.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
trond
Senior Member
****
Offline



Posts: 168
Glasgow, Scotland
Re: phase noise - jitter relationship
Reply #6 - Sep 15th, 2005, 4:29am
 
Excellent idea, thanks Ken.
Back to top
 
 
View Profile   IP Logged
trond
Senior Member
****
Offline



Posts: 168
Glasgow, Scotland
Re: phase noise - jitter relationship
Reply #7 - Sep 17th, 2005, 7:14am
 
I just tried doing a pnoise analysis of the VCO including flicker and white noise as described below.
When plotting the phase_noise button I do not obtain the expected curve with 1/f^2 and 1/f^3 regions. Instead it is just a flat response at some dB value.
What might be the problem?

   freq = f0+Kvco*V(in);
   phase = 2*`M_PI*idtmod(freq, 0.0, 1.0, -0.5);
   phase = phase +  flicker_noise(n,2,"wpn") +                        
   flicker_noise(n*fc,3,"fpn");

I choose a c value of 82e-21, f0=1.1Ghz, and thus n=0.2 according eq. 29 in your paper "predicting noise in plls".

Here is how I configure the analysis.
pss  (out  0)  pss  fund=6e6  harms=3  errpreset=moderate tstab=120n  annotate=status
pnoise  (out  0)  pnoise  sweeptype=relative  relharmnum=1 start=1  stop=10M  log=100  maxsideband=15  annotate=status

Thanks,
svensl
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: phase noise - jitter relationship
Reply #8 - Sep 17th, 2005, 8:56am
 
You have given too little of the model for me to be able to help you. However, if you have my Verilog-AMS book, you might want to take a look at section 3.3 in appendix A (page 247-248). It talks briefly about modeling phase in Verilog-A.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
trond
Senior Member
****
Offline



Posts: 168
Glasgow, Scotland
Re: phase noise - jitter relationship
Reply #9 - Sep 18th, 2005, 12:29am
 
Ken,
I had a look at the section in your book and modified my code as given below. However, I still obtain only a flat phase noise response. The model is as follows:

`include "disciplines.vams"
`include "constants.vams"
module sdvcoct (out, in);
input in; voltage in;                  
output out; voltage out;            
parameter real f0=1e6;
parameter real Kvco=50e5;
real freq, phase;
parameter real period=2.56e6;
parameter real n =0.2 from [0:inf);      
parameter real fc = 1e6  from [0:inf);  
analog begin
   freq = f0+Kvco*V(in);
   phase = 2*`M_PI*idtmod(freq, 0.0, 1.0, -0.5);
   V(out) <+ sin(phase) + flicker_noise(n,2,"wpn") +    
   flicker_noise(n*fc,3,"fpn");
end
endmodule

The VCO gain is set to 50e5 and the freq. to 1e6. The control voltage is set by a dc source (1V).
I choose a PSS analysis first with beat freq. 6e6, no. of harmonics 3, accuracy moderate, tstab 120n, check the oscillator button, choose vout and gnd! for the output node.
The pnoise analysis has sweeptype relative (harmonic 1), freq. range 1 to 10M, scale logarithmic with 100 steps, max. sidebands 15, and the pos. output node being out and the negative being gnd!.
When plotting I choose the main form, choose pnoise, and then the phase noise button.
Any ideas what might be wrong?
Cheers
Back to top
 
 
View Profile   IP Logged
Ken Kundert
Global Moderator
*****
Offline



Posts: 2384
Silicon Valley
Re: phase noise - jitter relationship
Reply #10 - Sep 18th, 2005, 5:42pm
 
The model you are using should produce noise with a -3 and then a -2 slope on a log-log graph, but it is simply additive noise, not phase noise. Why it is not doing that must have something to do with the warning message that indicates that the results will be inaccurate. I don't know why you are getting that message.

-Ken
Back to top
 
 
View Profile WWW   IP Logged
trond
Senior Member
****
Offline



Posts: 168
Glasgow, Scotland
Re: phase noise - jitter relationship
Reply #11 - Sep 18th, 2005, 11:19pm
 
Ken,

There is a warning saying that:
The Floquet eigenspace computed by Virtuoso(R) Spectre(R) PSS analysis appears  to be inaccurate. PNOISE computations may be inaccurate. Consider re-running the simulation with smaller reltol and `method=gear2only'.
I tried changing the settings for reltol and method but without any change. I saved the netlist to strip it down to:
simulator lang=spectre
global 0
ahdl_include "/home/sven/cadence/AHDL_CODE/VCO/veriloga/veriloga.va"
parameters crtl=1
V0 (net2 0) vsource dc=crtl pacmag=1 type=dc
I0 (out net2) sdvcoct
pss  (out  0)  pss  fund=1e6  harms=3  errpreset=conservative tstab=120n  reltol=1e-8 maxstep=1e-8 method=gear2only
pnoise  (out 0)  pnoise  sweeptype=absolute  start=1 stop=10M  log=500  maxsideband=15
saveOptions options save=allpub

But still no change in the output. I then switched from Spectre Version 5.1.0 05/24/2004 to Version 5.0.0 09/23/2003 and it works!
I still get the same warning, but the result is as expected. I did not change anything in the netlist or the veriloga model. Just a change in the Version. Why do I keep getting wrong results with the newer version of spectre? Please see also
http://www.designers-guide.org/Forum/?board=circuit;action=display;num=112391795...
I still have not solved that problem as well.

Any thoughts?
Thanks so much for any feedback.
Back to top
 
 
View Profile   IP Logged
trond
Senior Member
****
Offline



Posts: 168
Glasgow, Scotland
Re: phase noise - jitter relationship
Reply #12 - Sep 18th, 2005, 11:44pm
 
I asked a friend who has access to version 5.1.0 06/14/2005 to test the netlist there and it works fine there. So what's the difference to 5.1.0 05/24/2004?
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

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

Posts: 1742
Bracknell, UK
Re: phase noise - jitter relationship
Reply #13 - Sep 19th, 2005, 8:56pm
 
From doing a quick search, it may have been due to this PCR (I'm not certain):

   PCR: 713247
 Title: white_noise does not work with integer argument

The second argument to your flicker_noise function is an integer (try making it a real by adding ".0" onto the end?) and that might be confusing the compiler. Anyway, it was fixed in an ISR soon after the CD version was released. The same bug was in IC5033 too. Sometimes bugs creep in, of course...

Try using IC5141 USR2 - or using the latest MMSIM60 simulator release (put MMSIM60 at the beginning of your path, in conjunction with IC5141 USR2, to get the latest version of spectre). If you use MMSIM60 you have access to a transient noise analysis too (with the usual warnings about the fact that these analyses are best for qualitative analysis of noise behaviour rather than quantatitive analysis, well, unless you run with the noise bandwidth set high enough and run the simulation for a very long time).

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
trond
Senior Member
****
Offline



Posts: 168
Glasgow, Scotland
Re: phase noise - jitter relationship
Reply #14 - Sep 19th, 2005, 11:11pm
 
Andrew,

Avoiding integer numbers as given below the model works fine now. Thanks for the tip.
V(out) <+ sin(phase) + flicker_noise(n,2.0,"wpn") +    
   flicker_noise(n*fc,3.0,"fpn");

sven
Back to top
 
 
View Profile   IP Logged
Pages: 1 2 
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.