一种快速锁定的延时锁定环的制作方法

文档序号:15844123发布日期:2018-11-07 08:48阅读:931来源:国知局
一种快速锁定的延时锁定环的制作方法

本发明涉及cmos集成电路设计领域,具体涉及一种快速锁定的延时锁定环。

背景技术

随着cmos集成电路工艺的发展,时钟电路在数字和模拟集成电路设计中都具有非常重要的作用。但pll(phasellockedloop)锁相环基本上都是采用模拟电路设计完成的,电路的噪声问题较大,而且电路设计难度大,可复用性差。dll(delaylockedloop)延迟锁定回路尤其是全数字的dll电路由于其基于数字逻辑完成,电路噪声性能较好,而且电路可复用性强,应用越来越广泛。

而且在一些电路设计中,不仅对时钟频率提出严格要求更对时钟的相位也十分关注。比如,在tdc中等相位差时钟是进行时间测量的一个重要部分;在sdram中,要求输入时钟和输出时钟的相位严格相等。在对相位有要求的领域,dll的作用就越发突出。现在的dll电路一般采用逐一调节的方式和逐次逼近的控制方式;如果采用逐一调节的方式电路锁定时间较长,而采用逐次逼近的控制方式设计难度相对较大。



技术实现要素:

本发明所要解决的技术问题为提供一种快速锁定的延时锁定环,通过计数模块的计数值可以快速准确地实现延时锁定,并且结构简单,大大提高了延时锁定环的工作效率。

为了实现上述目的,本发明采用如下技术方案:一种快速锁定的延时锁定环,包括相位检测模块,计数模块,延迟模块,控制模块和选择模块,所述相位检测模块有2个输入端口、相位状态输出端口和相位标志输出端口,其中,所述相位检测模块的两个输入端口分别连接参考时钟和反馈时钟,相位状态输出端口连接所述控制模块的输入端口ⅰ,相位标志输出端口连接所述计数模块的输入端口ⅰ;所述计数模块的输入端口ⅱ连接计数时钟,所述计数模块的输出端口连接控制模块的输入端口ⅱ;所述控制模块的输出端口连接选择模块的输入端口ⅰ;所述延迟模块的输入端口连接参考时钟,所述延迟模块的输出端口连接选择模块的输入端口ⅱ,上述参考时钟经过所述延迟模块变为延迟时钟,延迟时钟通过选择模块的输出端口输出。

进一步地,所述延迟模块中包括k个完全相同的延迟单元,其中,k为大于等于t/td的整数,t为参考时钟的周期,td为每个延迟单元的延迟时间。

进一步地,所述相位检测模块中相位标志输出端口为两个,分别输出参考时钟和反馈时钟在相同相位下的标志信号。

进一步地,所述计数模块的计数值d等于所述参考时钟和反馈时钟在相同相位下分别出现标志信号的时间差与计数时钟的周期的比值。

进一步地,所述相位检测模块的相位状态输出端口输出三种相位检测结果,分别对应反馈时钟延后于参考时钟、反馈时钟超前于参考时钟、反馈时钟与参考时钟同步。

进一步地,所述控制模块的输出端口输出i个控制位ci,且cj=j*ci/i,并且ci对应所述选择模块在同一参考时钟周期内输出的延迟信号clk-out[i]所经过的延迟单元个数,其中,i为小于等于k的整数,j为大于等于1且小于等于i的整数。

进一步地,所述控制模块根据相位检测状态输出端口输出的结果判断是否要改变当前控制位,其中,如果反馈时钟和参考时钟同步,则当前控制位保持不变;如果反馈时钟和参考时钟不同步,则控制模块改变控制位。

进一步地,若反馈时钟延后于参考时钟,则减小控制位,新的控制位ci=ci-d*tc/td;若参考时钟延后于反馈时钟,则增大控制位,新的控制位ci=ci+d*tc/td,其中,tc为计数时钟的周期,td为所述延迟模块中每个延迟单元的延迟时间,d为所述计数模块的计数值。

进一步地,所述选择模块在所述延迟模块输入的延迟信号中选择经过延迟单元个数最多的延迟信号作为反馈信号。

进一步地,所述计数时钟频率高于参考时钟的频率。

