一种延迟锁定回路

文档序号:141479 发布日期:2021-10-22 浏览:30次 >En<

阅读说明:本技术 一种延迟锁定回路 (Delay locked loop ) 是由 亚历山大 上官朦朦 于 2021-09-15 设计创作,主要内容包括:本发明提供一种延迟锁定回路包括:可变延迟块,用于接收从外部输入的输入时钟,以产生中间时钟;固定延迟块,耦接至可变延迟块之后产生内部反馈时钟;鉴相器,检测内部反馈时钟与输入时钟的相位差,输出比较结果;控制器,基于比较结果改变可变延迟块的延迟量,产生与输入时钟同相位的输出时钟。可变延迟块包括主延迟链以及至少一条附加延迟链,用于响应于控制信号开启其中一条;主延迟链和附加延迟链结构相同。使用至少两条延迟链来进行锁定延迟,在正常情况下使用主延迟链,当主延迟链发生溢出时,启动附加延迟链来替换主延迟链,相较于重启DLL电路,切换耗费时间短,时钟跳变小,能够尽快恢复DLL电路的正常工作,减少数据传输的丢失。(The present invention provides a delay locked loop including: a variable delay block for receiving an input clock inputted from the outside to generate an intermediate clock; a fixed delay block coupled to the variable delay block to generate an internal feedback clock; the phase discriminator is used for detecting the phase difference between the internal feedback clock and the input clock and outputting a comparison result; and a controller for generating an output clock having the same phase as the input clock by changing the delay amount of the variable delay block based on the comparison result. The variable delay block includes a main delay chain and at least one additional delay chain for turning on one of them in response to a control signal; the main delay chain and the additional delay chain have the same structure. The method has the advantages that at least two delay chains are used for locking and delaying, the main delay chain is used under the normal condition, when the main delay chain overflows, the additional delay chain is started to replace the main delay chain, compared with the method for restarting the DLL circuit, the switching time consumption is short, the clock jump is small, the normal work of the DLL circuit can be recovered as soon as possible, and the loss of data transmission is reduced.)

一种延迟锁定回路

技术领域

本发明涉及延迟锁定回路,特别是涉及一种用于解决失锁现象的延迟锁定回路。

背景技术

延迟锁定回路(delay locked loop,DLL)是一种被普遍应用于计算机操作环境的电路结构,用来产生所需的时钟,从而来控制从诸如动态随机存取存储器(DRAM)准确将指令和数据传输至外部芯片集或控制芯片(CPU)。

当时钟信号传输至DRAM中的内部控制器和/或从内部控制器传输时,该时钟信号由于其中的线路负载、逻辑电路及其他块而延迟。因此,外部时钟信号与DRAM内部所产生的内部时钟信号之间存在相位差。为了同步该内部时钟信号与外部时钟信号,DLL用于补偿该相位差,从而同步从DRAM的数据输出信号与外部时钟信号。DLL电路的主要作用是调整DRAM的输出时钟信号,使输出时钟信号与外部输入时钟信号相位对齐。

图1为示出的常规延迟锁定回路100的方块图。

该常规延迟锁定回路包括占空比调整模块(Duty cycle correction,以下简称DCC)101、可变延迟块(delay_line)102、固定延迟块(delay_replica)103、鉴相器(phasedetect)104及控制器(control)105。

在读操作时,DRAM需要提供输出时钟信号dqs,当dqs和外部时钟信号clk相位差别较大时,CPU会抓取到错误的数据。

其中带箭头的虚环线为DLL的方块图,输入时钟信号clk由CPU提供,DLL需要使输出时钟信号dqs和clk相位保持对齐。固定延迟块103的作用为复制图中逻辑电路(Logic)106的真实延迟,这是因为逻辑电路106在DLL之后,需要将逻辑电路106对时钟信号的影响加入到DLL中,这样输出时钟信号dqs才可能与clk相位对齐。

