Jitter PDF
Jitter PDF
Jitter PDF
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Frequency synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Jitter definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Cyclostationary processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
PM jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
FM jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Phase noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Sources of jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Model of PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Modeling PM jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Modeling FM jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Efficiency of models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Characterizing jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Characterizing PM jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Characterizing FM jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
TABLE OF FIGURES
Figure 1 Block diagram of a frequency synthesizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Figure 3 Long-term jitter (Ji ) for a PLL as a function of the number of cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figure 6 A limiter is applied to driven-block output to suppress noise outside of active transitions . . . . . . . . . 13
Figure 7 Closed-loop (CL) versus open-loop (OL) noise at VCO output when only the reference
oscillator exhibits jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Figure 8 Closed-loop (CL) versus open-loop (OL) noise at VCO output when only the VCO exhibits jitter . . . . . 16
Figure 9 Closed-loop (CL) versus open-loop (OL) noise at VCO output when only the PFD/CP,
FDM , and FDN exhibit jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
LIST OF TABLES
Table 1: Characteristics of PM and FM jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
TABLE OF LISTINGS
Listing I: Frequency divider that models PM jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Abstract A methodology is presented for predicting more on the practical aspects. It presents all the informa-
the jitter performance of a Phase-Locked Loop (PLL) tion a designer would need to predict the noise and jitter of
using simulation that is both accurate and efficient. a PLL synthesizer. The jitter extraction methodology is
The methodology begins by characterizing the noise based on the commercially available SpectreRF simulator
behavior of the blocks that make up the PLL using [17,18] and presents behavioral models for Verilog-A, a
transistor-level simulation. For each block, the jitter is standard, non-proprietary analog behavioral modeling lan-
extracted and provided as a parameter to behavioral guage [6, 14]. Both SpectreRF and Verilog-A are options
models for inclusion in a high-level simulation of the to the Spectre circuit simulator [12], available from
entire PLL. This approach is efficient enough to be Cadence Design Systems.1
applied to PLLs acting as frequency synthesizers with
large divide ratios. II. FREQUENCY SYNTHESIS
The block diagram of a PLL operating as a frequency syn-
I. INTRODUCTION thesizer is shown in Figure 1 [8]. 2 It consists of a reference
Phase-locked loops (PLLs) are used in wireless receivers
to implement a variety of functions, such as frequency FD
f in
OSC
synthesis, clock recovery, and demodulation. One of the f ref 1/M PFD CP LF
major concerns in the design of PLLs is noise or jitter per- f fb
formance. Jitter from the PLL directly acts to degrade the FD VCO
noise floor and selectivity of a transceiver. 1/N
f out
Demir proposed an approach for simulating PLLs whereby
a PLL is described using behavioral models simulated at a
high level [1,2]. The models are written such that they Fig. 1. The block diagram of a frequency synthesizer.
include jitter in an efficient way. He also devised a power-
ful new simulation algorithm that is capable of character- oscillator (OSC), a phase/frequency detector (PFD), a
izing the circuit-level noise behavior of blocks that make charge pump (CP), a loop filter (LF), a voltage-controlled
up a PLL that is based on solving a set of nonlinear sto- oscillator (VCO), and two frequency dividers (FDs). The
chastic differential equations [3, 4]. Finally, he gave for- PLL is a feedback loop that, when in lock, forces ffb to be
mulas that can be used to convert the results of the noise equal to fin. Given a reference frequency fref, the frequency
simulations on the individual blocks into values for the jit- at the output of the PLL is
ter parameters for the corresponding behavioral models N
[5]. This approach provides accurate and efficient predic- f out = ----- f ref . (1)
M
tion of PLL jitter behavior once the noise behavior of the
blocks has been characterized. However, it requires the use
of an experimental simulator that is not readily available. 1. SpectreRF is currently the only commercial simulator that is suit-
able for characterizing the jitter of the blocks that make up a PLL. SPICE
This paper presents the relevant ideas of Demir, but while and its descendants are not suitable because they only perform noise
he focussed on presenting the conceptual aspects of mod- analysis about a DC operating point and so do not take into account the
time-varying nature of these circuits. Harmonic balance simulators do
eling and simulating jitter in PLLs, this paper concentrates perform noise analysis about a periodic operating point, which is a criti-
cal prerequisite, but they have convergence, accuracy, and performance
Unpublished Cadence Confidential manuscript. Last updated on Decem- problems with blocks such as the PFD/CP, FD and VCO that are strongly
ber 2, 1998. nonlinear.
This work was supported by the Defense Advanced Research Projects 2. Frequency synthesis is used as an example, but the concepts pre-
Agency under the MAFET program. sented are easily applied to other applications, such as clock recovery and
K. Kundert of Cadence Design Systems, San Jose, California can be FM demodulation. In addition, they are also applicable to other types of
reached via e-mail at [email protected]. PLL-based synthesis, such as fractional-N synthesis.
1
2 KUNDERT
By choosing the frequency divide ratios and the reference As , T fwd 0 because of the VCO and the low-
frequency appropriately, the synthesizer generates an out- pass filter, and so Tin, T det, T div 0 and T vco 1 . At
put signal at the desired frequency that inherits much of high frequencies, the noise of the PLL is that of the VCO.
the stability of the reference oscillator. In RF transceivers, Clearly this must be so because the low-pass LF blocks
this architecture is used to generate the local oscillator any feedback at high frequencies.
(LO) at a programmable frequency, which tunes the trans- As 0 , T fwd because of the 1 j term from
ceiver to the desired channel. the VCO. So at DC, Tin, T div N and Tvco 0 . At low
frequencies, the noise of the PLL is contributed by the
A. Phase-Domain Noise Model
OSC, PFD/CP, FD M and FD N , and the noise from the
If the signals around the loop are interpreted as phase, then VCO is diminished by the gain of the loop.
the small-signal noise behavior of the loop can be explored
Consider further the asymptotic behavior of the loop and
by linearizing the components and evaluating the transfer
the VCO noise at low offset frequencies ( 0 ) . Oscil-
functions. Figure 2 shows this phase-domain model.
lator phase noise in the VCO results in the power spectral
density S being proportional to 1/2, or S 1 2
in PFD/CP LF VCO vco vco
K 2K out (neglecting flicker noise). If the LF is chosen such that
+
det
----------- H ( ) vco
-------------------- H ( ) 1 , then T fwd 1 , and noise contribution from
2 j
the VCO to the output, T vco 2 S
vco , is finite and nonzero. If
det vco the LF is chosen such that H ( ) 1 , as it typically is
FDN when a true charge pump is employed, then T fwd 1 2
1
----
N
and the noise contribution to the output from the VCO
goes to zero at low frequencies.
div
III. JITTER DEFINITIONS
Fig. 2. Linear time-invariant phase-domain model of the Jitter is an uncertainty or randomness in the timing of
synthesizer shown in Figure 1. The out-board frequency divider
events. In the case of a synthesizer, the events of interest
is removed for simplicity. The s represent various sources of
noise.
are the transitions in the output signal. One models jitter in
a signal by starting with a noise-free signal v(t) and dis-
placing time with a stochastic process j(t). The noisy sig-
Define
nal becomes
K det 2K vco K det K vco H ( )
T fwd = ---------- H ( ) ------------------ = ----------------------------------- (2) vn ( t ) = v ( t + j ( t ) ) . (7)
2 j j
For simplicity, j is assumed to be a zero-mean Gaussian
as the forward gain of the loop. Then the transfer function
process, but it may be non-stationary. In addition, v will be
from the various noise sources to the output are
assumed to be T-periodic.
out Tfwd NT fwd
T in = --------- = ---------------------------- = --------------------- (3) There are two types of blocks that are used in the construc-
in 1 + T fwd N N + T fwd
tion of a PLL, driven blocks and autonomous blocks. Each
out N type exhibits a different type of jitter. Driven blocks, such
T vco = ---------- = --------------------- . (4) as the PFD, CP, and FD exhibit phase modulation, or PM
vco N + T fwd
jitter. Autonomous blocks, such as the OSC and VCO,
And by inspection, exhibit frequency modulation, or FM jitter. Table I pre-
out views the basic characteristics of PM and FM jitter, which
T div = --------- = T in (5) are discussed more fully after cyclostationary noise is
div
introduced.
and
out 2Tin A. Cyclostationary Processes
T det = --------- = -------------- . (6) A process is T-cyclostationary if its mean and autocorrela-
det K det
tion function (and hence, its variance) is bounded and T-
On this last transfer function, we have simply referred det periodic. Cyclostationary processes result from circuits
to the input by dividing through by the gain of the phase that are driven by a large periodic signal. Such a signal
detector. acts to modulate the noise generated by bias dependent
noise sources, such as shot noise sources present in for-
ward-biased semiconductor junctions or the thermal noise
DRAFT
MODELING AND SIMULATION OF JITTER IN PLL FREQUENCY SYNTHESIZERS 3
CADENCE CONFIDENTIAL
4 KUNDERT
DRAFT
MODELING AND SIMULATION OF JITTER IN PLL FREQUENCY SYNTHESIZERS 5
var ( n v, t c )
var ( j PM(t c) ) = ------------------------
-. (32)
nv ( t ) = ( t ) jkV k e
2kf c t
. (27) v ( tc )2
k = The jitter is computed from (31) or (32) using (16),
Computing the power spectral density of nv gives J = 2var ( j PM(t c) ) . (33)
Sn ( f ) =
v kV k 2 S ( f kf c ) (28) B. Oscillator Phase Noise
FM jitter is strongly related to oscillator phase noise. Both
k =
are different ways of describing the same underlying phe-
nomenon. In other words, all free running oscillators
S n ( fc + fm ) 1 exhibit a behavior that is generically referred to as oscilla-
kV k 2
L ( f m ) = --------------------------- --------- S ( f m ( k 1 )f c )
v
- = --- tor phase noise. Any noise in an autonomous system will
2 V1 2 2 V1 cause the phase to drift freely because there is no reference
k =
signal with which to lock. When the phase fluctuations are
(29)
measured in terms of time deviation over a period, it is
Assume that S(f) drops rapidly with increasing frequency, referred to as FM jitter. If it is measured in terms of noise
then for f m f c signal amplitude as a function of frequency, it is referred
1 to as oscillator phase noise.
L ( f m ) --- S ( f m ) . (30)
2
Relating J and S: In order to determine the period jitter J
Recall that several assumptions were made in developing
of vn(t) for a noisy oscillator, assume that it exhibits simple
this approximation. In particular, that (t) is small and that
FM jitter so that in (9) is a white Gaussian noise process
S at low frequencies is much larger than at frequencies
(this excludes flicker noise) with a PSD of
near fc and higher. The first approximation is not valid for
S ( f ) = a , (34)
phase noise of a free running oscillator for small f m
because (t) is undergoing a random walk, and so is and an autocorrelation function of
unbounded. R (t 1, t 2) = a ( t 1 t 2 ) , (35)
V. SOURCES OF JITTER where is a Dirac delta function. Then
t
A. Thresholds
In systems where signals are continuous valued, an event
j FM(t) = 0 T ( ) d (36)
CADENCE CONFIDENTIAL
6 KUNDERT
We now have a way of relating the jitter of the oscillator to time when existing activity occurs. Thus, models with jit-
the PSD of . However, what is needed is to relate the jit- ter can run as efficiently as those without.
ter to either S or L. To do so, consider simple FM jitter
written in terms of phase, A. Modeling PM Jitter
t A feature of Verilog-A allows especially simple modeling
FM(t) = 2f c j FM(t) = 2f c T ( ) d 0 (40) of PM jitter. The transition() function, which is used to
model signal transitions between discrete levels, provides
and so from (34) and (40) the PSD of FM(t) is a delay argument that can be dithered on every transition.
The delay argument must not be negative, so a fixed delay
( 2f c ) 2 af c2
S (f ) = a -----------------
- - .
= ------- (41) that is greater than the maximum expected deviation of the
FM ( 2f ) 2 f2 jitter must be included. This approach is suitable for any
Thus, a is the noise power in FM where f = fc, or model that exhibits PM jitter and generates discrete-valued
outputs. It is used in the Verilog-A divider module shown
a = S (f c) . (42)
FM in Listing I, which models PM jitter with (8) where j PM is
Given S and fc, a is found with (41)3 and then J is found LISTING I
with (39). FREQUENCY DIVIDER THAT MODELS PM JITTER.
Relating S(f) and L(fm): The phase variation in a simple // Frequency Divider with Jitter
FM jitter process is not bounded, and so (29) cannot be include discipline.h
used to predict L(fm) of an oscillator. Demir shows that for include constants.h
a free-running oscillator exhibiting simple FM jitter module divider (out, in);
1 af c2 input in; output out; electrical in, out;
L ( f m ) = --- ----------------------------
-, (43)
2 a22f 4 + f 2
c m parameter real Vlo=1, Vhi=1;
parameter integer ratio=2 from [2:inf);
which is a Lorentzian with corner frequency of
parameter integer dir=1 from [1:1] exclude 0;
2
J // dir=1 for positive edge trigger
f corner = -----2- f c f c . (44) // dir=1 for negative edge trigger
T parameter real tt=1n from (0:inf);
At frequencies above the corner, parameter real td=0 from (0:inf);
parameter real jitter=0 from [0:td/5);
af c2 1
L ( f m ) = --------
- = --- S (f m) , (45) parameter real ttol=1p from (0:td/5);
2f m 2 2 FM // recommend ttol << jitter
integer count, n, seed;
which agrees with (30) and Vendelin [19]. Thus, in free-
real dt;
running oscillators at frequencies above the corner, L(fm)
and S(fm) are easily related.4 analog begin
@(initial_step) seed = 311;
VI. MODEL OF PLL // Phase / frequency detector state machine
The basic behavioral models for the blocks that make up a @(cross(V(in) (Vhi + Vlo)/2, dir, ttol)) begin
PLL are well known and so will not be discussed here in // count input transitions
any depth [1,2]. Instead, only the techniques for adding jit- count = count + 1;
if (count >= ratio)
ter to the models are discussed.
count = 0;
Jitter is modeled in an AHDL by dithering the time at n = (2count >= ratio);
which events occur. This is efficient because it does not // add jitter
create any additional activity, rather it simply changes the dt = 0.707jitter$dist_normal(seed,0,1);
end
DRAFT
MODELING AND SIMULATION OF JITTER IN PLL FREQUENCY SYNTHESIZERS 7
It is also used in Listing II, which models a simple PFD/ that could cause problems for the simulator. The jitter is
CP. embodied in dt, which varies randomly from transition to
LISTING II transition. The jitter J represents the variation in a period,
PFD/CP MODEL WITH PM JITTER. and dt the variation of a single transition, so from (16)
dt = ( j PM(t c) ) = 2J 0.707J , (46)
// Phase-Frequency Detector & Charge Pump
`include discipline.h which compensates for the fact that both ends of each
`include constants.h interval are varying. To avoid nonnegative delays, td must
always be larger than dt.
module pfd_cp (out, ref, vco);
input ref, vco; output out; electrical ref, vco, out; PFD/CP Model: The model for a phase/frequency detec-
parameter real Iout=100u; tor combined with a charge pump is given in Listing II. It
parameter integer dir=1 from [1:1] exclude 0; implements a finite-state machine with a three-level out-
// dir=1 for positive edge trigger put, 1, 0 and +1. On every transition of the VCO input in
// dir=1 for negative edge trigger direction dir, the output is incremented. On every transition
parameter real tt=1n from (0:inf); of the reference input in the direction dir, the output is dec-
parameter real td=0 from (0:inf); remented. If both the VCO and reference inputs are at the
parameter real jitter=0 from [0:td/5); same frequency, then the average value of the output is
parameter real ttol=1p from (0:td/5); proportional to the phase difference between the two, with
// recommend ttol << jitter the average being negative if the reference transition leads
integer state, seed; the VCO transition and positive otherwise [8]. As before,
real dt; the time of the output transitions are randomly dithered by
analog begin dt to model jitter. The output is modeled as an ideal current
@(initial_step) seed = 716; source and a finite transition time models the dead band in
the CP.
@(cross(V(ref), dir, ttol)) begin
if (state > 1) state = state 1;
B. Modeling FM jitter
dt = 0.707jitter$dist_normal(seed,0,1);
end
OSC Model: The delay argument of the transition() func-
@(cross(V(vco), dir, ttol)) begin tion cannot be used to model FM jitter because of the
if (state < 1) state = state + 1; cumulative nature of this type of jitter. When modeling a
dt = 0.707jitter$dist_normal(seed,0,1); fixed frequency oscillator, the timer() function is used as
end shown in Listing III. At every output transition, the next
I(out) <+ transition(Ioutstate, td + dt, tt); transition is scheduled using the timer() function to be
end T K + J K in the future, where is a unit-variance
endmodule zero-mean random process and K is the number of output
transitions per period. Typically, K = 2.
Frequency Divider Model: The model, given in Listing I,
operates by counting input transitions. This is done in the VCO Model: A VCO generates a sine or square wave
@cross block. The cross function triggers the @ block at whose frequency is proportional to the input signal level.
the precise moment when its first argument crosses zero in VCO models, given in Listings IV and V, are constructed
the direction specified by the second argument. Thus, the using three serial operations, as shown in Figure 4. First,
@ block is triggered when the input crosses the threshold the input signal is scaled to compute the desired output
in the user specified direction. The body of the @ block frequency. Then, the frequency is integrated to compute
increments the count, resets it to zero when it reaches ratio, the output phase. Finally, the phase is used to generate the
then determines if count is above or below its midpoint (n desired output signal. The phase is computed with idtmod,
is zero if the count is below the midpoint). It also gener- a function that provides integration followed by a modulus
ates a new random dither dT that is used later. Outside the operation. This serves to keep the phase bounded, which
@ block is code that executes continuously. It processes n prevents a loss of numerical precision that would other-
to create the output. The value of the ?: operator is Vhi if n wise occur when the phase became large after a long
is 1 and Vlo if n is 0. Finally, the transition function adds a period of time. Output transitions are generated when the
finite transition time of tt and a delay of td + dt. The finite phase passes /2 and /2.
transition time removes the discontinuities from the signal
CADENCE CONFIDENTIAL
8 KUNDERT
DRAFT
MODELING AND SIMULATION OF JITTER IN PLL FREQUENCY SYNTHESIZERS 9
LISTING IV LISTING V
VCO MODEL THAT INCLUDES FM JITTER. QUADRATURE DIFFERENTIAL VCO MODEL THAT INCLUDES FM
JITTER.
// Voltage Controlled Oscillator with Jitter
// Quadrature Differential VCO with Jitter
include discipline.h
include constants.h include discipline.h
include constants.h
module vco (out, in);
module quadVco (PIout,NIout, PQout,NQout, Pin,Nin);
input in; output out; electrical out, in;
electrical PIout, NIout, PQout, NQout, Pin, Nin;
parameter real Vmin=0;
output PIout, NIout, PQout, NQout;
parameter real Vmax=Vmin+1 from (Vmin:inf);
input Pin, Nin;
parameter real Fmin=1 from (0:inf);
parameter real Fmax=2Fmin from (Fmin:inf); parameter real Vmin=0;
parameter real Vlo=1, Vhi=1; parameter real Vmax=Vmin+1 from (Vmin:inf);
parameter real tt=0.01/Fmax from (0:inf); parameter real Fmin=1 from (0:inf);
parameter real jitter=0 from [0:0.25/Fmax); parameter real Fmax=2*Fmin from (Fmin:inf);
parameter real ttol=1u/Fmax from (0:1/Fmax); parameter real Vlo=1, Vhi=1;
parameter real jitter=0 from [0:0.25/Fmax);
real freq, phase, dT;
parameter real ttol=1u/Fmax from (0:1/Fmax);
integer n, seed;
parameter real tt=0.01/Fmax;
analog begin
real freq, phase, dT;
@(initial_step) seed = 561;
integer i, q, seed;
// compute the freq from the input voltage
analog begin
freq = (V(in) Vmin)(Fmax Fmin)
@(initial_step) seed = 133;
/ (Vmax Vmin) + Fmin;
// compute the freq from the input voltage
// bound the frequency (this is optional)
freq = (V(Pin,Nin) - Vmin) * (Fmax - Fmin)
if (freq > Fmax) freq = Fmax;
/ (Vmax - Vmin) + Fmin;
if (freq < Fmin) freq = Fmin;
// bound the frequency (this is optional)
// add the phase noise
if (freq > Fmax) freq = Fmax;
freq = freq/(1 + dTfreq);
if (freq < Fmin) freq = Fmin;
// phase is the integral of the freq modulo 2
// add the phase noise
phase = 2M_PIidtmod(freq, 0.0, 1.0, 0.5);
freq = freq/(1 + dTfreq);
// update jitter twice per period
// phase is the integral of the freq modulo 2
// 1.414=sqrt(K), K=2 jitter updates/period
phase = 2*M_PI*idtmod(freq, 0.0, 1.0, 0.5);
@(cross(phase + M_PI/2, +1, ttol) or
cross(phase M_PI/2, +1, ttol)) begin // update jitter where phase crosses /2
dT = 1.414jitter$dist_normal(seed,0, 1); // 2=sqrt(K), K=4 jitter updates per period
n = (phase >= M_PI/2) && (phase < M_PI/2); @(cross(phase 3*M_PI/4, +1, ttol) or
end cross(phase M_PI/4, +1, ttol) or
cross(phase + M_PI/4, +1, ttol) or
// generate the output
cross(phase + 3*M_PI/4, +1, ttol)) begin
V(out) <+ transition(n ? Vhi : Vlo, 0, tt);
dT = 2*jitter*$dist_normal(seed,0,1);
end
i = (phase >= 3*M_PI/4) && (phase < M_PI/4);
endmodule
q = (phase >= M_PI/4) && (phase < 3*M_PI/4);
of time in these simulators from adding an appreciable end
amount of jitter. // generate the I and Q outputs
V(PIout) <+ transition(i ? Vhi : Vlo, 0, tt);
Including PM Jitter into OSC: From the discussion of the V(NIout) <+ transition(i ? Vlo : Vhi, 0, tt);
phase-domain model of the synthesizer, it is clear that one V(PQout) <+ transition(q ? Vhi : Vlo, 0, tt);
can easily combine the output-referred noise of FD M and V(NQout) <+ transition(q ? Vlo : Vhi, 0, tt);
FDN and the input-referred noise of the PFD/CP with the end
output noise of OSC. A modified fixed-frequency oscilla- endmodule
tor model that supports two jitter parameters and the
the divide ratio on jitter in the next section). The fmJitter
divide ratio M is given in Listing VI (more on the effect of
parameter is used to model the FM jitter of the reference
CADENCE CONFIDENTIAL
10 KUNDERT
DRAFT
MODELING AND SIMULATION OF JITTER IN PLL FREQUENCY SYNTHESIZERS 11
CADENCE CONFIDENTIAL
12 KUNDERT
the possible exception of the LF. The SPICE noise analysis Reference
Difference
operates by linearizing the block about a DC operating
point, which is not sufficient when the block exhibits t t
switching behavior. SpectreRF and the simulator devel- v v
oped by Demir both linearize the circuit about a time-vary-
ing operating point and compute the noise at the output of Offset
the block while taking into account both the effect of the
time-varying operating point on the bias-dependent noise Reference
Difference
sources and the time-varying nature of the transfer func-
tion from the noise source to the output. They differ in that t t
SpectreRF is constrained to operate on periodic circuits. In
addition, SpectreRF outputs noise as a function of fre- Fig. 5. The figures on the left show a reference signal, and one
quency averaged over a period, while Demirs simulator offset due to jitter. In both the top and bottom figures, the offset is
computes the output noise as a function of time and inte- the same (they have the same amount of jitter). The top signals
grated over all frequencies. have a smaller transition time than those on the bottom. The
figures on the right show the difference between the reference
Both simulators linearize about the operating point and signal and the offset signal. For the same amount of jitter, the
compute the noise as a post processing step. Thus, the maximum difference is larger when the transition time is smaller.
noise does not affect the operating point calculation and so If the difference is large enough to cause a nonlinear response,
the simulation will not be accurate if the noise is large the noise simulations will not be accurate. This problem becomes
enough to affect the large-signal behavior of the circuit. significant when the jitter is about the same size of the transition
Generally, the amplitude of the noise sources is quite small time or larger. It limits the number of cascaded thresholding
and so this is not a concern. However, in thresholding cir- stages that can be characterized at one time.
cuits, the noise present when the signal crosses the thresh-
old gets amplified tremendously. When cascading several the range is negligible. Thus, the noise should be at least
thresholding stages, the noise can be amplified to such a 40 dB down and dropping at the highest frequency simu-
degree that it does change the large signal behavior, mak- lated. Finally, integrate the noise power over frequency
ing the simulation inaccurate. This occurs in a FD imple- and apply Wiener-Khinchin Theorem [16] to determine
mented as a ripple counter with a large number of stages.
In such cases it is necessary to break the circuit down and
var ( n v ) = Sn ( f )df ,
v
(57)
only characterize the jitter of one or two stages at a time.
the total noise power [9], and apply (31).
The maximum number of stages that can be characterized
together is greater if the jitter is small relative to the transi- In general, the noise is strongly cyclostationary and so the
tion time of the circuit, as shown in Figure 5. above procedure is insufficient. When the noise is cyclo-
stationary the same procedure is used, except a gating
A. Characterizing PM Jitter function is applied to the output so that only the noise that
SpectreRFs PNoise analysis computes the time-average occurs near the threshold crossing is considered in the jit-
power spectral density of the noise at the output of the ter calculation. SpectreRFs PNoise analysis computes the
block. If this noise is stationary (as opposed to cyclosta- time-average of the noise at the output and it is not possi-
tionary), it is a simple matter to apply (31) to calculate the ble in general to post-process the PNoise results to deter-
jitter. Simply choose a representative set of periodic inputs mine the noise at the time of the threshold crossing.
to the block and use SpectreRFs Periodic Steady State Rather, a limiter is added to the output of the block and
(PSS) analysis to compute the steady-state response. This SpectreRF computes the noise at the output of the limiter.
computes the periodic operating point about which the The limiter, given in Listing IX, is designed to saturate
noise analysis is performed. It also gives dv(tc)/dt, the slew when the output of the block is outside a certain range to
rate of the output at threshold crossing. Apply SpectreRFs prevent any noise at the output from being considered
PNoise analysis to compute the noise power at the output except the noise present near when the signal crosses the
as a function of frequency. Choose the frequency range of threshold. The limiter is shown in Figure 6. The range of
the analysis so that the total noise at frequencies outside the limiter, VL and VH, is chosen such that the noise and
DRAFT
MODELING AND SIMULATION OF JITTER IN PLL FREQUENCY SYNTHESIZERS 13
Output of Limiter output of the limiter. SpectreRF computes the power spec-
tral density of the noise at the output of the limiter, and by
t
the Parsevals Theorem,
T
T S n ( f )df
nl 1
n l2 = lim ------ n l2 ( t )dt =
T
Noise at Output of Limiter . (59)
t
T 2T l
t t
t1 t2 If we further assume that tt = tt1 = tt2, then
VH V L
Fig. 6. When the device-under-test (DUT) exhibits v ( t c ) ------------------- . (60)
cyclostationary noise, a limiter is applied to output of driven tt
block to suppress noise present outside of the active transitions.
v(t) is the output of the block, vl(t) is the output of the limiter, and And from (32) and (33)
nl(t) is the noise at the output of the limiter. Noise on a waveform 2var ( nl , t c ) 2 n l2 T tt
is denoted by using a thick trace. The output of the limiter is only - ------------------ ------------------- ,
J = -------------------------------
(61)
noisy when it is inside its active region (when it is not limiting). v ( tc ) Kt t V H V L
LISTING IX 2 n l2 Tt t K
LIMITER USED TO CHARACTERIZE PM JITTER IN BINARY SIGNALS. J ---------------------------------
-, (62)
VH VL
// Simple Limiter where K is the number of transitions that occurred during
include discipline.h the period. If K = 2,
include constants.h n l2 Tt t
module limiter (out, in); J ----------------------- . (63)
VH VL
output out; input in; electrical out, in;
In practice, the noise away from the transitions is usually
parameter real Vlo=1, Vhi=1; much smaller than the noise during the transitions. So one
analog begin can usually achieve reasonably accurate results by apply-
// Place time-point at threshold crossings ing (62) or (63) even without using the limiter.
@(cross(V(in) Vlo) or cross(V(in) Vhi));
This general methodology for characterizing the PM jitter
// Determine the output of driven blocks with binary outputs is extended or clari-
if (V(in) < Vlo) fied for important special cases in the next few sections.
V(out) <+ Vlo;
else if (V(in) > Vhi) PM jitter of the PFD/CP: The PFD and CP work together
V(out) <+ Vhi; to generate a three-level discrete-valued signal (it takes the
else values 1, 0, and +1) whose time average is used as the
V(out) <+ V(in);
loop error signal. The average of this signal controls the
end
endmodule
VCO after it has been extracted by the LF.
There are two aspects of the PFD/CP that differ from the
the slew rate is approximately constant while the limiter is assumptions made above. First, the output of the CP is a
active. When running PNoise analysis, assure that the current, so the limiter and the equations given in the previ-
maxsidebands parameter is at least ten times larger than T/ ous section need to be adapted. Second, the output of the
tti for any i. This assures that the narrow noise pulses are CP has three distinct levels rather than the two assumed
adequately resolved by the PNoise analysis. Jitter is inde-
CADENCE CONFIDENTIAL
14 KUNDERT
above. Thus, the CP has a ternary output rather than a simulation should cover an interval long enough to allow
binary output. accurate Fourier analysis at the lowest frequency of inter-
If it is necessary to apply a gating function, care must be est (Fmin ). With deterministic signals, it is sufficient to
taken because of the ternary nature of the output. A simple simulate for K cycles after the PLL settles if Fmin = 1/TK.
limiter would allow the noise associated with the middle However, for these signals, which are stochastic, it is best
value to pass. So the simple limiter should be replaced to simulate for 10K to 100K cycles to allow for enough
with a dead-band limiter. This is a limiter with a dead band averaging to reduce the uncertainty in the result.
in the center of its input range. The dead band rejects noise One should not simply apply an FFT to the output signal
about the equilibrium point associated with the middle of of the VCO/FD N to determine L(f m) for the PLL. The
the three values. result would be quite inaccurate because the FFT samples
the waveform at evenly spaced points, and so misses the
PM Jitter of a FD: With ripple counters, one can only jitter of the transitions. Instead, L(fm ) can be measured
characterize a few stages at a time because of the issue with Spectres Fourier Analyzer, which uses a unique
shown in Figure 5. Thus, a long ripple counter chain has to algorithm that does accurately resolve the jitter [12]. How-
be broken into smaller chains, and characterized individu- ever, it is slow if many frequencies are needed and so is
ally. The total jitter for the ripple counter is then computed not well suited to this application.
by taking the square-root of the sum of the square of the
Unlike L(fm), S(f) can be computed efficiently. The Ver-
jitter on each stage.
ilog-A code for the VCO/FDN given in Listing VIII writes
Unlike in ripple counters, jitter does not accumulate with the length of each period to an output file named peri-
synchronous counters. Jitter in a synchronous counter is ods.m. Writing the periods to the file begins after an initial
independent of the number of stages. Rather, jitter of a delay, specified using outStart, to allow the PLL to reach
synchronous counter is the jitter of its clock along with the steady state. This file is then processed by Matlab from
jitter of the last stage. MathWorks using the script shown in Listing X. This
The input to counters are generally edge sensitive, and so script computes S (f), the power spectral density of ,
are only affected by jitter on either the positive-going or using Welchs method [15]. The frequency range is from
the negative-going clock transitions, but not both. How- fout/2 to fout/nfft. The script computes S(fm) with a resolu-
ever, this should not affect the way in which blocks are tion bandwidth of rbw.5 Normally, S (fm ) is given with a
characterized as long as the behavioral models for the unity resolution bandwidth. To compensate for a non-unity
dividers also have edge-sensitive inputs. Then the behav- resolution bandwidth, broadband signals such as the noise
ioral model of the dividers only react to jitter on the proper should be divided by rbw. Signals with bandwidth less than
edge and ignore jitter on the other edge. rbw, such as the spurs generated by leakage in the CP,
should not be scaled. The script processes the output of
B. Characterizing FM Jitter VCO/FD N. The results of the script must be further pro-
The noise of a free-running oscillator is dominated by cessed using the equations in Table II to remove the effect
phase noise, which is a random shifting of the frequency, of FDN.
and hence the phase, of the oscillation signal over time.
IX. EXAMPLE
The phase of an oscillator is subject to this variation
because it is free running: there is no drive signal with These ideas were applied to model and simulate a PLL act-
which to lock and so no synchronization between the sig- ing as a frequency synthesizer. A synthesizer was chosen
nals generated by the oscillator and any reference signal. with fref = 25 MHz, fout = 2 GHz, and a channel spacing of
200 kHz. As such, M = 125 and N = 10,000.
Oscillator phase noise and FM jitter are different ways of
describing the same underlying phenomenon, and so there The noise of OSC is 95 dBc/Hz at 100 kHz, which corre-
is a direct conversion between phase noise and FM jitter, sponds to 20 ps of FM period jitter. The noise of VCO is
as given in (39). There is no need to invoke the use of 48 dBc/Hz, which gives 6 ps of FM period jitter. The PM
thresholds or gating functions in order to make the conver- period jitter of the PFD/CP and FDs was found to be 2 ns.
sion. The FDs were included into the oscillators, which sup-
presses the high frequency signals at the input and output
VIII. S IMULATION AND ANALYSIS
5. The Hanning window used in the psd() function has a resolution
The synthesizer is simulated using the netlist from Listing bandwidth of 1.5 bins [10]. Assuming broadband signals, Matlab divides
XI and the Verilog-A descriptions in Listings VI-VIII, by 1.5 inside psd() to compensate. In order to resolve narrowband signals,
modifying them as necessary to fit the actual circuit. The the factor of 1.5 is removed by the script, and instead included in the
reported resolution bandwidth.
DRAFT
MODELING AND SIMULATION OF JITTER IN PLL FREQUENCY SYNTHESIZERS 15
LISTING X LISTING XI
MATLAB SCRIPT USED FOR COMPUTING S(fm). THESE RESULTS SPECTRE NETLIST FOR PLL SYNTHESIZER.
MUST BE FURTHER PROCESSED USING TABLE II TO MAP THEM TO
THE OUTPUT OF THE VCO. // PLL-based frequency synthesizer that models jitter
simulator lang=spectre
% Process period data to compute S(fm) ahdl_include osc.va // Listing VI
echo off; ahdl_include pfd_cp.va // Listing VII
nfft=512; % should be power of two ahdl_include vco.va // Listing VIII
winLength=nfft;
overlap=nfft/2; Osc (in) osc
freq=25MHz ratio=125 \
winNBW=1.5; % Noise bandwidth given in bins fmJitter=20ps pmJitter=2ns
PFD (err in fb) pfd_cp Iout=500ua
% Load the data from the file generated by the VCO C1 (err c) capacitor c=3.125nF
load periods.m; R (c 0) resistor r=10k
% output estimates of period and jitter C2 (c 0) capacitor c=625pF
T=mean(periods); VCO (fb err) vco Fmin=1GHz Fmax=3GHz \
J=std(periods); Vmin=4 Vmax=4 \
maxdT = max(abs(periodsT))/T; ratio=10000 jitter=6ps \
fprintf(T = %.3gs, F = %.3gHz\n,T, 1/T); outStart=10ms
fprintf(Jabs = %.3gs, Jrel = %.2g%%\n, J, 100J/T); JitterSim tran stop=60ms
fprintf(max dT = %.2g%%\n, 100maxdT);
fprintf(periods = %d, nfft = %d\n, length(periods), nfft); in err
Osc & VCO &
% compute the cumulative phase of each transition 125 PFD & CP 10,000
phases=2picumsum(periods)/T; c
fb
% compute power spectral density of phase
[Sphi,f]=psd(phases,nfft,1/T,winLength,overlap,linear);
% correct for scaling in PSD due to FFT and window
Sphi=winNBWSphi/nfft;
% plot the results (except at DC) 10
K = length(f);
20
semilogx(f(2:K),10log10(Sphi(2:K)));
title(Power Spectral Density of VCO Phase); 30
S (dB/Hz)
xlabel(Frequency (Hz));
40 OL
ylabel(S phi (dB/Hz));
rbw = winNBW/(Tnfft); 50
RBW=sprintf(Resolution Bandwidth = %.0f Hz (%.0f dB),
60
rbw, 10log10(rbw));
imtext(0.5,0.07, RBW); 70 CL
CADENCE CONFIDENTIAL
16 KUNDERT
0 0
VCO-OL
OL 10
10
S (dB/Hz)
S (dB/Hz)
PLL-CL
20
20
30 PFD/CP,FD-OL
30
40
CL OSC-OL
40 50
300 Hz 1 kHz 3 kHz 10 kHz 30 kHz 100 kHz 300 Hz 1 kHz 3 kHz 10 kHz 30 kHz 100 kHz
Fig. 8. Noise of the closed-loop PLL at the output of the VCO Fig. 10. Closed-loop PLL noise performance compared to the
when only the VCO exhibits jitter (CL) versus the noise of the open-loop noise performance of the individual components that
VCO when operated open loop (OL). make up the PLL. The achieved noise is slightly larger than what
is expected from the components due to peaking in the response
of the PLL.
25 OL
30 7ns
VCO-OL
35 5ns
S (dB/Hz)
40
CL 3ns
45
2ns
50 PFD/CP,FD-OL
1.5ns PLL
55 CL
1ns
60 OSC-OL
Notes to the Author simple divider model is required (no fractional N ) and one
We have merged the divider with the VCO, which allows us cannot observe the spurs created by PFD/CP
to rapidly simulate synthesizers with large multiplication
ratios and see very close in phase noise. If your synthe-
sizer does not have a large divide ratio, then it may require X. CONCLUSION
long simulation in order to see close in phase noise (in this
A methodology for modeling and simulating the jitter per-
case, try using Verilog or VHDL models rather than Verilog-
A. Also, we are inferring the noise in the VCO output by formance of phase-locked loops was presented. The simu-
inspecting every N -th transition, which in the case of the lation is done at the behavioral level, and so is efficient
example, N=10000. Thus, we cannot know the statistics of enough to be applied in a wide variety of applications. The
the noise far from the carrier. behavioral models are calibrated from circuit-level noise
Other issues from the merged VCO and divider are that a simulations, and so the high-level simulations are accu-
rate. Behavioral models were presented in the Verilog-A
DRAFT
MODELING AND SIMULATION OF JITTER IN PLL FREQUENCY SYNTHESIZERS 17
language, however these same ideas can be used to [7] D. FitzPatrick, I. Miller. Analog Behavioral Modeling with
develop behavioral models in purely event-driven lan- the Verilog-A Language. Kluwer Academic Publishers,
1997.
guages such as Verilog-HDL and VHDL.
[8] F. Gardner. Phaselock Techniques. John Wiley & Sons,
This methodology is flexible enough to be used in a broad 1979.
range of applications where jitter is important. Examples
[9] W. Gardner. Introduction to Random Processes: With Ap-
include, clock generation and recovery, sampling systems,
plications to Signals and Systems. McGraw-Hill, 1989.
over-sampled ADCs, digital modulation and demodulation
systems, and fractional-N frequency synthesis (though it is [10] F. Harris. On the use of windows for harmonic analysis with
the discrete Fourier transform. Proceedings of the IEEE,
not possible to merge the VCO and divider in this case). vol. 66, no. 1, January 1978.
[11] P. R. Gray and R. G. Meyer. Analysis and Design of Analog
ACKNOWLEDGMENTS Integrated Circuits. J. Wiley & Sons, Third Edition, 1993.
I would like to thank Alper Demir and Manolis Terrovitis [12] K. Kundert. The Designers Guide to SPICE and Spectre.
of the University of California in Berkeley for many Kluwer Academic Publishers, 1995.
enlightening conversations about noise and jitter. I would [13] J. McNeill. Jitter in Ring Oscillators. IEEE Journal of Sol-
also like to thank Mark Chapman, Masayuki Takahashi, id-State Circuits, vol. 32, no. 6, June 1997.
and Kimihiro Ogawa of Sony Semiconductor and Rich [14] Verilog-A Language Reference Manual: Analog Extensions
Davis, Frank Hellmich and Randeep Soin of Cadence to Verilog-HDL, version 1.0. Open Verilog International,
Design Systems for their probing questions and insightful 1996. Available from www.ovi.org.
comments, as well as their help in validating these ideas [15] A. Oppenheim, R. Schafer. Digital Signal Processing.
on real frequency synthesizers. Prentice-Hall, 1975.
[16] A. Papoulis. Probability, Random Variables, and Stochas-
REFERENCES tic Processes. McGraw-Hill, 1991.
[1] H. Chang, E. Charbon, U. Choudhury, A. Demir, E. Felt, E. [17] R. Telichevesky, K. Kundert, J. White. Receiver character-
Liu, E. Malavasi, A. Sangiovanni-Vincentelli, and I. Vassil- ization using periodic small-signal analysis. Proceedings of
iou. A Top-Down Constraint-Driven Methodology for Ana- the IEEE Custom Integrated Circuits Conference, May
log Integrated Circuits. Kluwer Academic Publishers, 1996.
1997. [18] R. Telichevesky, K. Kundert, J. White. Efficient AC and
[2] A. Demir, E. Liu, A. Sangiovanni-Vincentelli, and I. Vas- noise analysis of two-tone RF circuits. Proceedings of the
siliou. Behavioral simulation techniques for phase/delay- 33rd Design Automation Conference, June 1996.
locked systems. Proceedings of the IEEE Custom Integrat- [19] G. Vendelin, A. Pavio, U. Rohde. Microwave Circuit De-
ed Circuits Conference, pp. 453-456, May 1994. sign. J. Wiley & Sons, 1990.
[3] A. Demir, E. Liu, and A. Sangiovanni-Vincentelli. Time-
domain non-Monte-Carlo noise simulation for nonlinear STILL TO DO
dynamic circuits with arbitrary excitations. IEEE Transac-
tions on Computer-Aided Design of Integrated Circuits and 1. Include flicker noise from oscillator.
Systems, vol. 15, no. 5, pp. 493-505, May 1996.
2. Model nonlinear dependence of VCO noise, amplitude,
[4] A. Demir, A. Sangiovanni-Vincentelli. Simulation and
and frequency to the control signal.
modeling of phase noise in open-loop oscillators. Proceed-
ings of the IEEE Custom Integrated Circuits Conference, 3. Generate small-signal noise model of PLL for use in
pp. 445-456, May 1996. PNoise analysis (includes correlations).
[5] A. Demir, A. Sangiovanni-Vincentelli. Analysis and Simu- 4. Describe how to model dead-zone in PFD/CP.
lation of Noise in Nonlinear Electronic Circuits and Sys-
tems. Kluwer Academic Publishers, 1997. 5. Describe how to see the spurs created by the PFD/CP
[6] A. Demir, A. Mehrotra, J. Roychowdhury. Phase noise in (keep the frequency divider in the circuit; if the divide
oscillators: a unifying theory and numerical methods for ratio is very large, consider partitioning it into two factors
characterization. Proceedings of the 35th Design Automa- and make one explicit and the other implicit).
tion Conference, June 1998.
CADENCE CONFIDENTIAL
Cadence Design Systems, Inc.
Corporate Headquarters
2655 Seely Avenue
San Jose, CA 95134
800.746.6223
408.943.1234
www.cadence.com
2001 Cadence Design Systems, Inc. All rights reserved. Cadence and the Cadence logo are
registered trademarks and how big can you dream? is a trademark of Cadence Design
Systems, Inc. All others are properties of their holders.
Stock #3487 10/01