用于延迟锁定环的初始化电路 本申请是原始申请 200480017535.4( 国际申请号 PCT/CA2004/000936, 国际申请 日 2004 年 6 月 23 日, 进入中国国家阶段日 2005 年 12 月 23 日 ) 的分案申请, 并因此要求 如下优先权 :
2003 年 6 月 25 日递交的 US 60/482,260, 和
2003 年 8 月 25 日递交的 US 10/647,664。
背景技术 具有可调节延迟线的延迟锁定环 (DLL) 被用来通过延迟第一时钟信号使第一时 钟信号与第二时钟信号同步。该 DLL 包括鉴相器, 其检测第一时钟信号和第二时钟信号之 间的相位差。基于所检测的相位差, 该 DLL 通过增加适当的延迟给第一时钟信号, 直到第二 时钟信号与第一时钟信号同相, 从而使第一时钟信号同步于外部时钟信号。
图 1 是现有技术 DLL 100 的方框图。通过时钟缓冲器 101 缓冲外部所提供的时钟 (CLK) 来提供参考时钟 (CLK_REF), 该参考时钟 (CLK_REF) 耦合到压控延迟线 102 和鉴相器 104。该压控延迟线 102 产生输出时钟 (CLK_OUT), 该输出时钟 (CLK_OUT) 是 CLK-REF 的延 迟版本, 并且被发送到装置内的各个电路中而且也被发送到复制延迟电路 103。复制延迟 电路 103 提供与通过缓冲器 101 和线路发送延迟的延迟相似的延迟。复制延迟对于本领 域的技术人员是公知的。参见进一步解释复制延迟的由 Foss 等人共同所有的美国专利号 5,796,673。从复制延迟电路 103 输出的反馈时钟信号 CLK_FB 被耦合到鉴相器 104。其他 现有技术的 DLL 利用数字延迟线或分接 (tapped) 延迟线。共有的美国专利号 5,796,673 和 6,087,868 中描述了这些 DLL。
鉴 相 器 104 产 生 取 决 于 CLK_REF 和 CLK_FB 之 间 相 位 差 的 相 位 控 制 信 号 (UP, DOWN)。DOWN 信号在每个 CLK_REF 上升沿上被设置为逻辑 ‘1’ , 并且 UP 信号在每个 CLK_FB 上升沿上被设置为逻辑 ‘1’ 。当接收到这两个信号的第二上升沿时, UP 和 DOWN 信号都被复 位到逻辑 ‘0’ 。从而, 当在 CLK_FB 上升沿之前检测到 CLK_REF 上升沿时, DOWN 信号转换到 逻辑 ‘0’ 来减少压控延迟线 (VCDL)102 中的延迟, 直到检测到 CLK_FB 的下一个上升沿。或 者, 如果在 CLK_REF 上升沿之前检测到 CLK_FB 上升沿, UP 信号被维持 ( 逻辑 ‘1’ ) 来增加 延迟, 直到检测到 CLK_REF 的下一个上升沿。
鉴相器 104 的相位控制信号 (UP/DOWN) 通过电荷泵 105 和环路滤波器 106 结合, 来 提供用于 VCDL 110 的可变偏压 VCTRL110。偏压 VCTRL 选择延迟来通过 VCDL 102 加入到 CLK_ REF, 来使 CLK_FB 和 CLK_REF 同步。
鉴相器 100 可以是电平敏感的或沿触发的。通常, 使用沿触发的鉴相器, 因为电平 敏感的鉴相器易受错误锁定的影响。 然而, 时钟是自由运行的, 并且不了解在复位之后哪个 时钟沿将首先出现。从而, 取决于鉴相器的输入信号之间的初始相位关系 ( 也就是, 取决于 在系统复位或加电之后 CLK_REF 或 CLK_FB 的上升沿是否首先出现 )。当延迟应该减小 ( 增 加 ) 时, 可能首先触发 UP(/DOWN) 信号, 从而具有沿触发的鉴相器的 DLL 永远达不到锁定。
图 2 是现有技术的沿触发鉴相器 104 的原理图。鉴相器 104 检测 CLK_REF 和 CLK_
FB 之间的相位差, 并且基于相位差来将 UP、 DOWN 信号设置为逻辑 ‘1’ , 以增加或减少延迟。 鉴相器 104 包括两个上升沿触发的 D- 类型触发器 (DFF)201、 203 和复位电路 210。 每个 DFF 201、 203 的输入被耦合到 VDD, 并且每个 DFF 201、 203 各自的异步复位输入耦合到复位电路 210 的输出端 (RSTb)。当 RESETb 信号为逻辑 ‘0’ 时或当 UP 和 DOWN 信号都为逻辑 ‘1’ 时, 复位电路 210 在 RSTb 信号上产生逻辑 ‘0’ 以复位 DFF 201、 203。
每个 DFF 的时钟输入耦合到各自的一个输入信号 (CLK_REF、 CLK_FB), 其中 DEF 201 的时钟输入耦合到 CLK_REF 并且 DEF 203 的时钟输入耦合到 CLK_FB。每个 DFF 201、 203 的输出端耦合到电荷泵 105( 图 1) 的各自的 UP/DOWN 输入端, 以便基于所检测到的时钟 之间的相位差来增加或减小 VCDL 102 的延迟。
如果 CLK_REF 的上升沿 ( 从逻辑 ‘0’ 转换到逻辑 ‘1’ ) 先于 CLK_FB 的上升沿被检 测到, 则延迟减小。例如, 如果 CLK_REF 的上升沿在 CLK_FB 的上升沿之前出现, 维持 DOWN 信号 ( 也就是, DFF 201 的输出改变到逻辑 ‘1’ ) 来减小延迟。当 DOWN 信号为逻辑 ‘1’ 时, 电荷泵和环路滤波器减小 VCDL 102 中的延迟。DOWN 信号保持为逻辑 ‘1’ , 直到 CLK_FB 随 后的上升沿对 DFF 203 提供时钟, 并且 DFF 203 的输出端上的 UP 信号从逻辑 ‘0’ 转换到逻 辑 ‘1’ 。当 UP 和 DOWN 信号都为逻辑 ‘1’ 时, 复位电路 210 在 RSTb 信号上产生逻辑 ‘0’ 脉 冲。耦合到 DFF 201、 203 的异步复位输入端的 RSTb 信号上的逻辑 ‘0’ 脉冲复位 DFF 201、 203, 并且 UP 和 DOWN 信号被复位到逻辑 ‘0’ 。 如果 CLK_FB 的上升沿先于 CLK_REF 的上升沿被检测到, 延迟增加, UP 信号从逻辑 ‘0’ 转换到逻辑 ‘1’ 。当 UP 信号为逻辑 ‘1’ 时, 电荷泵和环路滤波器增加通过延迟线的延 迟。UP 信号被保持在逻辑 ‘1’ , 直到 CLK_REF 的上升沿对 DFF 203 提供时钟, 并且 DOWN 信 号转换到逻辑 ‘1’ 。当 UP 和 DOWN 信号都被维持 ( 为逻辑 ‘1’ ) 时, 复位电路 210 在 RSTb 信号上产生逻辑 ‘0’ 并且复位 DFF 201、 203。在 DFF201、 203 复位之后, 在 DFF 输出端上的 UP 和 DOWN 信号被复位到逻辑 ‘0’ 。
在加电或系统复位之后, 通常将压控延迟线设置为最小延迟。如果在复位或加电 之后, CLK_FER 信号的上升沿在 CLK_FB 信号的上升沿之前出现, 鉴相器 104 将 DOWN 信号设 置为逻辑 ‘1’ 来减小延迟。然而, 延迟已经是所允许的最小值。因此, 全部随后的鉴相器周 期将连续试图减小 DLL 延迟, 并且 DLL 将永远达不到锁定。
图 3 是说明在复位之后时钟沿调整次序问题的时序图。当 CLK_REF 的上升沿先于 CLK_FB 的上升沿出现时, 出现达到锁定的问题。 在所示的例子中, CLK_REF 的上升沿和 CLK_ FB 的下降沿同时出现。 然而, 相位差是可变的, 并且两个上升沿可以恰好在同时出现。 结合 图 2 所示的电路来描述图 3。在复位期间, RESETb 信号保持在逻辑 ‘0’ , 并且压控延迟线中 的延迟被设置为最小的延迟 ( 一个单位的延迟单元 )。同样, 由于 DFF 201、 203 被 RESETb 信号上的逻辑 ‘0’ 保持复位, 信号 UP 和 DOWN 都保持在逻辑 ‘0’ 。
在时间 200 时, RESETb 信号从逻辑 ‘0’ 转换到逻辑 ‘1’ 。正如所示, 在复位之后, CLK_REF 的上升沿出现, 随后出现 CLK_FB 的上升沿。
在时间 202 时, CLK_REF 信号上的第一上升沿 ( 从逻辑 ‘0’ 到逻辑 ‘1’ ) 置位 DFF 201, 并且 DOWN 信号 (DFF 201 的输出 ) 被设置为逻辑 ‘1’ 。当 DOWN 信号为逻辑 ‘1’ 时, 减 小延迟线中的延迟。然而, DLL 延迟已经在 RESETb 为逻辑 ‘0’ 时被设置在最小值。因此, DOWN 信号上的逻辑 ‘1’ 对于 VCDL 的延迟没有影响。
在时间 204, CLK_FB 信号上所检测到的上升沿置位 DFF 203, 导致将 UP 信号 (DFF 203 的输出 ) 设置为逻辑 ‘1’ 。当 UP 信号和 DOWN 信号都为逻辑 ‘1’ 时, 复位电路 210 在 RSTb 信号上产生逻辑 ‘0’ 脉冲, 来复位 DFF201、 203, 并且将 UP 和 DOWN 信号在时间 206 复 位为逻辑 ‘0’ 。
在时间 208, 从 CLK_REF 的下一个上升沿开始重复这种顺序, 并且在 CLK_REF 和 CLK_FB 的每个随后上升沿时继续。延迟保持在最小的延迟上, 并且因此, DLL 永远达不到锁 定。 发明内容
提出了延迟锁定环中的一种初始化电路, 其保证在复位之后去往鉴相器的时钟信 号的顺序适当。该延迟锁定环包括向参考时钟提供延迟以生成反馈时钟的延迟电路。该延 迟电路具有延迟范围。 延迟锁定环中的鉴相器比较参考时钟和反馈时钟的相位来改变延迟 电路的延迟。在复位之后, 初始化电路保证鉴相器在收到参考时钟和反馈时钟中的一个之 后最初沿着远离延迟范围第一端的方向改变延迟, 并且仅在收到参考时钟和反馈时钟中的 一个并随后接收到参考时钟和反馈时钟中的另一个之后, 该鉴相器能够沿向着第一端的相 反方向改变延迟。
延迟范围的第一端为最小的延迟, 并且远离第一端的方向增加延迟, 并且向着第 一端的相反方向减小延迟。该初始化电路在收到参考时钟之后增加延迟, 并且仅在收到其 后面跟随着反馈时钟的参考时钟之后能够减小延迟。 初始化电路可以包括第一锁存器和第 二锁存器, 其中第二锁存器的输入端耦合到第一锁存器的输出端。第一锁存器响应参考时 钟, 并且检测参考时钟的第一沿来开始沿着远离第一端的方向改变延迟。第二锁存器响应 反馈时钟, 并且在由第一锁存器已经检测到参考时钟第一沿之后, 检测反馈时钟的沿, 来开 始沿着相反方向改变延迟。
在可选的实施例中, 通过增加两个锁存器到初始化电路, 可以增加更多的延迟, 以 允许时钟稳定。第三锁存器的输入端耦合到第一锁存器的输出端, 并且第四锁存器的输入 端耦合到第三锁存器的输出端。第三锁存器检测参考时钟的下一个沿, 从而使鉴相电路沿 着第一方向的启动延迟至少一个参考时钟周期。第四锁存器检测反馈时钟的下一个沿, 从 而使鉴相器沿着另一方向的调整的启动延迟至少一个反馈时钟周期。
参考时钟的第一沿可以为上升沿, 并且反馈时钟的沿为上升沿。
在可选的实施例中, 初始化电路包括第一锁存器和第二锁存器。该第一锁存器响 应反馈时钟, 并且检测反馈时钟的第一沿, 从而开始沿着远离第一端的方向改变延迟。 第二 锁存器响应参考时钟, 在由第一锁存器已经检测到反馈时钟的第一沿之后, 该第二锁存器 检测参考时钟的沿, 从而开始沿着相反方向改变延迟。第二锁存器的输入端耦合到第一锁 存器的输出端。
鉴相器可以包括响应参考时钟来产生第一相位控制信号的锁存器以及响应反馈 时钟来产生第二相位控制信号的另一锁存器。 附图说明
从下面对本发明的优选实施例 ( 附图中进行了图示 ) 的更详细的描述中, 本发明的前述和其他的目标、 特征和优点是显而易见的, 附图中, 所有图中相同的标号表示相同的 部件。附图不必按比例, 而是着重说明本发明的原理。
图 1 是典型的现有技术的延迟锁定环 (DLL) 的方框图 ;
图 2 是典型的现有技术的鉴相器的示意图 ;
图 3 是说明在复位之后时钟沿顺序问题的时序图 ;
图 4 是根据本发明的原理包括鉴相器初始化电路的沿触发鉴相电路的示意图 ;
图 5 是图 4 中所示复位电路实施例的电路图 ;
图 6 是说明图 4 和 5 所示的电路操作的时序图 ;
图 7 是说明当在复位之后反馈时钟的上升沿先于参考时钟上升沿时图 4 中所示的 电路操作的时序图 ;
图 8 是在 DLL 中使用的图 4 所示的鉴相器电路的可选实施例的示意图, 其中在复 位时将延迟复位为最大值 ;
图 9 是鉴相器初始化电路的可选实施例的示意图 ;
图 10 仍是鉴相器初始化电路的另一个实施例 ; 及
图 11 是说明当参考时钟的上升沿先于反馈时钟的上升沿时图 9 的电路操作的时 序图。 具体实施方式 下面是本发明优选实施例的描述。
图 4 是根据本发明的原理包括鉴相器初始化电路 410 的沿触发鉴相电路 400 的示 意图。鉴相电路 400 代替图 1 的鉴相器 104 来提供新的 DLL。鉴相电路 400 包括检测参考 时钟 (CLK_REF) 信号和反馈时钟 (CLK_FB) 信号之间的相位差的鉴相器 412。鉴相器 412 的 输出端 (UP、 DOWN) 耦合到结合图 1 所示的鉴相器 104 所描述的电荷泵的各自的 UP/DOWN 输 入端, 以便基于时钟之间所检测到的相位差来增加或减小参考时钟的延迟。
延迟的范围可以从最小值到最大值。在压控延迟线中, 控制电压具有一定范围的 允许值。该范围的一端对应于 VCDL 的最小延迟值, 并且该范围的另一端对应于 VCDL 的最 大延迟值。VCDL 的操作对于本领域的技术人员来说是容易理解的, 从而不用进一步讨论。 使用数字延迟线的其他 DLL 具有通常等于数字延迟线中一个单位延迟的最小延迟值以及 通常等于数字延迟线中多个单位延迟的最大延迟值。在所示实施例中, DLL 的延迟在复位 时被复位到最小值。在节点 A 和节点 B 上耦合到鉴相器 412 的鉴相器初始化电路 410 保证 在复位之后的时钟沿的检测的正确顺序。
为了保证正确顺序, 鉴相器初始化电路 410 使鉴相器 412 的操作失效直到在复位 之后已经检测到 CLK_REF 的第一上升沿之后。在鉴相器初始化电路 410 检测到 CLK_REF 的 第一上升沿之后, 将鉴相器 412 的状态设置为允许 DLL 延迟的增加。 鉴相器初始化电路 410 进一步延迟由鉴相器 412 启动的延迟减小, 直到下一个 CLK_FB 上升沿, 来保证在系统或加 电复位之后即使在时钟之间不存在初始相位差时, 也总是增加延迟。在延迟的初始增加之 后, 鉴相器 412 的操作如图 2 和 3 中所描述的现有技术的鉴相器那样。通过在复位之后首 先检测 CLK_REF 的上升沿, 并且在启动相位检测之前延迟对 CLK_FB 的第一上升沿的检测, 从而延迟在复位之后总是增加。在复位之后通过总是自动地增加延迟, 将不会遇到结合图
2 和 3 所描述的现有技术中鉴相器的未锁定条件。
鉴相器初始化电路 410 包括两个 DFF 404、 403。DFF 404 检测在复位之后的 CLK_ REF 的第一上升沿, 并且通过将节点 A 设置为逻辑 ‘1’ 来增加延迟。DFF 403 延迟通过在节 点 B 保持逻辑 ‘0’ 来减小延迟的过程, 直到 CLK_FB 的下一个上升沿出现。
鉴相电路 402 包括两个 DFF 401、 402 和复位电路 416。DFF 404 的输出端 ( 节点 A) 耦合到 DFF 402 的 D 输入端, 并且 DFF 403 的输出端 ( 节点 B) 耦合到 DFF 401 的 D 输入 端。每个 DFF 401、 402 各自的异步复位输入端耦合到复位电路 416 的输出端 (RSTb)。RSTb 信号在复位期间 (RESETb 信号保持在逻辑 ‘0’ , 或 UP 和 DOWN 信号都在逻辑 ‘1’ ) 被设置到 逻辑 ‘0’ 来复位 DFF 401、 402。
每个 DFF 401、 402 的时钟输入耦合到各自一个输入时钟信号 (CLK_REF、 CLK_FB) 的相应的一个, 其中 DFF 401 的时钟输入端耦合到 CLK_REF, 并且 DFF 402 的时钟输入端耦 合 CLK_FB。每个 DFF 401、 402 的输出端耦合到电荷泵的各自的 UP/DOWN 输入端, 以便基于 时钟之间所检测的相位差来增加或减小延迟。
图 5 是图 4 所示的复位电路 416 的实施例的电路图。复位电路 416 包括多个反相 器 215、 213、 212、 217, NAND 门 216 和 AND-OR-INVERTER211。下面的表 1 示出了描述复位电 路的操作的真值表。
表1
在复位期间, 在反相器 217 的输入端上, RESETb 信号被设置为逻辑 ‘0’ 并且 RSTb 信号被设置为逻辑 ‘0’ 。在耦合到 AND-OR-INVERTER211 的一个输入的反相器 217 的输出端 上的逻辑 ‘1’ 导致 RSTb 信号上的逻辑 ‘0’ 。
当鉴相器电路 412 的 UP 和 DOWN 输出都转换到逻辑 ‘1’ 时, RSTb 信号被设置为逻 辑 ‘0’ , 持续的时间长度等于通过反相器 212、 213、 214 的传播延迟。先于在 NAND 门 216 的 输入端上 DOWN 和 UP 信号转换为逻辑 ‘1’ , 反相器 212 的输出为逻辑 ‘1’ 。当 NAND 门 216 的输入都为逻辑 ‘1’ 时, NAND 门 216 的输出转换到逻辑 ‘0’ 。在反相器 215 的输入端的逻 辑 ‘0’ 导致耦合到 AND-OR-INVERTER 211 的输入端的反相器 215 的输出端上的逻辑为 ‘1’ 。 当 AND-OR-INVERTER 211 的输入端都为逻辑 ‘1’ 时, RSTb 信号转换到逻辑 ‘0’ 。在反相器 214 的输入端上的逻辑 “1” 传播通过反相器 213、 212, 导致耦合到反相器 212 的输出端的 AND-OR-INVERTER 211 的输入端上为逻辑 ‘0’ 之后, RSTb 信号在逻辑 ‘1’ 之后转换回逻辑 ‘1’ 。这导致在 RSTb 信号上的逻辑 ‘0’ 脉冲。
结合图 6 和 7 所示的时序图来描述图 4 和 5 中所示的电路的操作。图 6 说明在复 位之后当参考时钟的上升沿在反馈时钟的上升沿之前时的情况, 并且图 7 说明在复位之后
当反馈时钟的上升沿在参考时钟的上升沿之前时的情况。
图 6 是说明图 4 和 5 所示的电路的操作的时序图。
DFF 403、 404 的输出端在节点 B 和 A 上被耦合到 DFF 401、 402 的各自的 D- 输入 端。图 6 中在时间 500 之前, 在复位期间, RESETb 信号保持在逻辑 ‘0’ 上, 并且压控延迟线 中的延迟被设置为最小延迟。在宽频范围 DLL 中, 延迟线的最小延迟可以比 CLK_REF 周期 更大。当 RESETb 信号和 RSTb 信号为逻辑 ‘0’ 并且在 DFF 401、 402、 403 的各自的 D- 输入 端上为逻辑 ‘0’ 时, CLK_FB 信号或 CLK_REF 信号上的上升沿对于输出信号 (UP、 DOWN) 没有 影响。
RSTb 被耦合到 DFF 401、 402 的各自的异步复位输入端, 并且 RESETb 耦合到 DFF 403、 404 的各自的异步复位输入端。节点 A 和 B 保持在逻辑 ‘0’ 信号, 因为 DFF 403、 404 被 RESETb 信号保持为复位。同样, DFF 401、 402 的输出端上的 UP 和 DOWN 信号都保持在逻 辑 ‘0’ 上, 因为由复位电路 410 输出的 RSTb 信号保持在逻辑 ‘0’ , 同时 RESETb 保持在逻辑 ‘0’ , 正如图 5 所描述的那样。
在复位周期的结尾, 在时间 500 时, RESETb 信号转换到逻辑 ‘1’ , 这允许 DFF 404、 403 来转换状态。在复位之后, CLK_REF 的第一上升沿 ( 从逻辑 ‘0’ 转换到逻辑 ‘1’ ) 出现 在 CLK_FB 信号的第一上升沿之前。 在时间 502 时, CLK_REF 信号的第一上升沿置位 DFF 404, 并且在节点 A 上的信号 (DFF 404 的输出端 ) 从逻辑 ‘0’ 转换到逻辑 ‘1’ 。节点 A 上的逻辑 ‘1’ 允许 DFF 402 来设 置 UP 信号从而在检测 CLK_FB 的下一个上升沿之后增加延迟。
在时间 504 时, CLK_FB 的第一上升沿置位 DFF 402, 并且 UP 信号 (DFF 402 的输出 端 ) 从逻辑 ‘0’ 转换到逻辑 ‘1’ 。CLK_FB 的第一上升沿也置位 DFF 403, 并且节点 B 上的信 号 (DFF 403 的输出端 ) 从逻辑 ‘0’ 转换到逻辑 ‘1’ , 这允许在 CLK_REF 的下一个上升沿时 减小延迟。在 UP 信号为逻辑 ‘1’ 时, 增加延迟。
鉴相器初始化电路 410 中的 DFF 403 保证在复位之后延迟总是增加, 即使信号 (CLK_REF 和 CLK_FB) 之间没有初始相位差。在通过 DFF401 将 DOWN 信号设置为逻辑 ‘1’ 之 前 UP 信号保持在逻辑 ‘1’ 的时间取决于 CLK_FB 和 CLK_REF 之间的初始相位差。
在时间 505, 当 DFF 401 的 D- 输入端上的逻辑为 ‘1’ 时, CLK_REF 的上升沿使 DFF 401 的输出端为逻辑 ‘1’ 。当 DFF 401、 402 的输出 (DOWN、 UP) 都为逻辑 ‘1’ 时, 复位电路 416 在 RSTb 信号上产生逻辑 ‘0’ 脉冲, 以复位 DFF 401、 402。在时间 506 时, DFF 401、 402 都被复位, 并且输出端 (DOWN、 UP) 都被复位为逻辑 ‘0’ 。DFF 403、 404 并不复位。实际上, 它们保持在置位状态 ( 在节点 A、 B 处各自的输出端上逻辑为 ‘1’ ), 直到检测到下一个复 位。
从而, 在延迟的初始增加之后, 鉴相器 412 控制相位控制信号 (UP/DOWN) 的产生, 来进一步增加或减小延迟, 直到达到锁定。鉴相器 412 通过产生如时间 508 和 510 时所示 的其他 UP 信号转换来继续增加延迟, 直到在时间 512 时 DLL 处于锁定状态。鉴相器 412 持 续监控 CLK_REF 信号和 CLK_FB 信号之间的相位差, 并且通过适当地设置 UP/DOWN 信号来调 节延迟, 从而达到锁定。
图 7 是说明图 4 中所示的电路在复位之后反馈时钟的第一上升沿出现在参考时钟 的第一上升沿之前时的操作的时序图。
在时间 700 时, RESETb 信号从逻辑 ‘0’ 转换到逻辑 ‘1’ 。在时间 701 时, CLK_FB 的上升沿被 DFF 403、 402 忽略, 因为 DFF 404 尚未检测到 CLK_REF 的第一上升沿。
在时间 702 时, CLK_REF 上的第一上升沿置位 DFF 404, 并且节点 A 从逻辑 ‘0’ 转 换到逻辑 ‘1’ 。
在时间 703 时, CLK_FB 信号的下一个上升沿置位 DFF 402, 并且 UP 信号 (DFF 402 的输出 ) 从逻辑 ‘0’ 转换到逻辑 ‘1’ 。CLK_FB 信号的该上升沿也置位 DFF 403, 并且节点 B 从逻辑 ‘0’ 转换到逻辑 ‘1’ 。
在时间 704, 当节点 B(DFF 401 的 D- 输入端 ) 具有逻辑 ‘1’ 时, CLK_REF 的上升 沿使 DFF 401 的输出端上为逻辑 ‘1’ 。当 DFF 401、 402 的输出端 (DOWN、 UP) 都为逻辑 ‘1’ 时, 复位电路 416 在 RSTb 信号上产生逻辑 ‘0’ 脉冲来复位 DFF 401、 402, 并且输出端 (DOWN、 UP) 被设置为逻辑 ‘0’ 。
在 UP 信号第一次转换到逻辑 ‘1’ 以最初增加延迟之后, 鉴相器 412 控制输出信号 (UP/DOWN) 的产生, 从而进一步增加或减小延迟, 直到达到锁定。鉴相电路通过如时间 705 时所示设置 UP 信号为逻辑 ‘1’ , 继续增加延迟。
图 8 是用在 DLL 中的图 4 所示的鉴相电路 800 的可选实施例的示意图, 其中在复 位时将延迟复位为最大值。在节点 A 和 B 上耦合到鉴相器 412 的鉴相器初始化电路 806 保 证在复位之后时钟沿检测的正确顺序。
为了保证正确顺序, 鉴相器初始化电路 806 使鉴相器 412 的操作失效, 直到在复位 之后已经检测到 CLK_FB 的第一上升沿之后。在鉴相器初始化电路 806 检测到 CLK_FB 的第 一上升沿之后, 将鉴相器 412 的状态设置为允许减小 DLL 延迟。鉴相器初始化电路 806 进 一步延迟由鉴相器 412 启动的延迟增加, 直到下一个 CLK_REF 上升沿, 以保证在系统或加电 复位之后总是减小延迟, 即使在时钟之间没有初始相位差。 在延迟的初始减小之后, 鉴相器 412 的操作如同图 2 和 3 中所描述的现有技术的鉴相器的操作那样。通过首先检测在复位 之后 CLK_FB 的上升沿, 并且在启动鉴相之前延迟对 CLK_REF 的第一上升沿的检测, 从而在 复位之后总是减小延迟。通过在复位之后总是自动地减小延迟, 将不会遇到结合图 2 和 3 所描述的现有技术中鉴相器的未锁定条件。
鉴相器初始化电路 806 包括两个 DFF 802、 804。DFF 802 检测在复位之后 CLK_FB 的第一上升沿, 并且通过设置节点 A 为逻辑 ‘1’ 来减小延迟。DFF 804 通过保持节点 B 在逻 辑 ‘0’ 来增加延迟, 直到 CLK_REF 下一个上升沿出现之后。
鉴相电路 402 包括两个 DFF 401、 402 和复位电路 416。DFF 802 的输出端 ( 节点 A) 耦合到 DFF 401 的 D 输入端, 并且 DFF 804 的输出端 ( 节点 B) 耦合到 DFF 402 的 D 输入 端。每个 DFF 401、 402 各自的异步复位输入端耦合到复位电路 416 的输出端 (RSTb)。RSTb 信号在复位期间 (RESETb 信号保持在逻辑 ‘0’ , 或 UP 和 DOWN 信号都在逻辑 ‘1’ ) 被设置到 逻辑 ‘0’ , 来复位 DFF 401、 402。
每个 DFF 401、 402 的时钟输入端耦合到各自一个输入时钟信号 (CLK_REF、 CLK_ FB), 其中 DFF 401 的时钟输入端耦合到 CLK_REF, 并且 DFF 402 的时钟输入端耦合到 CLK_ FB。每个 DFF 401、 402 的输出端耦合到电荷泵的各自的 UP/DOWN 输入端, 以便基于时钟之 间所检测的相位差来增加或减小延迟。
图 9 是鉴相器初始化电路的可选实施例的示意图。 在该实施例中, 耦合到 DFF 604的数据输入端和异步复位输入端的信号不同于图 4 所示的实施例, 其中该 DFF 604 检测在 复位之后的 CLK_REF 的第一上升沿。 DFF 604 的数据输入端耦合到 RESETb 信号而不是 Vdd, 并且异步复位输入端耦合到 Vdd 而不是 RESETb。当 RESETb 为逻辑 ‘0’ 时, 在 CLK_REF 的第 一上升沿之后复位 DFF 604。在 RESETb 从逻辑 ‘0’ 转换到逻辑 ‘1’ 之后, 在 CLK_REF 的第 一上升沿之后, 置位 DFF 604( 在节点 A 上具有逻辑 ‘1’ )。在 DFF 604 检测 CLK_REF 的第 一上升沿之后, 电路的操作与图 4 所示的实施例所描述的操作一样。
图 10 仍是鉴相器初始化电路的另一个实施例。为了允许时钟在复位或加电之后 稳定, 其它的 DFF 能够添加到图 4 所描述的鉴相器初始化电路, 使得在启动鉴相电路之前在 CLK_REF 上检测到多于一个上升沿。另外的 DFF 706 被耦合到 DFF 704。CLK_REF 也被耦合 到 DFF 706 的时钟输入端。从而, 节点 A 从逻辑 ‘0’ 到逻辑 ‘1’ 的转换在由 DFF704 检测到 的 CLK_REF 的第二上升沿之后发生。额外的延迟 ( 一个 CLK_REF 周期 ) 允许时钟 (CLK_REF 和 CLK_FB) 在已经复位电路后稳定。本领域的技术人员将意识到, 可以添加任何所希望的 级数, 来进一步增加在启动鉴相电路之前所检测到的 CLK_REF 上升沿的数目。
另外的 DFF 705 也被耦合在 DFF 705 和 DFF 701 之间。DFF 705 的时钟输入端被 耦合到 CLK_FB 信号, 并且异步复位输入端被耦合到 RESETb 信号。 DFF 705 的输出端被耦合 到 DFF 703 的输入端。另外的 DFF 705 延迟 DOWN 信号从逻辑 ‘0’ 到逻辑 ‘1’ 的转换, 从而 增加 UP 信号最初被设置为逻辑 ‘1’ 的时间, 以增加延迟。本领域的技术人员将意识到, 可 以添加任何所希望的级数, 来进一步增加 UP 信号保持在逻辑 ‘1’ 的时间。 图 11 是说明图 10 的电路操作的时序图。DFF 703、 704 的输出端在节点 A 和 B 上 被耦合到 DFF 401、 402 的各自的输入端。 在时间 900 时之前, 在复位期间, RESETb 信号保持 在逻辑 ‘0’ 并且延迟设置在最小延迟。当在 DFF 401、 402、 403、 704、 705、 706 的各自的 D- 输 入端上 RESETb 信号和 RSTb 信号为逻辑 ‘0’ 时, CLK_FB 信号或 CLK_REF 信号上的上升沿对 于输出信号 (UP、 DOWN) 没有影响。
在时间 900 时, RESETb 信号转换到逻辑 ‘1’ , 允许 DFF 来变换状态。
在时间 901 时, CLK_REF 的第一上升沿置位 DFF 706, 并且 DFF 706 的输出端从逻 辑 ‘0’ 转换到逻辑 ‘1’ 。
在时间 902 时, CLK_REF 的第二上升沿置位 DFF 704, 并且节点 A(DFF 404 的输出 端 ) 从逻辑 ‘0’ 转换到逻辑 ‘1’ 。节点 A 上的逻辑 ‘1’ 使鉴相电路 412 中通过 DFF 402 的 延迟增加。
在时间 903 时, CLK_FB 信号随后的上升沿置位 DFF 402, 并 UP 信号 (DFF 402 的输 出端 ) 从逻辑 ‘0’ 转换到逻辑 ‘1’ 。CLK_FB 信号随后的上升沿同样置位 DFF 705。
在时间 904 时, CLK_FB 信号的下一个上升沿置位 DFF 703, 并且节点 B(DFF 403 的 输出端 ) 的信号从逻辑 ‘0’ 转换到逻辑 ‘1’ 。在 UP 信号保持在逻辑 ‘1’ 时, 延迟增加。
在时间 905 时, 当 DFF 401 的输入端为逻辑 ‘1’ 时, CLK_REF 的下一个上升沿使 DFF 401 的输出端上为逻辑 ‘1’ 。当 DFF 401、 402 的输出端 (DOWN、 UP) 都为逻辑 ‘1’ 时, 复位电 路 416 在 RSTb 信号上产生逻辑 ‘0’ 脉冲, 以复位 DFF 401、 402, 并且输出端 (DOWN、 UP) 都 被设置为逻辑 ‘0’ 。
在可选实施例中, 延迟线能够在复位时被设置为最大延迟 ( 压控延迟线中全部单 位单元的总延迟 ), 并且鉴相器能够被配置来自动地减小延迟。另外, 利用上升沿触发的触
发器描述了本发明, 然而也可利用下降沿触发的 DFF。 此外, 利用压控延迟线描述了本发明, 然而也可利用数字或分接延迟线。
虽然参考本发明的优选实施例具体示出并描述了本发明, 但是本领域的技术人员 能够理解, 可以对此做出各种形式和细节的改变, 而不偏离由所附权利要求所包括的本发 明的范围。