鉴相器104鉴别外部时钟信号clk和反馈时钟信号clk_fb的相位差;控制器105根据鉴相器104的输出结果,做出控制策略去控制DCC101和可变延迟块102,DCC101调整外部时钟信号clk的占空比,可变延迟块102对clk进行延迟从而改变相位,信号经延迟后形成中间信号clk_1,clk_1再经过固定延迟块103的延迟得到反馈信号clk_fb。控制器105通过控制DCC10和可变延迟块102增大或减小延迟线长度来实现clk和clk_fb的同相位,也称为锁相,来保证CPU准确抓取DRAM输出的数据。

固定延迟块103是系统自带的延迟,受工艺漂移、温度等因素的影响。图2为DLL正常锁相时时钟信号clk与反馈时钟信号clk_fb的时序图。在实际应用场景中,温度与固定延迟块103的延迟时间正相关。当温度升高时,固定延迟块103的延迟时间t_rep变长,正常锁相的总延迟时间t_delay不变,则可变延迟块102的延迟时间t_line需要减少才能保证DLL正常工作;但是,当t_line小于可变延迟块102提供的最小延迟时间时,DLL则无法正常锁相,这种现象称为下溢(underflow)。反之,温度降低缩短t_rep,导致所需的t_line增加,当所需的t_line大于可变延迟块102提供的最大延迟时间时,DLL将无法正常锁相,这种现象称为上溢(overflow)。

通常,控制器105仅根据鉴相器104的输出结果,增加或减少可变延迟块102的延迟线长度,并不会检测当前可变延迟块102是否能够继续提供所需延时。因此,一旦出现overflow或underflow,可变延迟块102将卡死在最大延时或最小延时处,DLL无法正常锁相,使DRAM一直处于失锁状态,即clk和clk_fb没有同相位,此时CPU读取DRAM的数据会造成数据丢失的情况。

现有技术中,常规的解决办法是重置DLL,但重置DLL需要非常长的时间,以DDR4-2666为例,要求的DLL locking time为854个时钟周期。在这个时间段内DRAM芯片不能接收任何指令,后续的指令都将丢失。对于正在工作中的DRAM芯片,重置DLL并不是一个有效解决overflow或underflow的方法。

因此,有必要提供一种能在短时间内使DLL跳出失锁状态、恢复正常锁定的电路,尽可能减少指令的丢失。

发明内容

有鉴于此,本发明提供一种延迟锁定回路,能快速解决overflow和underflow,使DLL短时间内跳出失锁状态,尽可能减少芯片数据传输时指令的丢失。

本发明的其他目的和优点可以从本发明所揭露的技术特征中得到进一步的了解。

为达上述之一或部分或全部目的或其他目的,本发明一实施例所提供的延迟锁定回路包括:可变延迟块,用于接收从外部输入的输入时钟,以产生中间时钟;固定延迟块,耦接至所述可变延迟块之后,用于基于延迟部件模型化的预定量,以产生内部反馈时钟;鉴相器,耦接至所述可变延迟块及所述固定延迟块,用于检测所述内部反馈时钟与所述输入时钟的相位差,并输出比较结果;控制器,用于基于所述比较结果来改变所述可变延迟块的延迟量,以产生与所述输入时钟同相位的输出时钟。其中,所述可变延迟块包括主延迟链以及至少一条附加延迟链,用于响应于所述控制器的控制信号,开启所述主延迟链和所述附加延迟链中的其中一条,以产生所述中间时钟;所述主延迟链和所述附加延迟链结构相同。该技术方案的有益效果在于,使用至少两条延迟链来进行锁定延迟,在正常情况下使用主延迟链来产生延迟时钟;当主延迟链发生溢出时,启动附加延迟链来替换主延迟链,这种方式相较于重启DLL电路而言,切换耗费时间短,时钟跳变小,能够尽快恢复DLL电路的正常工作,减少数据传输的丢失。

所述主延迟链和所述附加延迟链均包括串接的粗调延迟线和精调延迟线。其中,所述粗调延迟线包括第一延迟支路和第二延迟支路,用于产生具有相位差的第一粗调延迟时钟和第二粗调延迟时钟。所述第一粗调延迟时钟和所述第二粗调延迟时钟同相。该技术方案的有益效果在于,第一粗调延迟时钟和第二粗调延迟时钟同相,使得第一粗调时钟和第二粗调时钟的两个上升沿之间的相位差较小,便于后续精调延迟线对相位差的等分。

