U.S. patent application number 11/466078 was filed with the patent office on 2008-02-21 for false lock protection in a delay-locked loop (dll).
This patent application is currently assigned to HUAYA MICROELECTRONICS, LTD.. Invention is credited to JingRong LI, I-Teh SHA, HaiTao SUN, LiFeng ZHANG.
Application Number | 20080042703 11/466078 |
Document ID | / |
Family ID | 39100822 |
Filed Date | 2008-02-21 |
United States Patent
Application |
20080042703 |
Kind Code |
A1 |
SHA; I-Teh ; et al. |
February 21, 2008 |
FALSE LOCK PROTECTION IN A DELAY-LOCKED LOOP (DLL)
Abstract
A delay-locked loop (DLL) to produce a plurality of delayed
clock signals comprising combinational logic for false lock
detection is provided. The combinational logic uses only a subset
of the plurality of delayed clock signals to provide a forward
indicator indicating a delay period (.DELTA.t) is longer than a
desired delay period. The combinational logic further provides a
back indicator indicating the delay period (.DELTA.t) is shorter
than a desired delay period.
Inventors: |
SHA; I-Teh; (Cupertino,
CA) ; ZHANG; LiFeng; (Shanghai, CN) ; SUN;
HaiTao; (Shanghai, CN) ; LI; JingRong;
(Shanghai, CN) |
Correspondence
Address: |
Silicon Valley Patent Group LLP;Attn: Bryan H. Wyman
18805 Cox Avenue, Suite 220
Saratoga
CA
95070
US
|
Assignee: |
HUAYA MICROELECTRONICS,
LTD.
San Jose
CA
|
Family ID: |
39100822 |
Appl. No.: |
11/466078 |
Filed: |
August 21, 2006 |
Current U.S.
Class: |
327/158 |
Current CPC
Class: |
H03L 7/093 20130101;
H03L 7/087 20130101; H03L 7/095 20130101; H03L 7/0812 20130101;
H03L 7/0891 20130101 |
Class at
Publication: |
327/158 |
International
Class: |
H03L 7/06 20060101
H03L007/06 |
Claims
1. A delay-locked loop (DLL) to produce a plurality of delayed
clock signals wherein each pair of sequential clock signals forms a
common delay period (.DELTA.t), the DLL comprising: combinational
logic comprising: an input port to accept a subset of the plurality
of delayed clock signals wherein a total count of the plurality of
delayed clock signals comprises a total value N and a total count
of signals in the subset comprises a total subset value of N-2 or
fewer signals; forward logic to provide a forward indicator,
wherein the forward indicator indicates the delay period (.DELTA.t)
is longer than a desired delay period; back logic to provide a back
indicator, wherein the back indicator indicates the delay period
(.DELTA.t) is shorter than a desired delay period; lock logic to
provide a lock indicator, wherein the lock indicator validates at
least one of the forward and back indicators; and an output port to
provide the forward, back and lock indicators.
2. The DLL of claim 1, further comprising: a delay line comprising:
a first input port to accept a source signal (D.sub.ref); a second
input port to accept a delay line control signal wherein the delay
line control signal effects a duration of the delay period
(.DELTA.t); and an output port to provide the plurality of delayed
clock signals; wherein the delay line provides the subset of the
plurality of delayed clock signals to the combinational logic.
3. The DLL of claim 2, wherein the delay line comprises a
differential delay line including the plurality of delayed clock
signals.
4. The DLL of claim 1, further comprising: a phase detector
comprising: a first input port to accept a source signal
(D.sub.ref); a second input port to accept one of the plurality of
delayed clock signals; and an output port to provide up and down
indicators wherein the up indicator indicates the delay period
(.DELTA.t) is longer than a desired delay period, and wherein the
down indicator indicates the delay period (.DELTA.t) is shorter
than a desired delay period.
5. The DLL of claim 4, further comprising: charge pump logic
comprising: a first charge pump; a first input port coupled to the
output port of the combinational logic; a second input port coupled
to the output port of the phase detector; and a control signal
wherein the control signal is adapted to adjust the delay period
(.DELTA.t); wherein an input port of the first charge pump is
coupled to at least one of the output port of the combinational
logic and the output port of the phase detector.
6. The DLL of claim 5, wherein the charge pump logic further
comprises a second charge pump, wherein an input port of the second
charge pump is coupled to at least the other one of the output port
of the combinational logic and the output port of the phase
detector.
7. The DLL of claim 6, wherein charge/discharge currents of the
first charge pump is greater than charge/discharge currents of the
second charge pump.
8. The DLL of claim 6, further comprising: a filter comprising a
capacitive element to hold the control signal from the charge pump
logic.
9. The DLL of claim 1, wherein the forward logic includes logic to
account for an initial condition.
10. The DLL of claim 1, further comprising: variable rate selection
logic comprising: converter logic to convert a control signal from
charge pump logic to a delay line control signal, wherein the
converter logic has a plurality of conversion characteristics; and
selection logic to provide the control signal operated on by a
selected one of the plurality of conversion characteristics.
11. The DLL of claim 1, wherein at least one pair of sequential
clock signals in the subset forms a delay period different from the
delay period (.DELTA.t).
12. The DLL of claim 1, wherein the total subset value is less than
half of the total value N.
13. The DLL of claim 1, wherein the subset excludes .PHI..sub.n-1
and .PHI..sub.n.
14. The DLL of claim 1, wherein the subset of the plurality of
delayed clock signals comprises six or fewer signals and N is at
least 16.
15. The DLL of claim 14, wherein the six or fewer signals comprise
signals {.PHI..sub.2, .PHI..sub.4, .PHI..sub.5, .PHI..sub.8,
.PHI..sub.13, .PHI..sub.20}.
16. The DLL of claim 14, wherein the plurality of delayed clock
signals comprises N=32 signals {.PHI..sub.1, .PHI..sub.2,
.PHI..sub.3, . . . , .PHI..sub.31, .PHI..sub.32}.
17. The DLL of claim 14, wherein the forward indicator comprises a
NOR operation of .PHI..sub.2, .PHI..sub.4, .PHI..sub.5, .PHI..sub.8
and .PHI..sub.13; the back indicator comprises an AND operation of
the forward indicator and .PHI..sub.20; and the lock indicator
comprises an AND operation of the forward indicator and back
indicator.
18. A delay-locked loop (DLL) for producing a plurality of delayed
clock signals wherein each pair of sequential clock signals forms a
common delay period (.DELTA.t), the DLL comprising: combinational
logic comprising: an input port to accept a subset of the plurality
of delayed clock signals wherein a total count of the plurality of
delayed clock signals comprises a total value N and a total count
of signals in the subset comprises a total subset value of N-2 or
fewer signals, and wherein at least one pair of sequential clock
signals in the subset forms a delay period different from the delay
period (.DELTA.t); forward logic to provide a forward indicator,
wherein the forward indicator indicates the delay period (.DELTA.t)
is longer than a desired delay period; back logic to provide a back
indicator, wherein the back indicator indicates the delay period
(.DELTA.t) is shorter than a desired delay period; lock logic to
provide a lock indicator, wherein the lock indicator validates at
least one of the forward and back indicators; and an output port to
provide the forward and back indicators; a delay line comprising: a
first input port to accept a source signal (D.sub.ref); a second
input port to accept a delay line control signal wherein the delay
line control signal adjusts a duration of the delay period
(.DELTA.t); and an output port to provide the plurality of delayed
clock signals; wherein the delay line provides the subset of the
plurality of delayed clock signals to the combinational logic; a
phase detector comprising: a first input port to accept a source
signal (D.sub.ref); a second input port to accept one of the
plurality of delayed clock signals; and an output port to provide
up and down indicators wherein the up indicator indicates the delay
period (.DELTA.t) is longer than a desired delay period, and
wherein the down indicator indicates the delay period (.DELTA.t) is
shorter than a desired delay period; charge pump logic comprising:
a first charge pump; a second charge pump; a first input port
coupled to the output port of the combinational logic; a second
input port coupled to the output port of the phase detector; and a
control signal wherein the control signal is adapted to adjust the
delay period (.DELTA.t); wherein an input port of the first charge
pump is coupled to the output port of the combinational logic;
wherein an input port of the second charge pump is coupled to the
output port of the phase detector; and wherein charge/discharge
currents of the first charge pump is greater than charge/discharge
currents of the second charge pump; and a filter comprising a
capacitive element to hold the control signal from the charge pump
logic.
19. The DLL of claim 18, further comprising: variable rate
selection logic comprising: converter logic to convert a control
signal from charge pump logic to a delay line control signal,
wherein the converter logic has a plurality of conversion
characteristics; and selection logic to provide the control signal
operated on by a selected one of the plurality of conversion
characteristics.
20. A method in a delay-locked loop (DLL) to produce a plurality of
delayed clock signals wherein each pair of sequential clock signals
forms a common delay period (.DELTA.t), the method comprising:
generating the plurality of delayed clock signals having a delay
period (.DELTA.t), wherein a total count of the plurality of
delayed clock signals comprises a total value N; generating back
and forward indicators based on a subset of the plurality of
delayed clock signals, wherein a total count of signals in the
subset comprises a total subset value of N-2 or fewer signals; and
providing the back and forward indicators to charge pump logic.
21. The method of claim 20, further comprising determining the
subset of the plurality of delayed clock signals.
22. The method of claim 21, wherein the determined subset of N-2 or
fewer values comprises N/2 or fewer values.
23. The method of claim 20, further comprising generating a lock
indicator based on the subset of the plurality of delayed clock
signals.
24. The method of claim 20, further comprising: selecting a
conversion characteristic from a plurality of conversion
characteristics; converting a control signal from the charge pump
logic to a delay line control signal based on the selected
conversion characteristic; and providing the delay line control
signal to a delay line.
25. The method of claim 20, wherein the subset excludes
.PHI..sub.n-1 and .PHI..sub.n.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] Not applicable.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] The invention relates to delay-locked loops and clock
generation, and in particular to false lock protection circuitry
incorporated in delay-locked loops.
[0004] 2. Background of the Invention
[0005] A delay-locked loop (DLL) processes a reference clock signal
(D.sub.ref) to generate a sequence of delayed clock signals. The
frequency and period of the reference clock signal D.sub.ref are
the same as those of each of the generated clock signals however
each delayed clock signal is phase shifted by a common delay period
(.DELTA.t) from the previous delayed clock signal. When operating
properly, the DLL provides delayed clock signals with positive edge
transitions that span a single period of the reference clock signal
D.sub.ref. Initially, the delay period .DELTA.t might not be set to
provide such properly spaced delayed clock signals spanning one and
only one period of the reference clock signal D.sub.ref. During
initial acquisition, the DLL uses a feedback signal to adjust the
delay period .DELTA.t until the DLL converges and locks to an
appropriate fixed delay period. Over time, the fixed delay period
results in a sequence of delayed clock signals that may or may not
span a single period of the reference clock signal.
[0006] When the DLL converges on an improper delay period, it is
falsely locked. In this case, the delayed clock signals may span
more than one period of the reference clock signal if the delay
period .DELTA.t is too long. Alternatively, the delayed clock
signals may span a small fraction of one period of the reference
clock signal if the delay period .DELTA.t is too short.
[0007] One solution to determine if a DLL is falsely locked with an
improper delay period is to apply all of the delayed clock signals
to some combinational logic to determine if the delayed clock
signals properly span one period of the reference clock signal
D.sub.ref. Combinational logic processing all of the delayed clock
signals may allow a DLL to determine whether the DLL is falsely
locked to a delay period that is either too long or too short.
[0008] Using all of the delayed clock signals, however, results in
additional noise produced by the signals' combined high-low and
low-high transitions. That is, noise may be an unwanted byproduct
of a combinational logic processing a multitude of phases of the
reference clock signal. This noise results from unintentional
mixing of signals having a slightly different phase.
[0009] Thus, false lock protection circuitry may cause unwanted
interfering noise at harmonics of the reference clock frequency.
Therefore, a need exists to reduce noise generated by conventional
false lock protection circuitry.
BRIEF SUMMARY OF THE INVENTION
[0010] Some embodiments of the present invention provide for a
delay-locked loop (DLL) to produce a plurality of delayed clock
signals wherein each pair of sequential clock signals forms a
common delay period .DELTA.t, the DLL comprising: combinational
logic comprising: an input port to accept a subset of the plurality
of delayed clock signals wherein a total count of the plurality of
delayed clock signals comprises a total value N and a total count
of signals in the subset comprises a total subset value of N-2 or
fewer signals; forward logic to provide a forward indicator,
wherein the forward indicator indicates the delay period .DELTA.t
is longer than a desired delay period; back logic to provide a back
indicator, wherein the back indicator indicates the delay period
.DELTA.t is shorter than a desired delay period; and an output port
to provide the forward and back indicators.
[0011] Some embodiments of the present invention provide for a
method in a delay-locked loop (DLL) to produce a plurality of
delayed clock signals wherein each pair of sequential clock signals
forms a common delay period .DELTA.t, the method comprising:
generating the plurality of delayed clock signals having a delay
period .DELTA.t, wherein a total count of the plurality of delayed
clock signals comprises a total value N; generating forward and
back indicators based on a subset of the plurality of delayed clock
signals, wherein a total count of signals in the subset comprises a
total subset value of N-2 or fewer signals; providing the forward
and back indicators to charge pump logic.
[0012] These and other aspects, features and advantages of the
invention will be apparent from reference to the embodiments
described hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Embodiments of the invention will be described, by way of
example only, with reference to the drawings.
[0014] FIGS. 1A, 1B and 1C show a conventional DLL, a voltage
controlled delay line (VCDL) and a filter, respectively.
[0015] FIGS. 2A through 2E show a plurality of delayed clock
signals with respect to a reference clock D.sub.ref and a desired
output clock signal (desired D.sub.out).
[0016] FIGS. 3A and 3B show a conventional DLL and associated
combinational logic for providing false lock protection.
[0017] FIG. 4 shows a DLL in accordance with the present
invention.
[0018] FIGS. 5A through 5F show embodiments of a delay line (DL)
100 and supporting circuitry for the DLL of FIG. 4 in accordance
with the present invention.
[0019] FIGS. 6A through 6E show embodiments of combinational logic
for the DLL of FIG. 4 in accordance with the present invention.
[0020] FIGS. 7A, 7B, 8A and 8B show embodiments of charge pump
logic for the DLL of FIG. 4 in accordance with the present
invention.
[0021] FIG. 9 illustrates charge curves associated with both single
and double charge pump logic in accordance with the present
invention.
[0022] FIG. 10 shows another DLL in accordance with the present
invention.
[0023] FIGS. 11A, 11B and 12A through 12F show circuitry and tables
associated with the DLL of FIG. 10 in accordance with the present
invention.
[0024] FIGS. 13A through 13C illustrate a voltage-to-delay
conversion curves associated with the DLL of FIG. 10 in accordance
with the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0025] In the following description, reference is made to the
accompanying drawings which illustrate several embodiments of the
present invention. It is understood that other embodiments may be
utilized and mechanical, compositional, structural, electrical, and
operational changes may be made without departing from the spirit
and scope of the present disclosure. The following detailed
description is not to be taken in a limiting sense.
[0026] Furthermore, some portions of the detailed description which
follows are presented in terms of procedures, steps, logic blocks,
processing, and other symbolic representations of operations on
data bits that can be performed in electronic circuitry or on
computer memory. A procedure, computer executed step, logic block,
process, etc., are here conceived to be a self-consistent sequence
of steps or instructions leading to a desired result. The steps are
those utilizing physical manipulations of physical quantities.
These quantities can take the form of electrical, magnetic, or
radio signals capable of being stored, transferred, combined,
compared, and otherwise manipulated in electronic circuitry or in a
computer system. These signals may be referred to at times as bits,
values, elements, symbols, characters, terms, numbers, or the like.
Each step may be performed by hardware, software, firmware, or
combinations thereof.
[0027] FIGS. 1A, 1B and 1C show a conventional delay-locked loop
(DLL), a voltage controlled delay line (VCDL) and a filter,
respectively. The conventional DLL of FIG. 1A includes a voltage
controlled delay line (VCDL) 10, a phase detector (PD) 20, a charge
pump (CP) 30 and a capacitive filter 40. VCDL 10 accepts a source
signal (D.sub.in) from which it produces N delayed output signals
{.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n-1,
.PHI..sub.n}. For example, if the source signal D.sub.in is a clock
signal, the N output signals {.PHI..sub.1, .PHI..sub.2,
.PHI..sub.3, . . . , .PHI..sub.n-1, .PHI..sub.n} are delayed clock
signals each identical to the input source signal D.sub.in except
for a phase delay. A difference between the source signal D.sub.in
and feedback signal D.sub.out (where D.sub.out=.PHI..sub.n) in PD
20 drives CP 30, which feeds filter 40 to create a control signal
V.sub.control. The control signal V.sub.control sets the delay in
VCDL 10, which in turn is used to set the phase delay and to create
the N output signals {.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . .
, .PHI..sub.n-1, .PHI..sub.n}.
[0028] FIG. 1B shows VCDL 10 having N delay elements 11-1, 11-2, .
. . , 11-n configured to produce N delayed clock signals
{.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n-1,
.PHI..sub.n}. Each delay element 11-1, 11-2, . . . , 11-n
introduces an additional delay period .DELTA.t on the input signal
D.sub.in. A common control signal (V.sub.control) shared by each
delay element sets this common incremental delay period .DELTA.t.
As a result, each pair of sequential clock signals (i.e.,
.PHI..sub.j & .PHI..sub.j+1 for j=1 to n-1), from the plurality
of delayed clock signals {.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, .
. . , .PHI..sub.n-1, .PHI..sub.n}, is temporally separated by the
common delay period .DELTA.t.
[0029] FIG. 1C shows a filter 40 including a capacitive element (C)
41 for holding a charge to represent the voltage based control
signal V.sub.Control from the charge pump logic of FIG. 1A. In
accordance with the present invention, a delay line 10 may be
controlled by a voltage signal, as shown in FIGS. 1A and 1B.
Similarly, a delay line may be controlled by a current signal
I.sub.control as described below with reference to FIG. 4.
[0030] FIGS. 2A through 2E show properly locked, unlocked and
falsely locked DDLs each generating eight delayed clock signals
{.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, .PHI..sub.4, .PHI..sub.5,
.PHI..sub.6, .PHI..sub.7, .PHI..sub.8} with respect to a reference
clock D.sub.ref and a desired output clock signal (desired
D.sub.out) of an exemplary system.
[0031] In FIG. 2A, a properly locked system produces eight delayed
clock signals {.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, .PHI..sub.4,
.PHI..sub.5, .PHI..sub.6, .PHI..sub.7, .PHI..sub.8} each having a
common delay period .DELTA.t between each pair of sequential clock
signals. When locked, the input signal D.sub.ref and the desired
output signal (desired D.sub.out) ideally have no phase difference,
thus D.sub.out has converged to D.sub.ref (where
D.sub.out=.PHI..sub.n). Additionally, when properly locked,
D.sub.out is delayed by a single period T, thus the cumulative
delay (N*.DELTA.t) between the sequential clock signals is also a
single period T. A DLL in this state does not need to adjust the
common delay period .DELTA.t.
[0032] The illustration shows the input reference signal D.sub.ref
having a period of T (duration between points `A` and `C`). This
input reference signal D.sub.ref is delayed by .DELTA.t (duration
between points `A` and `B`) to produce .PHI..sub.1. Signal
.PHI..sub.2 is delayed by an additional time .DELTA.t and each
subsequent signal is similarly delay by an additional incremental
time .DELTA.t. Coinciding temporal points `C` and `D` illustrate
that the last delayed signal .PHI..sub.8 represents the input
reference signal D.sub.ref delayed by a full delay period T, thus
proper delaying of each of the 8 delayed clock signals
{.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, .PHI..sub.4, .PHI..sub.5,
.PHI..sub.6, .PHI..sub.7, .PHI..sub.8} is achieved. Formulaically,
N*.DELTA.t=T, where N is total numbers of delays, .DELTA.t is the
common delay period and T is the period of the input reference
signal D.sub.ref.
[0033] FIG. 2B shows a DLL that has not yet locked. Because the
duration of .DELTA.t (between points `A` and `B`) is too short, the
accumulated delay does not approach the input signal's period T and
the resulting last delayed signal .PHI..sub.8 is delayed by less
than a single delay period T. As shown, a substantial duration
exists between points `C` of .PHI..sub.8 and `D` of the desired
output signal, therefore the DLL has not properly locked. With
time, the DLL feedback mechanism may attempt to incorrectly drive
.DELTA.t to an even shorter duration .DELTA.t, however, once a
minimum value is reached .DELTA.t can be driven no lower. Thus, the
DLL remains in the unlocked state. In such an unlocked state, a DLL
may use false lock protection circuitry to increase the common
delay period .DELTA.t.
[0034] FIG. 2C shows another DLL that has failed to properly
locked. Because .DELTA.t (duration between points `A` and `B` ) is
too long, the accumulated delay of .PHI..sub.8 exceeds the period T
of the input reference signal D.sub.ref and the resulting last
delayed signal .PHI..sub.8 has a cumulative delay of more than one
delay period T. A substantially non-zero duration exists between
points `C` of .PHI..sub.8 and `D` of the desired output signal
(desired D.sub.out), therefore the DLL has not yet locked or is
improperly locked. With time, the DLL feedback mechanism may drive
.DELTA.t of an unlocked system to a properly locked state. If
falsely locked, false lock protection circuitry in a DLL may
decrease the common delay period .DELTA.t.
[0035] In FIG. 2D, as with FIG. 2B, .DELTA.t (duration between
points `A` and `B`) is too short. In this case, .DELTA.t may be so
short as to cause a DLL without false lock protection circuitry to
drive .DELTA.t to a small minimum value. Again, the accumulated
delay does not approach the input signal's period T and the
resulting last delayed signal .PHI..sub.8 has an accumulated
delayed that is far less than a single delay period T. False lock
protection circuitry in a DLL may increase the common delay period
.DELTA.t.
[0036] In FIG. 2E, as with FIG. 2C, .DELTA.t (duration between
points `A` and `B`) is too long. In this case, .DELTA.t may be so
long as to cause a DLL without false lock protection circuitry to
drive .DELTA.t to an integer multiple of period T that would result
in a proper lock. That is, the accumulated delay (N*.DELTA.t) may
approach a positive integer multiple of the input signal's period
T. In this case, the resulting last delayed signal .PHI..sub.8 may
be driven such that its accumulated delay is a multiple of period
T. Again, false lock protection circuitry in a DLL may be used to
decrease the common delay period .DELTA.t.
[0037] FIGS. 3A and 3B show a conventional DLL and associated
combinational logic 50 for providing false lock protection.
Combinational logic 50 provides false lock protection in a DLL. For
further examples, see U.S. Pat. No. 6,844,761 issued on Jan. 18,
2005, by named inventor Byun and titled "DLL with false lock
protector", the contents of which are incorporated by reference
herein and referred to as Byun below.
[0038] In FIG. 3A, a full sequence of N delayed signals
{.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n-1,
.PHI..sub.n} are fed back to ultimately effect the common delay
period .DELTA.t. Delayed signals {.PHI..sub.1, .PHI..sub.2,
.PHI..sub.3, . . . , .PHI..sub.n-2, .PHI..sub.n-1} are used by
combinational logic 50 to produces back, forward and lock
indicators and the last delayed signal .PHI..sub.n is used by PD 20
to produce a down or up indicator.
[0039] When properly functioning, delay line 10 delays last signal
.PHI..sub.n by a full and single period (T) of the input source
signal D.sub.in. When falsely locked, the delay line 10 either
delays the last delay signal .PHI..sub.n by an amount approximately
equal to multiple periods (nT) or by an amount substantially less
than a single period T. By performing logical operations on the
delayed signals {.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . ,
.PHI..sub.n-2, .PHI..sub.n-1}, combinational logic 50 indicates
whether the signal .PHI..sub.n is properly delayed by an amount
within an allowable tolerance around a single period T.
[0040] When combinational logic 50 determines the last delay signal
.PHI..sub.n is delayed by approximately a single period T,
combinational logic 50 generates a lock indicator to control
routing though a multiplexer (mux) 60. That is, when .PHI..sub.n is
sufficiently close to a one-T delay, combinational logic 50
provides a lock indicator to mux 60. Based on a lock indicator
produced, either the down/up indicator pair or the back/forward
indicator pair is routed through mux 60 to CP 30. Therefore when
locked, mux 60 passes the down/up indicator pair from PD 20 to CP
30. On the other hand, when .PHI..sub.n is not sufficiently close
to a one-T delay, combinational logic 50 sends a not-lock
indication to mux 60, which therefore routes the back/forward
indicator pair from combinational logic 50 to CP 30.
[0041] An up indicator from PD 20 or a forward indicator from
combinational logic 50 instructs CP 30 to send a control signal to
decrease the common delay period .DELTA.t. For example, a control
voltage V.sub.control may be increased, which may speed up the
operation in each delay unit 11-i (FIG. 1B), which will shorted the
common delay period .DELTA.t imposed on the input signals.
[0042] Similarly, a down indicator from PD 20 or a back indicator
from combinational logic 50 instructs CP 30 to send a control
signal increase the common delay period .DELTA.t. For example, a
control voltage V.sub.control may be decreased, which may slowdown
the operation in each delay unit 11-i (FIG. 1B), which will length
the common delay period .DELTA.t imposed on the input signals.
[0043] Therefore, through the feedback of the N delayed clock
signals {.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . ,
.PHI..sub.n-1, .PHI..sub.n}, the circuitry of FIG. 3A used feedback
signals and control signals to drive the common delay period
.DELTA.t such that delay line 10 delays the last signal .PHI..sub.n
by a single period T. Unfortunately, combinational logic 50
operating on a large number of skewed clock signals may produce
unwanted noise as described above.
[0044] FIG. 3B shows combinational logic 50 having N D-type delay
flip flops (D-FFs) 51-1, 51-2, 51-3, . . . , 51-n each latching a
respective one of the N delayed clock signals {.PHI..sub.1,
.PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n-1, .PHI..sub.n}. The
resulting N latched signals a.sub.1, a.sub.2, a.sub.3, . . . ,
a.sub.n are provided to combinational logic 52 to produce back,
forward and lock indicators.
[0045] A delay line with N=8 delays: the back indicator may be
computed logically as ((a.sub.1 AND a.sub.2 AND NOT a.sub.3) OR
(a.sub.1 AND NOT a.sub.2)); the forward indicator may be computed
logically as (a.sub.1 AND a.sub.2 AND a.sub.3 AND a.sub.4 AND
a.sub.5 AND a.sub.6 AND a.sub.7); and the lock indicator may be
computed logically as (NOT forward AND NOT back) as described in
Byun. As used in Byun, a down (or back) indicator of `0` may mean
inaction (take no action to increase delay time) whereas a down
indicator of `1` may mean action (take action to increase the delay
time). Alternatively, a down indicator of `0` may mean inaction and
a down indicator of `1` may mean action as used herein below.
[0046] FIG. 4 shows a DLL in accordance with the present invention.
The DLL includes a delay line (DL) 100, a phase detector 200,
charge pump logic 300, a filter 400 and combinational logic 500
providing false lock protection circuitry. DL 100 accepts an input
reference signal D.sub.ref from which it produces N delayed output
signals {.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . ,
.PHI..sub.n-1, .PHI..sub.n}. For example, if the reference signal
D.sub.ref is a clock signal, the N delayed clock output signals
{.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n-1,
.PHI..sub.n} are delayed clock signals each identical to the input
source signal D.sub.ref except for its phase delay. A difference
between the reference signal D.sub.ref and feedback signal
D.sub.out (where D.sub.out=.PHI..sub.n) in PD 200 is used to
generate down and up indicators that drive charge pump logic 300,
which feeds to filter 400 a control signal V.sub.control to filter
400. Filter 400 in turn creates a current control signal
I.sub.control from the voltage control signal V.sub.control. The
current control signal I.sub.control is used to set the common
delay period .DELTA.t in delay line 100 as described above with
reference to delay line 10.
[0047] Unlike combinational logic 50 of FIG. 3A, combinational
logic 500 of FIG. 4 accepts a subset of the produced N-1 delayed
clock signals {.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . ,
.PHI..sub.n-1} rather than all of the N-1 delayed clock signals.
The reduced subset of delayed clock signals, which are used to
generate back, forward and lock indicators advantageously aids in
reducing noise otherwise generated in combinational logic 50. Each
delayed signal not process in combinational logic 500 reduces noise
that may be otherwise generated from unwanted cross products of the
phase delayed signals.
[0048] FIGS. 5A through 5F show embodiments of a delay line (DL)
100 and supporting circuitry for the DLL of FIG. 4 in accordance
with the present invention. DL 100 may be controlled by various
means. For example, DL 100 may be controlled by a voltage level as
shown in FIGS. 1A and 3A. Alternatively, DL 100 may be controlled
by a current level as shown in FIG. 4. Additionally, DL 100 may
include non-differential delay elements as shown in FIG. 5A or may
include differential delay elements as shown in FIG. 5B, both
described below.
[0049] FIG. 5A shows a current controlled non-differential delay
line 100 having N delay elements 110-1, 110-2, . . . , 10-n
configured to produce N delayed clock signals {.PHI..sub.1,
.PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n-1, .PHI..sub.n}. Each
delay element 110-1, 110-2, . . . , 10-n introduces a delay period
.DELTA.t to its input signal. A common control signal
(I.sub.control) shared by each delay element coordinates this
common delay period .DELTA.t. As a result, each pair of sequential
clock signals (i.e., .PHI..sub.j & .PHI..sub.j+1 for j=1 to
n-1), from the plurality of delayed clock signals {.PHI..sub.1,
.PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n-1, .PHI..sub.n} forms
the common delay period .DELTA.t.
[0050] FIG. 5B shows current controlled differential delay line 100
having N/2 delay elements 111-1, 111-2, . . . , 111-n/2 configured
to produce N delayed clock signals {.PHI..sub.1, .PHI..sub.2,
.PHI..sub.3, . . . , .PHI..sub.n-1, .PHI..sub.n}. A complement of
the first N/2 delayed clock signals {.PHI..sub.1, .PHI..sub.2,
.PHI..sub.3, . . . , .PHI..sub.n/2} may be used to produce the
second N/2 delayed clock signals {.PHI..sub.n/2+1, .PHI..sub.n/2+2,
. . . , .PHI..sub.n}. For example, the complement of .PHI..sub.1
may be used to represent .PHI..sub.n/2+1 and the complement of
.PHI..sub.2 may be used to represent .PHI..sub.n/2+2.
[0051] To condition the delayed clock signals {.PHI..sub.1,
.PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n} buffers `b` may be
added to between a differential output port of the delay unit 111-i
and the supplied delayed clock signal as shown. Furthermore, a
delay unit 130 may be added to generate and provide proper timing
and signal levels of the reference signal (D.sub.ref=.PHI..sub.0).
Additionally, a non-differential input signal D.sub.in may be
converted to differential input signals (C.sub.in and CB.sub.in)
using a single-to-differential converter 120. In this case, the
generated reference signal D.sub.ref rather than the original input
D.sub.in may be used as an input to phase detector 200.
[0052] FIG. 5C shows a representative delay element 111-i having
differential input ports and differential output ports. A positive
differential input port accepts a first delayed signal
(.PHI..sub.i-1) and a negative differential input port accepts a
second delayed signal (.PHI..sub.n/2+i-1). A current control signal
I.sub.control is used to set the currently-used common delay period
.DELTA.t. After imposing such a delay, the delay element 111-i
provides a first delayed signal (namely, .PHI..sub.i) at a positive
differential output port and a second delayed signal (namely,
.PHI..sub.n/2+i) at a negative differential output port. To
condition the delayed clock signals, buffers 112 may be added to
between each differential output port of the delay unit 111-i and
the respective delayed clock signal.
[0053] FIG. 5D shows an alternate representative delay element
111-i that provides twice as many output signals. For example, a
DLL system designed to generate 32 delayed clock signals may be
redesigned to produce 64 delayed clock signals without adding
additional delay elements 111-i. In some embodiments each delayed
output signal .PHI..sub.i is also fed to an interpolation delay
cell (IDC) 113. In effect, IDC 113 generates a signal
.PHI..sub.i+.DELTA..PHI. that represents a delayed signal
approximately halfway between .PHI..sub.i and .PHI..sub.i-1. The
sequence of delayed clock signals {.PHI..sub.1,
.PHI..sub.1+.DELTA..PHI., .PHI..sub.2, .PHI..sub.2+.DELTA..PHI.,
.PHI..sub.3, .PHI..sub.3+.DELTA..PHI., . . . , .PHI..sub.n,
.PHI..sub.n+.DELTA..PHI.} may be renumbered as {.PHI..sub.1,
.PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.2n}. For example,
{.PHI..sub.1, .PHI..sub.1+.DELTA..PHI., .PHI..sub.2,
.PHI..sub.2+.DELTA..PHI., .PHI..sub.3, .PHI..sub.3+.DELTA..PHI., .
. . , .PHI..sub.32, .PHI..sub.32+.DELTA..PHI.} may be renumbered as
{.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.64}.
[0054] FIG. 5E shows an example embodiment of IDC 113. One or more
delay devices may be selected, such as a pair of inverters (114 and
115), to introduce an extra propagation time .DELTA..PHI., where
.DELTA..PHI. equals approximately .DELTA.t/2.
[0055] FIG. 5F shows an alternate embodiment wherein one IDC 113
may be used to delay a selected delayed clock signal. For example,
five bits (Bit 1 to Bit 5) may be used by a 5-bit decoder 116 to
select one of 32 input signals {.PHI..sub.1, . . . , .PHI..sub.32}.
The selected signal .PHI..sub.i may then be passed through
inverters 114 and 115 to provide a representative interpolated
signal .PHI..sub.i+.DELTA..PHI.. Another bit (Bit 0) may be used as
a selection bit to a multiplexer (mux) 117 to selects either the
signal .PHI..sub.i from decoder 116 or the representative
interpolated signal .PHI..sub.i+.DELTA..PHI. from IDC 113. Mux 117
may provide an output signal .PHI..sub.out for use in combinational
logic 500.
[0056] FIGS. 6A through 6E show embodiments of combinational logic
500 for the DLL of FIG. 4 for various values of N. Combinational
logic 500 may be comprised of forward logic 510, back logic 520 and
lock logic 530. This logic may be comprised of registers, such as
D-FFs, and logic gates, such as NOR and AND gates. Applied as input
signals to combinational logic 500 is a subset {.PHI..sub.x1,
.PHI..sub.x2, .PHI..sub.x3, . . . , .PHI..sub.xm, .PHI..sub.y1, . .
. , .sub.yp} selected from the set of delayed clock signals
{.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n-1},
where a subset has fewer elements than the set. That is, the
forward, back and lock indicators may be generated with a logical
combination of this subset of signals without reference to other
delayed clock signals not in the subset. Additionally, a subset
that excludes terms near the end of the delay chain can more
quickly determine whether or not a DLL is locked. For example,
excluding .PHI..sub.n-1 and/or .PHI..sub.n from the subset means
that the DLL may more quickly have valid parameters to compute
forward, back and lock indictors.
[0057] With respect to FIGS. 6A through 6E, combinational logic 500
uses the subset of signals to generate forward, back and lock
indicators. A resulting forward indicator having a value of logical
`0` means action (the forward logic 510 has determined an
adjustment to shorten the common delay period At through the
control signal is necessary). On the other hand, a resulting
forward indicator having a value of logical `1` means inaction (the
forward logic 510 has determined that no shortening adjustment is
necessary).
[0058] A resulting back indicator having a value of logical `0`
means that the back logic 520 has determined an adjustment to
lengthen the common delay period .DELTA.t through the control
signal is necessary. On the other hand, a resulting back indicator
having a value of logical `1` means that the back logic 520 has
determined that no lengthening adjustment is necessary.
[0059] A resulting lock indicator having a value of logical `1`
means that the lock logic has determined neither the forward nor
back indicators from combinational logic 500 are relevant to charge
pump logic 300. On the other hand, a resulting lock indicator
having a value of logical `0` means that charge pump logic 300
should apply either the forward or back indicator from
combinational logic 500 thereby aiding to prevent a false lock
situation and/or aiding to converge to a proper common delay period
.DELTA.t.
[0060] Once a designer selects a total number of delayed clock
signals that the DLL will generate (e.g., N=32 signals), the subset
may be determined by observation. To determine a subset by
observation, the designer may plot a sequence of charts wherein
each chart represents a different delay period .DELTA.t and shows
multiple periods of the resulting delayed clock signals. The
designer may visually determine which subset of delayed clock
signals identifies when a false lock situation may occur.
Alternatively, it may be possible to determine the subset
numerically. For example, the designer might be able to use a
simulation tool or numerical analysis software to determine which
subset of clock signals produce a linearly independent set of
signals over a duration of time spanning several periods (e.g., 10
to 30 periods).
[0061] FIG. 6A shows combinational logic 500 for N=4. An N=4 DLL
produces four output signals {.PHI..sub.1, . . . , .PHI..sub.4}, of
which N-2 or fewer signals are provided to combinational logic 500.
In the example shown, combinational logic 500 accepts two input
signals (namely, .PHI..sub.1 and .PHI..sub.3) to generate forward,
back and lock indicators. A forward indicator may be generated with
a single input signal (e.g., forward=.PHI..sub.x1 wherein
.PHI..sub.x1=.PHI..sub.1); a back indicator may be set using two
input signals (back=(forward AND .PHI..sub.y1) wherein
.PHI..sub.y1=.PHI..sub.3); and a lock indicator may be comprised of
an AND operation between the forward and back indicators.
[0062] In the example shown, forward logic 510 includes a D-FF
511-1 accepting a single input signal .PHI..sub.x1 and providing an
output signal a.sub.x1 used to define the forward indicator. Also
include is a second D-FF 513 accepting the same input signal
.PHI..sub.x1 and providing an output signal a.sub.y1b that may also
be used to define the forward indicator. The two flip flops,
however, are clocked by opposite edges of the reference input
signal D.sub.ref as shown. The second D-FF 513 is optional and may
be used as protection against an initial condition that might
otherwise introduce a false signal onto the forward indicator. A
NOR gate 512 is shown to combine a.sub.x1 and a.sub.y1b to
generator the forward indicator. Back logic 520 includes a D-FF 521
to accept .PHI..sub.y1 and produce f.sub.y1, which is fed to an AND
gate 522 along with the forward indicator to define the back
indicator. Lock logic 530 includes an AND gate 532 that accepts
both the forward and back indicators and provides the lock indictor
as an output signal.
[0063] FIG. 6B shows combinational logic 500 for N=8. An N=8 DLL
produces eight output signals {.PHI..sub.1, . . . , .PHI..sub.8},
of which N-2 or fewer signals are provided to combinational logic
500. In the example shown, combinational logic 500 accepts four
input signals (namely, .PHI..sub.1, .PHI..sub.2, .PHI..sub.3 and
.PHI..sub.5) to generate forward, back and lock indicators. A
forward indicator may be generated with three input signals (e.g.,
forward=(.PHI..sub.x1 NOR .PHI..sub.x2 NOR .PHI..sub.x3) where
.PHI..sub.x1, .PHI..sub.x2, .PHI..sub.x3=.PHI..sub.1, .PHI..sub.2,
.PHI..sub.3 respectfully); a back indicator may be set using the
forward indicator and a single additional input signal
(back=(forward AND .PHI..sub.y1) wherein .PHI..sub.y1=.PHI..sub.5);
and a lock indicator may be comprised of an AND operation between
the forward and back indicators. D-FF 511-1, 511-2 and 511-3 may be
used to condition .PHI..sub.x1, .PHI..sub.x2, .PHI..sub.x3 prior to
providing these signals to NOR gate 512.
[0064] Additionally, as initial condition protection, extra D-FF
513 may be included to accept one of the input signal supplied to
forward logic 510 (e.g., .PHI..sub.x2). Again, the additional D-FF
513 may be clocked on the opposite edge as D-FF 511-1, 511-2 and
511-3. An output signal a.sub.x2b of D-FF 513 may supply a fourth
input signal to NOR gate 512. As with the N=4 case described above
as well as with the examples below, back logic 520 includes a D-FF
521 to accept .PHI..sub.y1 and produce f.sub.y1 which is fed to an
AND gate 522 along with the forward indicator to define the back
indicator. Again, lock logic 530 includes an AND gate 532 that
accepts both the forward and back indicators and provides the lock
indictor as an output signal.
[0065] FIG. 6C shows combinational logic 500 for N=16. An N=16 DLL
produces 16 output signals {.PHI..sub.1, . . . , .PHI..sub.16}, of
which N-2 or fewer signals are provided to combinational logic 500.
In the example shown, combinational logic 500 accepts five input
signals (namely, .PHI..sub.1, .PHI..sub.2, .PHI..sub.4, .PHI..sub.6
and .PHI..sub.20) to generate forward, back and lock indicators. A
forward indicator may be generated with four input signals (e.g.,
forward=(.PHI..sub.x1 NOR .PHI..sub.x2 NOR .PHI..sub.x3 NOR
.PHI..sub.x4) where .PHI..sub.x1, .PHI..sub.x2, .PHI..sub.x3,
.PHI..sub.x4=.PHI..sub.1, .PHI..sub.2, .PHI..sub.4, .PHI..sub.6
respectfully); a back indicator may be set using the forward
indicator and a single additional input signal (back=(forward AND
.PHI..sub.y1) wherein .PHI..sub.y1=.PHI..sub.20); and a lock
indicator may be comprised of an AND operation between the forward
and back indicators. Again, an extra D-FF 513 may be added to
handle an unwanted initial condition. For example, .PHI..sub.x3 may
also be supplied to D-FF 513 and the output port Qb supplied to NOR
gate 512.
[0066] FIG. 6D shows combinational logic 500 for N=32. An N=32 DLL
produces 32 output signals {.PHI..sub.1, . . . , .PHI..sub.32}, of
which N-2 or fewer signals are provided to combinational logic 500.
In the example shown, combinational logic 500 accepts six input
signals (namely, .PHI..sub.2, .PHI..sub.4, .PHI..sub.5,
.PHI..sub.8, .PHI..sub.13 and .PHI..sub.20) to generate forward,
back and lock indicators. A forward indicator may be generated with
five input signals (e.g., forward=(.PHI..sub.x1 NOR .PHI..sub.x2
NOR .PHI..sub.x3 NOR .PHI..sub.x4 NOR .PHI..sub.x5) where
.PHI..sub.x1, .PHI..sub.x2, .PHI..sub.x3, .PHI..sub.x4,
.PHI..sub.x5=.PHI..sub.2, .PHI..sub.4, .PHI..sub.5, .PHI..sub.8,
.PHI..sub.13 respectfully); a back indicator may be set using the
forward indicator and a single additional input signal
(back=(forward AND .PHI..sub.y1) wherein
.PHI..sub.y1=.PHI..sub.20); and a lock indicator may be comprised
of an AND operation between the forward and back indicators.
[0067] In the N=32 example shown, from 32 signals {.PHI..sub.1,
.PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.31, .PHI..sub.32}, a
subset of six signals (e.g., {.PHI..sub.x1, .PHI..sub.x2,
.PHI..sub.x3, .PHI..sub.x4, .PHI..sub.x5,
.PHI..sub.y1}={.PHI..sub.2, .PHI..sub.4, .PHI..sub.5, .PHI..sub.8,
.PHI..sub.13, .PHI..sub.20}) may comprise the subset. Each of the
delayed clock signals from the subset may be clocked into a
respective D-FF 511-1, 511-2, 511-3, 511-4, 511-5, 521 where the
input signal at gate `D` may be clocked to produce output signals Q
and Qn by the rising edge of the reference clock D.sub.ref.
[0068] In forward logic 510 for the example above having 32 delayed
clock signals, a forward indicator may be generated as a NOR
operation 512 of delayed clock signals {.PHI..sub.2, .PHI..sub.4,
.PHI..sub.5, .PHI..sub.8, .PHI..sub.13}. Each of the delayed clock
signals from the subset may be conditioned through a respective
D-FF 511-1 . . . 511-5 where each D-FF 511-i is clocked on the
positive edge of the reference signal (D.sub.ref=.PHI..sub.0).
Output signals Q (labeled a.sub.x1, a.sub.x2, a.sub.x3, a.sub.x4
& a.sub.x5) are applied to the input terminals of NOR gate 512.
The output port of NOR gate 512 may be supplied as the forward
indicator.
[0069] In back logic 520, a back indicator may be generated as an
AND operation from AND gate 522 between the forward indicator and
delayed clock signal .PHI..sub.y1. For the example above generating
N=32 delayed clock signals, .PHI..sub.y1 is .PHI..sub.20. In lock
logic 530, a lock indicator may be generated as an AND operation
using AND gate 532 between the forward and back indicators.
[0070] FIG. 6E shows the circuitry of FIG. 6D with the addition of
D-FF 513. D-FF 513 has the same input signals as D-FF 511-5 however
its clock is negative-edge triggered and the complement signal Qn
(labeled a.sub.x5b) is fed to NOR gate 512. During an initial
startup period, all input signals to NOR gate 512 from D-FFs 511
and 512 may be zero resulting in a forward indicator of `1`, thus
the DLL takes no forward action. During post-startup operation, the
Qn output signal of D-FF 513 may be considered a half-period (T/2)
delayed version of the Q output of D-FF 511-5. D-FF 513 therefore
protects against a false forward indicator as the DLL is starting
up but does not adversely effect operation after startup.
[0071] FIGS. 7A, 7B, 8A and 8B show embodiments of charge pump
logic 300 for the DLL of FIG. 4. Charge pump logic 300 may include
a single charge pump or may include multiple charge pumps. A first
embodiment includes a multiplexer 310 and a single charge pump (CP)
311 as shown in FIG. 7A. Mux 310 accepts down/up indicators as data
input signals from PD 200 of FIG. 4. Mux 310 also accepts
back/forward indicators as data input signals and the lock
indicator as a selection input signal from combinational logic 500
of FIG. 4. Base on the value of the lock indicator, mux 310 passes
either the down/up pair or the back/forward pair to charge pump
311. CP 311 then adjusts its output control signal V.sub.control as
directed by the indicators provided by mux 310.
[0072] In a second embodiment shown in FIG. 7B, the function of mux
310 of FIG. 7A is implemented with logical gates 320-325 and the
function of charge pump 311 of FIG. 7A is implemented with switches
326, 329 and current sources 327, 328. The first switch (S1) 326 is
controlled by an output signal from an OR gate 322 having two input
ports fed by the output ports of two AND gates 320, 321. The first
AND gate 320 accepts the forward indicator as a first input signal
and an inverse of the lock indicator as a second input signal. The
second AND gate 321 accepts the up indicator as a first input
signal and the lock indicator as a second input signal. As
implemented, a value of `1` for the up or forward indicators along
with the appropriate lock indicator means action (charging the
charge pump to increase the control signal to shorten the delay
time) and a value of `0` for the up and forward indicators means
inaction. The lock indicator is used to pass either the up or
forward indicator. A lock indicator of `0` passes the forward
indicator from AND gate 320 to OR gate 322 and a lock indicator of
`1` passes the up indicator from AND gate 321 to OR gate 322.
[0073] Similarly, the second switch (S2) 329 is controlled by an
output port from an OR gate 325 having two input ports fed by the
output ports of two AND gates 323, 324. The third AND gate 323
accepts the back indicator as a first input signal and an inverse
of the lock indicator as a second input signal. The forth AND gate
324 accepts the down indicator as a first input signal and the lock
indicator as a second input signal. As implemented, a value of `1`
for the down or back indicators means action (discharging the
charge pump to decrease the control signal to increase the delay
time) and a value of `0` for the down and back indicators means
inaction. The lock indicator is used to pass one of the two down
and back indicators. A lock indicator of `0` passes the back
indicator from AND gate 323 to OR gate 325 and a lock indicator of
`1` passes the down indicator from AND gate 324 to OR gate 325.
[0074] In a third embodiment shown in FIG. 8A, charge pump logic
300 is implemented with multiple charge pumps 330, 331. A control
signal V.sub.control is driven from either charge pump 330, 331.
The first charge pump (CP-1) 330 may be active for a first value of
the lock indicator while the second charge pump (CP-2) 331 may be
active for a complement value of the lock indicator. For example,
when combinational logic 500 determines that the DLL is out of a
lock state, the lock indicator instructs charge pump logic 300 to
activate CP-1 330, thereby responding to the back and forward
indicators from combinational logic 500 of FIG. 4. When
combinational logic 500 determines that the DLL is in a lock state,
the lock indicator instructs charge pump logic 300 to activate CP-2
331, thereby responding to the up and down indicators from phase
detector 200.
[0075] Charge pump logic including multiple charge pumps may
advantageously use a first charge pump that has a high current for
charging and discharging for initial acquisition or out-of-lock
periods. A second charge pump having lower current for charging and
discharging may be used for tracking purposes and for making subtle
changes to the control signal.
[0076] In a fourth embodiment shown in FIG. 8B, two charge pumps
work together to set a control signal V.sub.control where the first
charge pump has higher charging/discharging currents than the
second charge pump. For example, a first charge pump may source and
sink a current of 30 uA where a second charge pump may source and
sink a current of 3 uA (or approximately 10% of the first charge
pump). A first charge pump includes an AND gate 340 accepting the
forward indicator and a complement of the lock indicator as input
signals and provides a control signal to a first switch (S1) 342.
When closed switch S1 342 completes a circuit to allow a current
source 343 the ability to source a high current to charge the
capacitor of filter 400 of FIG. 4. As the capacitor charges the
control signal V.sub.control increases thereby increasing the
control current I.sub.control resulting in a shorter the delay
period .DELTA.t. When open switch S1 342 disables charging from the
first charge pump. The first charge pump also include a second AND
gate 341 accepting the back indicator and the complement of the
lock indicator as input signals and provides a control signal to a
second switch (S2) 345. When closed S2 345 completes the circuit to
allow a current source 345 the ability to sink a high current to
discharge the capacitor of filter 400 of FIG. 4 thus lowering the
control signal V.sub.control and decreasing the control current
I.sub.control resulting in a longer the delay period .DELTA.t. When
open switch S2 345 disables discharging from the first charge
pump.
[0077] The second charge pump of FIG. 8B includes similar circuitry
however the charge and discharge currents of the second charge pump
are lower than that of the first charge pump. The second charge
pump includes an AND gate 350 accepting the up indicator and the
lock indicator as input signals and provides a control signal to a
third switch (S3) 352. When closed switch S3 352 completes the
circuit to allow a current source 353 providing a low current
source to charge the capacitor of filter 400 of FIG. 4. When open
switch S3 352 disables charging from the second charge pump. The
second charge pump also include a second AND gate 351 accepting the
down indicator and the lock indicator as input signals and provides
a control signal to a fourth switch (S4) 355. When closed S4 355
completes the circuit to allow a current source 355 the ability to
sink a low current to discharge the capacitor of filter 400 of FIG.
4 thus lowering the control signal V.sub.control and lengthening
the delay period .DELTA.t.
[0078] FIG. 9 illustrates expected charge curves associated with
both single and double charge pump logic. A first curve (segment
`A`) shows a control signal V.sub.control associated with charge
pump logic having a single charge pump. It is expected that a
single charge pump sourcing and sinking a low current would take
several microseconds to charge (or discharge) the control signal
V.sub.control to an appropriate value.
[0079] Advantageously, charge pump logic having multiple charge
pumps with different charging/discharging currents may be used to
aggressively set the control signal during an initial acquisition
period. Once the control signal is within a particular range, a
less aggressive charge pump may be used for more controlled honing.
A second curve shows an initial acquisition stage (segment `B`), a
ripping stage (segment `C`) and an acquired stage (segment `D`).
During the initial acquisition stage (segment `B`), a first charge
pump aggressively and rapidly charges a capacitor to set the
control signal. During the ripping stage (segment `C`), the first
charge pump's aggressive nature results in overshooting and
undershooting a target value. At some point in time (shown as a
dotted line), the combination logic determines that the DLL is in a
locked state. At this time, the combination logic 500 provides an
updated lock indicator to the charge pump logic 300, which switches
from driving the control signal with the high current first charge
pump to the lower current second charge pump, as shown with segment
`D`.
[0080] FIG. 10 shows another DLL in accordance with the present
invention. Filter 400 of FIG. 4 is shown replaced with a filter and
variable rate logic 410. Variable rate logic provides higher
sensitivity when making fine adjustments to the control signal to
the delay line. Additionally, rather than providing a voltage
control signal V.sub.control, logic 410 provides a current control
signal I.sub.control to a current controlled delay line (DL) 100.
Logic 410 is described further below with respect to the remaining
figures.
[0081] FIGS. 11A, 11B and 12A through 12F show circuitry associated
with the DLL of FIG. 10. FIG. 11A shows a filter and variable rate
logic 410 including a filter 420 (such as the capacitive filter 40
of FIG. 1C), converter logic 430 and selection logic 440. Converter
logic 430 may provide multiple voltage-to-current converters (V2I)
resulting in corresponding voltage-to-delay curves such as provided
by the four converters 431-1 to 431-4 shown. Each converter may
operate in a different range of delays for a given range of input
voltages. Each converter may be used to convert the incoming
voltage control signal to a current signal thus resulting in a
corresponding delay. Selection logic 440 may be used to select one
control signal from the multiple converters and provide this
selected control signal to the delay line.
[0082] FIG. 11B shows an alternative embodiment of logic 410
including a filter 420, converter logic 430 and selection logic
440. In this embodiment, converter logic 430 includes a single
voltage-to-current converter (V2I) having multiple conversion
characteristics from which to select. The characteristic may be
which conversion function to apply where each conversion function
provides a different conversion between an input voltage and a
output current. To select one of the conversion functions,
selection logic 440 may be used, for example, by using automatic
offset control (AOC) circuitry or the like described below.
[0083] FIG. 12A shows an example AOC circuit 440 of FIG. 1B. The
AOC 440 shown includes comparator logic 441, a two-bit decoder 442,
adder/subtractor logic 443 and a counter 444. Comparator logic 441
provides first and second indicators T0 and T1. When V.sub.control
is too high, that is, above an upper limit, then T0 and T1 are both
`1`. When V.sub.control is too low, that is, below a lower limit,
then T0 and T1 are both `0`. When V.sub.control is with a proper
range, that is, between the upper and lower limits, then T0=`1` and
T1=`0`. Indicators T0 and T1 are provided to two-bit decoder 442,
which produces two control bits C0 and C1. Control bits C0 and C1
are provided as controls to adder/subtractor logic 443.
Adder/subtractor logic 443 increments or decrements an internal
value each period defined by counter 444. Counter 444 may be
clocked by the input clock signals (D.sub.in or D.sub.ref) or by
one of the output delayed clock signals {.PHI..sub.1, .PHI..sub.2,
.PHI..sub.3, . . . , .PHI..sub.(n-1), .PHI..sub.n=D.sub.in} or
similar signal. Once counter 444 reaches a predetermined value,
counter 444 provides a clocking signal to activate logic 443. The
resulting output signal of adder/subtractor logic 443 is shown as
B0' and B1', which may be provided to converter logic 430 as
current rate selection control signals of FIG. 11B. Alternatively,
the resulting functionality of AOC 440 may be provided in any of a
number of ways known by those skilled in the art.
[0084] FIG. 12B shows a embodiment of comparator logic 441 includes
a voltage divider circuit providing a fixed upper limit voltage
value V.sub.1 as an input signal to a first comparator and a lower
limit voltage value V.sub.2 as an input signal to a second
comparator. The variable control voltage V.sub.control is supplied
as a second input signal to each comparator. To reduce the number
of changes to comparison output values, comparators having a
hysteresis may be used. For example, a first comparator may operate
about V.sub.1=1.45 volts .+-.0.05 volts and a second comparator may
operate about V.sub.2=0.70 volts .+-.0.05 volts.
[0085] FIG. 12C shows a conversion between input signals T0/T1 and
output signals C0/C1 of two-bit decoder 442. When the control
voltage V.sub.control is too high, both T0 and T1 are `1` and thus
a lower delay curve should be used. Output signals of C0=`0` and
C1=`1` enables the subtractor in logic 443 to decrement to a lower
delay curve by changing B0' and B1'. When the control voltage
V.sub.control is between the upper and lower limits, T0 is `1` and
T1 is `0` and no change is made. In an initial condition (i.c.), T0
may be `0` and T1 may be `1` and therefore the adder is enabled.
When the control voltage V.sub.control is too low, both T0 and T1
are `0` and thus a higher delay curve should be used. Output
signals of C0=`1` and C1=`0` enables the adder in logic 443 to
increment to a higher delay curve by changing B0' and B1'.
[0086] FIGS. 12D and 12E show respective past and next output
values for an adder and a subtractor, respectively, in logic 443.
When the subtractor in logic 443 is enabled, a lower next value is
produced until a floor value is reached. Similarly, when the adder
in logic 443 is enabled, a higher next value is produced until a
ceiling value is reached.
[0087] FIG. 12F shows a circuit diagram for a converter 430
providing multiple delay curves. The circuit includes mirrored
transistors T1 and T2 as well as a transistor T3 used to sink
current. To sink additional current, transistors T4 and T5 may
separately or jointly be enabled with control bits B0' and B1'.
Transistor T3 sinks a nominal current while the addition of enabled
transistors T4 and T5 may substantially increase the current driven
by T2. Thus, four different delay curves are realized based on
which combination of B0' and B1' are enabled. A resulting current
control I.sub.control may be supplied to delay line 100.
[0088] FIGS. 13A through 13C illustrate a voltage-to-delay
conversion curves associated with the DLL of FIG. 10. A first
voltage-to-delay conversion curve is shown in FIG. 13A. A
conventional single delay curve provides a one-to-one conversion
between an input voltage and an output delay. For example, voltage
values between V.sub.1 and V.sub.2 produce corresponding delays
between D.sub.1 and D.sub.4.
[0089] In a dual-curve conversion system shown in FIG. 13B, either
of two different delay curves may be selected. When operating in a
first region, input voltage values between V.sub.1 and V.sub.2
produce delay values between D.sub.1 and D.sub.3 and when operating
in a second region, input voltage values between V.sub.1 and
V.sub.2 produce delay values between D.sub.2 and D.sub.4.
Overlapping output regions provide delays between D.sub.2 and
D.sub.3 and allow for hysteresis during operation. Having multiple
delay curves allows a converter to more finely adjust the delay for
a given change in voltage.
[0090] FIG. 13C shows a four-curve converter compared to a single
curved converter. A converter may provide a conversion between
input voltage and delay as shown with the curve labeled "without
AOC". For voltage values near V.sub.2, the delay output (i.e., the
resulting delay line delay) is hypersensitive to small variations
in input voltage. To reduce this hypersensitivity, the single mode
converter may be replaced with a multi-delay mode converter. For
example, a four-delay curve converter may be used. Based on values
B0' and B1', the converter operates along one of the four curves.
When B1' B0' equal `00`, the converter operates along the curve
identified as section 1. When B1' B0' equal `01`, the converter
operates along the curve identified as section 2. When B1' B0'
equal `10`, the converter operates along the curve identified as
section 3. When B1' B0' equal `11`, the converter operates along
the curve identified as section 4. The resulting converter operates
with greater control at values closer to V.sub.2 than the converter
without AOC control.
[0091] The description above provides various hardware embodiments
of the present invention. The invention may also be performed as a
method or sequence of overlapping and/or non-overlapping steps. For
example, a method in a DLL to produce a plurality of delayed clock
signals {.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . ,
.PHI..sub.n-1, .PHI..sub.n} wherein each pair (i.e., .PHI..sub.j
& .PHI..sub.j+1 for j=1 to n-1) of N sequential clock signals
{.PHI..sub.1, .PHI..sub.2, .PHI..sub.3, . . . , .PHI..sub.n-1,
.PHI..sub.n} forms a common delay period (.DELTA.t), may comprises
one or more of the unordered steps of: setting the delay period
.DELTA.t to an initial delay period (.DELTA.t.sub.initial);
generating the plurality of delayed clock signals having a delay
period .DELTA.t based on an input reference signal (e.g.,
D.sub.ref); generating back and forward indicators based on a
subset of the plurality of delayed clock signals, wherein a total
count of signals in the subset comprises a total subset value of
N-2 or fewer signals; and providing the back and forward indicators
to charge pump logic. The method may further comprise generating a
lock indicator based on the subset of the plurality of delayed
clock signals; and/or selecting a conversion characteristic from a
plurality of conversion characteristics (e.g., based on B0' and B1'
as describe above; converting a control signal from the charge pump
logic to a delay line control signal based on the selected
conversion characteristic; and/or providing the delay line control
signal to a delay line.
[0092] The figures provided are merely representational and may not
be drawn to scale. Certain proportions thereof may be exaggerated,
while others may be minimized. The figures are intended to
illustrate various implementations of the invention that can be
understood and appropriately carried out by those of ordinary skill
in the art. Therefore, it should be understood that the invention
can be practiced with modification and alteration within the spirit
and scope of the claims. The description is not intended to be
exhaustive or to limit the invention to the precise form disclosed.
Furthermore, it should be understood that the invention can be
practiced with modification and alteration.
* * * * *