一种时钟数据恢复装置的制作方法

文档序号:13671143阅读:167来源:国知局
一种时钟数据恢复装置的制作方法

本公开涉及集成电路技术领域,具体涉及一种时钟数据恢复装置。



背景技术:

在集成电路(IC)技术领域,特别是驱动IC技术领域,时钟数据恢复是重要的一部分。通常,时钟数据恢复包括利用时钟发生器从含有时钟信息的数据中提取时钟信号,并根据时钟信号对数据进行数据恢复。然而时钟在经过时钟发生器时会产生延迟,为了确保时钟信号对数据的正确采样,需要进行延迟补偿。传统方法采用(OTP,One Time Programmable)一次性可编程方式,通过通过观测数据与时钟相位关系手动调整延时大小。然而传统的OTP电路面积较大,需要反复调试来确定最优值,增加测试时间和设计成本。



技术实现要素:

有鉴于此,本公开提供了一种时钟数据恢复装置,包括:时钟发生装置,用于接收包含时钟信息的输入数据,基于所述输入数据产生时钟信号;延迟调整装置,与时钟发生装置和采样装置相连,用于根据时钟信号之一的采样边沿与输入数据中的时钟沿之间的关系来对输入数据进行延迟,使得所述时钟信号之一的采样边沿落入输入数据的时钟采样范围内;采样装置,与时钟发生装置和延迟调整装置相连,用于根据所述时钟信号对延迟后的输入数据进行数据恢复,得到输出数据。

优选地,所述延迟调整装置包括:数据延迟模块,与采样装置相连,用于对输入数据进行不同的延迟以产生多个延迟后的输入数据,并在控制信号的控制下选择所述多个延迟后的输入数据之一提供给采样装置;选择控制模块,与时钟发生装置和数据延迟模块相连,用于根据所述时钟信号之一的采样边沿与所述多个延迟后的输入数据中的时钟沿之间的关系来产生控制信号。

优选地,所述数据延迟模块包括:多个数据延迟器,分别用于对输入数据进行不同的延迟以产生多个延迟后的输入数据;选择器,与选择控制模块、采样装置和所述多个数据延迟器相连,用于在控制信号的控制下选择所述多个延迟后的输入数据之一提供给采样装置。

优选地,所述选择控制模块包括:时钟延迟器,与时钟发生装置相连,用于对时钟信号中与输入数据的时钟沿相邻的时钟信号进行延迟,以得到延迟后的时钟信号;触发单元,与所述时钟延迟器相连,用于分别根据所述延迟后的时钟信号的采样边沿与所述多个延迟后的输入数据的时钟沿之间的关系来提供多个触发信号;逻辑判断单元,与所述多个触发单元相连,用于根据所述多个触发信号来产生控制信号。

优选地,所述多个数据延迟器包括第一数据延迟器,第二数据延迟器,…,第N数据延迟器,分别用于将输入数据延迟delay1,delay1+ΔT,delay1+2ΔT,delay1+3ΔT,…,delay1+(N-1)ΔT,其中N为大于1的整数,delay1表示第一默认延迟时间,ΔT表示单位延迟时间;并且所述触发单元包括:N-2个单位延迟器,分别用于将延迟了delay1的输入数据再延迟ΔT,2ΔT,…,(N-2)ΔT;第一触发器,第二触发器,…,第N-1触发器,其中第一触发器的第一输入端连接到第一数据延迟器的输出端,第二至第N-1触发器的第一输入端分别连接到N-2个单位延迟器的输出端,第一至第N-1触发器的第二输出端均连接到时钟延迟器的输出端,并且第一至N-1触发器的输出端分别提供第一触发信号、第二触发信号、……第N-1触发信号。

优选地,所述多个数据延迟器包括第一数据延迟器,第二数据延迟器,…,第N数据延迟器,分别用于将输入数据延迟delay1,delay1+ΔT,delay1+2ΔT,delay1+3ΔT,…,delay1+(N-1)ΔT,其中N为大于1的整数,delay1表示第一默认延迟时间,ΔT表示单位延迟时间;并且所述触发单元包括第一触发器,第二触发器,…,第N-1触发器,第一至N-1触发器的第一输入端分别连接到第一至第N-1数据延迟器的输出端,第一至N-1触发器的第二输入端连接到时钟延迟器的输出端,第一至N-1触发器的输出端分别提供第一触发信号、第二触发信号……第N-1触发信号。

优选地,所述时钟信号包括等间隔相位的第一时钟信号、第二时钟信号……第n时钟信号,其中n为大于1的整数;并且所述时钟延迟器用于将第n-1时钟信号延迟Td,其中Td表示第二默认延迟时间。