本发明的有益效果为:目前通用的dll通过依次改变或者逐次逼近的方式调节延迟个数来实现相位对齐,需要多个时钟周期多次改变控制模块的控制位才能实现相位对齐完成锁定,但本发明通过计数模块的计数值通过一次调整即可快速准确地实现相位锁定,并且结构简单,大大提高了延时锁定环的工作效率。

附图说明

图1为本发明一种快速锁定的延时锁定环的框架示意图。

图2为实施例1快速锁定的延时锁定环对应的结构图。

图3为实施例1快速锁定的延时锁定环对应的工作时序图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的具体实施方式做进一步的详细说明。

如图1所示,本发明提供的一种快速锁定的延时锁定环,包括相位检测模块pd,计数模块counter,延迟模块vcdl,控制模块ctrl和选择模块mux,相位检测模块pd有2个输入端口、相位状态输出端口和相位标志输出端口,其中,相位检测模块的两个输入端口分别连接参考时钟clk-ref和反馈时钟clk-fb,相位状态输出端口连接控制模块的输入端口ⅰ,相位标志输出端口连接计数模块counter的输入端口ⅰ;计数模块counter的输入端口ⅱ连接计数时钟clk-s,计数模块counter的输出端口连接控制模块ctrl的输入端口ⅱ;控制模块ctrl的输出端口连接选择模块的输入端口ⅰ;延迟模块vcdl的输入端口连接参考时钟clk-ref,延迟模块vcdl的输出端口连接选择模块mux的输入端口ⅱ,选择模块mux的输出端口输出反馈时钟信号clk-fb。

其中,相位检测模块pd中两个输入端口,一个输入端口与参考时钟相连,其中参量时钟为外部输入的标准稳定频率的周期方波信号,一个输入端口与反馈时钟相连;相位状态输出端口输出三种相位检测结果,分三种相位检测结果分别为对应反馈时钟延后于参考时钟、反馈时钟超前于参考时钟、反馈时钟与参考时钟同步;相位标志输出端口为两个,分别输出参考时钟和反馈时钟在相同相位下的标志信号,用于决定所述计数模块中的计数值d,其中,计数值d等于参考时钟和反馈时钟在相同相位下先后出现标志信号的时间差与计数时钟的周期的比值。

计数模块counter的输入端口ⅱ与计数时钟相连,其中计数时钟频率高于输入参考时钟。计数时钟计数的开始和结束由两个计数控制信号决定,即由参考时钟和反馈时钟在相同相位下的标志信号决定。由于两个计数控制信号是参考时钟和反馈时钟在同一相位的标志信号,本发明中计数模块的计数值表示为d,因此可以通过计数时钟的计数d得到参考时钟和反馈时钟的之间的延迟即二者的相位差。假设计数时钟的周期为tc,则d对应的参考时钟和反馈时钟的延迟为d*tc,其中,我们通常采用d[n:0]表示d对应的二进制表述。

延迟模块由a个完全相同的延迟单元组成,延迟模块输入参考时钟,经过延迟单元出来的信号频率和参考时钟完全相同,但经过不同个数的延迟单元出来的信号延迟不同即信号相位不同,a为大于等于1的整数。

假设每个延迟单元的延迟时间为td,则参考时钟经过a个延迟单元,延迟时间为a*td,假设参考时钟的周期为t,则延迟的相位为atd/t·2π。

令a*td=t得到a=t/td,也就是经过t/td个延时单元输出的时钟信号与输入的参考时钟相位相等即两者完全同步。考虑到工艺偏差,实际设计的延迟单元的个数必须大于t/td。

控制模块的输入端口ⅰ连接三个相位检测状态结果,控制模块的输入端口ⅱ输入计数模块中计数器的计数结果,控制模块输出控制位,控制位与延迟模块中延迟单元的个数一一相对应。控制模块根据相位检测状态结果判断是否要改变当前控制位。

如果反馈时钟和参考时钟同步,则当前控制位保持不变;如果反馈时钟和参考时钟不同步,则控制模块输出新的控制位。由于dll可能需要输出多个相位,因此控制模块可能会需要输出多个控制位,本发明中用ci表示第i个控制位。

