Design A PLL
Design A PLL
BY
RISHI RATAN
THESIS
Submitted in partial fulfillment of the requirements
for the degree of Master of Science in Electrical and Computer Engineering
in the Graduate College of the
University of Illinois at Urbana-Champaign, 2014
Urbana, Illinois
Adviser:
Professor Jose Schutt-Aine
ABSTRACT
iii
ACKNOWLEDGMENTS
TABLE OF CONTENTS
CHAPTER 1 INTRODUCTION . . . . . . . . . . . . . . . . . . . .
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
3
5
5
7
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
23
24
26
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29
29
31
32
33
34
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
35
35
35
36
38
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
54
54
54
55
56
vi
.
.
.
.
CHAPTER 8 DISCUSSION . . . . . . . . . . . . . . . . . . . . . . . 87
8.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
8.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
APPENDIX A CADENCE VIRTUOSO INSTALLATION GUIDE
A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Environment Setup . . . . . . . . . . . . . . . . . . . . . .
A.3 Common Troubleshooting Tips . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
92
92
93
115
REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
vii
CHAPTER 1
INTRODUCTION
1.1 Motivation
Over the last 50 years, advances in Semiconductor Fabrication Technology
(SFT) coupled with innovations in Integrated Circuit (IC) technology scaling have fueled an unparalleled growth in computing. This aggressive scaling
has revolutionized every aspect of modern society and triggered an insatiable
demand for faster data rates and higher processing power resulting in clock
frequencies and corresponding data rates approaching multi-GHz and multiGbps ranges in everyday computing devices like personal computers, mobile
devices, entertainment consoles and other such devices. Access to information promptly and efficiently in terms of power and portability/ease of use
is the major driver pushing the limits of IC technology. Thus, the need
for robust, high-speed, low-power and highly integrable compact systemson-chip (SOCs) is paramount for inter-IC communication interfaces such as
network switches, processor/memory interfaces across backplane channels.
In order to meet this growing demand for wideband systems, the Input/Output (I/O) links need to scale proportionally with the increased data-rate
scaling; however in reality the off-chip I/O bandwidth (BW) has not scaled
appropriately and has become a major bottleneck in the overall system performance. Furthermore, along with the off-chip I/O BW limitations, the
channel as well as package/connector interfaces have not scaled with SFT
making the design of high-speed I/O links extremely challenging due to the
increased transmission line loss, crosstalk, and signal distortion resulting in
intersymbol interference. As the demand for high data-rate interfaces has
skyrocketed, the clock-frequencies needed to realize such systems have correspondingly reached the multi-GHz range necessitating the use of phase-locked
loops (PLLs) for on-chip clock synthesis.
1.2 Outline
This thesis is organized to serve as a training manual for students pursuing mixed-signal integrated circuit design as their field of study in graduate
school. The goal is for this thesis to be their go-to guide to grasp a high-level
understanding of high-speed links and learn the simulation setup/procedure
to validate PLL based clocking circuits using the popular EDA tool Cadence
Virtuoso.
1. Chapter 1 provides an introduction to the research problem describing
the need for high-speed serial links and their future trends.
2. Chapter 2 provides an overview of high-speed links with an emphasis on
describing each of the building blocks, figures of merit to characterize
these links and lay the motivation for the industry-wide shift from
parallel to serial-link design for low power, cost-effective robust I/O
link design.
3. Chapter 3 describes the fundamentals of Phase-Locked Loops (PLLs)
and provides a brief overview of their ubiquitous use in modern day
wireline/wireless systems.
4. Chapter 4 covers a special class of PLLs, Charge-Pump PLLs, and
provides a linear model for small-signal as well as noise-analysis of
these PLLs.
5. Chapter 5 presents the transistor-level design of a Charge-Pump based
Integer-N clock generator circuit operating at an output frequency of
1.6GHz.
6. Chapter 6 describes the procedure for behavioral modeling and simulation using Verilog-AMS for the clock-generator circuit described in
Chapter 5.
7. Chapter 7 describes the procedure for transistor-level simulation for
the clock-generator circuit described in Chapter 5.
8. Chapter 8 concludes the thesis with a discussion of the take-aways from
the clocking circuit designed earlier and provides a brief anecdote on
the signal integrity focus areas in high-speed link design and lists design
improvements on the basic Integer-N analog clock generating circuit to
accommodate industry trends within the field.
9. Lastly, the Appendix provides a step-by-step guide for installing and
configuring the Cadence Virtuoso environment.
CHAPTER 2
HIGH SPEED SERIAL LINKS OVERVIEW
circuit whose purpose is to sample the received data-bit stream from the
channel and recover, both the transmitted data as well as the clock. Once
the receiver recovers the transmitted serial bit-stream it is sent to the Deserializer block whose job as the name suggests is to convert the received serial
data back to its original parallel form for future interfaces.
them incompatible with modern processes [6]. Thus, in order to mitigate this
performance limitation and supply voltage scaling problems posed by conventional parallel-link design the industry has shifted to electrical point-to-point
serial link interfaces.
Serial links occupy small area on chip and require very few I/O pins as
compared to case of parallel links because the number of pins is not directly
proportional to the number of data input/output signals. In serial communication links clock-skew is not a problem at the receiver since TX clock is
typically not forwarded to the RX. In parallel links, on the other hand clockskew is the major source of signal degradation at the RX side since the TX
clock and data are transmitted separately. Furthermore, cross-talk effects are
minimized in serial links due to the absence of multiple conducting channels
in parallel that each have varying signals transmitted, whereas in parallel
links this is a major problem due to the presence of capacitive/inductive
coupling between multiple conducting parallel interconnect channels.
In the consumer electronics industry, serial links have found widespread acceptance in the form of USB (Universal Serial Bus) that connects peripheral
electronic systems to computer, and SATA (Serial Advanced Technology Attachment) which connects the computer motherboard with mass storage devices (e.g. hard disk) and PCI-Express (Peripheral Component Interconnect)
that is used to connect cards (sound, video or other) to the motherboard.
Therefore serial communication has become the solution to higher and more
efficient data transmission in order to meet the demands and trends of the
higher capacity of communication technology [7].
IN
W&
W
/W
sK
s
dZ>
>&
REF
DIV
OUT
2.3.4 Channel
the tremendous loss and distortion incurred along the channel. The HSSL
designers need to be able to account for such losses when designing the blocks
of the HSSL at both a system as well as circuit level. As stated earlier, the
channel induced degradation is the primary limiting factor during the entire
link-design process.
Amplitude (AU)
Inphase Signal
1
0
1
0
4
Time (s)
6
10
x 10
Amplitude (AU)
Inphase Signal
1
1
0
4
Time (s)
6
11
x 10
2.3.5 Equalization
Equalization is a method of combatting the detrimental effects of intersymbol interference (ISI) caused by the bandlimited channel. Equalizers are
typically implemented as linear or non-linear adaptive filters. Equalization
performed before the channel is referred to as pre-emphasis and basically
involves passing the TX signal through a filter whose transfer function is the
inverse of the channel transfer function. Conversely, equalization at the RX
end is used to undo the distortion incurred in the received signal due to the
channel loss and dispersion. Most RX equalization schemes are adaptive and
11
are implemented using DSP techniques to cancel out the channel loss from
the received data-bits.
12
2.3.7 Deserializer
The deserializer circuit, as the name suggests, converts the input serial bitstream data back into its original parallel bus form. It is also a completely
digital block and it succeeds the RX driver circuit. Basically, the deserializer
is just a demultiplexer circuit that is driven by the clock that is recovered by
the CDR.
tion techniques are the biggest design challenges in HSSLs today. Robustness
therefore is the most important metric of performance for link designers. The
primary figures-of-merit (FOM) for HSSLs are bit-error-rate (BER), jitter,
crosstalk analysis and timing/noise analysis [1].
BER in modern HSSLs is typically between 1012 and 1015 and it is the
main metric used to signify the integrity of the received data-bits. A BER of
1012 means that 1 bit will incur an error along the link when we transmit a
total of 1012 bits. Measurement/Estimation of BER is one of the fundamental
challenges faced by link designers because in order to accurately conclude
that the link actually has a BER of the order 1012 , one needs to simulate a
random sequence of at least 1012 bits which even in current state-of-the art
simulators is next to impossible. Therefore, most simulators use statistical
means to collectively analyze the effects of deterministic noise sources such as
Intersymbol Interference (ISI), supply-noise, timing-jitter as well as random
noise sources like white-thermal noise and random jitter when estimating the
system BER.
A common method to measure timing jitter is to use eye-diagrams. Eye
diagrams are constructed by slicing the time-domain signal waveform into
small sections and overlaying them on top of each other such that the resulting shape resembles an eye. The horizontal axis of the eye diagram
represents time and is typically one or two symbols wide, and the vertical
axis represents the amplitude of the signal. Ideally, we want the eye to be as
open as possible, since a larger eye opening signifies that there is a large
enough margin to meet any voltage and timing requirements needed by the
system. Quantitatively speaking, the minimum height and width of the data
at the receiver are key metrics for evaluating link performance. As link designers, we want the receiver eye to be wide enough to provide adequate time
to satisfy the setup and hold requirement of the flip-flops used, and have sufficient height to ensure that the voltage levels meet vil and vih requirements
of the system in the presence of multiple noise sources. Figure 2.9 [6] shows
an example of what sampling an eye with and without jitter means.
14
Finally, the last major metric in calculating the timing margin of a HSSL
is the jitter. Characterization of deterministic as well as random timing jitter
in a clock output is very important to a link designer. Essentially, jitter is
the time-domain variation in the clock-signal as shown in Figure 2.10 [10].
A commonly used method for jitter calculation is to close either side of the
eye horizontally by the amount of peak clock jitter. While this method can
be helpful in evaluating the effects of jitter at the receiver end, we will show
in this paper that this is an overly optimistic approximation of noise margin
degradation for transmitter jitter. Due to the need for integration of clock
generators such as PLLs in large digital chips, clock jitter is dominated by
power-supply and substrate noise, both of which do not scale with technology. Therefore, as data rates increase, bit-periods become shorter and the
performance of multi-gigabit links will be limited by the clock jitter, thereby
initiating the importance of accurately analyzing the effects of clock jitter on
high-speed serial links. Figure 2.11 [5] provides a summary of common jitter
profiles in a typical serial link.
16
CHAPTER 3
PLL THEORY AND BACKGROUND
17
be injected into the output node, thereby increasing the output voltage. The
state transitions are controlled by the edges of VCOs output and reference
signal; thus it is clear that the PFD is a purely digital circuit.
(a)
(b)
19
(3.1)
iCharge P ump
2
(3.2)
(3.3)
(3.4)
20
Zt
out (t) =
Zt
out ( )d =
KV CO vctrl ( )d
(3.5)
KV CO vctrl (s)
out (s)
=
s
s
Thus, the Laplace transform function for the VCO is:
L[out (t)] = out (s) =
HV CO (s) =
out (s)
KV CO
=
vctrl (s)
s
(3.6)
(3.7)
3.2.5 Divider
A frequency divider is needed to produce a clock signal that runs many times
faster than the reference clock. The PFD input clock and reference clock have
to be synchronized for PLL to be in locked condition. In order to perform
this task we use a fractional-N divider circuit, which divides the VCO clock
by the highest power of 2 factor to synchronize reference clock signal and the
divider output clock.
2
n
expressed as H(s) = s2 +2
LP F K and = 21 LP
.
2 , where n =
K
n s+n
Note that n is the geometric mean of the -3dB bandwidth of the LPF and
21
22
CHAPTER 4
PLLs IN CLOCKING CIRCUITS
hW
PFD
/W
sK
ref
E
sdZ>
Z
/W
out
div
e(s)
REF (s)
<W
Vctrl (s)
&
sK
<sK
OUT (s)
Vctrl (s)
Z
KV CO
s
(4.1a)
1
s + RC
1
C
1 +C2
C2 s2 s + RC
1 C2
(4.1b)
1
C1 + C2
; p1 = p2 = 0; p3 =
RC1
RC1 C2
(4.2)
= KP D KV CO
ugb
z
arctan
ugb
p3
(4.3)
where ugb is the open loop unity gain bandwidth and z < ugb .
In order to achieve maximum phase margin, the value of C1 and C2 have
to be chosen carefully. To calculate the expression of M max we take the
first order derivative of Eq. 4.3 with respect to ugb and equate the result to
zero, such that:
r
C1
ugb = z
+1
(4.4)
C2
24
Subsequently,
r
M
max
= arctan(
C1
1
+ 1) arctan( q
)
C1
C2
+1
(4.5)
C2
C1 =
q
tan2 (M ) + 1))
ubg
C1
C2
(4.6)
(4.7)
+1
C1
1
; C2 =
;
z R
Kc
(4.8)
2C2
2
=
KV CO ugb
2
2
+ ugb
p3
2
z2 + ugb
(4.9)
It is vital to analytically confirm that the PLL will indeed lock when there
is a frequency step applied at the input. Without loss of generality assume
, then in (s) =
. First, obtain the
there is input frequency step in =
s
s2
closed loop transfer function:
HP LL (s) =
LG(s)
1 + LG(s)
(4.10)
25
(4.11)
Applying the final value theorem, we get the steady state error to be:
Fssstep
error = lim s He (s) in (s)
(4.12a)
s0
1
2
s0
1 + LG(s) s
[RC1 C2 s2 + (C1 + C2 )s]
= lim
s0 RC1 C2 s3 + (C1 + C2 )s2 + KV CO KP D s + 1
0
=
1
=0
= lim s
(4.12b)
(4.12c)
(4.12d)
(4.12e)
Eq. 4.12(a) to 4.12(e) indicate that the PLL we have designed can eliminate
any steady state phase error and relock when a frequency step is applied at
the input [8].
N LG(s)
OU T (s)
=
IN (s)
1 + LG(s)
OU T (s)
2
=
N T FIN (s)
iCP (s)
ICP
(4.13)
(4.14)
(4.15)
KV CO
OU T (s)
s
=
N T FR (s) =
vR (s)
1 + LG(s)
(4.16)
IN
SOU
= SIN |N T FIN (s)|2
T
(4.17)
SiCP
= SiCP |N T FCP (s)|2
OU T
(4.18)
(4.19)
V CO
SOU
= SV CO |N T FV CO (s)|2
T
(4.20)
GLP F (s) =
26
1
1+
s
LP F
(4.21)
H(s) =
s
LP F
KP D KV CO
+ s + KP D KV CO
s2 + 2n s + n2
n2
s2 + 2n s + n2
r
p
1 LP F
n = LP F K, =
2
K
2
LP F
=
, = K =
2
2
H(s) =
27
(4.22)
(4.23)
(4.24)
(4.25)
(4.26)
28
CHAPTER 5
PLL BASED CLOCK GENERATOR
5.1 PFD
Figure 5.1 shows the NAND PFD implementation used in the design of the
PLL used in this thesis. In Figure 5.2 the transistor-level implementation for
each of the circuits shown in Figure 5.1 are displayed with the appropriate
sizing.
sZ&
hW
Z^d
E
s/s
sZ&
s/s
W&
hW
E
29
8m
0.18m
8m
0.18m
8m
0.18m
8m
0.18m
4m
0.18m
4m
0.18m
8m
0.18m
8m
0.18m
8m
8m
0.18m 0.18m
8m
8m
0.18m 0.18m
8m
0.18m
16m
0.18m
12m
0.18m
12m
0.18m
16m
0.18m
12m
0.18m
16m
0.18m
16m
0.18m
5.2 CPs
Figure 5.3 shows the CP implementation used in the design of the PLL used
in this thesis. The transistor-level implementation is also displayed with the
appropriate sizing.
s
s
M0
M2
M0
M1
8m
0.18m
16m
0.18m
16m
0.18m
8m
0.18m
sKhd
M2
M4
M6
16m
0.18m
hW
16m
0.18m
hW
iW
8m
0.18m
8m
0.18m
ITAIL = 3mA
M8
M5
8m
0.18m
E
M3
8m
0.18m
E
M3
M1
8m
0.18m
8m
0.18m
s
hW
/W
iW
/W
E
hW
E
W
iW
to design a CP circuit that has equivalent pull-up and pull down currents and
equal on-time for the PMOS/NMOS switches. Though several CP architectures exist, a Bootstrapped CP design is used in the clock-generating PLL
studied in this thesis. The advantage of the Bootstrapped architecture is
that it allows differential current steering, it can operate with low-swing UP,
DN signals. It is thus very prominent in PLLs that use high-speed reference
clock signals. The term bootstrapped are appropriate because the voltage
following op-amp between the pull-up and pull-down current networks ensures that an equal voltage level is maintained on either ends such that the
pull-up current is equal to the pull-down current.
5.3 LF
R = 5k
C2 = 561.27fF
C1 = 72.766pF
>&
Figure 5.4: Loop-Filter Implementation
Loop-Filter is designed using the design-procedure described in Chapter 4 in
the CPLL design procedure algorithm. The algorithm was implemented in
MATLAB to choose the values shown above in Figure 5.4.
32
5.4 VCOs
s
M8
M0
M9
12m
0.18m
M2
12m
0.18m
3m
0.18m
M4
M6
12m
0.18m
12m
0.18m
24m
0.18m
s
M1
M3
5m
0.18m
M5
5m
0.18m
5m
0.18m
CL0=100fF
M7
CL1=100fF
10m
0.18m
CL2=100fF
s
M8
12m
0.18m
M9
3m
0.18m
5.5 Divider
s
M2
M0
8m
0.18m
M3
8m
0.18m
M5
8m
0.18m
8m
0.18m
M1
M6
4m
0.18m
M8
4m
0.18m
Y
Y
M9
M7
8m
0.18m
><
4m
0.18m
M10
M11
4m
4m
4m
0.18m
0.18m
0.18m
Y
DFF
><
><
Y
Y
Y
DFF
DFF
DFF
><
34
CHAPTER 6
BEHAVIORAL LEVEL SIMULATION
35
36
37
38
3. Once you have written the code as shown in Figure 6.4, save and exit
the text editor. A pop-up window like Figure 6.4 will open up. Click
Yes to generate the symbol for the pfd.
39
(a)
(b)
41
10. In the final output waveform shown in Figure 6.10 it is clear that the
PFD is functioning correctly. Notice that the UP,DN pulses are appropriately modulated as REF and DIV signals diverge from one
another.
42
11. Within the PLLBehav library follow the steps described earlier to
create a model for the CP as shown in Figure 6.11 and save the file as
cp.
12. Figure 6.12 shows the PFD+CP testbench schematic. Create a new
schematic named cp test as well as a config file following the same
procedure as the PFD. When simulating using the ADE AMS simulator
follow the procedure similar to that shown in Figure 6.9.
43
14. The purpose of the charge-pump is to convert the digital PWM signal
outputs from the PFD into a current. As seen in the code and from
the final output waveform shown in Figure 6.14, it is clear that the
44
6.4.2 LF
We use the analog loop-filter as shown in Figure 5.4.
6.4.3 VCO
1. The VCO is the most critical component of the PLL we try to model
using Verilog-AMS because it allows us to behaviorally estimate the
jitter specifications. Within the PLLBehav library follow the steps
described earlier to create a model for the VCO as shown in Figure
6.15 and save the file as vco. Only the white-noise jitter is considered
in this design and it is modeled by a Gaussian white-noise probability
distribution function.
45
2. Figure 6.16 shows the VCO testbench schematic. Create a new schematic
named vco test as well as a config file following the same procedure as
the PFD. When simulating using the ADE AMS simulator follow the
procedure similar to that shown in Figure 6.9.
3. Just like in the case of the CP in the config testbench file, if you
click on the VCO block and press q, a window as shown in Figure
6.17 will appear. Enter the appropriate value VCO design parameters
as per the design objectives.
46
47
6.4.4 Divider
1. Divider is essential when designing a clock-generating circuit as we need
to scale down the VCO output clock to the reference frequency level
such that the two signals can be compared. Within the PLLBehav
library follow the steps described earlier to create a model for the Divider as shown in Figure 6.15 and save the file as div. Figure 6.19
shows the code to implement the divider in Verilog.
48
3. Just like in the case of the CP and VCO, in the config testbench file
if you click on the Divider block and press q, a window as shown in
Figure 6.21 will appear. Enter the appropriate value of divide ratio as
per the design objectives.
49
2. Using the steps described earlier in this chapter, configure your ADE
window as shown in Figure 6.25 and simulate the circuit.
51
3. The PLL circuit outputs are shown in Figure 6.26. It is clear that
the PLL achieves lock within the first 100ns because in the testbench
we provide an initial condition of Vctrl = 0.9V and keep the currents
at the loop-filter capacitors at an initial condition of 0A. These initial
conditions are provided to ensure that the simulation time is small.
From the final output waveforms it is clear that the PLL is indeed
functioning correctly.
52
4. To simulate the jitter at the VCO output during lock-condition, select the vout waveform, click on M easurements EyeDiagram and
configure the setup as shown in Figure 6.27. Your final output should
look like that shown in Figure 6.27 once you click on Plot Eye. The
simulated edge-to-edge jitter is 0.96ps which is extremely good. However, it is important to note that this number is not realistic as we
have only accounted for random jitter caused by white-noise and the
model is only behavioral so any transistor-level non-idealities are not
captured. Nevertheless, behavioral modeling is very powerful in performing rapid prototyping of the PLL circuit elements and performs a
system level noise/timing budget for the design before delving straight
into transistor level design.
53
CHAPTER 7
TRANSISTOR LEVEL SIMULATION
54
56
analogLib library. You will notice all the components housed within
the tsmc18rf library listed. The key trick to know is that you can
search for a specific component from the Filter. Search for nmos2v
and follow the steps outline in Figure 7.2.
(a)
(b)
57
(a)
(b)
(a)
(b)
(c)
(a)
(b)
generated symbol as per your needs. In our case we will edit the symbol shape to make it resemble the traditional inverter symbol used in
conventional system design (as shown in Figure 7.9). To edit the shape
use the Edit Pallete as shown in Figure 7.9(a) via a red highlighted
box.
(a)
(b)
63
(a)
(b)
(c)
64
65
66
(a)
(b)
67
(a)
(b)
5. Your final output waveform should look like that shown in Figure 7.18.
Notice that the UP,DN pulses are appropriately modulated as REF
and DIV signals diverge from one another; thus, the PFD is indeed
functioning correctly.
69
4. Your final output waveform should look like that shown in Figure 7.20.
Notice that the output node voltage vout is oscillating thus the VCO
is indeed functioning correctly.
To run the parametric analysis, click on the Play within the ParametricAnalysis window. This setup is basically going to run the transient
oF rom
simulation TStepSize
times by varying the control-voltage input to the
VCO.
6. To plot frequency vs. Vctrl and KV CO vs. Vctrl we need to use the
Calculator tool in-built within ADE. Click on T ools Calculator.
The Calculator window as shown in Figure 7.22 will open up and within
it now you should select Vt from the toolbar. The schematic will
open up, so within the schematic select the vout node. From the
Function-Panel within the Calculator window choose the frequency
and average functions to make up the function shown in Figure 7.22.
Now go back to the ADE window, click on the right-pane and select
the Pick-Outputs button. A window will pop up so within it select
Get-Expression and name it freq. This will bring the expression you
just created in the Calculator so that you can plot it. Conversely, you
can also click on the plot button shown in the red-box in Figure 7.22
to plot the expression; however, doing so makes the title of plot look a
little too crammed.
72
Figure 7.23: Frequency vs. Vctrl and KV CO vs. Vctrl Simulation Plots
73
74
(a)
(b)
76
(a)
(b)
4. Your final output waveform should resemble Figure 7.27. Notice that
each half-wave of the output pulse comprises of four half-pulses of the
input, meaning the period of the output pulse is one-eighth of the input
pulse period. Thus, our divider is functioning properly in that it divides
the input pulse frequency by 8 with a small setup-time delay of 209ps.
77
4. In the PLL testbench choose the Vref using the Vpulse source within
analogLib and configure it as shown below in Figure 7.30.
78
3. Click on the green Play button to run the simulation and the plots
should automatically pop-up in a new output window.
4. Your final output waveform should look like that shown in Figure 7.32.
Notice that the VCO input control voltage vctrl is essentially flat and
settled thus the PLL is in steady-state lock state.
If we zoom into a 50ns window we notice that there is a slight control voltage ripple, but the loop is approaching steady state lock point.
From Figure 7.33 the rippling behavior of vctrl can be seen to be
prominent for the first 10ns and then slowly decaying away as we approach 50ns time-frame.
80
you just created in the Calculator so that you can plot it.
6. Now, in order to simulate the PLL Phase-Noise we perform the PSS,
PNoise simulations. For the PSS simulation, in the ADE window click
on the AC,DC,Tran icon on the right pane. Choose the pss simulation type and pick the parameters using those shown in Figure 7.35(a).
Note that in this case the beat frequency will be the reference frequency
as that is the only fundamental input frequency to the PLL. Additionally, the reason we do not have to check the oscillator option and
select vout, gnd terminals from the schematic is that PLL is, as the
name suggests, not an oscillator.
7. To run the PNoise simulation, in the ADE window click on the AC,DC,
Tran icon on the right pane. Choose the pss simulation type, pick the
parameters using those shown in Figure 7.35(b). It is critical to note
that the phase-noise in the VCO is the dominant source of phase-noise
in the complete PLL, and since VCO noise is typically most prominent
at a 1MHz offset, we limit our simulation frequency range to be from
1kHz to 10MHz as after the 10MHz the phase-noise will not cause
any significant degradation to oscillator output performance. One key
difference between the PNoise setup and VCO is that now the phasenoise of interest is of the 8th relative harmonic to the fundamental
reference frequency because we have a divider ratio of 8 in our PLL.
82
(a)
(b)
The output waveform for the simulated phase-noise will look like Figure
7.36. In our case, we find that the Phase-Noise at a 1MHz offset is
equal to -113.31dBc/Hz, which is very reasonable for an Integer-N clock
synthesizer PLL with an output frequency of 1.6GHz in steady-state.
83
8. Since clock generator circuits are responsible for generating the system
master-clock, the timing (deterministic) jitter as well as random jitter
are key figures-of-merit to minimize clock-induced timing errors during
transmission as well as reception of digital data bits. In order to characterize the deterministic timing jitter we plot the PLL eye diagram
for a small time-interval once the PLL is in lock condition. Similar
to the frequency measurement, we plot the eye diagram by exporting
the vout curve into Calculator and using the eyeDiagram function
as shown in Figure 7.37.
In Figure 7.38 we see that the output voltage eye for the PLL has some
deterministic timing jitter associated with it.
84
CHAPTER 8
DISCUSSION
8.1 Conclusion
Overall, thus far in this thesis the foundational motivation for the use of
High-Speed Serial Links has been described, fundamentals of PLLs as well
as Charge-Pump PLLs have been covered, and an in-depth step-by-step tutorial on design/simulation of an on-chip clock synthesizer at both a behavioral level using Verilog-AMS and transistor level using Cadence Spectre
have been described. The designed PLL based clock-generator circuit described in Chapter 5 operates at an output frequency of 1.6GHz at lock with
-113dBc/Hz phase-noise, 5.62ps deterministic jitter and 5.27ps edge-to-edge
random jitter at a BER level of 1012 . Although many design improvements
can be made at the circuit level to optimize the phase noise and jitter performance of the clock-generator circuit, the motivation for this thesis was to
provide a tutorial style training manual for a student pursuing mixed-signal
IC design at the beginning of their graduate studies; thus, the circuits used
for the Integer-N synthesizer are very basic/standard. In this last chapter
to conclude the thesis, a summary of future design improvements for the
circuit designed/simulated in this thesis is outlined from both a system as
well as circuit architecture level. Lastly, an outline of the potential areas of
research to explore in the field of high-speed serial links design with a signal
integrity focus is presented. Often times when pursuing graduate work in
a diverse and mature field of Electrical and Computer Engineering such as
Mixed-Signal Circuit design, especially with a focus on Signal Integrity, a
new student needs some guidance and initial training to jump-start their careers. Therefore, the final section of this thesis concludes with a few words of
advice for new students pursuing this field of study to enable them in solving
unexplored areas within this field.
87
89
90
themselves with Behavioral modeling as well as basics of transistor-level design and simulation analysis so that they explore new HSSL architectures
that have high signal integrity even at multi-GHz to THz speeds.
Ideally, in order to make meaningful contributions in the field of HSSL
designs, a strong knowledge-base in fields of Integrated Circuits, Electromagnetics, RF/Microwave theory and Digital Signal Processing is key. Thus, at
the onset of their graduate career students performing research in the area
of robust, fast-signaling HSSLs should take the fundamental graduate-level
courses in areas of Digital IC Design, Analog IC Design, Phase-Locked Loop
Design, Electromagnetics and DSP. Lastly, ability to exercise the EDA tools
like Cadence Virtuoso, Agilent ADS, Ansys HFSS as well as programming
in MATLAB and Verilog are essential in order to gain hands-on experience
and perform rapid-prototyping of new research ideas.
91
APPENDIX A
CADENCE VIRTUOSO INSTALLATION
GUIDE
A.1 Introduction
The motivation for this manual is to provide a step-by-step tutorial on installing Cadence Virtuoso IC 6.15 tools from scratch, configuring the environment and using the tool to design and simulate circuits. In this shorttutorial users are exposed to the complete steps involved in configuring their
machine to run the Cadence Virtuoso IC 6.15 design environment along with
its ancillary softwares, converting their host computer into a server, remotely
connecting to it and launching the Virtuoso simulator engine from the terminal window followed by a detailed guide to create their own custom circuits
and simulate them using the Cadence Spectre circuit simulator.
Cadence is an Electronic Design Automation (EDA) environment that integrates various circuit design and verification applications and tools (both
in-house proprietary as well as external third party vendor tools) in a single
framework allowing unified IC design and verification in a single environment.
The tools are generic and allow the designer to configure the environment
depending on the fabrication technology of choice by installing the appropriate PDK (Process-Design Kit).
This tutorial document is not intended to be a one-stop reference for all
the features available in Cadence Virtuoso Design Environment. Instead, it
is only meant to be a quick-start guide for circuit designers to be able to use
the EDA tool to effectively simulate their designs for quick prototyping and
verification of their designs.
92
93
the Hotfix files it is very important to also have the Base files extracted as a path to them will be needed during the installation setup.
3. Before you start the installation process open up a terminal window
and type in su to make sure that you have root user privileges.
4. A key feature of Scientific Linux environment to note is that if you ever
have any missing packages that cause an error you just have to type
in yum install P ackageN ame in the terminal window. We will be
using this throughout the installation process when we encounter such
situations.
5. Install the following packages:
(a) yum install elfutils elfutils-libelf libXp
(b) yum install libXext.i686
(c) yum install libelf.so.1
(d) yum install libXrender.so.1
Note: You need these packages for InstallScape (Cadence Installation Wizard) to work.
6. Create a new directory by typing:
mkdir -p /home/EEAPPS/CADENCE INSTALL/IC615/ . Now move
the extracted Base and Hotfix folders to the IC6.15 folder you just
created.
7. In the terminal window browse to the following folder:cd /home/EEAPPS/CADENCE INSTALL/IC615/ IC06.15.132-615 lnx86.Hotfix/CDROM1
and then type in sh SETUP.SH to start the installation process [14].
94
10. From this point onwards follow the instructions shown in Figures A.2
through A.14 very carefully to complete the installation process for
Virtuoso. Make sure you do exactly as shown in these figures to ensure
the software gets installed properly.
11. Once you reach the last step as shown in Figure A.14 hit Done.
96
6. Now a window like Figure A.15 will pop up so follow the instructions
shown in it to browse into the correct folder that contains the installation files.
7. From this point onwards follow the instructions shown in Figures A.16
through A.22 very carefully to complete the installation process for
Virtuoso. Make sure you do exactly as shown in these figures to ensure
the software gets installed properly.
8. Once you reach the last step as shown in Figure A.22 hit Done.
104
9. Now that you have installed both Virtuoso and MMSIM the most critical step is to configure the environment variables correctly. In order to
do so you will need to change your OSs shell to bash. To figure out the
current shell of your OS open up a terminal and type in echo $SHELL.
To change the shell to bash if it is not set by default type in chsh -s
/bin/bash. If you actually were successful in changing the shell type in
echo $SHELL, and you should get /bin/bash as an output.
10. Open up your current bash file by typing gedit .bashrc & in the terminal
window. Now replace the text with that of Section 2.3. Save the
updated file and close it.
11. In the terminal window type in source .bashrc to update your bash
settings.
108
net/projects/xming/files/Xming-fonts/]
Note: Without installing Xming you will not be able to open Virtuoso or for that matter any application with a GUI.
(c) Launch your SSH client, type ssh -X [email protected],
hit Enter. You will prompted to type in a password so type it in
and again hit Enter. Now you can follow the steps outlined in
Figure A.23.
2. Mac OSX Users:
(a) Install XQuartz 2.7.5 for Mac OSX if you are using OSX Mountain Lion or later. If you have an older OS then you will already
have X11 pre-installed in your system. Check your System Preferences to check whether X11 is turned on.
Note: Without installing XQuartz or enabling X11 (depending
upon your OSX version) you will not be able to open Virtuoso or
for that matter any application with a GUI.
(b) Launch your SSH client and type ssh -X [email protected],
hit Enter. You will prompted to type in a password so type it in
and again hit Enter. Now you can follow the steps outlined in
Figure A.23.
3. Linux OS Users:
(a) Launch Terminal and type ssh -X [email protected],
hit Enter. You will prompted to type in a password so type it in
and again hit Enter. Now you can follow the steps outlined in
Figure A.23.
112
(a)
(b)
115
REFERENCES
116
Available:
http://www.ece.unm.edu/ jimp/vlsiII/cadence install/
installing cadence.pdf
[15] B. Razavi, Monolithic Phase-Locked Loops and Clock Recovery Circuits,
Chapter 1. Piscataway, N.J.: IEEE Press, 1996.
117