所述第一延迟支路和所述第二延迟支路均由多个延迟单元彼此串联组成。所述延迟单元包括用于执行逻辑NAND运算的多个逻辑NAND门。

所述可变延迟块还包括:输入控制线,响应于所述输入时钟而导通,从而产生具有相位差的第一粗调延迟时钟和第二粗调延迟时钟。所述输入控制线包括多个传输门,所述多个传输门耦接于每个所述延迟单元与每个输出端子之间,并基于所述输入时钟而导通。

所述精调延迟线包括:若干三态门,用于对所述第一粗调延迟时钟和所述第二粗调延迟时钟的相位差进行等分,并响应于所述控制器的计数信号而延迟相应的等分数。

所述控制器包括:输出控制线,所述输出控制线的输出端与所述第一延迟支路和第二延迟支路的输入端连接,用于产生第一控制时钟和第二控制时钟,以分别控制所述第一延迟支路和所述第二延迟支路导通不同数目的延迟单元;计数器单元,耦接至所述可变延迟块,用于产生控制所述计数信号控制所述精调延迟线延迟相应的等分数,以产生所述中间时钟;判断单元,与所述鉴相器的输出端连接,根据所述鉴相器的比较结果控制所述粗调延迟线增加或减少延迟量,并判断该延迟量是否为所述粗调延迟线的最大或最小延迟量;切换单元,在判断所述粗调延迟线处于最大或最小延迟量时,用于切换所述主延迟链至所述附加延迟链,从而开启所述附加延迟链以产生所述中间时钟。

其中,所述对所述相位差进行等分的等分数由延迟精度决定。

所述延迟锁定回路还包括:占空比调整电路,所述占空比调整电路的输入端接所述输入时钟,输出端与所述可变延迟块连接。

本发明的有益效果在于,通过在可变延迟块上设置主延迟链和至少一条附加延迟链,在DLL正常工作时使用主延迟链来产生延迟时钟,保证输出始终信号与外部输入时钟信号同相位;而当主延迟链发生溢出情况,即DLL失锁时,启动附加延迟链来替换主延迟链,这种方式相较于重启DLL电路而言,切换耗费时间短,时钟跳变小,能够尽快恢复DLL电路的正常工作,减少数据传输的丢失。

为了使本发明的上述和其他目的、特征和优点能更明显易懂,下文特举一较佳实施例,并结合附图详细说明如下。

附图说明

为了更清楚地说明本发明具体实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为常规延迟锁定回路的方块图。

图2为DLL正常锁相时时钟信号clk与反馈时钟信号clk_fb的时序图。

图3为本发明延迟锁定回路的一实施例的功能方块图。

图4为主延迟链delay_line1工作时的功能方块图。

图5为主延迟链delay_line1的粗调延迟线的结构示意图。

图6为精调延迟线在clk_odd的延时的基础上加上两份延时的时序图。

图7为可变延迟块202的部分结构示意图。

附图标记说明:100、200-延迟锁定回路;101、201-DCC,102、202-可变延迟块,103、203-固定延迟块,104、204-鉴相器,105、205-控制器,106-逻辑电路;207-第一延迟支路,208-第二延迟支路,209-输入控制线,210延迟单元,211-传输门。

具体实施方式

下面将对本发明具体实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图3为本发明延迟锁定回路200的一实施例的功能方块图。延迟锁定回路200包含有占空比调整电路DCC201、可变延迟块202、固定延迟块203、鉴相器204和控制器205。

该可变延迟块202包括主延迟链delay_line1以及附加延迟链delay_line2,其中,主延迟链delay_line1以及附加延迟链delay_line2的结构相同。

在正常工作时,本实施例的可变延迟块200开启主延迟链delay_line1工作。当发生溢出时,控制器205控制所述可变延迟块200切换至附加延迟链delay_line2进行工作。

