一种DLL延时链及下溢时快速锁定方法转让专利

申请号 : CN202210099260.3

文献号 : CN114124083B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 亚历山大汪佳峰

申请人 : 浙江力积存储科技有限公司

摘要 :

本发明提供一种DLL延时链包括粗调延时块、精调延时块、固定延时块、信号控制线和开关单元,所述开关单元响应于所述通断控制信号接通设定的所述粗调输出端口、所述精调输出端口和/或所述延时输出端口;粗调延时块中设置有粗调延时链,包括共用初始端口且电路结构不同的主延时链和辅延时链。通过切换端口灵活地获取基于主延时链或辅延时链而得到的信号,能避免下溢时指令和数据的大量丢失,有利于保证CPU的数据读取数据的正确性。本发明还提供的下溢时快速锁定方法,采用本发明一方面的DLL延时链进行而具有相应优势,无须重置DLL延时链就能及时恢复正常相位锁定状态,极利于提高DRAM工作的可靠性,推动集成电路技术的深层次应用。

权利要求 :

1.一种DLL延时链,其特征在于:包括粗调延时块、精调延时块、固定延时块、信号控制线和开关单元;

所述信号控制线与所述粗调延时块、所述精调延时块、所述开关单元分别耦接,用于获取并传输粗调控制信号、精调控制信号和通断控制信号;

所述粗调延时块依次设置有:用于接收初始时钟的初始端口、粗调延时链、多个粗调输出端口;

所述精调延时块设置有精调输出端口;

所述固定延时块设置有延时输出端口;

所述开关单元设置在所述粗调输出端口与所述精调延时块之间、所述精调延时块与所述固定延时块之间,和/或连接所述延时输出端口,响应于所述通断控制信号接通设定的所述粗调输出端口、所述精调输出端口和/或所述延时输出端口;

所述粗调延时链包括共用所述初始端口的主延时链和辅延时链;所述主延时链响应于所述粗调控制信号延迟所述初始时钟输出第一中间时钟;所述辅延时链延迟所述初始时钟输出第二中间时钟;所述主延时链和所述辅延时链的电路结构不相同;

所述精调延时块包括第一精调延时链和第二精调延时链;所述第一精调延时链响应于所述精调控制信号提供精调延时量延迟所述第一中间时钟;所述第二精调延时链用于延迟所述第二中间时钟。

2.根据权利要求1所述的DLL延时链,其特征在于:所述辅延时链由逻辑门电路构成,包括若干与非门;所述初始时钟经历所述若干与非门延迟后得到所述第二中间时钟,所述第二中间时钟的上升沿落在所述初始时钟半周期之内。

3.根据权利要求2所述的DLL延时链,其特征在于:所述第一中间时钟包括奇移相时钟和偶移相时钟;所述主延时链包括共用所述初始端口的第一延时支路和第二延时支路,响应于所述粗调控制信号分别延迟所述初始时钟得到所述奇移相时钟和所述偶移相时钟;所述主延时链级联有总数相同的第一延时单元和第二延时单元;所述第一延时支路使用若干第一延时单元延迟所述初始时钟,所述第二延时支路使用若干第二延时单元延迟所述初始时钟,响应于所述粗调控制信号,使用所述第一延时单元和使用所述第二延时单元的个数交替增加或者减少。

4.根据权利要求3所述的DLL延时链,其特征在于:所述第一延时支路和所述第二延时支路分别设置有数量不同的与非门;得到所述奇移相时钟所经历的与非门数量、得到所述偶移相时钟所经历的与非门数量以及所述辅延时链的与非门数量同为奇数或同为偶数。

5.根据权利要求2所述的DLL延时链,其特征在于:所述辅延时链包括偶数个串联的与非门。

6.根据权利要求1‑5任意一项所述的DLL延时链,其特征在于:所述延时输出端口至少有两个;所述开关单元连接所述延时输出端口,响应于所述通断控制信号接通一个所述延时输出端口获取信号作为当前的过渡时钟。

7.根据权利要求1‑5任意一项所述的DLL延时链,其特征在于:所述第一精调延时链和所述第二精调延时链相互独立;所述第二精调延时链包括若干组三态门。