本公开通过根据时钟信号之一的采样边沿与输入数据中的时钟沿之间的关系来对输入数据进行延迟,实现了对数据延迟的自适应调整,提高采样准确度,节约了成本。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单介绍,显而易见地,下面的描述中的附图仅涉及本公开的一些实施例,而非对本公开的限制。

图1示出了根据本公开实施例的时钟数据恢复装置的示意框图。

图2示出了根据本公开实施例的延迟调整装置的框图。

图3示出了根据本公开实施例的数据延迟模块的框图。

图4A示出了根据本公开一实施例的选择控制模块的框图。

图4B示出了根据本公开另一实施例的选择控制模块的框图

图5A、5B和5C示出了输入数据的延迟选择中的信号时序图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整的描述。显然所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

本公开提供了一种时钟数据恢复装置,通过根据时钟信号之一的采样边沿与输入数据中的时钟沿之间的关系来对输入数据进行延迟,使得所述时钟信号之一的采样边沿落入输入数据的时钟采样范围内。与传统方法相比,本公开实施例的时钟数据恢复装置无需手动操作即可实现对数据延迟的自适应调整,提高采样准确度,节约了成本。

图1示出了根据本公开实施例的时钟数据恢复装置的示意框图。

如图1所示,时钟数据恢复装置包括时钟发生装置1、延迟调整装置2和采样装置3。

时钟发生装置1用于接收包含时钟信息的输入数据data,基于所述输入数据data产生时钟信号clk_1,clk_2,…,clk_n。

延迟调整装置2用于根据时钟信号之一clk_n-1的采样边沿与输入数据data中的时钟沿之间的关系来对输入数据data进行延迟以得到延迟后的输入数据data_d,使得所述时钟信号之一clk_n-1的采样边沿落入延迟后的输入数据data_d的时钟采样范围内。

采样装置3基于所述时钟信号clk_1,clk_2,…,clk_n对延迟后的输入数据data_d进行数据恢复,得到输出数据output。

图2示出了根据本公开实施例的延迟调整装置2的框图。如图2所示,延迟调整装置2可以包括数据延迟模块21和选择控制模块22。数据延迟模块21用于对输入数据data进行不同的延迟以产生多个延迟后的输入数据,并在控制信号的控制下选择所述多个延迟后的输入数据之一作为输出data_d提供给采样装置。选择控制模块22用于根据所述时钟信号之一clk_n-1的采样边沿与所述多个延迟后的输入数据中的时钟沿之间的关系来产生控制信号。

图3示出了根据本公开实施例的数据延迟模块21的框图。如图3所示,数据延迟模块21可以包括多个数据延迟器和选择器211。数据延迟器分别用于对输入数据data进行不同的延迟以产生多个延迟后的输入数据。在本实施例中,数据延迟器的数目可以为4个,分别为数据延迟器D1、D2、D3和D4(下文简称延迟器D),其中数据延迟器D1用于将数据data延迟delay1得到延迟数据data_d1,数据延迟器D2用于将数据data延迟delay1+ΔT得到延迟数据data_d2,数据延迟器D3用于将数据data延迟delay1+2ΔT得到延迟数据data_d3,数据延迟器D4用于将数据data延迟delay1+3ΔT得到延迟数据data_d4。其中delay1表示第一默认延迟时间,ΔT表示单位延迟时间。选择器211用于在控制信号ctl的控制下选择所述多个延迟后的输入数据data_d1、data_d2、data_d3和data_d4之一作为输出data_d提供给采样装置3。在本实施例中,初始默认路径为最短延时delay1的路径,这是在不同仿真条件下确定的最小值。然而本公开的实施例不限于此,可以根据需要选择其他路径作为初始路径。

图4A和4B分别示出了根据本公开不同实施例的选择控制模块22的框图。

如图4A所示,选择控制模块22可以包括时钟延迟器221、触发单元222和逻辑判断单元223。

时钟延迟器221用于对时钟信号clk_1,clk_2,…,clk_n中与输入数据data的时钟沿相邻的时钟信号clk_n-1进行延迟,以得到延迟后的时钟信号clk_n-1_d。在本实施例中,时钟延迟器221可以将时钟信号clk_n-1延迟预设的时间Td。Td的加入是为了保证足够的信号建立时间(setup time)或者保持时间(hold time),从而使得时钟信号clk_n-1能够获得一个较为理想的采样位置。Td的大小可以根据不同的应用条件进行折中选取,其可以为经验值,也可以通过经过仿真、计算或其他方式得到。