图4为本实施例的主延迟链delay_line1工作时的功能方块图。以开启主延迟链delay_line1为例来说,主延迟链delay_line1由串接的粗调延延迟线coarse delay和精调延迟线fine delay组成。DCC201的输入端接外部输入的输入时钟clk,输出端与可变延迟块202连接,用于调整从外部输入的输入时钟clk的占空比为50%。主延迟链delay_line1接收调整好占空比的输入时钟clk,产生中间时钟clk_1。固定延迟块delay_replica203耦接于可变延迟块202之后,用于基于延迟部件模型化的预定量,进一步对中间时钟clk_1延迟得到内部反馈时钟clk_fb1。鉴相器204耦接至可变延迟块202之后,检测内部反馈时钟clk_fb1和输入时钟clk的相位,并输出比较结果。控制器205基于比较结果,决定增加还是减少可变延迟块202的延迟量,产生与输入时钟clk同相位的输出时钟,实现锁相。

图5为主延迟链delay_line1的粗调延迟线的结构示意图。以主延迟链delay_line1来说明,粗调延迟线coarse delay包括第一延迟支路207、第二延迟支路208及输入控制线209,第一延迟支路207和第二延迟支路208响应于控制器生成具有相位差的两个时钟信号:第一粗调延迟时钟clk_odd和第二粗调延迟时钟clk_even;输入控制线209接收经DCC201调整过占空比的时钟信号而导通。

粗调延迟线coarse delay的第一延迟支路207和第二延迟支路208均由多个延迟单元210彼此串联组成,该延迟单元210由多个NAND门组成,本实施例中由三个NAND门级联组成。输入控制线209由多个传输门组成,多个传输门耦接于每个延迟单元210和输出端子之间,并基于输入时钟信号clk调整占空比后的信号而导通,本实施例中的多个传输门为串接的多个NAND门。为保证第一粗调延迟时钟clk_odd和第二粗调延迟时钟clk_even的相位差在π/2以内,第一延迟支路207和第二延迟支路208的延迟单元导通的NAND门个数保证同奇或同偶,使得第一粗调延迟时钟clk_odd和第二粗调延迟时钟clk_even同相。

精调延迟线fine delay包括若干三态门,该若干三态门根据第一粗调延迟时钟clk_odd和第二粗调延迟时钟clk_even的相位差,对该相位差进行若干等分,并响应于控制器205产生的计数信号选择延迟几份,中间时钟clk_1为第一延迟支路207产生的第一粗调延迟时钟clk_odd加上几份精调延迟线fine delay的延迟份数。需要说明的是,等分数由延迟精度决定,份数越多,精调延迟的单次延时就越小,精度就越高。

控制器205包括输出控制线,其输出端与第一延迟支路207和第二延迟支路208连接,用于产生第一控制时钟和第二控制时钟,以分别控制第一延迟支路207和第二延迟支路208导通不同数目的延迟单元210,产生具有相位差的第一粗调延迟时钟clk_odd和第二粗调延迟时钟clk_even;计数器单元,耦接至可变延迟块202,用于产生控制上述计数信号来控制精调延迟线fine delay延迟相应的等分数,以产生中间时钟clk_1;判断单元,与鉴相器204的输出端连接,根据鉴相器204的比较结果控制粗调延迟线coarse delay增加或减少延迟量,并判断该延迟量是否为粗调延迟线coarse delay的最大或最小延迟量;切换单元,在判断粗调延迟线coarse delay处于最大或最小延迟量时,用于切换主延迟链delay_line1至附加延迟链delay_line2,从而开启附加延迟链delay_line2以产生所述中间时钟clk_2。

具体来说,控制器205的输出控制线分别输出两组时钟控制信号cnt_odd和cnt_even来分别导通第一延迟路支路207和第二延迟支路208不同数目的延迟单元210,从而延迟不同的时间,生成具有相位差的第一粗调延迟时钟clk_odd和第二粗调延迟时钟clk_even。精调延迟线fine delay根据产生的两个具有相位差的信号,对其相位差进行若干等分,例如将相位进行8等份,那么精调延迟的单位时间就是相位差/8,控制器205的计数器单元产生计数信号cnt_fine选择延迟几份,最终中间信号clk_1是第一粗调延迟时钟clk_odd加上几份精调延时时间,图6所示的时序图则是精调延迟的结果是在clk_odd的延时的基础上加上两份延时。