8.下溢快速锁定方法,其特征在于:采用权利要求1‑7任意一项所述的一种DLL延时链进行;包括:步骤S1.相位检测比较外部时钟与反馈时钟,判断是否发生下溢;

步骤S2.基于判断结果切换信号获取当前的过渡时钟:

若未发生下溢,则将锁定时的反馈时钟作为所述过渡时钟;

若发生下溢,则将所述第二中间时钟依次经过精调延时块和固定延时块后输出的信号作为所述过渡时钟。

9.根据权利要求8所述的下溢快速锁定方法,其特征在于:判断是否发生下溢的做法包括:获取当前使用的第一延时单元个数和第二延时单元个数;

根据相位检测结果需要继续减少延时,若当前使用了最少的所述第一延时单元和所述第二延时单元,则判断此时发生了下溢。

10.根据权利要求8所述的下溢快速锁定方法,其特征在于:所述步骤S2中还包括:若发生下溢,重置所述粗调控制信号,使所述DLL延时链跳出下溢状态,重新开始正常的锁相过程直至所述外部时钟与所述反馈时钟相位对齐。

说明书 :

一种DLL延时链及下溢时快速锁定方法

技术领域

[0001] 本发明属于半导体集成电路技术领域,尤其涉及一种DLL电路中的延时链以及相应的下溢时快速锁定方法。

背景技术

[0002] 外部控制芯片CPU和半导体存储器装置通过时钟来准确完成指令和数据的传输。以动态随机存储器DRAM为例,在读的操作时,DRAM需要提供输出时钟dqs,dqs主要用来在一个时钟周期(tCK)内准确的区分出每个传输周期,并便于接收方准确接收数据。当输出时钟dqs和外部时钟clk相位差别较大时,CPU会抓取到错误的指令和数据。目前主要是通过延时锁相环DLL(Delay Locked Loop)电路来调整DRAM输出时钟dqs,使输出时钟dqs与外部时钟clk相位对齐。DLL电路能提供一个将外部时钟clk延时后的过渡时钟。通过提供这个过渡时钟使输出时钟dqs和外部时钟clk相位保持对齐从而同步DRAM的数据输出时序与外部时钟clk。
[0003] DRAM芯片工作中不稳定的电压和温度变化往往会引起DLL电路不能正常工作,即失锁。常见的失锁称为下溢(underflow)。underflow是DLL电路持续发出减小延时的指令,但DLL电路中的延时链已提供了其所能调节的最少的延时量,无法再减少延时量。常规的DLL电路会将正常锁定时与外部时钟clk相位相同的反馈时钟clk_fb作为一个过渡时钟输出,从而控制DRAM输出的数据的时序。当出现underflow时,常规的DLL电路无法获得相位锁定的反馈时钟clk_fb,只能一直输出错误时钟,内存芯片无法在准确的时间提供数据和指令,导致数据传输失败。特别的,随着集成电路技术的发展和应用需求的深入,当集成有DRAM的设备应用于极端环境中时,温度突变的情况时有发生,更容易出现underflow的现象。已知的underflow时解决办法是重置整个DLL电路以重新获得相位锁定的反馈时钟作为过渡时钟。重置DLL电路需要比较长的时间,以DDR4‑2666内存为例,要求的DLL电路锁存时间(locking time)是854tCK。在这段时间内DRAM芯片不能接收任何指令,后续的指令都将丢失。对于正在工作中的DRAM芯片,显然重置DLL电路并不是一个可行的应对underflow的方法。由温度变化等因素引发underflow而产生的不利影响限制了DRAM存储器及相关的半导体集成电路设备在复杂环境中的应用。
[0004] 因此目前十分需要研究一种DLL延时链及下溢时快速锁定方法,无需重置整个DLL电路能够用较短的时间恢复到DLL电路正常锁定状态,在下溢时不将错误时钟作为过渡时钟,避免CPU读取数据错误且数据传输过程不中断。解决在DRAM存储器中,DLL电路发生下溢时指令和数据大量丢失的问题,以此进一步推动半导体集成电路技术的深层次发展及广泛应用。

