A 45nm CMOS, low jitter, all-digital delayed locked loop ...933/fulltext.pdf · Acknowledgements I...
Transcript of A 45nm CMOS, low jitter, all-digital delayed locked loop ...933/fulltext.pdf · Acknowledgements I...
A 45nm CMOS, Low Jitter, All-Digital Delay Locked Loopwith a Circuit to Dynamically Vary Phase to Achieve Fast Lock
A Thesis Presentedby
Soumya Shivakumar Begur
to
The Department of Electrical and Computer Engineering
in partial fulfillment of the requirementsfor the degree of
Master of Science
in
Electrical and Computer Engineering
Northeastern UniversityBoston, Massachusetts
October 2011
NORTHEASTERN UNIVERSITYGraduate School of Engineering
Thesis Title: A 45nm CMOS, Low Jitter, All-Digital Delay Locked Loopwith a Circuit to Dynamically Vary Phase to Achieve Fast Lock.
Author: Soumya Shivakumar Begur.
Department: Electrical and Computer Engineering.
Approved for Thesis Requirements of the Master of Science Degree
Thesis Advisor: Prof. Yong-Bin Kim Date
Thesis Reader: Prof. Fabrizio Lombardi Date
Thesis Reader: Prof. Gunar Schirner Date
Department Chair: Prof. Ali Abur Date
Director of the Graduate School:
Dean: Prof. Sara Wadia-Fascetti Date
Abstract
The objective of the thesis is to address the problem of clock skew between two different clock
domains in modern day microprocessors due to the process, voltage and temperature (PVT)
variations. In order to mitigate the misalignment of the clocks in the different clock domains, a
delay line is added in all but the reference clock domain. These delay lines add or subtract the
delay (as necessary) to keep the clocks continuously aligned to a common reference clock delay.
This ensures error free data transfer between any two clock domains.
A novel Digital DLL design is proposed to achieve short locking time by having a separate
circuitry for fast lock in the DLL. The fast lock mechanism can be switched off and the power
dissipation can be returned to normal levels after the DLL has locked. A separate fine-delay
block makes the proposed DLL have ultra-low jitter after lock. The results show that the
proposed DLL, implemented in 45nm CMOS technology, needs only 24 cycles to correct (i.e. to
lock) for 500ps clock skew when compared to more than 38 lock cycles for a conventional DLL
without the fast lock mechanism. A Monte-Carlo simulation yielded a RMS jitter and peak-
to-peak jitter values after lock of 5.26ps and 10.57ps respectively. Average power consumption
before lock is <425µW with this number falling to <335µW after lock. The frequency of
operation of the proposed DLL is 280MHz - 1.63GHz and can be used for a variety of applications
which require precise time intervals.
Acknowledgements
I would like to express my deepest gratitude to my advisor, Prof. Yong-Bin Kim for his
guidance and encouragement. I am extremely grateful for his help and support throughout my
graduate school experience. Without his valuable suggestions and assistance, this thesis would
not have been possible.
I would like to thank my brother-in-law, Mr. Sompur Shivakumar for his constant en-
couragement and evincing keen interest in my thesis. I am grateful for his valuable advice,
motivation and support throughout my graduate career.
I would also like to thank my friends for their suggestions and support.
Finally, I would like to express my profound thanks to my beloved parents, Dr. B. S.
Shivakumar and Kalpana Shivakumar, and my sister, Dr. Shilpa Shivakumar, who encouraged
me continuously and stood by me throughout my studies. I would not have made it through
the toughest times without their support.
Soumya S. BegurOctober 2011
Contents
1 Introduction 11.1 Delay Locked Loop Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Analog DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.2 Digital DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.1.3 Comparison between Analog DLL and Digital DLL . . . . . . . . . . . . . 5
1.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Design of a Digital DLL 72.1 Phase Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Control Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 Digital Controlled Delay Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.1 Coarse Delay Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.2 Fine Delay Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Design of Proposed Fast Lock Digital DLL 163.1 Design Flow of the DLL controller . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Phase Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.3 Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.1 Binary Up-Down Counter . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3.1.1 5-Bit Up-Down Counter . . . . . . . . . . . . . . . . . . . . . . . 213.3.1.2 4-Bit Up-Down Counter . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.2 Fast Lock Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.2.1 Fast Lock Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.3.2.2 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3.2.3 Encoder Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.3 Adder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.3.4 Lock Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.3.5 Adder Flip-Flop block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.3.6 Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.3.7 Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4 Digital Controlled Delay Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.4.1 Coarse Delay Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.4.2 Fine Delay Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.2.1 Fine Delay Block . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.4.2.2 16-bit Multiplexer . . . . . . . . . . . . . . . . . . . . . . . . . . 51
i
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4 Results and Performance Analysis 53
5 Conclusion and Future Works 61
List of Figures
1.1 Clock distribution in a Microprocessor. . . . . . . . . . . . . . . . . . . . . . . . . 11.2 DLL implementation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Conventional Analog DLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Conventional Digital DLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 D-flip flop based phase detector [1]. . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Dual output phase detector [2]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Dynamic phase detector [3]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4 Control mechanism in Digital DLLs [4]. . . . . . . . . . . . . . . . . . . . . . . . 102.5 Finite state machine based control block in Digital DLLs [4]. . . . . . . . . . . . 112.6 Inverter based digital controlled coarse delay line [4]. . . . . . . . . . . . . . . . . 122.7 Nand based digital controlled coarse delay line [4]. . . . . . . . . . . . . . . . . . 122.8 MUX based digital controlled coarse delay line [5]. . . . . . . . . . . . . . . . . . 132.9 Typical digital controlled fine delay line [4]. . . . . . . . . . . . . . . . . . . . . . 142.10 Thermometric/logarithmic digital controlled fine delay line [4]. . . . . . . . . . . 142.11 Phase blending circuit as the fine delay line and its output waveforms [6]. . . . . 15
3.1 Counter-controlled Digital DLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2 Proposed Digital DLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.3 Proposed Digital DLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.4 Block diagram of the Phase detector. . . . . . . . . . . . . . . . . . . . . . . . . . 193.5 Schematic of the Phase detector. . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.6 Input and output waveforms of the Phase detector. . . . . . . . . . . . . . . . . . 203.7 Block diagram of 5-bit counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.8 K-maps for the flip-flop inputs, a) DA0, b) DA1, c) DA2, d) DA3 and e) DA4. . 233.9 Schematic of 5-bit up-down counter of the DLL. . . . . . . . . . . . . . . . . . . 253.10 Output of 5-bit up-down counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.11 Block diagram of 4-bit counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.12 K-maps for the flip-flop inputs DA0, DA1, DA2 and DA3 . . . . . . . . . . . . . 283.13 Schematic of 4-bit up-down counter of the DLL. . . . . . . . . . . . . . . . . . . 293.14 Output of 4-bit up-down counter. . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.15 Block diagram of Fast Lock Mechanism. . . . . . . . . . . . . . . . . . . . . . . . 313.16 Fast Lock Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.17 Fast Lock Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.18 Fine Delay Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.19 D-Flip Flop [7]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.20 Output of FLBM for a phase difference of 200ps. . . . . . . . . . . . . . . . . . . 34
iii
3.21 Output of first set of DFFs for a phase difference of 200ps. . . . . . . . . . . . . . 353.22 Output of second set of DFFs for a phase difference of 200ps. . . . . . . . . . . . 363.23 Graph of phase difference Vs active FLBM. . . . . . . . . . . . . . . . . . . . . . 373.24 8-bit Priority Encoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.25 Block diagram of Adder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.26 a) 5-bit Ripple Carry Adder b) Full Adder. . . . . . . . . . . . . . . . . . . . . . 403.27 Graphs showing the dithering condition in DLL. . . . . . . . . . . . . . . . . . . 413.28 Lock Detector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.29 Block diagram of Adder Flip-Flop block. . . . . . . . . . . . . . . . . . . . . . . . 423.30 Block diagram of Select. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.31 5-to-32 Decoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.32 2-to-4 Decoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.33 3-to-8 Decoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.34 Coarse Delay Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.35 Coarse Delay Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.36 Fine Delay Line. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.37 Fine Delay Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.38 Fine Delay Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.39 Phase Blender Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.40 Waveforms of a) Input, Output of FDUs and b) Output of FDB. . . . . . . . . . 503.41 16-bit Multiplexer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.42 8-bit Multiplexer showing input to output path for S[2:0] = b’100. . . . . . . . . 52
4.1 PD vs. Coarse delay, No. of delay elements for 250ps PD without FLM. . . . . . 544.2 PD vs. Coarse delay, No. of delay elements for 250ps PD with FLM. . . . . . . . 544.3 Jitter values for 250ps PD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.4 PD vs. Coarse delay, No. of delay elements for 500ps PD without FLM. . . . . . 564.5 PD vs. Coarse delay, No. of delay elements for 500ps PD with FLM. . . . . . . . 564.6 Jitter values for 500ps PD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.7 PD vs. Lock cycles for proposed DLL. . . . . . . . . . . . . . . . . . . . . . . . . 584.8 PD vs. Power consumption before and after lock for proposed DLL. . . . . . . . 59
List of Tables
3.1 State table for the 5-bit up-down counter using DFF. . . . . . . . . . . . . . . . . 223.2 State table for the 4-bit up-down counter using DFF. . . . . . . . . . . . . . . . . 273.3 Truth table for 8-bit priority encoder . . . . . . . . . . . . . . . . . . . . . . . . . 383.4 Control inputs T[2:0] and the corresponding delay of CDU. . . . . . . . . . . . . 47
4.1 PD and corresponding lock cycle values of the proposed DLL. . . . . . . . . . . . 584.2 Performance comparison of the proposed DLL with other Analog DLLs. . . . . . 594.3 Performance comparison of the proposed DLL with other Digital DLLs. . . . . . 60
v
Chapter 1
Introduction
Modern day microprocessors have multiple clock domains with each clock domain being re-
stricted to a block. At any instance in time, some of them are powered down (to minimize
power dissipation) while some of them are up and running depending on the scenario of opera-
tion. They are always supplied by the same Phase locked loop (PLL) [8]. Figure 1.1 shows the
clock distribution in a microprocessor.
Figure 1.1: Clock distribution in a Microprocessor.
When the data is transferred between block-2 and block-n by means of flip flops, it is
1
CHAPTER 1. INTRODUCTION 2
important that the clocks clocking the flip flops be synchronized, so that block-n receives the
data sent from block-2 and vice versa reliably. One of the main reasons why the data transfer
may fail is if the clocks supplying those flip-flops are misaligned due to clock skew brought on by
Process, voltage, temperature variations or due to the differing delays of the clock distribution
networks in either of these blocks. While the later can be corrected before taping-out a chip, the
former is harder to correct. To alleviate this, Delay locked loops (DLL) are used to synchronize
the clocks continuously in domain-2 and domain-n. In a System on Chip (SoC) environment,
the block-1, block-2, etc. may be CPU instances.
Figure 1.2: DLL implementation.
In this thesis we are trying to equalize the delay @1 to @2 and @1 to @3 as in the Figure
1.2. A novel Digital DLL design is proposed to achieve short locking time by having a separate
fast lock mechanism in the DLL controller. The fast lock mechanism can be switched off and
CHAPTER 1. INTRODUCTION 3
the normal power dissipation can be achieved after the DLL has locked. The proposed DLL
also has less jitter after lock and less residual, uncorrectable offset. The thesis is organized as
following; In Chapter 1 the need for the DLLs, their working principle and the types of DLLs is
given. In Chapter 2 detailed schematic analysis of a Digital DLL is given. The modified DLL
architecture of digital DLL is described in Chapter 3. Finally, the results are discussed in detail
and compared with the results of other DLLs in 4.
1.1 Delay Locked Loop Overview
The reduction of clock skew is one of the important problems in the VLSI design. DLLs are used
in VLSI circuits in order to decrease clock screw in the clock networks. DLL is a feedback system
that aligns the feedback clock to the reference clock. This is done by delaying the input feedback
clock after passing it through a delay line and controlling the delay using the control mechanism.
Once the input feedback clock is delayed, a phase detector (PD) compares the phases of the two
inputs. Based on PD output value, the delay is adjusted (increased or decreased) until the two
phases are aligned. A DLL is widely used as a timing circuit in many systems for the purpose
of clock generation [9], [10], signal synchronization [11], and others [12]. For example, a DLL is
able to provide multiple clock signals which are separated from each other by a well-controlled
phase shift (delay). This application of DLL is widely used in DDR memory circuits to align the
DQS strobe in the middle of the data eye DQ. When appropriate logic, such as edge combining
is used, a new clock signal which is of a different frequency can be generated by the DLL.
Such an application of a DLL has been reported in [13] for personal communication services
(PCS). Another application of a DLL is for the purpose of clock deskewing in synchronous data
transfer among communication chips. Reducing clock skew has become increasingly important
with larger die size and higher clock frequency. A DLL for this application requires fast lock
time and good phase alignment between the reference signal and the corrected output signal. A
DLL serving as a clock deskew buffer was reported in [14] and is also discussed in this thesis . In
addition, a DLL can also be used for signal synchronization, for example, between a CPU and
a co-processor so that they can share the same data bus. This application was reported in [15].
CHAPTER 1. INTRODUCTION 4
Many of the above applications share similar requirements for the DLL, such as a short locking
time, low jitter, and a wide locking range [2]. DLLs can be either primarily analog [14], [16] or
primarily digital [17], [18] depending on the design components. Both of these are discussed in
the next sections.
1.1.1 Analog DLL
Analog DLLs were first used in clock distribution applications [9], [16]. The components of a
conventional Analog DLL are, phase detector, charge pump, low pass filter and voltage con-
trolled delay line as shown in Figure 1.3.
Figure 1.3: Conventional Analog DLL.
A phase detector compares two input signals and generates ”UP” and ”DN” output pulses
that represent the direction and magnitude of the input phase error. There are many types of
phase detectors; they differ in how they sense the input signals, what input phase difference
would result to detect no phase error, and how the phase error is represented in the output
pulses. Considering simple type of phase detectors such as the phase-frequency detectors are
those which are only rising and falling edge sensitive. They produce a single pulse at the UP or
DN output for each pair of input reference and feedback edges depending on which edge arrives
first. A charge pump, connected to the phase detector, sources or sinks current for the duration
of the UP and DN pulses from the phase detector. The net output charge is proportional to the
difference between the pulse widths of the UP and Dn outputs. The charge pump drives the
loop filter which integrates and filters the charge current to produce the control voltage. The
control Voltage drives a voltage-controlled delay line (VCDL) in a DLL which generates a delay
proportional to the control voltage [19].
CHAPTER 1. INTRODUCTION 5
1.1.2 Digital DLL
Digital DLLs are characterized by their use of digitally controlled delay line. They are typically
made of simple digital circuit elements. Figure 1.4 shows a conventional Digital DLL. The
simplicity of the digital circuit elements helps to design portable digital DLL which can be
adapted to different technologies. The conventional digital DLLs provide only moderate phase
resolution, lock time and jitter performance [17], [18], [20], [21], [6], [22], [23], [24].
Figure 1.4: Conventional Digital DLL.
The control logic controlling the delay line has been implemented in different ways. An
example of the Digital DLL with one of the designs of control logics will be discussed in Chapter
2.
1.1.3 Comparison between Analog DLL and Digital DLL
An analog DLL is a complex analog circuit requiring process-specific implementation. Scaling
of analog integrated circuits directly affects output resistance and intrinsic gain of the circuit.
As we cross below the 100nm mark, the design of these analog circuits becomes quite exigent,
especially for low supply voltages around 1 V. This results in higher power consumption and
enhanced design complexity. [25]. So, it is not practical to reuse the same design for different
technology, making analog DLL a non-portable architecture. Analog DLL generally provides
better jitter performance at the expense of greater complexity [24]. Analog DLLs are more
susceptible to process variations and less immune from power-supply noise because of smaller
noise margins. In an analog DLL, if the low pass filter has less capacitor value then this will
result in more jitter and thus providing more variation in Voltage controlled delay line. If the
CHAPTER 1. INTRODUCTION 6
capacitor value is increased to achieve less jitter then the area of the DLL increases. While
the analog circuits may be adversely affected by scaling, digital circuits become increasingly
efficient by operating at higher speeds, consuming less power and occupying smaller area [25].
Although the Digital DLL has more Jitter than Analog DLL, its greater simplicity, portability,
lower power consumption, its ability to operate at lower voltages, smaller area, more noise
immunity, short lock time and synthesizable circuit makes it very attractive for clock alignment
applications [26], [27], [28].
1.2 Conclusion
In this chapter general information about DLL and the types of DLL is described. The ad-
vantages and disadvantages of the Analog and Digital DLL are also discussed. The common
requirements for the design of a DLL are short locking time, low jitter performance, less power
consumption, small area and less phase error after lock or minimum time of resolution.
In the next chapter, a detailed discussion of the design of a Digital DLL is given.
Chapter 2
Design of a Digital DLL
The Digital DLLs are characterized by the controller that is used to control the delay line.
Digital DLLs are roughly divided into four categories. The first one is the Register-Controlled
DLL. The locked time and the number of delay cells increase exponentially as the number
of control bits increases. The second category is the Counter-Controlled DLL [3], [17]. The
counter-based controller [3], [17] replaces the register-based one to reduce the hardware of the
controller. However, the locked time and the required delay cells of the counter-controlled DLL
are similar to those of the register-controlled DLL. The third category is the DLL using the
Successive Approximation Register-Controlled(SAR) scheme [29]. It can reduce the locked time
by using the binary search algorithm. The last category is the DLL using the Time-to-Digital
Converter (TDC) [30]. Large chip area and power are required especially when it operates in the
wide frequency range. Both TDC and SAR schemes are open-loop. The open-loop characteristic
is hard to track the process, voltage, temperature and loading (PVTL) variations. Besides, the
wide range DLLs usually needs an external reset signal when the frequency of input clock
changes significantly [28].
In this thesis, a Counter-Controlled DLL has been considered and the fast lock mechanism
has been added to the control logic to reduce the lock time of the DLL. Each component of the
conventional Counter-controlled digital DLL is discussed in detail in the following sections.
Digital DLL is composed of the following main component blocks.
• Phase detector (PD)
7
CHAPTER 2. DESIGN OF A DIGITAL DLL 8
• Control mechanism (CM)
• Digital controlled delay line (DCDL)
2.1 Phase Detector
In a digital DLL the output of the phase detector is a single signal (up/down) which drives
the subsequent counter or FSM depending upon the application of DLL. Generally a PD must
satisfy the following design requirements:
• To avoid false detection the PD should spend minimum time in metastable state.
• The setup and hold times must be reasonably small.
• The setup and hold times should be comparable so as the resulting phase information is not
biased.
• The clock to Q delay should be reasonably small but is usually not a stringent requirement.
Based on the different applications, different PDs have been proposed and implemented [31],
[2], [3]. Few types of PD designs are discussed here. The simplest of the phase detectors can be
a single D flip flop (DFF) as shown in Figure 2.1. The DFF is clocked by the input reference
clock and detects the difference between the clocks by selecting the Q output of the DFF. If the
Q output is low it means that the output clock (clock signal form the end of digitally controlled
delay line) is leading the input reference clock and thus the delay of the delay line must be
increased so as to compensate for the difference in phase until the lock condition is achieved [1].
Figure 2.1: D-flip flop based phase detector [1].
CHAPTER 2. DESIGN OF A DIGITAL DLL 9
Though this design is simple and effective, it has shortcomings. If the setup and hold times
are not symmetric this may introduce a regular phase error as lagging and leading decisions
based on the hold and setup times, respectively.
Figure 2.2: Dual output phase detector [2].
Figure 2.3: Dynamic phase detector [3].
Figure 2.2 shows another implementation of PD which doesn’t have the flaws of PD in Figure
2.1. This PD consists of two identical blocks generating UP or DOWN signal. Within each
block there are two stages with a pre-charge PMOS in each stage. Output of the first stage
CHAPTER 2. DESIGN OF A DIGITAL DLL 10
controls the second stage pre-charging.
Figure 2.3 shows another PD design. To align signal phases with precision, it is important
to reduce dead zones in the PDs. The dynamic PD in Figure 2.3 improves the phase sensitivity
of Latch 1 because sharper waveforms of the reference clock and the feedback clock are obtained
by using precharged dynamic circuits. Latch 2 is connected to Latch 1 to hold the signal states.
2.2 Control Mechanism
The controlling mechanism of the digital DLL also varies based on the application of the DLL.
Counter-Controlled DLLs could be implemented in two ways. Figure 2.4 and Figure 2.5 shows
these two implementations.
A straight forward control mechanism is shown in Figure 2.4. In this design, the PD controls
an up/down counter that is used to set the delay of the DCDL so as to compensate for the
phase difference between the PD inputs. When the output of the PD is high, the counter
is incremented, increasing the delay of DCDL and when PD output is low, the counter is
decremented, to decrease the delay of DCDL, thus attaining the lock condition [1].
Figure 2.4: Control mechanism in Digital DLLs [4].
The Figure 2.5 shows an advanced control mechanism in which a finite state machine (FSM)
is placed between the PD and the up/down counter. Here, the FSM sends a high or low signal
to the input of the counter not only based on the PD output but also on the internal state of
the FSM, which is set based on the initial conditions of the system. The design of such an FSM
CHAPTER 2. DESIGN OF A DIGITAL DLL 11
is very complex and may directly affect the dynamic range and stability of DLL [1].
Figure 2.5: Finite state machine based control block in Digital DLLs [4].
2.3 Digital Controlled Delay Line
The delay line is the most important component of the DLL and has a profound effect on the
overall performance of the DLL. Commonly, digital DLLs are composed of two delay lines:
a coarse delay line and a fine delay line. The coarse delay line is also referred to as Gate-
delay DCDLs while the fine delay line is also referred to as Subgate-delay DCDL. There are
various number of delay line structures that are employed or that have been proposed for
different applications. The following section briefly discusses few of the commonly used DCDL
structures.
2.3.1 Coarse Delay Line
The coarse delay lines are composed of CMOS logic gates and are cascaded to form a delay line.
The simplest of the delay lines for digital DLL is a chain of cascaded inverters with each stage
consisting of a pair of inverters and the required output tap is selected by a multiplexer. The
minimum delay of each stage is 2TD where TD is the average CMOS gate delay and requires
log2N storage elements where N is the number of stages [1]. A coarse delay line design discussed
in [4] is shown in the Figure 2.6 .
This implementation has four delay stages between the input and output. If the number
of delay stages is increased as per the design requirement, this may load the input clock. To
CHAPTER 2. DESIGN OF A DIGITAL DLL 12
overcome the loading, separate buffers must be introduced thus increasing the delay of each cell
to more than 2TD. This increase in delay would depend on the amount of added buffering [4], [1].
Figure 2.6: Inverter based digital controlled coarse delay line [4].
Figure 2.7: Nand based digital controlled coarse delay line [4].
CHAPTER 2. DESIGN OF A DIGITAL DLL 13
A work-around to this problem is shown in Figure 2.7. In this structure, the loading on
the input clock is prevented by varying the delay line in a telescopic fashion. Adapting this
structure eliminates the need to introduce internal buffering of the clock signal thus maintaining
the delay of each stage to 2TD. A shift register controls the delay of each cell of these cells. For
example, when Q [0] =1 and Q [3:1] =0 the output clock signal would have a two nand gate
delay i.e. the delay of A and B nand gates in cell 0. When Q [1] =1 and the rest of the values
are low the output path would be nand gate C in cell 0, nand gate A in cell 1, nand gate B in
cell 1, nand gate B in cell 0. The wrap around in the delay cell 3 toggles the delay line between
various modes [4], [1].
Figure 2.8 shows another implementation of coarse delay line. Here, the delay line consists
of multiple delay cells connected as shown in the Figure 2.8. Each delay cell consists of a
multiplexer (MUX) and a buffer. The input1 of the MUX of first delay cell is connected to vdd
and for all other delay cells the input1 is connected to the output of the previous stage cell.
The input2 of all the MUX are connected to clock. The delay line is controlled through the
select lines which are the output of the control logic.
Figure 2.8: MUX based digital controlled coarse delay line [5].
In this thesis, we are using similar MUX based digital controlled delay line.
2.3.2 Fine Delay Line
Two designs of the fine delay line, which generate delay by using the RC delay characteristics
are shown in Figure 2.9 and Figure 2.10. The structure in Figure 2.9 relies on varying cell
resistance. The branches are controlled by using digital bits Q [2:0] which switch in a fixed
specified pattern. The bits can only be thermometric ally encoded for this circuit due to poor
CHAPTER 2. DESIGN OF A DIGITAL DLL 14
linearity behavior of the circuit. For increased dynamic range several stages can be cascaded.
The greater the number of devices that are ON at a particular time smaller will be the RC
delay.
Figure 2.9: Typical digital controlled fine delay line [4].
In the second design of the fine delay shown in Figure 2.10, the RC delay increases with the
number of ON devices. The digital control bits can be encoded using both thermometric and
logarithmic codes due to linear characteristics of the circuit. As in former structure the dynamic
range increases by cascading several stages [1]. These RC based delay lines are discussed in more
detail in [4].
Figure 2.10: Thermometric/logarithmic digital controlled fine delay line [4].
The design proposed in [6] also helps to have very fine phase resolution which can be used
as the fine delay line. This design uses the inverter phase blending mechanism as shown in
CHAPTER 2. DESIGN OF A DIGITAL DLL 15
the Figure 2.11. This circuit receives two phase adjacent input signals, ΦA and ΦB, which are
separated in phase by one inverter delay. The phase blender directly passes these two signals
with a simple delay to produce output signals φA, φB and it also uses a pair of phase-blending
inverters to interpolate between these two input signals to produce a third output signal, φAB,
having a phase between that of φA and φB and this effectively doubles the available phase
resolution. The graph in Figure 2.11 shows the output phase blended waves. Phase blending
mechanism is discussed in detail in [6].
Figure 2.11: Phase blending circuit as the fine delay line and its output waveforms [6].
2.4 Conclusion
In this chapter detailed information about the Digital DLL and previous Digital DLL component
designs is provided. These designs forms the basis for the design of the DLL in this thesis.
In the next chapter detailed design of the proposed Digital DLL is given.
Chapter 3
Design of Proposed Fast Lock
Digital DLL
The proposed DLL is an improved design of a Counter-Controlled Digital DLL as mentioned
before. This chapter covers the block diagram of the proposed DLL along with the detailed
explanation of each module in the block diagram. The logic design is also described thoroughly.
The design goal is to reduce the lock time of the DLL without changing the power consumption
of the circuit after lock and also to reduce the jitter and the residual, uncorrectible offset DLL
with the DLL operating frequency of 280MHz - 1.63GHz.
Figure 3.1: Counter-controlled Digital DLL.
16
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 17
The process used for the design and simulation of the proposed DLL is 45nm CMOS technol-
ogy. The tools used for the design and simulation are Cadence and HSPICE respectively. The
Figure 3.1 and Figure 3.2 shows the block diagram of a complete Digital DLL without the im-
plementation of the Fast lock mechanism and with the implementation of Fast lock mechanism
respectively.
Figure 3.2: Proposed Digital DLL.
3.1 Design Flow of the DLL controller
The complete design flow is given in this section. Figure 3.3 shows a flowchart of the design
flow of the proposed DLL. Once the start signal is asserted, the counters and the flip flops in
the DLL are reset. If the Up Dn output signal of the PD is high(1), then the 5-bit counter
increments. If the Up Dn signal is low(0), then the 5-bit counter decrements. Depending on the
amount of clock skew, the fast lock block in the fast lock mechanism provides the 8 bit control
word output to the encoder. The encoder converts the 8 bit control word to give 3-bit control
output to a set of flip flops. The 5-bit counter output and the clocked output from the encoder
flip-flop block are fed to the adder input. The adder adds these two inputs to give 5-bit sum
output. The buffered adder output is fed to a set of flops which helps to fix the adder output
after lock and also to select line and lock detect block.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 18
Figure 3.3: Proposed Digital DLL.
The output of the lock detector, Lock acts as the select line of the select block. If Lock is 1,
the select line selects the output of the flip flop block which will be fixed throughout the DLL
operation after lock. If Lock is 0, the select block selects the buffered adder output to feed the
input of the 5-to-32 bit decoder. The decoder generates the controller output to control the
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 19
coarse delay line. Based on the controller output corresponding delay is added to the input
clock. Also, when Lock is 1, the 4 bit counter controlling the fine delay line is enabled and
when the Lock is 0, the 4 bit counter is disabled and the counter value is b’0000. This complete
process is repeated continuously in a loop as shown in the Figure 3.3 in order to align the
feedback clock (Fbk clk) to the reference clock (Ref clk) .
The proposed digital DLL also consists mainly of 3 parts namely,
• Phase detector (PD)
• Controller
• Digitally controlled delay line (DCDL)
The design of each block is discussed in detail in the following sections.
3.2 Phase Detector
The use of a PD and its different designs were discussed in chapter 2. The PD used in the
proposed DLL design is a dynamic PD. The block diagram showing the inputs and outputs of
the PD is shown in the Figure 3.4. Ref clk and Fbk clk are the inputs to the PD and Up dn is
the output signal. The PD consists of three SR latches and few basic gates connected as shown
in the Figure 3.5. The NOR gate is used to produce the reset signal for the PD. The first two
latches produce the PD output based on the clock skew between the Ref clk and the Fbk Clk.
The third latch is used to latch the PD output to the negative edge of the Ref clk. The dummy
is used for load balancing between the upper and lower part of the PD.
Figure 3.4: Block diagram of the Phase detector.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 20
Figure 3.5: Schematic of the Phase detector.
Figure 3.6: Input and output waveforms of the Phase detector.
The input and output waveforms of the PD are shown in the Figure 3.6. A, B and C in
Figure 3.6 shows the output of the PD for three different cases of the Fbk clk. A corresponds
to the output of PD when the Ref clk lags Fbk clk, B corresponds to the output when Ref clk
leads Fbk clk, and C refers to the output when the Ref clk and Fbk clk are exactly aligned.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 21
The PD output is high when the Ref clk lags Fbk clk. When the Ref clk leads Fbk clk, the
PD output goes low at the falling edge of the clock which appears first (here it is the Ref clk).
When the inputs are exactly aligned, the output of the PD goes high at the falling edge of
the clock appearing first. The PD is very sensitive and it can detect even 1ps of lead or lag
condition of the input clocks.
3.3 Controller
The controller block consists of different components namely,
• Binary up-down counters
• Fast lock mechanism
• Adder
• Lock detector
• Adder flip-flop block
• Select
• Decoder
Each of these components are discussed in detail in the following sections.
3.3.1 Binary Up-Down Counter
A binary Up-down counter is a counter which counts up when the input of the counter is high
and counts down when the input is low [32]. Two counters are used in the proposed DLL. They
are,
• 5-bit up-down counter
• 4-bit up-down counter
3.3.1.1 5-Bit Up-Down Counter
A basic block diagram of the 5-bit up down counter is shown in the Figure 3.7. Up dn signal
from the PD is the data input(In) to the counter. The counter is clocked by the Ref clk%2 (f2)
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 22
Figure 3.7: Block diagram of 5-bit counter.
Table 3.1: State table for the 5-bit up-down counter using DFF.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 23
Figure 3.8: K-maps for the flip-flop inputs, a) DA0, b) DA1, c) DA2, d) DA3 and e) DA4.
DA0 = A0 = A0 ⊕(U + U
)DA1 = A1 ·A0 +A1 ·A0
= A1 ⊕(U ·A0 + U ·A0
)DA2 = A2 ·A1 +A2 ·A0 +A1 ·A2 ·A0
= A2 ⊕(U ·A1 ·A0 + U ·A1 ·A0
)DA3 = A3 ·A1 +A3 ·A2 +A3 ·A0 +A3 ·A2 ·A1 ·A0
= A3 ⊕(U ·A0 ·A1 ·A2 + U ·A0 ·A1 ·A2
)DA4 = A0 ·A1 ·A2 ·A3 ·A4 +
(A1 +A3 +A2 +A0
)·A4
= A4 ⊕(U ·A0 ·A1 ·A2 ·A3 + U ·A0 ·A1 ·A2 ·A3
)
(3.1)
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 24
clock(Clk). The counter is enabled when enb = 0. The counter acts as an Up counter when
Up dn = 1 and it acts as a Down counter when Up dn = 0. The outputs of the counter are
denoted as A [4 :0] . A4 is the MSB and A0 is the LSB in the output of the counter.
In order to design such a 5-bit counter, a state change table is created as shown in Table
3.1. Here U represents UP and D represents Down. In our design if Up = 1 then D =0 and if
Up=0 then D=1. Therefore D can be represented as U .
K-maps are usually used to derive the flip-flop input equations. By using the Table 3.1,
K-map is drawn as shown in the Figure 3.8. The flip-flop equations in 3.1 are derived for DA0,
DA1, DA2, DA3 and DA4 from the K-map. The schematic for the 5-bit counter is based on
the above mentioned equations obtained from the K-map. The equations in 3.1 shows that
the counter design requires up to 5 input AND gates. As the basic gates with more than 3
inputs are less efficient, the counter is designed with a maximum of 3 input AND gates and the
equation requiring more than 3 inputs gates have be simplified in the design. The Figure 3.9
shows the schematic of the 5-bit- up-down counter. The Figure 3.10 shows the output of the
counter.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 25
Figure 3.9: Schematic of 5-bit up-down counter of the DLL.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 26
Figure 3.10: Output of 5-bit up-down counter.
3.3.1.2 4-Bit Up-Down Counter
The basic block diagram of the 4-bit up-down counter is shown in the Figure 3.11. As in the
5-bit counter, Up dn signal from the PD is the data input(In) to the counter. The counter is
clocked by the f2 clock (Clk) and it is enabled when en = 1. Even here, the counter acts as an
Up counter when Up dn = 1 and it acts as a Down counter when Up dn = 0. The outputs of
the counter are represented as A[3 :0]. A3 is the MSB and A0 is the LSB in the output of the
counter. In order to design such a 4-bit counter, a state change table is created as shown in
Table 3.2. In the table, U represents UP and D represents Down. In our design if Up = 1 then
D =0 and if Up=0 then D=1. Therefore D can be represented as U .
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 27
Figure 3.11: Block diagram of 4-bit counter.
Table 3.2: State table for the 4-bit up-down counter using DFF.
K-maps are used to derive the flip-flop input equations as before. By using the Table 3.1,
K-map is drawn as shown in the Figure 3.12. From the K-maps, the equations 3.2 are derived for
DA0, DA1, DA2 and DA3.The schematic for the 4-bit counter is based on the above mentioned
equations obtained from the K-map. The equations in 3.2 shows that the counter design requires
up to 4 input AND gates. As mentioned in the 5-bit counter design, the counter is designed
with a maximum of 3 input AND gates and the equation requiring more than 3 inputs gates
have be simplified in the design. The Figure 3.13 shows the schematic of the 4-bit up-down
counter. The Figure 3.14 shows the output of the counter.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 28
Figure 3.12: K-maps for the flip-flop inputs DA0, DA1, DA2 and DA3
DA0 = A0 = A0 ⊕(U + U
)DA1 = A1 ·A0 +A1 ·A0
= A1 ⊕(U ·A0 + U ·A0
)DA2 = A2 ·A1 +A2 ·A0 +A1 ·A2 ·A0
= A2 ⊕(U ·A1 ·A0 + U ·A1 ·A0
)DA3 = A3 ·A1 +A3 ·A2 +A3 ·A0 +A3 ·A2 ·A1 ·A0
= A3 ⊕(U ·A0 ·A1 ·A2 + U ·A0cdotA1 ·A2
)(3.2)
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 29
Figure 3.13: Schematic of 4-bit up-down counter of the DLL.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 30
Figure 3.14: Output of 4-bit up-down counter.
This 4-bit counter is used to control the Fine delay line, which will be discussed in Delay
Line section.
3.3.2 Fast Lock Mechanism
The addition of the fast lock mechanism to the conventional digital DLL design is the highlight
of this thesis. Figure 3.15 show its block diagram and it consists of three components namely,
• Fast lock block (FLB)
• Encoder
• Encoder flip-flops (EFF)
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 31
Figure 3.15: Block diagram of Fast Lock Mechanism.
3.3.2.1 Fast Lock Block
The fast lock block is the main unit of the FLM. It consists of phase width detector(PWD), 8
MUXs denoted as fast lock block MUX (FLBM), DFF, buffers, transmission gate based 2-bit
MUXs and basic OR gate cascaded as shown in the Figure 3.16. The input to the FLB are the
Ref clk, Fbk clk, control inputs t[2:0], enb and reset. The outputs of FLBMs, first set of DFFs
and second set of DFFs(output of FLB) are denoted by CW[1:8], D[1:8] and C[1:8] respectively.
The FLB is enabled using enb as the select line of transmission gate MUXs which have the
inputs as Ref clk and Fbk clk. When enb = 1, the FLB is disabled as the Ref clk and Fbk clk
are not allowed to pass through the transmission gate MUXs and instead low signals are passed
through the circuit. When enb = 0 the FLB is enabled and the PWD detects the amount of
phase difference between the two clock signals. The Figure 3.17 shows the schematic of the
PWD. The buffered output of PWD acts as the select line of FLBMs. Each FLBM consists of
a MUX and few basic gates and NMOS transistors connected as shown in the Figure 3.18. The
3 transmission gates connected to 3 NMOS transistor help in providing different delay based
on the control inputs, t[2:0]. So, t[2:0] can be adjusted accordingly for different input clock
frequencies.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 32
Figure 3.16: Fast Lock Block.
Figure 3.17: Fast Lock Block.
The output of one FLBM is fed to the input of the next FLBM and also to the input of the
DFF. The width of the pulse at the output of FLBM gradually decreases from first FLBM to
last FLBM and depending on the phase difference between the input clocks, the pulse gradually
disappears. The amount of decrease in the width of the pulse at successive FLBM is equal
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 33
to the delay of FLBM. The first DFF is used to detect the pulse at the output of FLBMs.
As the pulse widths could be very small, a DFF which has very less set-up and hold- time is
required. Hence the DFF design discussed in [7] is used. The schematic of the DFF is as shown
in the Figure 3.19. The set-up time and hold-time of the DFF is measured as 1ps and -14ps
respectively. The clock to Q delay of the DFF is measured as 75ps.
Figure 3.18: Fine Delay Unit.
Figure 3.19: D-Flip Flop [7].
The first DFF is clocked by the buffered output of the FLBM and is reset using delayed
Ref clk so as to ensure successful transmission of the data input to the output of the DFF.
The second DFF is used to latch the output of first DFF to the rising edge of the Ref clk. For
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 34
example, when the phase difference between the Ref clk and the Fbk clk is 200ps, the outputs
at the FLBMs, first set of DFFs and second set of DFFs (output of FLB) are as shown in
Figure 3.20, Figure 3.21 and Figure 3.22 respectively. The 4 output lines of the FLB, C[1:4]
are high for a phase difference of 200ps. The Figure 3.23 shows different phase differences and
their corresponding active FLBM.
Figure 3.20: Output of FLBM for a phase difference of 200ps.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 35
Figure 3.21: Output of first set of DFFs for a phase difference of 200ps.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 36
Figure 3.22: Output of second set of DFFs for a phase difference of 200ps.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 37
Figure 3.23: Graph of phase difference Vs active FLBM.
3.3.2.2 Encoder
An encoder is a digital circuit which has 2n input lines and n output lines. An encoder that
generates a code based on the highest priority input is called a priority encoder [32].
In this DLL, a 8-bit priority encoder is used as shown in the Figure 3.24. This circuit
basically converts a one-hot encoding into a binary representation. If input n is active, all lower
inputs (n-1 to 0) are ignored. Table 3.3 shows the truth table of the 8-bit priority encoder. The
encoder is designed based on the Boolean equations 3.3 obtained from the truth table in Table
3.3. The x term in the truth denotes don’t care terms which are ignored. In this DLL, the value
of x is always 1.
Y 2 = E7 + E6 + E5 + E4
Y 1 = E7 + E6 + E5 · E4 · E3 + E5 · E4 · E2
Y 0 = E7 + E6 · E5 + E6 · E4 · E3 + E6 · E4 · E2 · E1
(3.3)
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 38
Table 3.3: Truth table for 8-bit priority encoder
Figure 3.24: 8-bit Priority Encoder.
The 8-bit priority encoder is used to convert the 8 bit input from the FLB to a 3-bit output.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 39
3.3.2.3 Encoder Flip-Flop
The encoder flip-flop (EFF) block has a set of flip flops to clock the 3-bit inputs to the rising
edge of the Ref clk. Figure 3.15 shows the block diagram of EFF as well. The input to the EFF
block are the outputs from the 8-bit encoder, Ref clk, Reset and en. The en signal is used to
fix the value of the encoder output after one Ref clk cycle. Thus, the EFF block output doesn’t
change in the successive clock cycles.
3.3.3 Adder
An adder is a digital circuit that performs addition of numbers. The most common adders
operate on binary numbers. A 5-bit Ripple carry adder is used in the DLL to add the 5-bit
counter outputs and the flopped 8-bit encoder outputs. Figure 3.25 shows the block diagram of
the adder.
Figure 3.25: Block diagram of Adder.
Ripple carry adder is designed using multiple full adders to add N-bit numbers. Each full
adder inputs a Cin, which is the Cout of the previous adder. This kind of adder is called a ripple
carry adder, since each carry bit ”ripples” to the next full adder [32]. A full adder (FA) is a
logical circuit that accepts two operand bits, say A and B, and an incoming carry bit, denoted by
Cin to give output Sum and an outgoing carry bit denoted by Cout. The FA is a combinational
digital circuit implementing the binary addition of three bits through the Boolean equations in
3.4. Ripple carry adder is preferred in our design due to its less complexity and area efficiency.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 40
Sum = A⊕B ⊕ Cin
Cout = A ·B + (A+B) · Cin(3.4)
Figure 3.26: a) 5-bit Ripple Carry Adder b) Full Adder.
However, the delay time for worst case is more when compared to other adders. Figure 3.26
shows a 5-bit ripple carry adder and a full adder. Here, inputs A[4:0] are the 5-bit counter
outputs and B[2:0] are the flopped encoder outputs. B3, B4, Cin and Cout are connected to
ground. S[4:0] represents the adder sum outputs SUM[4:0].
3.3.4 Lock Detector
The lock detector(LD) plays a very important role in the functioning of the DLL. LD is used
to check the dithering condition of the adder output as shown in Figure 3.27. The schematic
representation of the LD is shown in Figure 3.28. It consists of a pair of DFFs connected in
series for each bit of the adder output. The inputs of the LD are the buffered outputs of the
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 41
Figure 3.27: Graphs showing the dithering condition in DLL.
Figure 3.28: Lock Detector.
adder denoted by S[4:0], f2 and reset signal and the output is the lock signal. Each bit of
the buffered adder output is compared with the corresponding second DFF output to check if
they are same by using the basic XNOR gate. When all the output bits of the adder are same
for 2 consecutive cycles, then the output of all the XNOR gates will be high and at this point
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 42
the lock signal goes high and the DLL is considered to be locked. Once the DLL is locked, the
lock signal is tied high for all the successive cycles of the DLL using the DFF at the output of
the AND gate as shown in the Figure 3.28. The lock signal is used to control different blocks of
the DLL namely, adder flip-flop block, select block, 4-bit counter and also the fast lock block.
The role of the lock signal in these blocks is discussed in the corresponding sections.
3.3.5 Adder Flip-Flop block
The set of flip-flops used to flop the buffered adder outputs is the Adder flip-flop(AFF) block.
Figure 3.29 shows the block diagram of AFF. The inputs to the AFF are S[4:0] from the adder,
lock, reset and Ref clk (clk). The output of AFF is denoted by SF[4:0]. The lock signal from
the LD is used to fix the output of adder to a particular value. When lock = 0, the output of
AFF is same as the output of adder and when lock =1, the output of AFF will be fixed to the
previous adder output and does not change in the successive clock cycles.
Figure 3.29: Block diagram of Adder Flip-Flop block.
3.3.6 Select
The select block consists of a set of transmission gate based MUXs to choose between the
buffered adder output and the flopped adder output. Figure 3.30 shows the block diagram of
the select block. The inputs S[4:0] and SF[4:0] denote the adder output and the AFF output
respectively and SM[4:0] denotes the select block output. The output of LD acts as the select
line of the MUXs in the select block. When lock = 1, the AFF output is selected and when
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 43
lock = 0, the buffered adder output is selected by the select block.
Figure 3.30: Block diagram of Select.
3.3.7 Decoder
A decoder is a combinational circuit that converts binary information from n input lines to a
maximum of 2n unique output lines [33]. A 5-to-32 bit decoder is used in the DLL. This decoder
is used to convert the select block output to the control inputs of the coarse delay line. In this
thesis, the 5-to-32 decoder is obtained by using one 2-to-4 decoder and four 3-to-8 decoder as
shown in the Figure 3.31.
A 2-to-4 decoder has 2 input lines and 22 = 4 output lines as shown in Figure 3.32. The
2-to-4 decoder is implemented through Boolean equations in 3.5. This decoder controls the
enable input of the four 3-to-8 decoders in the 5-to-32 decoder as in Figure 3.31.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 44
Figure 3.31: 5-to-32 Decoder.
Figure 3.32: 2-to-4 Decoder.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 45
D0 = I1 · I0 · EnD1 = I1 · I0 · EnD2 = I1 · I0 · EnD3 = I1 · I0 · En
(3.5)
Similarly, a 3-to-8 decoder has 3 input lines and 23 = 8 output lines as shown in Figure 3.33
and it is implemented through the Boolean equations in 3.6.
Figure 3.33: 3-to-8 Decoder.
D0 = I2 · I1 · I0 · EnD1 = I2 · I1 · I0 · EnD2 = I2 · I1 · I0 · EnD3 = I2 · I1 · I0 · EnD4 = I2 · I1 · I0 · EnD5 = I2 · I1 · I0 · EnD6 = I2 · I1 · I0 · EnD7 = I2 · I1 · I0 · En
(3.6)
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 46
3.4 Digital Controlled Delay Line
The delay line consists of two components namely,
• Coarse delay line
• Fine delay line
3.4.1 Coarse Delay Line
A MUX based coarse delay line(CDL) is used in this DLL. The CDL consists of 32 coarse delay
units(CDU) as shown in the Figure 3.34. The design of CDU is same as that of the FLBM
as shown in Figure 3.35. Each CDU has a 2-to-1 MUX and few basic gates as shown in the
Figure 3.35. The output from the MUX in the previous stage is fed to the input 1 of the
MUX and the clock is fed to the input 2 of all the MUXs. The 32 bit control signal from the
5-to-32 bit decoder serves as the select lines of the MUXs in the CDL. The 3 transmission gates
connected to 3 NMOS help in providing different delay based on the control inputs, t[2:0]. Each
CDU provide a delay between 32ps - 46ps depending on the control inputs. This helps to have
DLL operate for a wide range of frequencies between 280MHz to 1.62GHz. Table 3.4 gives the
different control inputs and the corresponding delay of each CDU. The output of the CDL is
the delayed clock and the amount of delay is based on the controller outputs.
Figure 3.34: Coarse Delay Line
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 47
Figure 3.35: Coarse Delay Unit.
Table 3.4: Control inputs T[2:0] and the corresponding delay of CDU.
3.4.2 Fine Delay Line
The fine delay line(FDL) mainly consists of two components namely,
• Fine delay block
• 16-bit Multiplexer
The output of the CDL is the input to the FDL. Figure 3.36 shows the block diagram of
the FDL.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 48
Figure 3.36: Fine Delay Line.
3.4.2.1 Fine Delay Block
The design of the fine delay block(FDB) is mainly based on the phase blending technique
discussed in [6]. The phase blending was explained in chapter 2 as well. FDB consists of 3
fine delay units (FDU), multiple phase blenders and dummy blocks as shown in the Figure
3.37. The design of FDU is same as that of the FLBM shown in Figure 3.38. FDUs are used
to generate clock signals of three different phases from a single clock input. The FDUs are
cascaded in such a way that the output of first FDU is fed to a input of the second FDU and
the output of second FDU is in turn fed to the input of the third FDU. The output of the
FDUs, clk1, clk2 and clk3 are blended in three stages so as to get 16 signals, c1 to c16 which
are of different phases. Figure 3.39 shows the circuit of a phase blender unit. The minimum
phase difference between any two consecutive outputs of the FDB is 4ps. So, the minimum
time resolution or the residual, uncorrectible offset of the DLL is 4ps. The outputs of the three
FDUs and the 16 phase blended outputs of the FDB are shown in Figure 3.40. As explained
in the CDL section, the control bits t[2:0] helps in adjusting the delay of the FDU according
to the frequency of operation of the DLL. The advantage of having FDU based FDL is, as the
delay of the FDU changes, the phase difference between the consecutive outputs of the FLB
also changes proportionately. This helps in having the FDL work in accordance with the CDL.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 49
Figure 3.37: Fine Delay Block.
Figure 3.38: Fine Delay Unit.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 50
Figure 3.39: Phase Blender Unit.
Figure 3.40: Waveforms of a) Input, Output of FDUs and b) Output of FDB.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 51
3.4.2.2 16-bit Multiplexer
A n-bit multiplexer takes n input signals, and shifts one of them to the single output under the
control of log2n bit select signal [33]. A 16-bit MUX has 16 input signals with 4 select lines and
a single output as shown in Figure 3.41. This 16-bit MUX is designed using two 8-bit MUXs
and one 2-bit MUX. The output of the 4-bit up-down counter discussed in the controller section
acts as the 4-bit select line of the 16-bit MUX.
Figure 3.41: 16-bit Multiplexer.
Each 8-bit MUX consists of multiple 2-bit MUXs connected as shown in the Figure 3.42.
The 2-bit mux used in this design are simple transmission gate MUXs with very less delay. The
Figure 3.42 also shows the path from input to output for the select line input, S[2:0]= b’100.
CHAPTER 3. DESIGN OF PROPOSED FAST LOCK DIGITAL DLL 52
Figure 3.42: 8-bit Multiplexer showing input to output path for S[2:0] = b’100.
3.5 Conclusion
In this chapter, detailed information about the design of each block of the proposed Digital
DLL and their corresponding simulation results are given. The advantage and the purpose of
using a particular design for each block is also explained.
In the next chapter, the results of the complete DLL are discussed and also the results of
the proposed DLL are compared with the results of other analog and digital DLLs..
Chapter 4
Results and Performance Analysis
The total number of NMOS and PMOS transistors used in the proposed DLL design are 2011
and 2403 respectively. The number of lock cycles, jitter after lock, power dissipation, and phase
error are the most important parameters considered for the performance analysis of the DLL.
The Monte-carlo simulation is carried out for a Monte Value of 30 with the following variations
in order to obtain the jitter values.
• Voltage variation from 0.9V to 1.1V with a step of 0.02
• Temperature variation from 25F to 125F with a step of 25F
• Gaussian distribution for channel length with Mean= 50nm, Absolute variation = ±2 and
σ = 3
The detailed performance analysis for two cases of phase differences between the Ref clk
and Fbk clk is given.
• Case1: Phase Difference = 200ps
In order to align the Fbk clk to Ref clk with different phase differences, the number of lock
cycles utilized by the DLL with and without fast locking mechanism is plotted in the Figure 4.2
and Figure 4.1 respectively. The Figure 4.2 and Figure 4.1 shows that less number of cycles are
required to align the Fbk clk to ref clk when compared to that of the DLL without FLM. The
RMS jitter and peak to peak jitter values are measured as 1.084ps and 2.169ps respectively as
shown in Figure 4.3
53
CHAPTER 4. RESULTS AND PERFORMANCE ANALYSIS 54
Figure 4.1: PD vs. Coarse delay, No. of delay elements for 250ps PD without FLM.
Figure 4.2: PD vs. Coarse delay, No. of delay elements for 250ps PD with FLM.
CHAPTER 4. RESULTS AND PERFORMANCE ANALYSIS 55
Figure 4.3: Jitter values for 250ps PD.
• Case2: Phase Difference = 500ps
In order to align the Fbk clk to Ref clk with different phase differences, the number of lock
cycles utilized by the DLL with and without fast locking mechanism is plotted in the Figure 4.5
and Figure 4.4 respectively. The Figure 4.2 and Figure 4.1 also shows that less number of cycles
are required to align the fbk clk to ref clk when compared to that of the DLL without FLM.
The RMS jitter and peak to peak jitter values are measured as 5.26ps and 10.57ps respectively
as shown in Figure 4.6
CHAPTER 4. RESULTS AND PERFORMANCE ANALYSIS 56
Figure 4.4: PD vs. Coarse delay, No. of delay elements for 500ps PD without FLM.
Figure 4.5: PD vs. Coarse delay, No. of delay elements for 500ps PD with FLM.
CHAPTER 4. RESULTS AND PERFORMANCE ANALYSIS 57
Figure 4.6: Jitter values for 500ps PD.
The Figure 4.7 shows the graph of PD vs. lock and it is plotted using the values in Table 4.1.
The graph shows that the lock time is less for the DLL with fast lock mechanism when compared
to that of a conventional DLL. Figure 4.8 shows the graph of PD vs. power consumption before
and after DLL locks. The graph shows that the power consumption of the DLL after lock
is almost same as that of the power consumption of the conventional DLL as the fast lock
mechanism is turned off after DLL locks.
CHAPTER 4. RESULTS AND PERFORMANCE ANALYSIS 58
Figure 4.7: PD vs. Lock cycles for proposed DLL.
Table 4.1: PD and corresponding lock cycle values of the proposed DLL.
CHAPTER 4. RESULTS AND PERFORMANCE ANALYSIS 59
Figure 4.8: PD vs. Power consumption before and after lock for proposed DLL.
The Table 4.2 shows the performance comparison of the proposed DLL with other analog
DLLs in [10], [34] and [35]. From this we can infer that the jitter values of the proposed DLL
are on par with that of the analog DLLs.
Table 4.2: Performance comparison of the proposed DLL with other Analog DLLs.
The Table 4.2 shows the performance comparison of the proposed DLL with other digital
DLLs in [36], [ [37], [38], [39], [40] and [41]. This shows that the performance of the proposed
DLL is better than that of the DLLs discussed in [36], [ [37], [38], [39], [40] and [41].
CHAPTER 4. RESULTS AND PERFORMANCE ANALYSIS 60
Table 4.3: Performance comparison of the proposed DLL with other Digital DLLs.
Chapter 5
Conclusion and Future Works
DLL plays a vital role in the successful error free data transfer between different clock domains
by aligning clocks of different domains to the reference clock. The proposed DLL has improved
performance in terms of lock cycles, jitter and less residual, uncorrectable offset by bringing
back the power consumption of the DLL to normal values after lock. The FLB of the proposed
DLL can detect a phase difference up to 400ps in a single cycle. After one cycle the FLB is
turned off. So, the delay line adjusts up to 400ps in a single cycle. For the phase difference
above 400ps, the delay line provides one delay unit delay for the successive clock cycles after the
first cycle. So, in order to further reduce the lock cycles and jitter, this design can be further
improved to store the value of the encoder output in the first cycle and then add the encoder
output values obtained in each cycle to the stored value successively.
61
Bibliography
[1] Y. A. Shah and M. T. Pasha, “A wide range low power low jitter all digital dll for videoapplications,” p. 86, 2010.
[2] C. Jia, “A delay-locked loop for multiple clock phases/delays generation,” http://smartech.gatech.edu/handle/1853/7470.
[3] K. Minami, M. Mizuno, H. Yamaguchi, T. Nakano, Y. Matsushima, Y. Sumi, T. Sato,H. Yamashida, and M. Yamashina, “A 1 ghz portable digital delay-locked loop with infi-nite phase capture ranges,” in Solid-State Circuits Conference, 2000. Digest of TechnicalPapers. ISSCC. 2000 IEEE International, 2000, pp. 350 –351, 469.
[4] T. Xanthopoulos, Clocking in Modern VLSI Systems, ser. Integrated Circuits and Systems.Springer, 2009. [Online]. Available: http://books.google.com/books?id=pG11yIbLmJoC.
[5] Y.-M. Wang and J.-S. Wang, “A low-power half-delay-line fast skew-compensation circuit,”Solid-State Circuits, IEEE Journal of, vol. 39, no. 6, pp. 906 – 918, june 2004.
[6] B. Garlepp, K. Donnelly, J. Kim, P. Chau, J. Zerbe, C. Huang, C. Tran, C. Portmann,D. Stark, Y.-F. Chan, T. Lee, and M. Horowitz, “A portable digital dll for high-speed cmosinterface circuits,” Solid-State Circuits, IEEE Journal of, vol. 34, no. 5, pp. 632 –644, may1999.
[7] A. Strollo, D. De Caro, E. Napoli, and N. Petra, “A novel high-speed sense-amplifier-basedflip-flop,” Very Large Scale Integration (VLSI) Systems, IEEE Transactions on, vol. 13,no. 11, pp. 1266 –1274, nov. 2005.
[8] S. Rusu and S. Tam, “Clock generation and distribution for the first ia-64 microproces-sor,” in Solid-State Circuits Conference, Digest of Technical Papers. ISSCC. 2000 IEEEInternational, 2000, pp. 176 –177.
[9] T. Kim and B. Kim, “Phase interpolator using delay locked loop [multiphase clock gener-ation],” in Mixed-Signal Design, Southwest Symposium on, feb. 2003, pp. 76 – 80.
[10] R. Farjad-Rad, W. Dally, H.-T. Ng, R. Senthinathan, M.-J. Lee, R. Rathi, and J. Poul-ton, “A low-power multiplying dll for low-jitter multigigahertz clock generation in highlyintegrated digital chips,” Solid-State Circuits, IEEE Journal of, vol. 37, no. 12, pp. 1804 –1812, dec. 2002.
[11] R. Aguiar and D. Santos, “Wide-area clock distribution using controlled delay lines,” inElectronics, Circuits and Systems, IEEE International Conference on, vol. 2, 1998, pp. 63–66.
62
BIBLIOGRAPHY 63
[12] H. Lee, H. Q. Nguyen, and D. Potter, “Design self-synchronized clock distribution networksin an soc asic using dll with remote clock feedback,” in ASIC/SOC Conference, 13th AnnualIEEE International, 2000, pp. 248 –252.
[13] G. Chien and P. Gray, “A 900-mhz local oscillator using a dll-based frequency multipliertechnique for pcs applications,” Solid-State Circuits, IEEE Journal of, vol. 35, no. 12, pp.1996 –1999, dec. 2000.
[14] S.-I. Liu, J.-H. Lee, and H.-W. Tsao, “Low-power clock-deskew buffer for high-speed digitalcircuits,” Solid-State Circuits, IEEE Journal of, vol. 34, no. 4, pp. 554 –558, apr. 1999.
[15] M. Johnson and E. Hudson, “A variable delay line pll for cpu-coprocessor synchronization,”Solid-State Circuits, IEEE Journal of, vol. 23, no. 5, pp. 1218 –1223, oct. 1988.
[16] H.-H. Chang, C.-H. Sun, and S.-I. Liu, “A low-jitter and precise multiphase delay-lockedloop using shifted averaging vcdl,” in Solid-State Circuits Conference, 2003. Digest ofTechnical Papers. ISSCC. 2003 IEEE International, 2003, pp. 434 – 505 vol. 1.
[17] T. Hamamoto, K. Furutani, T. Kubo, S. Kawasaki, H. Iga, T. Kono, Y. Konishi, andT. Yoshihara, “A 667-mb/s operating digital dll architecture for 512-mb ddr sdram,” Solid-State Circuits, IEEE Journal of, vol. 39, no. 1, pp. 194 – 206, jan. 2004.
[18] T. Matano, Y. Takai, T. Takahashi, Y. Sakito, I. Fujii, Y. Takaishi, H. Fujisawa,S. Kubouchi, S. Narui, K. Arai, M. Morino, M. Nakamura, S. Miyatake, T. Sekiguchi,and K. Koyama, “A 1-gb/s/pin 512-mb ddrii sdram using a digital dll and a slew-rate-controlled output buffer,” Solid-State Circuits, IEEE Journal of, vol. 38, no. 5, pp. 762 –768, may 2003.
[19] A. Chandrakasan, F. Fox, W. Bowhill, and W. Bowhill, Design of high-performancemicroprocessor circuits. IEEE Press, 2001. [Online]. Available: http://books.google.com/books?id=EZoeAQAAIAAJ.
[20] J.-B. Lee, K.-H. Kim, C. Yoo, S. Lee, O.-G. Na, C.-Y. Lee, H.-Y. Song, J.-S. Lee, Z.-H. Lee,K.-W. Yeom, H.-J. Chung, I.-W. Seo, M.-S. Chae, Y.-H. Choi, and S.-I. Cho, “Digitally-controlled dll and i/o circuits for 500 mb/s/pin times;16 ddr sdram,” in Solid-State CircuitsConference, 2001. Digest of Technical Papers. ISSCC. 2001 IEEE International, 2001, pp.68 –69, 431.
[21] S. Eto, H. Akita, K. Isobe, K. Tsuchida, H. Toda, and T. Seki, “A 333 mhz, 20 mw, 18ps resolution digital dll using current-controlled delay with parallel variable resistor dac(pvr-dac),” in ASICs, 2000. AP-ASIC 2000. Proceedings of the Second IEEE Asia PacificConference on, 2000, pp. 349 –350.
[22] B.-S. Kim and L.-S. Kim, “100 mhz all-digital delay-locked loop for low power application,”Electronics Letters, vol. 34, no. 18, pp. 1739 –1740, sep. 1998.
[23] ——, “A low power 100 mhz all digital delay-locked loop,” in Circuits and Systems, 1997.ISCAS ’97., Proceedings of 1997 IEEE International Symposium on, vol. 3, june 1997, pp.1820 –1823.
BIBLIOGRAPHY 64
[24] A. Saghafi, “A novel high resolution Delay Locked loop,” https://circle.ubc.ca/handle/2429/16709.
[25] S. Henzler, Time-to-Digital Converters, ser. Springer Series in Advanced Microelectronics.Springer, 2010. [Online]. Available: http://books.google.com/books?id=L2H0FTxheH4C.
[26] T. Liran and R. Ginosar, “All-digital dll architecture and applications,”http://webee.technion.ac.il/∼ran/papers/All-Digital%20DLL%20Architecture%20and%20Applications.pdf, 2008.
[27] D. Shin, J. Song, H. Chae, K.-W. Kim, Y. J. Choi, and C. Kim, “A 7ps-jitter 0.053mm2fast-lock addll with wide-range and high-resolution all-digital dcc,” in Solid-State CircuitsConference, 2007. ISSCC 2007. Digest of Technical Papers. IEEE International, feb. 2007,pp. 184 –595.
[28] S.-K. Kao, B.-J. Chen, and S.-I. Liu, “A 62.5-625-mhz anti-reset all-digital delay-lockedloop,” Circuits and Systems II: Express Briefs, IEEE Transactions on, vol. 54, no. 7, pp.566 –570, july 2007.
[29] G.-K. Dehng, J.-M. Hsu, C.-Y. Yang, and S.-I. Liu, “Clock-deskew buffer using a sar-controlled delay-locked loop,” Solid-State Circuits, IEEE Journal of, vol. 35, no. 8, pp.1128 –1136, aug. 2000.
[30] S.-K. Kao and S.-I. Liu, “All-digital clock deskew buffer with variable duty cycles.” IEICETransactions, pp. 753–760, 2006.
[31] S. Soliman, F. Yuan, and K. Raahemifar, “An overview of design techniques for cmos phasedetectors,” in Circuits and Systems, 2002. ISCAS 2002. IEEE International Symposiumon, vol. 5, 2002, pp. V–457 – V–460.
[32] M. Mano, Digital Design. Prentice Hall, 2003. [Online]. Available: http://books.google.com/books?id=42sNAQAACAAJ.
[33] R. Katz, Contemporary Logic Design/Computer Logicworks Package. Addison-WesleyLongman, Incorporated, 1998. [Online]. Available: http://books.google.com/books?id=1isAAAAACAAJ.
[34] C. Kim, I.-C. Hwang, and S.-M. Kang, “A low-power small-area plusmn; 7.28-ps-jitter 1-ghz dll-based clock generator,” Solid-State Circuits, IEEE Journal of, vol. 37, no. 11, pp.1414 – 1420, nov. 2002.
[35] J.-H. Kim, Y.-H. Kwak, S.-R. Yoon, M.-Y. Kim, S.-W. Kim, and C. Kim, “A cmos dll-based120mhz to 1.8ghz clock generator for dynamic frequency scaling,” in Solid-State CircuitsConference, 2005. Digest of Technical Papers. ISSCC. 2005 IEEE International, feb. 2005,pp. 516 –614 vol. 1.
[36] H.-H. Chang, J.-W. Lin, C.-Y. Yang, and S.-I. Liu, “A wide-range delay-locked loop witha fixed latency of one clock cycle,” Solid-State Circuits, IEEE Journal of, vol. 37, no. 8,pp. 1021 – 1027, aug. 2002.
BIBLIOGRAPHY 65
[37] J.-T. Kwak, C.-K. Kwon, K.-W. Kim, S.-H. Lee, and J.-S. Kih, “A low cost high per-formance register-controlled digital dll for 1 gbps times;32 ddr sdram,” in VLSI Circuits,2003. Digest of Technical Papers. 2003 Symposium on, june 2003, pp. 283 – 284.
[38] H.-H. Chang and S.-I. Liu, “A wide-range and fast-locking all-digital cycle-controlled delay-locked loop,” Solid-State Circuits, IEEE Journal of, vol. 40, no. 3, pp. 661 – 670, mar. 2005.
[39] J.-S. Wang, Y.-M. Wang, C.-H. Chen, and Y.-C. Liu, “An ultra-low-power fast-lock-insmall-jitter all-digital dll,” in Solid-State Circuits Conference, 2005. Digest of TechnicalPapers. ISSCC. 2005 IEEE International, feb. 2005, pp. 422 –607 Vol. 1.
[40] Y.-J. Wang, S.-K. Kao, and S.-I. Liu, “All-digital delay-locked loop/pulsewidth-controlloop with adjustable duty cycles,” Solid-State Circuits, IEEE Journal of, vol. 41, no. 6, pp.1262 – 1274, june 2006.
[41] K.-I. Oh, L.-S. Kim, K.-I. Park, Y.-H. Jun, and K. Kim, “Low-jitter multi-phase digital dllwith closest edge selection scheme for ddr memory interface,” Electronics Letters, vol. 44,no. 19, pp. 1121 –1123, 11 2008.
[42] J. Rabaey, A. Chandrakasan, and B. Nikolic, Digital Integrated Circuits, 2/e.Pearson Education, 2003. [Online]. Available: http://books.google.com/books?id=iJlTAAAAMAAJ.
[43] R. Baker, H. Li, D. Boyce, I. of Electrical, and E. Engineers, CMOS circuit design, layout,and simulation, ser. IEEE Press series on microelectronic systems. IEEE Press, 1998, no.v. 1. [Online]. Available: http://books.google.com/books?id=obhmQgAACAAJ.
[44] N. Weste and K. Eshraghian, Principles of CMOS VLSI design: a systems perspective,ser. VLSI systems series. Addison-Wesley Pub. Co., 1993. [Online]. Available:http://books.google.com/books?id=UiBTAAAAMAAJ.
[45] J. Nurmi, Ed., Processor Design: System-On-Chip Computing for ASICs and FPGAs.Springer, 2010.
[46] A. Fahim, Clock Generators for SOC Processors: Circuits and Architectures. Springer,2010.
[47] B. Razavi, Phase-locking in high-performance systems: from devices to architectures.IEEE, 2003. [Online]. Available: http://books.google.com/books?id=z99kQgAACAAJ.
[48] A. Hatakeyama, H. Mochizuki, T. Aikawa, M. Takiia, Y. Ishii, H. Tsuboi, S. Fujioka, S. Ya-maguchi, M. Koga, Y. Serizawa, K. Nishimura, K. Kawabata, Y. Okajima, M. Kawano,H. Kojima, K. Mizutani, T. Anezaki, M. Hasegawa, and M. Taguchi, “A 256 mb sdramusing a register-controlled digital dll,” in Solid-State Circuits Conference, 1997. Digest ofTechnical Papers. 43rd ISSCC., 1997 IEEE International, feb. 1997, pp. 72 –73, 433.
[49] T. Matic, T. Svedek, and M. Herceg, “Pld implementation of all-digital delay-locked loop,”in ELMAR, 2008. 50th International Symposium, vol. 1, sept. 2008, pp. 249 –252.
[50] B. Mesgarzadeh and A. Alvandpour, “A low-power digital dll-based clock generator inopen-loop mode,” Solid-State Circuits, IEEE Journal of, vol. 44, no. 7, pp. 1907 –1913,july 2009.
BIBLIOGRAPHY 66
[51] University of California, “Freeware tool for boolean logic optimization, analysis, and syn-thesist,” http://sontrak.com/index.html.
[52] University of Hamburg, “Hamburg Design System,” http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/index.html.
[53] HSPICE, “The gold standard for accurate circuit simulation,” http://www.synopsys.com/Tools/Verification/AMSVerification/CircuitSimulation/HSPICE/Pages/default.aspx.
[54] E. Friedman, “Clock distribution networks in synchronous digital integrated circuits,” Pro-ceedings of the IEEE, vol. 89, no. 5, pp. 665 –692, may 2001.
[55] M. Alioto and G. Palumbo, “Analysis and comparison on full adder block in submicrontechnology,” Very Large Scale Integration (VLSI) Systems, IEEE Transactions on, vol. 10,no. 6, pp. 806 –823, dec. 2002.
[56] T.-S. Kim, S.-H. Wang, and B. Kim, “A low jitter, fast locking delay locked loop us-ing measure and control scheme,” in Mixed-Signal Design, 2001. SSMSD. 2001 SouthwestSymposium on, 2001, pp. 45 –50.
[57] K.-H. Cheng, C.-A. Chen, W.-B. Yang, and F.-H. Cho, “A 30phase 500mhz pll for 3x over-sampling clock data recovery,” in VLSI Design, Automation and Test, 2007. VLSI-DAT2007. International Symposium on, apr. 2007, pp. 1 –4.
[58] B. Nikolic, V. Stojanovic, V. Oklobdzija, W. Jia, J. Chiu, and M. Leung, “Sense amplifier-based flip-flop,” in Solid-State Circuits Conference, 1999. Digest of Technical Papers.ISSCC. 1999 IEEE International, 1999, pp. 282 –283.
[59] H. Zhang and P. Mazumder, “Design of a new sense amplifier flip-flop with improvedpower-delay-product,” in Circuits and Systems, 2005. ISCAS 2005. IEEE InternationalSymposium on, may 2005, pp. 1262 – 1265 vol. 2.
[60] Y.-B. Kim and T. Chen, “A cmos delayed locked loop (dll) for reducing clock skew to under500 ps,” in Design Automation Conference 1997. Proceedings of the ASP-DAC ’97. Asiaand South Pacific, jan. 1997, pp. 681 –682.
[61] H.-H. Chang, J.-W. Lin, C.-Y. Yang, and S.-I. Liu, “A wide-range delay-locked loop witha fixed latency of one clock cycle,” Solid-State Circuits, IEEE Journal of, vol. 37, no. 8,pp. 1021 – 1027, aug. 2002.
[62] G. Jovanovic, M. Stojcev, and D. Krstic, “Delay locked loop with linear delay element,”in Telecommunications in Modern Satellite, Cable and Broadcasting Services, 2005. 7thInternational Conference on, vol. 2, sept. 2005, pp. 397 – 400 vol. 2.
[63] Y. Rong-Jyi and L. Shen-Iuan, “A 2.5 ghz all-digital delay-locked loop in 0.13 µ m cmostechnology,” Solid-State Circuits, IEEE Journal of, vol. 42, no. 11, pp. 2338 –2347, nov.2007.