本实施例的可变延迟块202的输入控制线、主延迟链delay_line1和附加延迟链delay_line2的粗调延迟链如图7所示。DLL正常工作时,主延迟链delay_line1开启,输入时钟信号clk和反馈时钟信号clk_fb经过相位检测后,控制器205决定增加还是减少延迟,控制器205生成的cnt_odd和cnt_even决定使用几个粗调延迟线中的延迟单元从而产生具有相位差的clk_odd1和clk_even1,并且cnt_odd和cnt_even决定clk_odd1和clk_even1的延时链路中使用延时单元个数交替增加或者减少。控制器生成的cnt_fine控制精调延迟链选用几份延时,最终生成clk_1再经由固定延迟模块延迟后得到clk_fb1,直至clk_fb1与clk相位相同。在DRAM中,DLL正常工作后,clk_fb1用于提供读取数据时的时钟信号,CPU可以正确读取数据。

但是当underflow和overflow发生时,DLL无法正常锁相,clk_fb1与clk相位不同,将导致CPU读取数据错误,所以需要是DLL脱离underflow和overflow现象,并且给输出数据提供最小错误的时钟信号。

从前文underflow现象定义可得知,当相位检测比较clk和 clk_fb1后,控制信号发出的命令是减少延时,但是此时主延迟链delay_line1的粗调延迟线已经使用了最少的延迟单元,那么控制器205的判断单元判断此时发生了underflow。此时解决办法是切换两条延迟链路。当主延迟链delay_line1发生underflow,则保持clk_fb1作为输出数据的时钟信号,启动附加延迟链delay_line2进行DLL锁相的过程,当delay_line2正常锁相后,切换成clk_fb2作为输出数据的时钟信号,如图7中所示。这种方式可使输出数据的输出时钟在发生underflow时与输入信号clk尽可能相近,在跳离underflow情况后,切换成另一条成功锁相的链路即附加延迟链delay_line2时,时钟跳变小,因为另一条锁相成功时的clk_fb2相位与clk一样。具体过程为,在正常工作时,主延迟链delay_line1开启,clk_fb选择clk_fb1,在鉴相器204中与clk比较,控制器205分别产生两组控制信号:cnt_odd1、cnt_even1、cnt_fine1与cnt_odd2、cnt_even2、cnt_fine2,分别控制delay_line1和delay_line2产生两组延迟信号:clk_odd1、clk_even1、fine_delay1与clk_odd2、clk_even2、fine_delay2;此时delay_line1输出clk_fb1,delay_line2有控制信号但不开启延迟,使用clk_fb1作为输出数据的时钟信号。当clk_fb1这条链路发生underflow时,维持clk_fb1作为输出数据的时钟信号,开启delay_line2的延时,然后使用clk_fb2作为clk_fb和clk在鉴相器204中作比较,由控制器205产生新的控制信号开启delay_line2进行DLL锁相的步骤直至delay_line2成功锁相,此时,将clk_fb2作为输出数据的时钟信号。

从前文overflow现象定义可得知,当相位检测比较clk和clk_fb后,控制信号发出的命令是增加延时,但是此时主延迟链delay_line1的粗调延迟线已经使用了最多的延迟单元,那么控制器205的判断单元判断此时发生了overflow。此时解决办法与underflow解决方式类似。当主延迟链delay_line1发生overflow,则保持clk_fb1作为输出数据的时钟信号,启动附加延迟链delay_line2进行DLL锁相的过程,当delay_line2正常锁相后,切换成clk_fb2作为输出数据的时钟信号,即开启使用cnt_odd2和cnt_even2控制的输出clk_odd2和clk_even2以及cnt_fine2控制的fine_delay2生成clk_fb2作为clk_fb,直至clk_fb与clk同相位实现锁相,将clk_fb2作为输出数据的时钟信号。

虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:延迟锁相环电路及具有该电路的半导体存储器装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类