发明内容

[0005] 本发明是为解决上述现有技术的全部或部分问题,本发明一方面提供了一种DLL延时链,能够在出现underflow时提供过渡时钟,减少指令和数据的丢失;另一方面还提供下溢时快速锁定方法,用于使DLL电路能够及时跳出underflow的失锁状态,短时间内重新锁定,实现数据和指令的正确传输。
[0006] 为了便于理解本发明的内容,对本发明涉及的整个DLL电路的工作原理及underflow现象进行示例性而非限定的描述。如图1所示,外部时钟clk由CPU提供。DLL电路中包括占空比调整模块DCC(Duty Cycle Correction)用于调节外部时钟clk的占空比得到内部的初始时钟;可调延时链delay_line用于提供可调延时量延时初始时钟。还包括固定延时块delay replica用于复制图1中Logic电路的真实延时。这是因为Logic电路在DLL电路之后,需要将这部分Logic电路对时钟产生的影响也加入到DLL电路中,这样过渡时钟经过Logic电路后的输出时钟dqs才能与clk相位对齐。固定延时块delay replica提供的延时量是受限于自身结构和Logic电路设计,DLL电路不能对其提供的延时量进行调整。鉴相模块phase detect比对输入DLL电路的外部时钟clk和初始时钟经可调延时链delay_line和固定延时块delay replica后的反馈时钟clk_fb的相位差。控制模块control基于鉴相模块phase detect输出的相位差,控制占空比调整模块DCC调节外部时钟clk的占空比;控制DLL延时链,增大或减小可调延时链delay_line提供的延时量。本发明中underflow是指需要继续减小可调延时链delay_line提供的延时量,但此时可调延时链delay_line无法减少延时量。此时将卡死在其延时量的最小值处,无法得到与外部时钟clk相位对齐的反馈时钟clk_fb,需要重新锁定。
[0007] 本发明提供的DLL延时链,包括粗调延时块、精调延时块、固定延时块、信号控制线和开关单元;所述信号控制线与所述粗调延时块、所述精调延时块、所述开关单元分别耦接,用于获取并传输粗调控制信号、精调控制信号和通断控制信号;所述粗调延时块依次设置有:用于接收初始时钟的初始端口、粗调延时链、多个粗调输出端口;所述精调延时块设置有精调输出端口;所述固定延时块设置有延时输出端口;所述开关单元设置在所述粗调输出端口与所述精调延时块之间、所述精调延时块与所述固定延时块之间,和/或连接所述延时输出端口,响应于所述通断控制信号接通设定的所述粗调输出端口、所述精调输出端口和/或所述延时输出端口;所述粗调延时链包括共用所述初始端口的主延时链和辅延时链;所述主延时链响应于所述粗调控制信号延迟所述初始时钟输出第一中间时钟;所述辅延时链延迟所述初始时钟输出第二中间时钟;所述主延时链和所述辅延时链的电路结构不相同。在underflow时,通过辅延时链自身的电路结构能够延迟初始时钟生成第二中间时钟,第二中间时钟再经后续延迟后提供过渡时钟作为输出数据的临时时钟,通过所述开关单元能相应选择输出此临时时钟,出现下溢时不依赖于反馈时钟,不会将失锁的错误时钟作为过渡时钟输出。基于所述第二中间时钟延迟得到的过渡时钟接近于脱离underflow情况后的时钟,在不中断输出数据的信号的前提下,最大程度地减少出现underflow问题时钟信号变动程度、避免指令和数据的大量丢失,有利于保证CPU的数据读取数据的正确性。
[0008] 所述辅延时链由逻辑门电路构成,包括若干与非门;所述初始时钟经历所述若干与非门延迟后得到所述第二中间时钟,所述第二中间时钟的上升沿落在所述初始时钟半周期之内。
[0009] 所述第一中间时钟包括奇移相时钟和偶移相时钟;所述主延时链包括共用所述初始端口的第一延时支路和第二延时支路,响应于所述粗调控制信号分别延迟所述初始时钟得到所述奇移相时钟和所述偶移相时钟;所述主延时链级联有总数相同的第一延时单元和第二延时单元;所述第一延时支路使用若干第一延时单元延迟所述初始时钟,所述第二延时支路使用若干第二延时单元延迟所述初始时钟,响应于所述粗调控制信号,使用所述第一延时单元和使用所述第二延时单元的个数交替增加或者减少。
[0010] 所述第一延时支路和所述第二延时支路分别设置有数量不同的与非门;得到所述奇移相时钟所经历的与非门数量、得到所述偶移相时钟所经历的与非门数量以及所述辅延时链的与非门数量同为奇数或同为偶数。
[0011] 所述辅延时链包括偶数个串联的与非门。
[0012] 所述延时输出端口至少有两个;所述开关单元连接所述延时输出端口,响应于所述通断控制信号接通一个所述延时输出端口获取信号作为当前的过渡时钟。即通过所述开关单元切换关断和导通的所述延时输出端口选择DLL电路当前输出的过渡时钟,可以将相位锁定时的反馈时钟作为过渡时钟,也可以在underflow时忽略卡死的反馈时钟,不输出错误时钟而是以基于所述第二中间时钟延迟得到时钟作为过渡时钟,也可以在脱离underflow时及时切换所述延时输出端口仍以基于所述第一中间时钟的反馈时钟作为过渡时钟。
[0013] 所述精调延时块包括相互独立的第一精调延时链和第二精调延时链;所述第一精调延时链响应于所述精调控制信号提供精调延时量延迟所述第一中间时钟;所述第二精调延时链包括若干组三态门,用于延迟所述第二中间时钟。
[0014] 本发明另一方面提供的下溢时快速锁定方法,采用本发明一方面的DLL延时链进行;包括:步骤S1.相位检测比较外部时钟与反馈时钟,判断是否发生下溢;步骤S2.基于判断结果切换信号获取当前的过渡时钟:若未发生下溢,则将锁定时的反馈时钟作为所述过渡时钟;若发生下溢,则将所述第二中间时钟依次经过精调延时块和固定延时块后输出的信号作为所述过渡时钟。通过所述开关单元选择接通的端口,切换从DLL延时链输出的信号,在发生underflow时,不会将错误时钟输出,而是提供一个基于所述第二中间时钟的过渡时钟作为DRAM存储器的输出数据的临时输出时钟,临时输出时钟接近于不发生underflow情况的时钟,在不中断输出信号的时钟的前提下,最大程度减少解决underflow问题导致的时钟信号变动程度,从而保障CPU的数据读取数据的正确性。
[0015] 判断是否发生下溢的做法包括:获取当前使用的第一延时单元个数和第二延时单元个数;根据相位检测结果需要继续减少延时,若当前使用了最少的所述第一延时单元和所述第二延时单元,则判断此时发生了下溢。
[0016] 所述步骤S2中还包括:若发生下溢,重置所述粗调控制信号,使所述DLL延时链跳出下溢状态,重新开始正常的锁相过程直至所述外部时钟与所述反馈时钟相位对齐。
[0017] 与现有技术相比,本发明的主要有益效果:
[0018] 1、本发明的DLL延时链,设置有开关单元及辅延时链,通过所述开关单元能够响应于所述通断控制信号接通设定的端口,切换延时输出端口输出的信号;通过所述辅延时链能够得到第二中间时钟,在发生underflow时,由所述开关单元切换端口将基于所述辅延时链得到的信号作为提供给输出数据的临时时钟信号,而不输出错误时钟,避免发生underflow时的仅能提供一个错误时钟造成外部CPU读取数据错误的情况,有利于最大程度地减少数据丢失、保证CPU的数据读取数据的正确性、进而提高DRAM工作的可靠性。
[0019] 2、本发明的下溢时快速锁定方法,采用本发明一方面的DLL延时链进行而具有相应优势,通过判断是否发生下溢,相应切换端口,基于主、辅延时链相应获取适合的过渡时钟,不改变整个DLL电路的基本结构;发生underflow时基于辅延时链获取的输出信号的时钟接近与脱离underflow情况后的时钟,在不中断输出信号的时钟的前提下,尽量减少解决underflow问题所带来的时钟信号变动程度;此外仅通过重置所述粗调控制信号,即可使DLL延时链跳出underflow,快速重新锁定,无须重置整个DLL电路,为解决温度变化影响DRAM工作的问题提供了切实可行的办法。

