首页> 中国专利> 延迟模块和方法、时钟检测装置及数字锁相环

延迟模块和方法、时钟检测装置及数字锁相环

摘要

本发明实施例公开了一种延迟模块和方法、时钟检测装置及数字锁相环。该延迟模块包括第一延迟单元、第二延迟单元和反相器;第一延迟单元和第二延迟单元各自包括两个具有反相作用的用于选通的逻辑门和用于延迟的逻辑门,两个逻辑门电性连接;第一延迟单元的用于选通的逻辑门的输入端与反相器的输出端电性连接,述第一延迟单元的用于延迟的逻辑门的输出端和第二延迟单元的用于延迟的逻辑门的输入端电性连接,反相器的输入端与第二延迟单元的用于选通的逻辑门的输入端电性连接;反相器的输入端用于输入待延迟的时钟信号,第二延迟单元的用于延迟的逻辑门用于输出延迟后的时钟信号。通过本发明实施例可以达到较高精度的延迟步进值。

著录项

  • 公开/公告号CN101562440A

    专利类型发明专利

  • 公开/公告日2009-10-21

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN200910135287.8

  • 发明设计人 万辰;

    申请日2009-05-12

  • 分类号H03K5/13(20060101);H03L7/089(20060101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人刘芳

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-17 22:53:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-11-10

    授权

    授权

  • 2009-12-16

    实质审查的生效

    实质审查的生效

  • 2009-10-21

    公开

    公开

说明书

技术领域

本发明涉及信号处理技术,特别涉及一种延迟模块和方法、时钟检测装置及数字锁相环。

背景技术

在当今的许多芯片中,信号之间的信息交互往往需要两者之间保持一定的相位延迟关系。比如时钟和数据,如果需要时钟能够稳定的采样数据,时钟的上升沿就必须至少比数据晚一个建立时间(setup time)。但是由于工艺,电压和温度(PVT)的影响这些信号间的延迟要求会发生变化,同时用来实现延迟要求的电路的延迟也会发生变化,比如构成数字电路的最基本单元与非门,其驱动会因为温度变低或者电压变高而变高,这样它的延迟也就会变小。为了保证信号间的延迟关系,需要对PVT的影响进行补偿。解决途径之一就是数字锁相环(Digital Locked Loop,DLL),DLL被用在各种电路系统(特别是高速电路)中以动态补偿PVT影响的延迟。DLL通常由两部分组成,一部分用于动态检测系统的时钟周期,另一部分用于根据检测到的时钟周期进行相应的延迟。在高速电路中,时钟周期非常小,通常只有几个ns,留给DLL延迟误差的空间就更小,不到100ps。随着技术的进步和市场的需求,越来越多的芯片步入高速行列,高精度数字DLL需求越来越大。DLL通常由多个延迟单元组成,每个延迟单元的延迟时间为该DLL的延迟步进值。

发明人在实现本发明的过程中发现现有技术至少存在如下问题:现有DLL的延迟步进值都不够精确,不能满足精度要求较高的高频电路的需求。

发明内容

本发明是提供一种延迟模块和方法、时钟检测装置及数字锁相环,提高DLL延迟步进值精确度。

本发明实施例提供了一种延迟模块,包括第一延迟单元、第二延迟单元和反相器;第一延迟单元和第二延迟单元各自包括两个具有反相作用的逻辑门,分别为:用于选通的逻辑门和用于延迟的逻辑门,用于选通的逻辑门的输出端和用于延迟的逻辑门的输入端电性连接;所述第一延迟单元的用于选通的逻辑门的输入端与反相器的输出端电性连接,所述第一延迟单元的用于延迟的逻辑门的输出端和所述第二延迟单元的用于延迟的逻辑门的输入端电性连接,所述反相器的输入端与第二延迟单元的用于选通的逻辑门的输入端电性连接;所述反相器的输入端用于输入待延迟的时钟信号,所述第二延迟单元的用于延迟的逻辑门用于输出延迟后的时钟信号。

本发明实施例提供了一种延迟方法,包括:

当选通的延迟单元的个数为偶数时,将待延迟的时钟信号经过反相器及选通的延迟单元后输出;

当选通的延迟单元的个数为奇数时,将待延迟的时钟信号经过选通的延迟单元后输出;

其中,每个延迟单元包括都具有反相作用的用于选通的逻辑门和用于延迟的逻辑门,各延迟单元的用于选通的逻辑门的输出端和用于延迟的逻辑门的输入端电性连接,各延迟单元的用于延迟的逻辑门级联。

本发明实施例提供了一种时钟检测装置,用于检测待检测的时钟周期,包括上述的延迟模块,还包括:调节模块,所述调节模块包括至少一个的调节单元,每个调节单元包括非门和选择反相器,非门的输出端与选择反相器的一个输入端电性连接;调节单元的非门互相级联,调节单元的选择反相器互相级联;所述非门的输入端用于输入待检测的时钟信号,所述选择反相器用于输出延迟后的待检测的时钟信号给所述延迟模块,作为所述延迟模块的待延迟时钟信号。

本发明实施例提供了一种数字锁相环,包括上述的时钟检测装置,还包括延迟装置,所述延迟装置与所述时钟检测装置电性连接,用于将待延迟的时钟信号延迟kN1个调节单元和kN2个延迟单元对应的延迟时间,其中,k为对时钟周期的延迟比例,N1、N2分别为时钟周期等效的调节单元的个数和延迟单元的个数。

由上述技术方案可知,本发明实施例的延迟单元包括两个逻辑门,一个用于选通,一个用于延迟,并且待延迟的时钟信号通过反相器或者直接作为延迟单元的用于选通的逻辑门的输入,可以当选通的延迟单元增加1时,输入时钟信号经过的逻辑门将相应的增加一个,即通过本发明实施例延迟步进值为一个逻辑门的延迟时间,相比于现有的延迟步进值为两个逻辑门的延迟时间,可以提高延迟步进值的精度。

附图说明

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

图1为本发明第一实施例的延迟模块的结构示意图;

图2为本发明第二实施例中的延迟模块的结构示意图;

图3为本发明第二实施例中的延迟单元的结构示意图;

图4为本发明实施例的调节模块的结构示意图;

图5为本发明第三实施例的DLL的结构示意图;

图6为本发明实施例中DLL内部一些信号的波形示意图;

图7为本发明实施例中延迟控制状态机实现动态检测时钟周期的方法流程示意图。

具体实施方式

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

现有技术中,DLL的延迟步进值较大的原因可能在于:每个延迟单元起延迟作用的逻辑门通常为两个或者两个以上。因为在现有技术中,如果采用与非门作为延迟的逻辑门,为了保证输出和输入的时钟信号同相,每次的差值应该为偶数个。但在本发明实施例中,为了保证延迟步进值尽量小,采用差值为一个逻辑门(例如与非门、或非门、非门)的延迟模块,同样为了保证输出和输入的时钟信号同相,本发明实施例会根据选通的延迟单元的个数为奇或偶,使输入时钟从不同的路径经过延迟单元后输出。

图1为本发明第一实施例的延迟模块的结构示意图,包括第一延迟单元11、第二延迟单元12和反相器13;第一延迟单元11和第二延迟单元12各自包括两个具有反相作用的逻辑门,分别为:用于选通的逻辑门和用于延迟的逻辑门,用于选通的逻辑门的输出端和用于延迟的逻辑门的输入端电性连接;第一延迟单元11的用于选通的逻辑门111的输入端与反相器13的输出端电性连接,第一延迟单元11的用于延迟的逻辑门112的输出端和第二延迟单元12的用于延迟的逻辑门122的输入端电性连接,反相器13的输入端与第二延迟单元12的用于选通的逻辑门121的输入端电性连接;所述反相器13的输入端用于输入待延迟的时钟信号(clk_in),第二延迟单元12的用于延迟的逻辑门122用于输出延迟后的时钟信号(clk_out)。

本实施例将待延迟的时钟信号通过反相器或者直接作为延迟单元的用于选通的逻辑门的输入,每个延迟单元起延迟作用的逻辑门为1个,可以当选通的延迟单元增加1时,输入时钟信号经过的逻辑门将相应的增加一个,即通过本实施例延迟步进值为一个逻辑门的延迟时间,相比于现有的延迟步进值为两个逻辑门的延迟时间,可以提高延迟步进值的精度。

可以理解的是,在第一实施例的基础上,可以增加延迟单元的个数,使延迟模块可以延迟更多的延迟时间。

图2为本发明第二实施例中的延迟模块的结构示意图,包括对应于第一实施例中的第一延迟单元(包括用于选通的逻辑门211和用于延迟的逻辑门212)、第二延迟单元(包括用于选通的逻辑门221和用于延迟的逻辑门222)和反相器23,还包括N个第三延迟单元和M个第四延迟单元,其中,N、M为自然数,且N和M相等或者N和M顺序相邻;每个第三延迟单元和每个第四延迟单元各自包括两个具有反相作用的逻辑门,分别为:用于选通的逻辑门和用于延迟的逻辑门,用于选通的逻辑门的输出端和用于延迟的逻辑门的输入端电性连接;所述N个第三延迟单元的用于选通的逻辑门241的输入端分别与反相器23的输出端电性连接,所述M个第四延迟单元的用于选通的逻辑门251的输入端分别与第二延迟单元的用于选通的逻辑门221的输入端电性连接;所述M个第四延迟单元的用于延迟的逻辑门252与所述N个第三延迟单元的用于延迟的逻辑门251之间交替级联,所述第一延迟单元的用于延迟的逻辑门212的输入端与级联方向输出端的第四延迟单元中的用于延迟的逻辑门252的输出端电性连接。

本实施例中的逻辑门可以为与非门、或非门、或者为非门。以逻辑门为与非门为例,本实施例还包括选择器26;当M不为0且N大于等于M时,选择器26的输出端与所述第三延迟单元24的用于延迟的逻辑门242的输入端电性连接;当M不为0且N小于M时,所述选择器26的输出端与所述第四延迟单元的用于延迟的逻辑门252的输入端电性连接;当M为0时,所述选择器的输出端与所述第一延迟单元的用于延迟的逻辑门212的输入端电性连接;所述用于选通的逻辑门(包括第一延迟单元的用于选通的逻辑门、第二延迟单元的用于选通的逻辑门、第三延迟单元的用于选通的逻辑门和第四延迟单元的用于选通的逻辑门)的输入端还用于输入选通信号,所述选通信号用于得到被选通的延迟单元,所述选择器26用于使被选通的延迟单元的用于延迟的逻辑门起反相作用。

进一步地,为了提高延迟模块的精度,本实施例还可以包括与所述反相器23具有相同延迟时间的缓冲器27,所述缓冲器27电性连接所述反相器23的输入端和第二延迟单元的用于选通的逻辑门221的输入端。

图3为本发明第二实施例中的延迟单元的结构示意图。参见图3,每个延迟单元包括两个与非门,一个为INV_COR,另一个为INV_ASS,其中,与非门INV_COR用于起延迟作用,其两个输入端分别为a、b,其输出端为o;与非门INV_ASS用于起选通作用,其两个输入端分别为s、c,其输出端为b,其中,c端用于输入时钟信号,s端用于输入选通信号。当与非门INV_ASS的s端输入为0时,由于其输出恒为1,因此,此时的与非门INV_ASS是未被选通的,只有当s端输入为1时,与非门INV_ASS是选通的,即对应的延迟单元是选通的。

结合图2,上述延迟模块的工作原理如下:

假设本实施例的延迟模块包括32个延迟单元(其中包括一个第一延迟单元和一个第二延迟单元及15个第三延迟单元和15个第四延迟单元),各延迟单元的用于延迟的与非门分别用D0、...、D31标记,选通信号为S=(S31、...、S0),其中,S31用于控制第32个延迟单元(D31所属的延迟单元),S0用于控制第1个延迟单元(D0所属的延迟单元),其余类推。

当需要进行延迟处理的延迟单元由一个增加到两个时,选通信号由S=32’h1变为S=32’h2,其中,32’h1表示S由32位二进制数组成,用16进制(h)表示为00000001,即S0=1,其余的S1,...,S31均为0,32’h2表示S1=1,其余的S0、S2,...,S31均为0。当S为32’h1时,由于控制第2-32个延迟单元的选通部分的选通信号均为0,并且由于选通部分为与非门,则第2-32个延迟单元的选通部分的输出均为1,由于S0=1,所以,第2-32个延迟单元的延迟部分及第1个延迟单元的选通部分的与非门在功能上均成为了反相器(因此这些与非门的一端输入为1)。此时,由于第1个延迟单元的选通部分的一端输入为S0=1,另一端输入为clk_in,则第1个延迟单元的选通部分的输出为clk_in,为了保证第1个延迟单元的延迟输出为clk_in,则需要第1个延迟单元的延迟部分的另一端(D0/a)输入为1。由于未选通的延迟单元数目为31个,则选择器的输出需要为0,这样根据连接关系(选择器的输出经过31个相当于反相器的与非门),可以得到第1个延迟单元的延迟部分的另一个输入(D0/a)为1,这样实现了延迟单元的输出为clk_in。这时需要选择器的控制信号endbitsel=0。(选择器的工作原理是,当控制信号endbitsel=0时,选择器的输出为0,当endbitsel=1时,选择器的输出为1)。

根据上述原理,当S为32’h2时,则需要选择器的输出为1,这样,clk_in经过非门及第2个延迟单元(D1所属的延迟单元),还有第1个延迟单元的延迟部分(即与非门D0)后输出。根据上述原理,可以得到:当采用一个延迟单元时,clk_in需要经过两个与非门后输出,当采用两个延迟单元时,clk_in需要经过三个与非门后输出。相比于采用一个延迟单元,当采用两个延迟单元时,延迟的时间将增加一个经过与非门的时间。同理,当增加一个延迟单元时,延迟的时间将增加一个经过与非门的时间,即延迟步进值为一个与非门的时间。由于与非门是现有标准库单元中具有最小延时的多输入器件,所以本实施例可以达到较为精确的延迟步进值。

本实施例的延迟模块的延迟单元包括两个与非门,其中一个用于延迟,实现延迟步进值为一个与非门的延迟时间,得到较小的延迟步进值。

本发明实施例通过利用标准库单元中的具有最小延迟的多输入器件与非门来搭建DLL的延迟线。使得DLL的最小调节步进值为一个与非门的延迟值,大大提高的DLL的延迟精度以及调节精度。一个与非门的延迟值大概0.035ns(TSMC 90G工艺CLKNAND2X4在最悲观情况下),使得DLL的延迟调整步进值缩小为0.035ns左右,进而保证DLL能够应用于高频率DDR控制器中。

表1为本发明实施例情况下的TSMC 90G工艺CLKNAND2X4在最悲观情况下延迟值,表2、3分别为现有情况下的TSMC 90G工艺CLKNAND2X4在最悲观情况下延迟值。表1-3中的cap为电容,单位为pF,trans为爬升时间,单位为ns,表格中延迟值的单位为ns。从表中可以明显看出本发明实施例与现有技术相比,可以显著减小延迟步进值。

表1

表2

表3

对应于上述的模块,本发明实施例提供了一种延迟方法,包括:

当选通的延迟单元的个数为偶数时,将待延迟的时钟信号经过反相器及选通的延迟单元后输出;

当选通的延迟单元的个数为奇数时,将待延迟的时钟信号经过选通的延迟单元后输出;

其中,每个延迟单元包括都具有反相作用的用于选通的逻辑门和用于延迟的逻辑门,各延迟单元的用于选通的逻辑门的输出端和用于延迟的逻辑门的输入端电性连接,各延迟单元的用于延迟的逻辑门级联。

进一步地,为了提高延迟精度,当选通的延迟单元为奇数时,先对待延迟的时钟信号进行缓冲处理,之后再经过选通的延迟单元后输出,其中,缓冲处理的延迟时间与所述反相器的延迟时间相同;例如,参见图2,当选通的为D0所在的延迟单元时,待延迟的时钟信号(clk_in)将经过缓冲器及D0所在的延迟单元后输出。

本实施例将待延迟的时钟信号通过反相器或者直接作为延迟单元的用于选通的逻辑门的输入,每个延迟单元起延迟作用的逻辑门为1个,可以当选通的延迟单元增加1时,输入时钟信号经过的逻辑门将相应的增加一个,即通过本实施例延迟步进值为一个逻辑门的延迟时间,相比于现有的延迟步进值为两个逻辑门的延迟时间,可以提高延迟步进值的精度。

在DLL中通常会包括两部分,一部分为主(MASTER)模块,一部分为从(SLAVE)模块。主模块即为时钟检测装置,主要用于动态完成系统时钟周期的检测,以及将时钟周期对应成延迟阶数输出,以补偿PVT的影响,作为从模块的延迟参考。从模块即为延迟装置,用来实现对clk_in进行延迟。

在具体实现上,时钟检测装置可以包括上述的延迟模块,用于动态检测时钟周期。通过该装置可以将时钟周期等效为延迟单元的个数,以补偿PVT的影响。

进一步的,上述延迟模块虽然可以达到很高的精度,但是通常延迟模块总的可以调节的延迟时间较短,而实际中可能需要调节较大的延迟时间。因此,本发明实施例还可以进一步提供一种调节模块。调节模块是将当前延迟值调节到所期望的延迟值附近,之后可以通过延迟模块进行精度调节。

图4为本发明实施例的调节模块的结构示意图,本实施例的调节模块包括多个调节单元,每个调节单元包括一个非门41和一个选择反相器42。非门41的输出端与选择反相器42的一个输入端电性连接;调节单元的非门41互相级联,调节单元的选择反相器42互相级联;所述非门41的输入端用于输入待延迟的时钟信号(clk_in),所述反相器用于输出延迟后的时钟信号(clk_out)。当调节模块用于检测时钟周期时,其输入的待延迟的时钟信号即为待检测的时钟信号。

本实施例通过one-hot方式来控制调节单元个数实现延迟。当S0为‘1’时,调节模块选择一个调节单元来延迟clk_in信号,当S1为1时,延迟线选择两个调节单元来延迟clk_in,以此类推。在DLL中,延迟控制状态机控制调节模块调节自身的调节单元个数,将延迟调节到需要延迟的值附近,比如一个调节单元的延迟值为0.15ns,需要延迟1ns。这样可以先调节6个调节单元到0.9ns的延迟,但是离1ns的延迟还有0.1ns误差。这时,可以采用延迟模块进一步调节以达到0.1ns的误差。

本实施例通过在DLL中设置调节模块,可以在延迟时间一定时减小延迟模块的面积,进而使DLL的面积减小。

在上述延迟模块和调节模块的基础上,本发明实施例可以提供一种时钟检测装置,用于动态检测待检测的时钟周期,将时钟周期等效为对应的延迟单元个数和调节单元个数;该装置包括上述的延迟模块和调节模块,其中调节模块的输入为待检测的时钟信号,调节模块的输出作为延迟模块的待延迟的时钟信号;该装置还包括触发器、相位检测器和延迟控制状态机,所述触发器与所述调节模块及所述相位检测器电性连接,所述相位检测器与所述延迟模块及所述延迟控制状态机电性连接所述延迟控制状态机与所述调节模块和延迟模块电性连接;所述触发器用于将待检测的时钟信号输出给所述调节模块及所述相位检测器,所述相位检测器用于根据输入的待检测的时钟信号和经过所述调节模块和延迟模块延迟后的时钟信号得到传输控制信号,所述延迟控制器根据所述传输控制信号动态地将待检测的时钟周期等效为调节模块中的调节单元的个数和延迟模块中的延迟单元的个数。在上述基础上,本发明实施例还可以提供一种DLL,包括上述的时钟检测装置,还包括延迟装置,所述延迟装置与所述时钟检测装置电性连接,用于将待延迟的时钟信号延迟kN1个调节单元和kN2个延迟单元对应的延迟时间,其中,k为对时钟周期的延迟比例,N1、N2分别为时钟周期等效的调节单元的个数和延迟单元的个数。其中,延迟比例可以由比例逻辑单元提供。具体如下:

图5为本发明第三实施例的DLL的结构示意图。参见图5,本实施例的DLL包括主模块(即时钟检测装置)51、从模块(即延迟装置)52和比例逻辑单元53,主模块51包括D触发器511,调节模块512、延迟模块513、相位检测器514和延迟控制状态机515。从模块52包括调节模块521和延迟模块522。

主模块51输入的时钟信号为hclk,该时钟信号hclk经过1个D触发器后的信号为clk_div2,再经过另一个D触发器后的信号为clk_ref。延迟控制状态机515向调节模块512输出的控制信号为cor_msel,延迟控制状态机515向延迟模块513输出的控制信号为fin_msel,延迟控制状态机515通过向调节模块512和延迟模块513输出控制信号,控制相应的模块延迟对应的延迟单元数,例如,当cor_msel=4,调节模块每次增加选通的延迟单元个数为4个;当fin_msel=1,延迟模块每次增加选通的延迟单元个数为1个。经过调节模块和延迟模块输出的时钟信号为clk_dly,时钟信号clk_ref和时钟信号clk_dly作为相位检测器514的输入,当相位检测器检测到两个时钟信号clk_ref和clk_dly相位相同时,将输出transition=0,否则保持transition=1。

从模块的输入时钟信号为clk_in,从模块主要用于对clk_in进行延迟处理得到延迟后的输出时钟信号clk_out。DLL是动态检测时钟周期,将时钟周期等效为对应的延迟单元数和调节单元数。DLL中的主模块首先将时钟周期动态等效为对应的调节单元数(cor_m_dly_tap_num)和延迟单元数(fin_m_dly_tap_num),之后,由于从模块是以时钟周期为单位进行延迟的,例如,通常情况下,从模块需要延迟1/4个时钟周期,所以延迟控制状态机会将对应的调节单元数和延迟单元数通过比例逻辑单元53输出给从模块的调节模块和延迟模块,从模块中的调节模块和延迟模块根据进行比例运算处理后的延迟单元数(分别为cor_dly_tap_num和fin_dly_tap_num)调节自身的选通的调节单元或延迟单元,对输入的clk_in进行延迟处理。

本实施例中的主模块可以动态地将时钟周期等效为对应的调节单元个数和延迟单元个数,以补偿PVT的影响。并且,通过设置调节模块和延迟模块,可以由调节模块实现DLL面积的缩小,由延迟模块保证延迟精度。

上述对延迟模块中的工作原理进行了简要描述,下面从信号之间的关系出发来解释延迟模块总的延迟时间也不能太大,以保证输入时钟信号被正确延迟输出。

图6为本发明实施例中DLL内部一些信号的波形示意图。在上述电路结构的工作原理,在延迟模块中,当选通信号由S=32’h1变为S=32’h2时,由于选择器的输出是受控制信号endbitsel控制的,而endbitsel传导到D1的a端是需要时间的,在这个时间内需要D1的a端输入为0屏蔽clk_in的输入,以避免clk_in的毛刺情况。

参见图6,选通信号S以及endbitsel是由hclk采样打拍得出,所以S以及endbitsel的跳变在hclk的上升沿处发生。图中为80ns时刻endbitsel信号发生变化(hclk周期假设为5ns,为了方便表示这里图中按照1∶8进行放大,也就是hclk为40ns),也就是说D31处的a端输入信号在80ns时刻由0变成了1。然后这个跳变沿需要经过31个延迟单元才能传到D1。假设这里传递花了8ns(由于延迟模块的个数很少,且延迟单元的延迟也非常小,这样即使整个延迟模块的所有延迟单元延迟加起来也不会超过时钟的20%)。所以D1的a端在88ns处由0变成了1(即endbitsel与D1/a出现8ns的endbit delay)。当D1的a端变为‘1’以后,clk_in可以直通D1,但是在D1被选通到D1的a端变为‘1’之前这段时间,clk_in是被隔离的,D1的输出恒为‘1’。如果这个时候在D1的c端正好有个跳变沿的话,这个跳变沿将被屏蔽掉。接下来分析这种情况的可能性。主模块的调节模块的输入时钟为clk_div2(hclk的二分频)。该时钟在经过了调节模块延迟后得到clk_dly_cor信号。由于调节模块已经延迟几乎整个时钟周期了,所以clk_dly_cor的上升沿如图所示在74ns时刻。该时钟信号clk_dly_cor作为延迟模块的时钟输入经过一个非门后输入到D1的c端,到达b端时,上升沿变成了下降沿。在80ns时刻(也就是S以及endbitsel信号变化的时刻),D1的b端输入一直都为低电平,该低电平将一直维持一个时钟周期直到114ns。当D1的b端为‘0’时,也就不关心D1的a端输入信号,即使它为‘0’。所以这里只要保证延迟模块的延迟不要太大,超过了D1的b端维持低电平的时间,那么endbitsel的变化再传导到相应延迟单元的a端的延迟就不会对输出造成影响。

本实施例中的主模块用于将时钟周期动态地等效为调节单元的个数和延迟单元的个数,实现动态检测时钟周期,其检测时钟周期可以通过延迟控制状态机实现。

图7为本发明实施例中延迟控制状态机实现动态检测时钟周期的方法流程示意图,包括:

步骤701:接收复位信号,当复位信号有效时,进入空闲状态,等待检测开始。

步骤702:当复位信号无效时,进入递增状态,控制调节模块逐次增加选通的调节单元的个数,具体每次增加的个数可以由cor_msel指定,例如,cor_msel=4表示每次增加4个选通的调节单元调节单元。

步骤703:判断对应调节模块的延迟控制寄存器是否溢出,若是,执行步骤713,若否,执行步骤704。延迟控制寄存器是用于控制调节模块和延迟模块增加选通的延迟单元个数的,假设控制调节模块的延迟控制寄存器为128位,则当cor_msel[127]为1时表明延迟控制寄存器溢出,当cor_msel[127]为0时表明未溢出。

步骤704:进入等待状态。由于信号在系统中传输需要经过元件的延迟,因此需要等待一些时间。例如,等待8个时钟周期。

步骤705:进入检测状态,判断延迟时间是否等于一个时钟周期,若是,执行步骤706,否则,执行步骤702。具体的可以通过判断transition是否为1来确定,从上述电路工作原理可以看出,当transition=0时表明延迟时间等于一个时钟周期。

步骤706:进入确认状态,为了保证延迟时间确实为一个时钟周期,可以连续多次检测transition是否为1,例如,可以连续15次检测transition是否为1,当15次均为0时,表明延迟时间为一个时钟周期,之后执行步骤707。这样可以避免误差等原因造成的transition很可能偶然变为0,但延迟时间并没有达到一个时钟周期的问题。

步骤707:进入减小状态,通过信号cor_msel控制调节模块将选通的延迟单元减小先前cor_msel表征的个数,例如,减小4个。并且,将细调指示设置为有效,例如,设置fin_process=1。此时,完成粗调定位,之后进入细调状态。

步骤708:进入细调递增状态,控制延迟模块逐次增加选通的延迟单元的个数,具体每次增加的个数可以由fin_msel指定,例如,fin_msel=1表示每次增加1个选通的调节单元调节单元。

步骤709:判断对应延迟模块的延迟控制寄存器是否溢出,若是,执行步骤713,若否,执行步骤710。

步骤710:进入等待状态。由于信号在系统中传输需要经过元件的延迟,因此需要等待一些时间。例如,等待8个时钟周期。

步骤711:进入检测状态,判断延迟时间是否等于一个时钟周期,若是,执行步骤712,否则,执行步骤708。具体的可以通过判断transition是否为1来确定,从上述电路工作原理可以看出,当transition=0时表明延迟时间等于一个时钟周期。

步骤712:进入确认状态,为了保证延迟时间确实为一个时钟周期,可以连续多次检测transition是否为1,例如,可以连续15次检测transition是否为1,当15次均为0时,表明延迟时间为一个时钟周期,之后执行步骤713。这样可以避免误差等原因造成的transition很可能偶然变为0,但延迟时间并没有达到一个时钟周期的问题

步骤713:进入加载状态,将时钟周期对应的调节单元个数及延迟单元个数确定。

本实施例可以实现动态地检测时钟周期,补偿PVT的影响。

最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号