假设等相位差时钟信号为i位,最大相位的信号控制位为ci,若反馈时钟延后于参考时钟,则减小控制位,新的控制位ci=ci-d*tc/td;若反馈时钟延后于参考时钟,则增大控制位,新的控制位ci=ci+d*tc/td。相位差从小到大,等相位差时钟中第j位时钟的控制位cj=j*ci/i(j=1,2,…,i)其中,我们通常采用ci[m:0]表示ci对应的的二进制表述。

选择模块根据控制模块输出的控制位,在延迟模块输出的延迟限号中选择对应的延迟最多的延迟信号作为反馈时钟信号输出。

本发明中计数模块可以由上升沿或下降沿触发。

以下通过具体实施例进一步阐述本发明:

实施例1:

如附图2所示,在本实施例中,我们取控制模块输出四个控制位,图3为图2对应的反馈时钟延后于参考时钟的一个工作时序示意图。其中所有模块的触发沿均为上升沿。延迟时间由大到小对应的时钟依次为clk_out[4]、clk_out[3]、clk_out[2]和clk_out[1],则clk_out[4]即为反馈时钟clk_fb。

相位检测结果依次记为up、dn和lock,up为clk_fb超前于clk_ref,dn为clk_fb延后于clk_ref,lock为clk_fb和clk_ref同步,相位标志信号分别记为start和stop,其中start为clk_fb和clk_ref对应的某一同相位先出现的标志信号,stop为对应同相位的后出现的标志信号。up、dn、lock、start和stop的初始信号均为0。

控制模块输出4个控制位c1、c2、c3和c4,其中c1对应clk_out[1]所经过的延迟单元个数,c2对应clk_out[2]所经过的延迟单元个数,c3对应clk_out[3]所经过的延迟单元个数,c4对应clk_out[4]所经过的延迟单元个数,且cj=j*c4/4(j=1,2,3,4)。本实施例中我们采用ci[m:0]表示ci对应的的二进制表述,且m+1表示ci对应的二进制表述的位数。假设c4[7:0]的初始值为10000000,由cj[7:0]=j*c4[7:0]/4可知:c3[7:0]的初始值为01100000,c2[7:0]的初始值为01000000,c1[7:0]的初始值为00100000。

由于所有的触发均由上升沿触发且反馈时钟clk_fb延后于参考时钟clk_ref,则当clk_ref的上升沿到来时,相位标志信号start由初始值0变为1,当clk_fb的上升沿到来时,相位标志信号stop由初始值0变为1。由于clk_fb在clk_ref之前到来,因此start的跳变在stop之前出现。记start信号跳变的时刻为t1,stop信号跳变的时刻为t2,则t1和t2之间的时间段位计数时钟clk_s计数的时间段,即clk_s从t1时刻开始计数,t2时刻计数结束,计数结果为d。

相位检测模块中,若clk_fb超前于clk_ref,则在clk_ref上升沿到来,up由0变1;若clk_fb延后于clk_ref,则在clk_fb上升沿到来,dn由0变1;若clk_fb和clk_ref同步,则二者上升沿同时出现,在上升沿出现时lock由0变1。对应图2,由于clk_fb延后于clk_ref,因此up始终为0,dn在clk_fb的上升沿到来即t2时刻由初始值0变1,在t2之前lock始终为0。

由于dn=1,up=0,lock=0,因此控制模块的输出c4会减小,减小d。本实施例中我们采用d[n:0]表示d对应的的二进制表述,且n+1表示d对应的二进制表述的位数,值得说明的是,本发明计数值d[n:0]和控制位ci[m:0]中,n小于等于m,但由于二进制可以在最高位前面补位以方便计算,例如,我们假设d[7:0]=00010000,此时,m=n;事实上相同的计数值d还可以表示为d[6:0]=0010000、d[5:0]=010000、d[4:0]=10000,此时,n<m;上述计数方式均表示相同的计数值d。为了方便计算,假设d[7:0]=00010000,则最终c4[7:0]=01110000,c3[7:0]=01011100,c2[7:0]=00111000,c1[7:0]=00011100。

以上所述仅为本发明的优选实施例,所述实施例并非用于限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1