附图说明

[0020] 图1为本发明示例的clk、dqs和DLL电路的信号流程示意图。
[0021] 图2为本发明实施例一的完整DLL电路的结构方块示意图。
[0022] 图3为本发明实施例一的DLL电路结构简化示意图。
[0023] 图4为本发明实施例一的正常锁相时各时钟的时序图。
[0024] 图5为本发明实施例一的DLL延时链示意图。
[0025] 图6为本发明实施例一的粗调延时块示意图。
[0026] 图7为本发明实施例一的精调延时块示意图。
[0027] 图8为本发明实施例一的第一中间时钟精调延时后输出的信号时序图。
[0028] 图9为本发明实施例一中发生下溢时主延时链路的示意图。
[0029] 图10为本发明实施例一中下溢时快速锁定方法过程示意图。

具体实施方式

[0030] 在下述实施例中采用特定次序描绘了实施例的操作,这些次序的描述是为了更好的理解实施例中的细节以全面了解本发明,但这些次序的描述并不一定与本发明的方法一一对应,也不能以此限定本发明的范围。
[0031] 实施例一
[0032] 如图2所示,完整的DLL电路包括鉴相模块phase detect、控制模块control、占空比调整模块DCC、可调延时链delay_line和固定延时块delay_replica。示例的情况中,占空比调整模块DCC调整外部时钟clk的占空比为50%。可调延时链delay_line延时外部时钟clk来调节相位的改变。外部时钟clk经过占空比调整模块调整占空比后的时钟是初始时钟clk_coarse。本实施例的DLL电路正常工作时,初始时钟clk_coarse输入可调延时链delay_line延时后的时钟clk_1通过固定延时块delay_replica得到更新的反馈时钟clk_fb。持续进行上述过程,直至外部时钟clk与最终的反馈时钟clk_fb相位对齐,以锁相时的反馈时钟clk_fb作为过渡时钟。为了便于理解本发明的要点,在此省略占空比调整模块DCC的工作,将图2中完整的DLL电路结构简化成可调延时链delay_line和固定延时块delay_replica,如图3所示。需要注意的是以上是为了便于说明而进行的简化,并不能因此认为完整的DLL电路结构中必然没有占空比调整模块DCC。本实施例中DLL电路正常工作时,可调延时链delay_line输出的时钟clk_1、外部时钟clk与反馈时钟clk_fb的时序图如图4所示。固定延时块delay_replica的模拟延时链路是复制系统自带的延时量,并且它受工艺漂移、温度等因素影响。为了叙述清楚,本实施例中以延时时间来表征延时量。在本实施例的应用场景中,温度与固定延时块delay_replica的延时时间正相关。当温度升高,固定延时块delay_replica延时时间t_rep变长,而正常锁相的总延时时间t_delay是固定不变的,那么就需要减少可调延时链delay_line的延时时间t_line才能保证DLL电路正常工作。但是当温度升高超过一定范围时,需要t_line减少到小于可调延时链delay_line能提供的最小延时时间,而此时t_line已经无法再继续减少,DLL电路将无法正常锁相,即发生了underflow。在DRAM存储器中,当underflow发生时,DLL电路不能正常锁相,反馈时钟clk_fb无法与外部时钟clk相位对齐,不能将其作为过渡时钟输出。
[0033] 本实施例的DLL延时链,如图5所示,包括粗调延时块coarse delay、精调延时块fine delay、固定延时块delay_replica、信号控制线C和开关单元。信号控制线C与粗调延时块coarse delay、精调延时块fine delay、开关单元分别耦接,用于获取并传输粗调控制信号、精调控制信号和通断控制信号。粗调延时块coarse delay依次设置有:粗调延时链、三个粗调输出端口和用于接收初始时钟clk_coarse的初始端口。参考图6,粗调延时链包括共用初始端口的主延时链和辅延时链dummy。主延时链和辅延时链dummy的电路结构不相同。主延时链响应于粗调控制信号延迟初始时钟clk_coarse输出第一中间时钟。在本实施例中第一中间时钟包括奇移相时钟clk_odd和偶移相时钟clk_even。辅延时链dummy延迟初始时钟clk_coarse输出第二中间时钟clk_dummy。三个粗调输出端口分别输出奇移相时钟clk_odd、偶移相时钟clk_even、第二中间时钟clk_dummy。在有的实施情况中粗调输出端口可以有更多或者只有两个。相应的精调延时块fine delay的输入端示例有三个端口接收。精调延时块fine delay输出端设置有两个精调输出端口,分别输出时钟clk_1和clk_2。在有的实施情况中精调输出端口可以有更多或者只有一个,并不限定。固定延时块delay_replica输出端设置有两个延时输出端口,分别输出时钟clk_dummy1和反馈时钟clk_fb。在本实施例中开关单元连接在延时输出端口,响应于通断控制信号选择接通两个延时输出端口中的一个以输出过渡时钟。即通过开关单元切换选择作为输出数据时钟for DATA的过渡时钟。在有的实施情况中,结合具体电路设计情况,开关单元也可以设置在粗调输出端口与精调延时块fine delay之间、精调延时块fine delay与固定延时块delay_replica之间接通设定的粗调输出端口或精调输出端口控制粗调延时块coarse delay输出信号的后续流转,以应对发生underflow时和正常工作时提供不同的过渡时钟,避免失锁的错误时钟造成读取错误。实际电路设计相应设置,延时输出端口也可以只有一个或更多,并不限定。示例的开关单元采用传输门实现,在有的实施情况中结合电路具体结构和设计参数采用PMOS管或NMOS管实现开关单元,在这里不限定具体情况。
[0034] 如图6所示,粗调延时块coarse delay设置有共用一个初始端口的主延时链和辅延时链dummy。主延时链包括共用初始端口的第一延时支路A和第二延时支路B,响应于粗调控制信号cnt_odd和cnt_even分别延迟初始时钟clk_coarse得到奇移相时钟clk_odd和偶移相时钟clk_even。示例的主延时链设置有逻辑门结构,初始时钟clk_coarse得到奇移相时钟clk_odd所经历的与非门数量、得到偶移相时钟clk_even经历的与非门数量以及辅延时链dummy的与非门数量同为奇数或同为偶数。辅延时链dummy通过自身的延时电路结构延迟初始时钟clk_coarse输出第二中间时钟clk_dummy。在本实施例中示例的,如图6所示,辅延时链dummy由逻辑门电路构成,示例的情况中由偶数个与非门串联构成。较好做法中辅延时链dummy由四个与非门串联,电路结构简洁。初始时钟clk_coarse经历四个与非门延迟后的第二中间时钟clk_dummy,其上升沿落在初始时钟clk_coarse的半周期之内。
[0035] 主延时链主干上级联有总个数都是N的第一延时单元和第二延时单元。第一延时支路A能使用i个第一延时单元延迟初始时钟clk_coarse,第二延时支路B能使用j个第二延时单元延迟初始时钟clk_coarse。响应于粗调控制信号cnt_odd和cnt_even,i和j交替增加或者减少。示例的第一延时单元和第二延时单元结构相同,都是由三个与非门组成,两个与非门的输出端分别连接第三个与非门的第一输入端和第二输入端。1≤i≤N,1≤j≤N;其中N、i和j是正整数,可以根据实际应用或具体产品设计参数相应设定。
[0036] 本实施例的精调延时块如图7所示,包括相互独立的第一精调延时链X和第二精调延时链Y。第一精调延时链X响应于精调控制信号提供精调延时量延迟基于奇移相时钟clk_odd和偶移相时钟clk_even进一步精调延时输出一个时钟clk_1。第二精调延时链Y包括若干组三态门,图7中以一组三态门作为示例,用于延迟第二中间时钟clk_dummy后输出一个时钟clk_2。示例的第一精调延时链X是由共用一个输出端的两组三态门构成,在本实施例中,DLL电路正常工作时,奇移相时钟clk_odd和偶移相时钟clk_even具有相位差,分别输入一组三态门后由同一个输出端输出一个时钟clk_1。本实施例中,精调控制信号还包括分频信号,用于依据延时精度的实际要求进行分频,将clk_odd和clk_even的相位差进行若干等分用于进一步精调,每个等份就是一个延时步长(等分数量越多,精调延时的单次延时就越小,延时的精度就越高)。将clk_odd和clk_even的相位差分成n个等份,一个延时步长就是相位差的n分之一,精调延时块fine delay响应于精调控制信号选择对输入的clk_odd延迟m个延时步长。在本实施例中,时钟clk_1就是clk_odd加上m个延时步长后得到的,精调延时后输出的信号时序图如图8所示,示例的情况中,采用一个1/8比率的三态门,n为8,m为2。精调延时的结果是在clk_odd的基础上加上两个延时步长。在也有的实施情况中粗调延时块coarse delay、精调延时块fine delay的具体电路结构根据实际应用和产品设计相应设置,并不限定。
[0037] 发生underflow时主延时链路如图9所示,N的示例值是9。当发生underflow时,i=1,j=1都无法继续减少。反馈时钟clk_fb无法更新,无法与外部时钟clk相位对齐,是错误时钟,无法得到相位锁定的反馈时钟clk_fb以用作正确的过渡时钟。如图10所示,示例的underflow时快速锁定方法包括:包括:步骤S1.相位检测比较外部时钟clk与反馈时钟clk_fb,判断是否发生underflow;步骤S2.基于判断结果切换信号获取当前的过渡时钟:若未发生underflow,则将锁定时的反馈时钟clk_fb作为过渡时钟;若发生underflow,则将第二中间时钟clk_dummy依次经过精调延时块和固定延时块后输出的信号,即时钟clk_dummy1作为过渡时钟。通过开关单元选择接通的端口,在发生underflow时,提供一个过渡时钟作为DRAM存储器的输出数据的临时输出时钟,且输出信号接近于不发生underflow情况的时钟,在不中断输出信号的时钟信号的前提下,尽量减少解决underflow问题带来的时钟信号变动程度,尽量保证CPU的数据读取数据的正确性。
[0038] 在本实施例中,判断是否发生underflow的做法包括:获取当前使用的第一延时单元个数和第二延时单元个数;根据相位检测结果需要继续减少延时,若当前使用了最少的第一延时单元和第二延时单元,则判断此时发生了underflow。在也有的实施情况中,也可以是其他结合具体电路结构的做法,例如通过对当前相位比对的结果与前一时刻相位比对的结果进行比对判断两次相位比对结果是否不同,以此检测DLL电路是否是正常工作状态,并不限定。
[0039] 实施例二
[0040] 实施例二与实施例一的主要区别在于发生underflow时的做法。在本实施例中,步骤S2中,若发生underflow,开关单元切换端口输出时钟clk_dummy1作为临时时钟,之后立即重置DLL电路的控制模块control使其产生新的粗调控制信号cnt_odd和cnt_even去控制粗调延时形成新的第一中间时钟,即更新的奇移相时钟clk_odd和偶移相时钟clk_even,再经过DLL电路正常的锁相过程直至反馈时钟clk_fb又能与外部时钟clk同相位,然后开关单元再切换以反馈时钟clk_fb为过渡时钟作为输出数据的时钟信号。粗调控制信号为两个计数信号是一个示例,粗调控制信号也可以是结合具体电路设计的其他形式的信号,在这里并没有限定具体情况。本实施例中无须重置整个DLL电路,发生underflow时既能不输出错误时钟选择输出接近于不发生underflow情况的时钟,减少读取数据错误又能及时重新锁定,快速恢复正常工作。
[0041] 本发明为了便于叙述清楚而采用的一些常用的英文名词或字母只是用于示例性指代而非限定性解释或特定用法,不应以其可能的中文翻译或具体字母来限定本发明的保护范围。还需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0042] 以上对本发明进行了详细介绍,本文中应用了具体的个例对本发明的结构及工作原理进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求保护的范围内。