触发单元222用于分别根据所述延迟后的时钟信号clk_n-1_d的采样边沿与所述多个延迟后的输入数据的时钟沿之间的关系来提供多个触发信号a1、a2和a3。在本实施例中,如图4A所示,在数据延迟模块21采用图3所示结构的情况下,触发单元222可以包括单位延迟器T1和T2以及触发器dff1、dff2和dff3。单位延迟器T1用于将输入的数据延迟ΔT,单位延迟器T1用于将输入的数据延迟2ΔT。触发器dff1的第一输入端和第二输入端分别接收延迟数据data_d1和延迟后的时钟信号clk_n-1_d,以在输出端提供触发信号a1;延迟数据data_d1经过单位延迟器T1延迟ΔT之后提供给触发器dff2的第一输入端,触发器dff2的第二输入端接收延迟后的时钟信号clk_n-1_d,以在输出端提供触发信号a2;延迟数据data_d1经过单位延迟器T2延迟2ΔT之后提供给触发器dff3的第一输入端,触发器dff3的第二输入端接收延迟后的时钟信号clk_n-1_d,以在输出端提供触发信号a3。然而本领域技术人员应清楚,本公开的实施例不限于此,触发单元222可以采用各种其他方式获得不同延迟的输入数据。例如在图4B的实施例中,可以不需要单位延迟器T1和T2,而是将图3中的数据延迟器D1、D2和D3的输出端直接连接到触发器dff1、dff2和dff3的第一输入端。

逻辑判断单元223用于根据多个触发信号a1、a2和a3来产生控制信号ctl,以便从延迟数据data_d1、data_d2、data_d3和data_d4当中选择期望的一个作为输出data_d提供给采样装置3。

下面参考图5A、5B和5C来详细描述延迟数据的选择。

如图5A所示,时钟信号clk_n-1的采样边沿落后于延迟数据信号data_d1中的时钟上升沿,利用该时钟信号对延迟数据信号data_d1采样有可能会导致错误采样。这种情况下,延迟了Td的时钟信号clk_n-1_d采到延迟数据信号data_d1的高电平,触发器dff1输出高电平,而此时触发器dff2和dff3的输出均为低电平,即,(a1,a2,a3)为100,触发调整逻辑,使得将延迟输入数据data_d1延时△T(即,图3中的第二路延迟数据data_d2)作为真实的数据信号data_real来输出。从图5A可以看出,时钟信号clk_n-1对真实的数据信号data_real的采样点落在合适的位置,使得真实数据信号data_real具有符合要求的信号建立时间和保持时间,从而确保采样的准确性。

类似地,在图5B的情况下,时钟信号clk_n-1的采样边沿落后于延迟数据信号data_d2中的时钟上升沿,延迟了Td的时钟信号clk_n-1_d采到延迟数据信号data_d2的高电平。此时触发器的dff1和dff2输出高电平,而触发器dff3输出低电平,即,(a1,a2,a3)为110,生成控制信号使选择器211将延迟输入数据data_d1延时2△T(即,图3中的第三路延迟数据data_d3)作为真实的数据信号data_real来输出。在图5C的情况下,时钟信号clk_n-1的采样边沿落后于延迟数据信号data_d3中的时钟上升沿,触发器dff1、dff2和dff3均输出高电平,即,(a1,a2,a3)为111,生成控制信号将延迟输入数据data_d1延时3△T(即,图3中的第四路延迟数据data_d4)作为真实的数据信号data_real来输出。另外,在触发器dff1、dff2和dff3均输出低电平的情况下,即,(a1,a2,a3)为000的情况下,可以认为默认延迟了delay1是合适的,生成控制信号将图3中的第一路延迟数据data_d1作为真实的数据信号data_real来输出。当然,以上逻辑判断的方式仅仅为示例,本领域技术人员可以根据需要选择任何其他逻辑判断方式。

控制信号可以采用各种形式,例如四位逻辑信号b<3:0>形式。例如可以如下设置控制信号:(a1,a2,a3)=000时,b<3:0>=0001;(a1,a2,a3)=100时,b<3:0>=0010;(a1,a2,a3)=110时,b<3:0>=0100;(a1,a2,a3)=111时,b<3:0>=1000。

虽然以上图3、图4A和图4B的实施例中以四路延迟(四个数据延迟器D1、D2、D3和D4,三个触发器dff1、dff2和dff3)为例进行了描述,然而本领域技术人员应清楚,本公开的实施例不限于此,本领域技术人员可以根据需要选择任意数目的延迟线路并适应性地修改触发逻辑。

根据本公开的实施例,通过根据时钟信号之一的采样边沿与输入数据中的时钟沿之间的前后关系来对输入数据进行延迟,可根据采样时钟靠前或靠后来适应性地对数据延时进行相应的增减,以此保证在数据到来时能完成正确采样,消除不同PVT条件下数据与采样时钟的延时不匹配,提高采样准确度,节约了成本。而且,本公开的实施例的数据延迟线路和判断逻辑可以根据需要任意选择,在使用时具备较高的灵活性。

以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

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