ADPLL
ADPLL
(ADPLL)
In partial fulfillment of the requirements of the course
Advanced VLSI Design
Submitted
Dr. ANU GUPTA
Submitted By:
Suhas. B (2014H123167P)
Sureshkumar (2014H123165P)
Page | 1
Table of Contents
....................................................................................................................................................... 1
List of figures ................................................................................................................................ 3
CHAPTER 1 ................................................................................................................................... 4
INTRODUCTION ............................................................................................................................ 4
All Digital Phase locked loop: ...................................................................................................... 4
Basic Block Diagram: ............................................................................................................... 4
CHAPTER 2 ................................................................................................................................... 6
ADPLL Architecture ...................................................................................................................... 6
Architecture of ADPLL: ................................................................................................................ 6
Design and Operation of jitter bounded ADPLL ........................................................................... 9
Innovation in design:.................................................................................................................... 9
Drawbacks of Design:................................................................................................................ 10
CHAPTER 3 ................................................................................................................................. 11
Simulation and Synthesis Results ............................................................................................. 11
Verilog Code :............................................................................................................................ 11
Simulation: ................................................................................................................................ 16
Synthesis:.................................................................................................................................. 18
Xilinx Synthesis (FPGA): ....................................................................................................... 18
RC Compiler (ASIC): .............................................................................................................. 21
Layout: ................................................................................................................................... 24
FPGA vs ASIC implementation comparision: ......................................................................... 25
Reports : ................................................................................................................................ 26
References .................................................................................................................................. 27
Page | 2
List of figures
Figure 1 Basic Block diagram of PLL .............................................................................................. 4
Figure 2: Block diagram of Digital PLL ............................................................................................ 6
Figure 3: Digital Frequency Detector ............................................................................................... 7
Figure 4: SAR as loop filter ............................................................................................................. 7
Figure 5: Accumulator type DCO .................................................................................................... 8
Figure 6: Simulation for p=2 .......................................................................................................... 16
Figure 7: Simulation for p=4 .......................................................................................................... 16
Figure 8 : Simulation for p=8 ......................................................................................................... 17
Figure 9: Simulation for p=16 ........................................................................................................ 17
Figure 10: Layout of ADPLL .......................................................................................................... 24
Figure 11: Placement of cells ........................................................................................................ 25
Page | 3
CHAPTER 1
INTRODUCTION
All Digital Phase locked loop:
Phase locked loop (PLL) is a very important clocking circuit for many digital systems such
as digital communication and microprocessor. It can be used for frequency synthesis and locking
the phase. Traditionally, the PLL is designed using analog techniques but with the increasing use
of SoC and deep sub-micron technology it takes a lot of effort to integrate an analog block to a
digital system. Furthermore, with the change of technology, the analog blocks need to be redesigned.
In contrast, all digital phase locked loop (ADPLL) uses the cell based design
approach, so it can be easily integrated into digital system. Also ADPLL has higher immunity for
switching noise, and process, voltage and temperature (PVT) variations.
Oscillator
Phase Frequency Detector
Filter
Divider
Page | 4
Oscillator:
It generates the desired frequency of the PLL. It can be a voltage controlled
oscillator (VCO) or a digitally controlled oscillator (DCO).
Phase Frequency Detector:
It produces a signal proportional to the phase difference between the incoming
signal and the VCO output signal.
Filter:
The output of the phase detector is filtered by a low-pass filter (LPF) and is fed to
the oscillator.
Divider:
Divider circuit divides the frequency of oscillator before it is fed to the phase
frequency detector for comparision with the incoming signal. By adjusting the value of the divider
we can change the frequency of the oscillator.
Page | 5
CHAPTER 2
ADPLL Architecture
Architecture of ADPLL:
A Phase Locked Loop is a closed loop control system which is used for the purpose of
synchronization of the frequency and phase of a locally generated signal with that of an incoming
signal. There are basically three components in a PLL. The Phase and Frequency detector (PFD),
the loop filter and the Voltage Controlled Oscillator (VCO). The VCO is the heart of any PLL. The
mechanism by which this VCO operates decides the type of the PLL circuit being used. The analog
PLL or the Linear PLL has been in use since a long time. It basically uses a multiplier circuit for
serving the purpose of the PFD and a first order filter for the loop filter and a typical analog VCO.
Though the name Digital is present in the DPLL, its not exactly a complete Digital PLL. The All
Digital PLL makes an attempt at digitizing all the three components required for the operation of a
phase locked loop. The general structure of ADPLL is shown below in figure.
Page | 6
The EXOR mechanism offers a simple yet reliable method of phase detection. One main
drawback of this mechanism is its lack of sensitivity to edges. Its a flat triggered mechanism. To
eliminate this drawback the edge triggered mechanism comes into picture. The edge triggered JK
mechanism is the most popular and effective one. It is sensitive to the edges and hence
instantaneous corrective action can be achieved. The incoming reference signal acts as one input
and the output of the Digital Controlled Oscillator (feedback of the PLL) acts as the other input.
This mechanism that has been used in the design of the current Jitter bounded ADPLL is shown
below in figure.
Page | 7
Accumulator
type DCO
The DCO output is generated by successively adding the value of an integer K to itself at
the high frequency rate fs of a system clock. The accumulator type DCO is made use of in this
current design of ADPLL. The accumulator type DCO along with the edge triggered JK flip-flop
offer a powerful phase lock mechanism. The value at the output of the adder at time n is,
Output of latch = nk modulo 2N.
The DCO output is given by the most significant bit of the output of the latch, so that the
DCO output frequency is given by the formula,
In effect, this latch acts as a phase register, which indicates the phase of the DCO output
signal. As such, the above adder-latch arrangement constitutes a frequency generator which
operates at a fixed rate for given values of k and fs. In order to generate the desired frequency.
This adder-latch arrangement is operated in conjunction with a frequency comparator which
searches for a value of k that leads to p pulses of the DCO output during two successive rising
edges of the fq clock. For given values of fq and fs , it is possible to find at least one integer k
which leads to less than (p+1/2) and more than (p-1/2) DCO clock periods during a single cycle of
the q f clock, if the number of bits of the accumulator, N, satisfies the inequality
Page | 8
Innovation in design:
It is difficult to write Verilog code which can be synthesised to count the number of f dco
pulses between two positive edges of fref signal. In order to accomplish this task a set of flag
registers were used. Using them as control signals in two always blocks, conditions were set/unset
in order to properly count the number of f dco pulses between two positive edges of f ref signal. Also
the phase comparator block was eliminated from the existing architecture so that chip area is
reduced without losing the performance much.
Page | 9
Drawbacks of Design:
The designed ADPLL could generate frequencies in range 1KHz 100KHz only. To
generate further higher frequencies very high system frequency clock is to be used which causes
limitation in the critical delay path of the adder block in DCO.
Page | 10
CHAPTER 3
Simulation and Synthesis Results
Verilog Code :
module ADPLL(fs,fq,fdco,p);
input fs,fq;
input [7:0]p;
output fdco;
wire [7:0]m_out;
wire [15:0]k;
DCO dco1(k,fs,fq,fdco);
divide_p dp1(fdco,fq,p,m_out);
zero_comp zc1(m_out,p,high,low);
k_register kr1(high,low,fq,ud,ctrl);
sar sar1(ud,ctrl,k,fq);
endmodule
/////////////////////////////////////////////////////////////////
module DCO(k,fs,sync,fdco);
input fs,sync;
output fdco;
input [15:0]k;
reg [15:0]latch_o;
wire [15:0]add_out;
reg count1 = 1'b1;
reg count2 = 1'b0;
assign add_out = latch_o + k;
always@(posedge count2, negedge sync)
begin
if(!sync)
count1 <= 1'b1;
else
begin
if(count2)
count1 <= 1'b0;
else
count1 <= 1'b1;
end
end
always@(posedge fs,posedge sync)
Page | 11
begin
if(sync)
begin
if (count1)
begin
latch_o <= 16'h0000;
count2 <= 1'b1;
end
else
begin
latch_o <= add_out;
count2 <= 1'b0;
end
end
else
begin
latch_o <= add_out;
count2 <= 1'b0;
end
end
assign fdco = latch_o[15];
endmodule
///////////////////////////////////////////////////////
module divide_p(fdco,load,p,m_out);
input fdco,load;
input [7:0]p;
output reg [7:0]m_out;
reg [7:0]mout1;
reg count1;
reg count2 = 1'b0;
always@(posedge load,posedge count2)
begin
if(load)
begin
mout1 <= p;
if(count2)
count1 <= 1'b0;
else
count1 <= 1'b1;
end
else
begin
if(count2)
Page | 12
end
assign low=low1;
assign high=high1;
endmodule
///////////////////////////////////////////////////////////////
module k_register(high,low,fq,ud,ctrl);
input high,low,fq;
output reg ud,ctrl;
always@(posedge fq)
begin
if((high == 1'b1) && (low == 1'b0))
begin
ud <= 1'b1;
ctrl <= 1'b1;
end
else if((high == 1'b0) && (low == 1'b1))
begin
ud <= 1'b0;
ctrl <= 1'b1;
end
else if((high == 1'b0) && (low == 1'b0))
begin
ud <= 1'b0;
ctrl <= 1'b0;
end
end
endmodule
////////////////////////////////////////////////////////
module sar(ud,ctrl,k,fq);
input ud,ctrl,fq;
output [15:0]k;
reg [15:0]k1 = 16'h8000;
integer i = 15;
always@(posedge fq)
begin
if(ctrl)
begin
if(ud)
begin
k1[i] <= 1'b1;
k1[i-1] <= 1'b1;
end
else
Page | 14
begin
k1[i] <= 1'b0;
k1[i-1] <= 1'b1;
end
i<=i-1;
end
//i=i-1;
end
assign k = k1;
endmodule
Page | 15
Simulation:
Page | 16
Page | 17
Synthesis:
The synthesis of ADPLL is done both in XILINX and RC Compiler. The synthesized RTL
diagrams are shown below.
Xilinx Synthesis (FPGA):
Top module:
DCO:
Page | 18
Divide-p:
Zero-Comparator:
Page | 19
K-register:
SAR:
Page | 20
RC Compiler (ASIC):
In RC Compiler RTL level logic has been synthesized.
Top module:
Divide by p:
Page | 21
K-register:
DCO:
Page | 22
Zero Comparator:
SAR:
Page | 23
Layout:
The layout of ADPLL is obtained from the Verilog netlist file using CADENCE SOC
Encounter tool. The layout is generated keeping the width and height ratio as 1 so that maximum
density can be achieved. Finally a density of 82% is obtained.
Page | 24
Easily configurable
ASIC
Standard Cell implementation
Page | 25
Reports :
LUT utilization:
Area:
Power:
Page | 26
References
1. Digital Phase-Locked Loop with Jitter Bounded, Stephen Walters, Vol.36, No.7 , 1989.
2. Digital integrated circuit design, Rabaey.
3. Verilog modeling, S.Palnitkar.
Page | 27