数据信号的处理方法和处理装置制造方法

文档序号:6526643阅读:211来源:国知局
数据信号的处理方法和处理装置制造方法
【专利摘要】本发明公开了一种数据信号的处理方法和处理装置。其中,该方法包括:根据第一数据信号、第二数据信号、第三数据信号和第四数据信号获取第五数据信号和第六数据信号;获取第三时钟信号,并在第二时钟信号相对于第三时钟信号的相位差位于第一预设区间时,使用第三时钟信号的上升沿采集第五数据信号和第六数据信号,在相位差位于第二预设区间时,使用第三时钟信号的下降沿采集第五数据信号和第六数据信号;根据采集第五数据信号所得到的第七数据信号以及采集第六数据信号所得到的第八数据信号获得第九数据信号。本发明解决了现有技术中无法控制数据信号在跨时钟域传输的传输路径上的时序裕度的技术问题。
【专利说明】数据信号的处理方法和处理装置
【技术领域】
[0001 ] 本发明涉及电子电路领域,具体而言,涉及一种数据信号的处理方法和处理装置。【背景技术】
[0002]现有的数据信号的跨时钟域传输的方案中,通常会使用一个时钟信号的跳变沿去采集与另一个时钟信号对应的数据信号,以得到与前一时钟信号对应的数据信号。然而在这种方案中,数据信号在跨时钟域传输的传输路径上的时序裕度是无法控制且不确定的,其时序裕度可以在一种情形下较大,也可以在另一种情形下较小,而当时序裕度较小时,由于作为采集对象的数据信号更新后的值的持续时间较短,其数据状态相对并不稳定,因此采集得到的数据也并不准确,从而影响了数据信号的跨时钟域传输的可靠性。换而言之,现有方案无法保证满足对时序裕度的要求,而其原因则可以归结为现有技术中无法控制数据信号在跨时钟域传输的传输路径上的时序裕度的问题。
[0003]针对上述的问题,目前尚未提出有效的解决方案。

【发明内容】

[0004]本发明实施例提供了一种数据信号的处理方法和处理装置,以至少解决现有技术中无法控制数据信号在跨时钟域传输的传输路径上的时序裕度的技术问题。
[0005]根据本发明实施例的一个方面,提供了一种数据信号的处理方法,包括:根据第一数据信号、第二数据信号、第三数据信号和第四数据信号获取第五数据信号和第六数据信号,其中,上述第一数据信号、上述第二数据信号、上述第三数据信号和上述第四数据信号与第一时钟信号对应,上述第五数据信号和上述第六数据信号与第二时钟信号对应,上述第二时钟信号为上述第一时钟信号的双倍频时钟信号,且上述第一时钟信号的上升沿与上述第二时钟信号的上升沿对齐,其中,在上述第一时钟信号为I时,上述第五数据信号对应上述第一数据信号,上述第六数据信号对应上述第三数据信号,在上述第一时钟信号为0时,上述第五数据信号对应上述第二数据信号,上述第六数据信号对应上述第四数据信号;获取第三时钟信号,并在上述第二时钟信号相对于上述第三时钟信号的相位差位于第一预设区间时,使用上述第三时钟信号的上升沿采集上述第五数据信号和上述第六数据信号,在上述相位差位于第二预设区间时,使用上述第三时钟信号的下降沿采集上述第五数据信号和上述第六数据信号,其中,上述第三时钟信号的时钟周期与上述第二时钟信号的时钟周期相同;根据采集上述第五数据信号所得到的第七数据信号以及采集上述第六数据信号所得到的第八数据信号获得第九数据信号,其中,在上述第三时钟信号为I时,上述第九数据信号对应上述第七数据信号,在上述第三时钟信号为0时,上述第九数据信号对应上述第八数据信号。
[0006]根据本发明实施例的另一方面,还提供了一种数据信号的处理装置,包括:获取单元,用于根据第一数据信号、第二数据信号、第三数据信号和第四数据信号获取第五数据信号和第六数据信号,其中,上述第一数据信号、上述第二数据信号、上述第三数据信号和上述第四数据信号与第一时钟信号对应,上述第五数据信号和上述第六数据信号与第二时钟信号对应,上述第二时钟信号为上述第一时钟信号的双倍频时钟信号,且上述第一时钟信号的上升沿与上述第二时钟信号的上升沿对齐,其中,在上述第一时钟信号为I时,上述第五数据信号对应上述第一数据信号,上述第六数据信号对应上述第三数据信号,在上述第一时钟信号为O时,上述第五数据信号对应上述第二数据信号,上述第六数据信号对应上述第四数据信号;选择单元,用于获取第三时钟信号,并在上述第二时钟信号相对于上述第三时钟信号的相位差位于第一预设区间时,使用上述第三时钟信号的上升沿采集上述第五数据信号和上述第六数据信号,在上述相位差位于第二预设区间时,使用上述第三时钟信号的下降沿采集上述第五数据信号和上述第六数据信号,其中,上述第三时钟信号的时钟周期与上述第二时钟信号的时钟周期相同;处理单元,用于根据采集上述第五数据信号所得到的第七数据信号以及采集上述第六数据信号所得到的第八数据信号获得第九数据信号,其中,在上述第三时钟信号为I时,上述第九数据信号对应上述第七数据信号,在上述第三时钟信号为O时,上述第九数据信号对应上述第八数据信号。
[0007]在本发明实施例中,采用了根据第二时钟信号与第三时钟信号之间的相位差在使用第三时钟信号的上升沿还是下降沿对与第二时钟信号对应的第五数据信号和第六数据信号进行采集之间进行选择的方式,以获得与第三时钟信号对应、相对于第三时钟信号以双倍速率传输、且满足对跨时钟域传输在传输路径上的时序裕度的要求的第九数据信号,其中,对该时序裕度的控制可以通过上述选择机制结合第一预设区间和第二预设区间的设置来实现,进而解决了现有技术中无法控制数据信号在跨时钟域传输的传输路径上的时序裕度的技术问题。进一步地,在本发明实施例中,可以通过对第一预设区间和第二预设区间的合理设置满足对数据信号的跨时钟域传输的设计要求,并提高数据信号的跨时钟域传输的可靠性。
【专利附图】

【附图说明】
[0008]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0009]图1是根据本发明实施例的一种数据信号的处理方法的示意图;
[0010]图2是根据现有技术的一种数据信号的跨时钟域传输的示意图;
[0011]图3是根据现有技术的另一种数据信号的跨时钟域传输的示意图;
[0012]图4是根据本发明实施例的一种数据信号的跨时钟域传输的示意图;
[0013]图5是根据本发明实施例的另一种数据信号的跨时钟域传输的示意图;
[0014]图6是根据本发明实施例的一种数据信号的处理装置的示意图;
[0015]图7是根据本发明实施例的另一种数据信号的处理装置的示意图。
【具体实施方式】
[0016]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0017]实施例1
[0018]根据本发明实施例,提供了一种数据信号的处理方法,如图1所示,该处理方法包括:
[0019]S102:根据第一数据信号、第二数据信号、第三数据信号和第四数据信号获取第五数据信号和第六数据信号,其中,第一数据信号、第二数据信号、第三数据信号和第四数据信号与第一时钟信号对应,第五数据信号和第六数据信号与第二时钟信号对应,且第二时钟信号为第一时钟信号的双倍频时钟信号,其中,在第一时钟信号为I时,第五数据信号对应第一数据信号,第六数据信号对应第三数据信号,在第一时钟信号为0时,第五数据信号对应第二数据信号,第六数据信号对应第四数据信号;
[0020]S104:获取第三时钟信号,并在第二时钟信号相对于第三时钟信号的相位差位于第一预设区间时,使用第三时钟信号的上升沿采集第五数据信号和第六数据信号,在相位差位于第二预设区间时,使用第三时钟信号的下降沿采集第五数据信号和第六数据信号,其中,第三时钟信号的时钟周期与第二时钟信号的时钟周期相同;
[0021]S106:根据采集第五数据信号所得到的第七数据信号以及采集第六数据信号所得到的第八数据信号获得第九数据信号,其中,在第三时钟信号为I时,第九数据信号对应第七数据信号,在第三时钟信号为0时,第九数据信号对应第八数据信号。
[0022]应当明确的是,本发明技术方案所要解决的技术问题之一是提供一种对数据信号进行处理的方法,以实现对由4路数据信号所携带的数据的倍频跨时钟域传输,在本发明实施例中,该4路数据信号可以分别表示为第一数据信号、第二数据信号、第三数据信号和第四数据信号,作为处理结果的输出数据可以是携带有第一至第四数据信号所携带的数据的第九数据信号,其中,第一至第四数据信号与第一时钟信号对应,第九数据信号与第三时钟信号的双倍频时钟信号对应,且第一时钟信号的时钟周期为第三时钟信号的时钟周期的两倍。
[0023]在本发明实施例中,第一至第四数据信号与第一时钟信号之间的对应关系通常可以表现二者相互对齐,也即,第一至第四数据信号的更新频率与第一时钟信号的时钟频率相一致,且二者相位相同,然而本发明对此不作限定,例如,在本发明的一些实施例中,第一数据信号与第一时钟信号之间的对应关系也可以表现为同频信号之间的某种确定的相位关系,正交或者反相等,在这一场景下,虽然第一数据信号与第一时钟信号并不对齐,然而由于二者之间的相位关系确定且已知,因此仍然可以通过第一时钟信号准确地推知第一数据信号的时序,从而第一数据信号仍可以视为在第一时钟信号的时钟域内。
[0024]类似地,在本发明实施例中,第九数据信号与第三时钟信号之间的对应关系也可以表现为与上述第一数据信号与第一时钟信号之间的对应关系相似,然而值得注意的是,这两个对应关系之间并不必然完全一致,例如,在本发明实施例中,第一数据信号可以与第一时钟信号对齐,而第九数据信号可以与第三时钟信号反相,本发明对此不作限定。
[0025]根据本发明实施例提供的数据信号的处理方法,在步骤S102中,可以首先对第一至第四数据信号进行处理,以获得第五数据信号和第六数据信号,其中,第五数据信号和第六数据信号可以与作为第一时钟信号的双倍频信号的第二时钟信号对应,且第五数据信号可以携带有第一数据信号和第二数据信号所携带的数据,且第六数据信号可以携带有第三数据信号和第四数据信号所携带的数据。容易理解,在上述场景下,也可以将步骤S102视为将第一数据信号和第二数据信号合并为双倍频率的第五数据信号,并将第三数据信号和第四数据信号合并为双倍频率的第六数据信号。[0026]在本发明实施例中,步骤S102的具体的实现方式可以有多种,例如,作为其中一种可选的方式,步骤S102可以包括:
[0027]S1:使用所述第一时钟信号的下降沿采集所述第一数据信号和所述第三数据信号,使用所述第一时钟信号的上升沿采集所述第二数据信号和所述第四数据信号;或者,使用所述第一时钟信号的上升沿采集所述第一数据信号和所述第三数据信号,使用所述第一时钟信号的下降沿采集所述第二数据信号和所述第四数据信号;
[0028]S2:在所述第一时钟信号为I时,将采集所述第一数据信号所得到的数据信号作为所述第五数据信号,将采集所述第三数据信号所得到的数据信号作为所述第六数据信号,在所述第一时钟信号为0时,将采集所述第二数据信号所得到的数据信号作为所述第五数据信号,将采集所述第四数据信号所得到的数据信号作为所述第六数据信号。
[0029]当然,以上只是一种示例,在本发明实施例中,还可以有多种其他的倍频方式,例如步骤S2中作为判断条件的0和I也可以互换等,本发明对此不作限定。
[0030]在以上描述的基础上,根据本发明实施例提供的数据信号的处理方法,在步骤S104中,可以进一步地实现第五数据信号和第六数据信号从第二时钟信号的时钟域向第三时钟信号的时钟域的跨时钟域传输,以便于在步骤S106中根据跨时钟域传输后得到的第七数据信号和第八数据信号获得与第三时钟信号的双倍频信号对应的第九数据信号的处理操作。
[0031]基于以上描述,本发明在步骤S104中所要解决的问题也可以表述为:将与第二时钟信号对应的第五数据信号和第六数据信号分别转换为与第三时钟信号对应的第七时钟信号和第八时钟信号,其中,第五数据信号与第七数据信号的内容相同,然而时序有异,类似地,第六数据信号与第八数据信号的内容相同,然而时序有异。由于第五数据信号向第七数据信号的跨时钟域传输与第六数据信号向第八数据信号的跨时钟域传输类似,以下将主要围绕第五数据信号向第七数据信号的跨时钟域传输对本发明实施例的方案进行描述。
[0032]为实现上述的跨时钟域传输,在现有方案中,通常会使用第三时钟信号的跳变沿去采集第五数据信号,以获得第七数据信号,例如,在图2中,可以使用如第3行所示的第三时钟信号的上升沿采集如第2行所示的第五数据信号,并可以将采集得到的、如第4行所示的数据信号作为第七数据信号,其中,从图2可以看出,第五数据信号与第二时钟信号对应,第七数据信号与第三时钟信号对应,从而实现数据信号的跨时钟域的传输。
[0033]容易看出,在图2中,如第2行所示的第五数据信号向如第4行所示的第七数据信号的传输路径上的时序裕度tl大于半个时钟周期T/2,其中T表示第二时钟信号的时钟周期,也就是说,使用第三时钟信号的上升沿采集第五数据信号时,第五数据信号更新为数值a这一状态的持续时间超过了 T/2,从而该数据状态相对而言更容易地从由数值更新所产生的毛刺等扰动中恢复过来、并过渡到较为稳定的状态,进而使用第三时钟信号的上升沿采集得到的数据也较为准确,这对于数据信号的跨时钟域传输是有利的。
[0034]然而,事实上,对上述的现有方案而言,数据信号在跨时钟域传输的传输路径上的时序裕度是不确定的,在一个场景下,例如图2所示的情形,其时序裕度较大,在另一个场景下,例如图3所示的情形,其时序裕度t2则相对较小,至少小于半个时钟周期,则在该场景下使用第三时钟信号的上升沿采集第五数据信号时,由于第五数据信号更新为数值a的持续时间较短,因此其数据状态可能并不稳定,由此采集得到的数据也并不准确,从而影响了数据信号的跨时钟域传输的可靠性。换而言之,使用第三时钟信号的上升沿采集第五数据信号以生成第七数据信号的方式无法保证满足对上述时序裕度的要求,与之对应地,使用第三时钟信号的下降沿采集第五数据信号以生成第七数据信号的方式也存在类似的问题,而其原因则可以归结为现有技术中无法控制数据信号在跨时钟域传输的传输路径上的时序裕度的问题。
[0035]为解决这一问题,在本发明实施例中,可以沿承利用第三时钟信号采集第五数据信号以生成第七数据信号的方式,并在步骤S102中获取该第五数据信号和该第三时钟信号,然而区别于现有技术,根据本发明实施例提供的处理方法,在步骤S104中,可以根据第二时钟信号与第三时钟信号之间的相位关系在使用第三时钟信号的上升沿还是下降沿之间进行选择,其中,若第二时钟信号相对于第三时钟信号的相位差位于第一预设区间,则可以使用第三时钟信号的上升沿采集第五数据信号,若相位差位于第二预设区间,则可以使用第三时钟信号的下降沿采集第五数据信号。换而言之,在本发明实施例中,并非静态地使用第三时钟信号的上升沿或者下降沿采集第五数据信号,而是可以相对动态地针对不同的情形选择上升沿与下降沿之一进行采集,从而实现对数据信号在跨时钟传输的传输路径上的时序裕度的控制,进而达到对该时序裕度的要求。
[0036]需要说明的是,上述“动态地”选择并不限于实时地选择,在本发明实施例中,在“上升沿采集”与“下降沿采集”之间进行选择的周期可以为一个较短的时间周期,也可以是一个较长的时间周期,此外,该选择的机制还可以与其他机制、例如判断机制相互耦合,其中,这一选择也可以根据判断机制所产生的结果来触发,等,本发明对此不作限定。此外,作为可选的实施方式,上述选择机制既可以通过硬件逻辑,例如逻辑电路来实现,并可以进一步地封装在物理接口中以提高集成度及处理速度,并降低处理器的处理压力,其也可以通过软件逻辑,例如对MCU、FPGA或者PLC等可编程平台的编程来实现,本发明对此不作限定。
[0037]下面将结合图4和图5对本发明实施例的方案的工作原理进行详细解释。在本发明实施例中,上述第一预设区间可以设置为(T/2,T),上述第二预设区间可以设置为(0,T/2)。需要说明的是,在本申请中,第二时钟信号相对于第三时钟信号的相位差表示第二时钟信号相对于第三时钟信号的提前量,例如,若第二时钟信号相对于第三时钟信号提前1/4个时钟周期,则第二时钟信号相对于第三时钟信号的相位差为1/4个时钟周期。
[0038]如图4所示,在本发明实施例的一个场景下,第二时钟信号可以为如第I行所示时钟信号,第五数据信号可以为如第2行所示的数据信号,第三时钟信号可以为如第3行所示的时钟信号。在上述场景下,第二时钟信号相对于第三时钟信号的相位差大于半个时钟周期,也即位于第一预设区间(T/2,T)内,从而根据步骤S104,可以选择使用第三时钟信号的上升沿采集第五数据信号,并得到如第4行所示的数据信号作为第七数据信号。容易看出,在上述场景下,第五数据信号与第二时钟信号对应,第七数据信号与第三时钟信号对应,且第七数据信号的数据内容与第五数据信号一致,也即实现了第五数据信号的跨时钟域传输,在另一方面,该跨时钟域传输的传输路径上的时序裕度等于上述相位差,而上述相位差位于第一预设区间内、大于半个时钟周期,因此该时序裕度大于半个时钟周期,也即,在本发明实施例中,对时序裕度的控制可以部分地由第一预设区间来实现,从而可以通过对第一预设区间的合理设置以满足对该时序裕度的要求,进而达到准确地采集数据、以及提高数据信号的跨时钟域传输的可靠性的效果。[0039]作为对比,在上述场景下,若选择第三时钟信号的下降沿采集第五数据信号,则得到的数据信号可以为如图4第5行由斜划线表示的数据信号,容易看出,采集到的该数据信号相对于第五数据信号的时序裕度小于半个时钟周期,并不符合与第一预设区间对应的对上述时序裕度的要求,进而可能导致数据信号的跨时钟域传输的可靠性较低的问题。
[0040]如图5所示,在本发明实施例的另一个场景下,第二时钟信号可以为如第I行所示时钟信号,第五数据信号可以为如第2行所示的数据信号,第三时钟信号可以为如第3行所示的时钟信号。在上述场景下,第二时钟信号相对于第三时钟信号的相位差小于半个时钟周期,也即位于第二预设区间(0,T/2)内,从而根据步骤S104,可以选择使用第三时钟信号的下降沿采集第五数据信号,并得到如第5行所示的数据信号作为第七数据信号。容易看出,在上述场景下,在实现第五数据信号的跨时钟域传输的基础上,该跨时钟域传输的传输路径上的时序裕度等于上述相位差加上半个时钟周期,而上述相位差位于第二预设区间内、小于半个时钟周期,因此该时序裕度大于半个时钟周期,也即,在本发明实施例中,对时序裕度的控制可以部分地由第二预设区间来实现,从而可以通过对第二预设区间的合理设置以满足对该时序裕度的要求,进而达到准确地采集数据、以及提高数据信号的跨时钟域传输的可靠性的效果。
[0041]作为对比,在上述场景下,若选择第三时钟信号的上升沿采集第五数据信号,则得到的数据信号可以为如图5第4行由斜划线表示的数据信号,容易看出,采集到的该数据信号相对于第五数据信号的时序裕度小于半个时钟周期,并不符合与第二预设区间对应的对上述时序裕度的要求,进而可能导致数据信号的跨时钟域传输的可靠性较低的问题。
[0042]通过上述实施例,对本发明实施例的方案的工作原理进行了阐述。对应地,在本发明实施例中,也可以采取类似的方式对第六数据信号进行处理以获得第八数据信号,并可以解决相同的问题且达到相同的效果,本发明在此不作累述。
[0043]值得注意的是,在本发明实施例中,对于第一预设区间而言,其所限定的时序裕度通常即为第一预设区间本身,而对于第二预设区间而言,当第二预设区间中的部分区间被设置为位于(0,T/2)时,由该部分区间所限定的时序裕度为该部分区间加上半个时钟周期,当第二预设区间中的部分区间被设置为位于(T/2,T)时,则由该部分区间所限定的时序裕度将实际表现为该部分区间减去半个时钟周期。也就是说,若要求数据信号的跨时钟域传输在传输路径上的时序裕度较大,则可以将第一预设区间设置在(T/2,T)内,并将第二预设区间设置在(0,T/2)内,反之则可以将二者对调,将第一预设区间设置在(0,T/2)内,并将第二预设区间设置在(T/2,T)内。对于第一预设区间和第二预设区间的具体设置及其应用,本发明不作任何限定。
[0044]当然,上述结论主要是基于第五数据信号与第二时钟信号对齐、且第七数据信号与第三时钟信号对齐的对应关系所导出的,在本发明的其他一些实施例中,对于该对应关系的其他表现形式,可以结合第五数据信号与第二时钟信号之间的确定的相位关系以及第七数据信号与第三时钟信号之间的确定的相位关系,得出经过与这两个相位关系对应的两次偏移后的分别由第一预设区间和第二预设区间所限定的时序裕度的范围,且类似地处理方式也可以应用到第六数据信号向第八数据信号进行跨时钟域传输的过程,本发明在此不作累述。
[0045]在以上描述的基础上,根据本发明实施例提供的数据信号的处理方法,在步骤S106中,可以根据第七数据信号和第八数据信号获得第九数据信号,其中,在本发明实施例中,步骤S106的实现既可以采取与前述的步骤S102的实现方式类似的倍频处理方式,也可以根据具体的设计需要,在获得第九数据信号前、对第七数据信号和第八数据信号进行可行的其他处理,例如延迟、反相、再次采集、寄存一拍或多拍等,并根据处理后得到的数据信号生成第九数据信号,然而应当理解的是,在上述处理过程中,均应当属于在第三时钟信号的时钟域内的处理,也即,所获得的第九数据信号仍应当与第三时钟信号对应。
[0046]例如,可选地,在本发明实施例中,步骤S106可以包括:
[0047]S3:执行N次以下操作:使用所述第三时钟信号的上升沿或下降沿对所述N次操作中的前一次操作所采集到的数据信号进行再次采集,其中,所述N次操作的前一次操作中采集到的数据信号的初始值为所述第七数据信号,N大于等于I ;和/或,
[0048]S4:执行M次以下操作:使用所述第三时钟信号的上升沿或下降沿对所述M次操作中的前一次操作所采集到的数据信号进行再次采集,其中,所述M次操作中的前一次操作所采集到的数据信号的初始值为所述第八数据信号,M大于等于I ;
[0049]S5:在所述第三时钟信号为I时,将所述第七数据信号或者所述N次操作后采集得到的数据信号作为所述第九数据信号,在所述第一时钟信号为0时,将所述第八数据信号或者所述M次操作后采集得到的数据信号作为所述第九数据信号。
[0050]在上述场景下,可以在通过步骤S104对第五数据信号和第六数据信号进行采集后,在步骤S3和/或步骤S4中对第五数据信号和/或第六数据信号进行再次采集,且该“再次采集”的操作可以分别重复执行N次和M次,N、M大于等于I,其中,需要说明的是,在本发明实施例中,上述N次操作并不限于均为“使用第三时钟信号的上升沿”或者“使用第三时钟信号的下降沿”,例如,在一个实施例中,N次操作中的某一次操作可以使用上升沿采集,该操作的下一次操作可以使用下降沿采集,类似地,上述M次操作也并不限于均为使用上升沿或下降沿,本发明对此不作限定。
[0051]应当理解,在本发明实施例中,利用第三时钟信号的跳变沿分别进行的N次和M次再次采集操作所得到的数据信号仍将处于第三时钟信号的时钟域内,据此获得的第九数据信号也将处于第三时钟信号的时钟域内。一般而言,对于包括步骤S104中所述的对第五数据信号和第六数据信号的采集操作在内的上述“前一次采集”使用了第三时钟信号的上升沿的情形,对于该前一次采集之后进行的再次采集,若仍然使用第三时钟信号的上升沿,则相当于将前一次采集得到的数据信号延迟了一个时钟周期、或者说寄存一拍,若改为使用第三时钟信号的下降沿,则相当于将前一次采集得到的数据信号延迟了半个时钟周期、或者说寄存半拍,对应地,对于前一次采集使用了第三时钟信号的下降沿的情形,也可以得到类似的效果。其中,无论是寄存半拍、一拍还是多拍的情形,再次采集中的时序裕度至少有半个时钟周期,因此可以避免由于数据信号在传输路径上的时序裕度不足所导致的准确性和可靠性下降的问题。
[0052]进一步地,为便于步骤S5中的第九数据信号的获取,本发明提供了以下两种可选的【具体实施方式】对上述N次操作和M次操作进行限定,以实现在步骤S3和/或S4中对第七数据信号和/或第八数据信号的预处理:
[0053]I)若上述相位差位于第一预设区间,则步骤S3中的N次操作可以为:使用第三时钟信号的下降沿对第七数据信号进行再次采集,步骤S4中的M次操作可以为:使用第三时钟信号的上升沿对第八数据信号进行再次采集;
[0054]若上述相位差位于第二预设区间,则步骤S4中的M次操作为:使用第三时钟信号的上升沿对第八数据信号进行再次采集。
[0055]2)若上述相位差位于第一预设区间,则步骤S4中的M次操作可以为:使用第三时钟信号的下降沿对第八数据信号进行再次采集;
[0056]若上述相位差位于第二预设区间,则步骤S3中的N次操作可以为:使用第三时钟信号的上升沿对第七数据信号进行再次采集,步骤S4中的M次操作可以为:使用第三时钟信号的下降沿对第八数据信号进行再次采集。
[0057]通过上述实施例本发明给出了两种可选的【具体实施方式】,然而应当理解,上述实施例仅用于对本发明技术方案的理解,并不应视为对本发明的限定。在本发明实施例中,还可以有其他可行的实施方式,在此不一一累述,应当理解,这些实施方式均应视为在本发明的保护范围之内。
[0058]在以上描述的基础上,更具体地,在本发明实施例中,上述第一时钟信号可以为内存控制器的系统时钟,上述第二时钟信号为该系统时钟的双倍频时钟,上述第三时钟信号可以为内存控制器的写数据时钟,上述第一数据信号、第二数据信号、第三数据信号和第四数据信号可以为内存控制器的待传输数据,上述第九数据信号可以为内存控制器向内存芯片传输的写数据,其中,该写数据时钟与内存芯片的内存时钟的时钟周期可以相同,且写数据时钟与内存时钟之间可以满足预设时序要求。
[0059]在这一场景下,结合本发明实施例提供的数据信号的处理方法,可以实现待传输数据由内存控制器向内存芯片的有效传输,其中,该待传输数据可以是由内存控制器获取或生成的、与系统时钟对应的数据信号,而经过上述处理操作所得到的写数据可以是与写数据时钟对应的数据信号,以便于内存对写数据的接收和识别。其中,写数据时钟虽然也可以是由内存控制器获取或生成的,然而该写数据时钟与内存时钟之间应当满足预设时序要求。对该写数据时钟的调整操作将在后续实施例中给出。
[0060]一般而言,在本发明实施例中,上述预设时序要求通常可以表现为:根据写数据时钟生成的写数据在到达内存芯片时相对于内存时钟提前K个时钟周期,K为0至I之间的任意值。这种要求通常与DDR协议相关,例如,现行的DDR协议规定写数据到达内存芯片时,内存时钟的跳变沿应当位于由内存芯片获取的该写数据的中部,或者说该写数据到达内存芯片时相对于内存时钟应当提前大约1/4或3/4个时钟周期,从而K可以设置为1/4或3/4,然而本发明对此不作限定,在本发明的其他一些实施例中,针对不同内存数据传输协议,K的具体值也可以设置为0到I之间的其他数值。
[0061]进一步可选地,在本发明实施例中,在步骤S102之前,上述处理方法还可以包括:
[0062]S6:在满足与预设时序要求对应的终止执行条件前,重复执行P次以下操作:
[0063]S7、向前或向后调整写数据时钟或者相对于写数据时钟滞后K个时钟周期的第四时钟信号,并向内存芯片传输与调整后的写数据时钟或者调整后的第四时钟信号对应的第十数据信号;
[0064]S8、接收内存芯片根据第十数据信号返回的第十一数据信号,并根据接收的第十一数据信号判断是否满足终止执行条件;其中,P大于等于I。
[0065]由步骤S7和S8所形成的一个循环可以概括为:调整一输送一反馈的过程,其中,对内存芯片根据向其输送的第十数据信号所反馈的第十一数据信号通常可以携带有与“是否满足终止执行条件”或者说“写数据时钟与内存时钟之间是否满足预设时序要求”相对应的信息,因此通过对第十一数据信号的识别判断即可以判断出循环是否终止,并可以将上述P次操作后所得到的写数据时钟、或者根据P次操作后得到的第四时钟信号所确定的写数据时钟作为进行数据信号的跨时钟域传输之前确定的第三时钟信号,以作为步骤S104中根据相位差进行选择的基础。值得注意的是,上述循环还可以有其他的等效变型,例如,类同的一个循环也可以概括为:输送——反馈——根据反馈进行调整的过程,本发明对P次操作的单次操作或者说一次循环的划分并不作限定,基于以上描述的各【具体实施方式】均应视为在本发明的保护范围之内。
[0066]一般而言,在本发明实施例中,上述P次操作的终止执行条件可以对应于预设时序要求的达成,例如,在一个实施例中,第十数据信号可以设置为与第四时钟信号的上升沿或下降沿对齐的脉冲信号,第十一数据信号可以表示内存芯片使用脉冲信号采集内存时钟所得到的数据信号,其中,若第十数据信号与第四时钟信号的上升沿对齐,则终止执行条件可以为:接收的第十一数据信号由0变为I ;若第十数据信号与第四时钟信号的下降沿对齐,则中止执行条件可以为:接收的第十一数据信号由I变为O。
[0067]其中,由于第四时钟信号相对于写数据时钟滞后K个时钟周期,因此若要求根据写数据时钟生成的写数据在到达内存芯片时相对于内存时钟提前K个时钟周期,则应当要求根据第四时钟信号生成的第十数据信号在到达内存芯片时与内存时钟对齐。在另一方面,当内存芯片根据其接收到的第十数据信号采集内存时钟所得到的第十一数据信号由0变为I时,可以视为作为第十数据信号的脉冲信号捕捉到了第十一数据信号的上升沿,当第十一数据信号由I变为0时,可以视为该脉冲信号捕捉到了第十一数据信号的下降沿。因此,若第十数据信号与第四时钟信号的上升沿对齐,则与预设时序要求对应的终止执行条件可以设置为第十数据信号到达内存芯片时刚好捕捉到内存时钟的上升沿,也即第十一数据信号由0变为1,若第十数据信号与第四时钟信号的下降沿对齐,则与预设时序要求对应的终止执行条件可以设置为第十数据信号到达内存芯片时刚好捕捉到内存时钟的下降沿,也即第十一数据信号由I变为O。
[0068]特别地,对于DDR3而言,在本发明的一些实施例中,可以利用DDR3内存提供的write leveling功能,在这一场景下,可以先将DDR3内存置于write leveling模式,并将写数据选通信号(写DQS)作为第四时钟信号,进而执行上述P次操作。
[0069]进一步地,在本发明实施例中,由于在步骤S7中对写数据时钟和/或第四时钟信号的调整可以反映出作为第三时钟信号的写数据时钟的相移,因此也可以根据上述P次操作所完成的调整来得出步骤S104中作为选择依据的第二时钟信号与第三时钟信号的相位差。其中,可选地,
[0070]在执行P次操作前,上述处理方法还可以包括:S9、将与系统时钟对齐的时钟信号作为写数据时钟或者第四时钟信号的初始值;
[0071]在执行P次操作时,步骤S7中向前或向后调整写数据时钟和/或第四时钟信号可以包括:S10、延迟写数据时钟或者第四时钟信号1/L个时钟周期,作为调整后的写数据时钟或者第四时钟信号,L为正整数;以及,
[0072]在执行P次操作后,上述处理方法还可以包括:S11、若将与系统时钟对齐的时钟信号作为写数据时钟,则根据下式获取相位差:A= (P/L)*T ;S16、若将与系统时钟对齐的时钟信号作为第四时钟信号,则根据下式获取相位差:A= (P/L_K)*T;其中,A表示相位差,T表示时钟周期。
[0073]在上述场景下,L的值越大,则单次操作中对写数据时钟或者第四时钟信号的调整量越小,对该写数据时钟或者第四时钟信号的校准则约精确,写数据时钟与内存时钟之间的时序则越为接近预设时序要求,在另一方面,据此得出的相位差A也越为准确,从而使得上述数据信号的处理方法对其跨时钟域传输的传输路径上的时序裕度的控制也越为准确。
[0074]本发明提供了一种优选的实施例来进一步对本发明进行解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。
[0075]实施例2
[0076]根据本发明实施例,还提供了一种用于实施上述数据信号的处理方法的数据信号的处理装置,如图6所示,该处理装置包括:
[0077]I)获取单元602,用于根据第一数据信号、第二数据信号、第三数据信号和第四数据信号获取第五数据信号和第六数据信号,其中,第一数据信号、第二数据信号、第三数据信号和第四数据信号与第一时钟信号对应,第五数据信号和第六数据信号与第二时钟信号对应,且第二时钟信号为第一时钟信号的双倍频时钟信号,其中,在第二时钟信号为I时,第五数据信号对应第一数据信号,第六数据信号对应第三数据信号,在第二时钟信号为0时,第五数据信号对应第二数据信号,第六数据信号对应第四数据信号;
[0078]2)选择单兀604,用于获取第三时钟信号,并在第二时钟信号相对于第三时钟信号的相位差位于第一预设区间时,使用第三时钟信号的上升沿采集第五数据信号和第六数据信号,在相位差位于第二预设区间时,使用第三时钟信号的下降沿采集第五数据信号和第六数据信号,其中,第三时钟信号的时钟周期与第二时钟信号的时钟周期相同;
[0079]3)处理单元606,用于根据采集第五数据信号所得到的第七数据信号以及采集第六数据信号所得到的第八数据信号获得第九数据信号,其中,在第三时钟信号为I时,第九数据信号对应第七数据信号,在第三时钟信号为0时,第九数据信号对应第八数据信号。
[0080]应当明确的是,本发明技术方案所要解决的技术问题之一是提供一种对数据信号进行处理的装置,以实现对由4路数据信号所携带的数据的倍频跨时钟域传输,在本发明实施例中,该4路数据信号可以分别表示为第一数据信号、第二数据信号、第三数据信号和第四数据信号,作为处理结果的输出数据可以是携带有第一至第四数据信号所携带的数据的第九数据信号,其中,第一至第四数据信号与第一时钟信号对应,第九数据信号与第三时钟信号的双倍频时钟信号对应,且第一时钟信号的时钟周期为第三时钟信号的时钟周期的两倍。
[0081]在本发明实施例中,第一至第四数据信号与第一时钟信号之间的对应关系通常可以表现二者相互对齐,也即,第一至第四数据信号的更新频率与第一时钟信号的时钟频率相一致,且二者相位相同,然而本发明对此不作限定,例如,在本发明的一些实施例中,第一数据信号与第一时钟信号之间的对应关系也可以表现为同频信号之间的某种确定的相位关系,正交或者反相等,在这一场景下,虽然第一数据信号与第一时钟信号并不对齐,然而由于二者之间的相位关系确定且已知,因此仍然可以通过第一时钟信号准确地推知第一数据信号的时序,从而第一数据信号仍可以视为在第一时钟信号的时钟域内。
[0082]类似地,在本发明实施例中,第九数据信号与第三时钟信号之间的对应关系也可以表现为与上述第一数据信号与第一时钟信号之间的对应关系相似,然而值得注意的是,这两个对应关系之间并不必然完全一致,例如,在本发明实施例中,第一数据信号可以与第一时钟信号对齐,而第九数据信号可以与第三时钟信号反相,本发明对此不作限定。
[0083]根据本发明实施例提供的数据信号的处理装置,在获取单元602中,可以首先对第一至第四数据信号进行处理,以获得第五数据信号和第六数据信号,其中,第五数据信号和第六数据信号可以与作为第一时钟信号的双倍频信号的第二时钟信号对应,且第五数据信号可以携带有第一数据信号和第二数据信号所携带的数据,且第六数据信号可以携带有第三数据信号和第四数据信号所携带的数据。容易理解,在上述场景下,也可以将获取单元602视为将第一数据信号和第二数据信号合并为双倍频率的第五数据信号,并将第三数据信号和第四数据信号合并为双倍频率的第六数据信号。
[0084]在本发明实施例中,获取单元602的具体的实现方式可以有多种,例如,作为其中一种可选的方式,获取单元602可以包括:
[0085]I)第一采集模块,用于使用所述第一时钟信号的下降沿采集所述第一数据信号和所述第三数据信号,使用所述第一时钟信号的上升沿采集所述第二数据信号和所述第四数据信号;或者,使用所述第一时钟信号的上升沿采集所述第一数据信号和所述第三数据信号,使用所述第一时钟信号的下降沿采集所述第二数据信号和所述第四数据信号;
[0086]2)第一处理模块,用于在所述第一时钟信号为I时,将采集所述第一数据信号所得到的数据信号作为所述第五数据信号,将采集所述第三数据信号所得到的数据信号作为所述第六数据信号,在所述第一时钟信号为0时,将采集所述第二数据信号所得到的数据信号作为所述第五数据信号,将采集所述第四数据信号所得到的数据信号作为所述第六数据信号。
[0087]当然,以上只是一种示例,在本发明实施例中,还可以有多种其他的倍频方式,例如步骤S2中作为判断条件的0和I也可以互换等,本发明对此不作限定。
[0088]在以上描述的基础上,根据本发明实施例提供的数据信号的处理装置,在选择单元604中,可以进一步地实现第五数据信号和第六数据信号从第二时钟信号的时钟域向第三时钟信号的时钟域的跨时钟域传输,以便于在处理单元606中根据跨时钟域传输后得到的第七数据信号和第八数据信号获得与第三时钟信号的双倍频信号对应的第九数据信号的处理操作。
[0089]基于以上描述,本发明在选择单元604中所要解决的问题也可以表述为:将与第二时钟信号对应的第五数据信号和第六数据信号分别转换为与第三时钟信号对应的第七时钟信号和第八时钟信号,其中,第五数据信号与第七数据信号的内容相同,然而时序有异,类似地,第六数据信号与第八数据信号的内容相同,然而时序有异。由于第五数据信号向第七数据信号的跨时钟域传输与第六数据信号向第八数据信号的跨时钟域传输类似,以下将主要围绕第五数据信号向第七数据信号的跨时钟域传输对本发明实施例的方案进行描述。
[0090]为实现上述的跨时钟域传输,在现有方案中,通常会使用第三时钟信号的跳变沿去采集第五数据信号,以获得第七数据信号,例如,在图2中,可以使用如第3行所示的第三时钟信号的上升沿采集如第2行所示的第五数据信号,并可以将采集得到的、如第4行所示的数据信号作为第七数据信号,其中,从图2可以看出,第五数据信号与第二时钟信号对应,第七数据信号与第三时钟信号对应,从而实现数据信号的跨时钟域的传输。
[0091]容易看出,在图2中,如第2行所示的第五数据信号向如第4行所示的第七数据信号的传输路径上的时序裕度tl大于半个时钟周期T/2,其中T表示第二时钟信号的时钟周期,也就是说,使用第三时钟信号的上升沿采集第五数据信号时,第五数据信号更新为数值a这一状态的持续时间超过了 T/2,从而该数据状态相对而言更容易地从由数值更新所产生的毛刺等扰动中恢复过来、并过渡到较为稳定的状态,进而使用第三时钟信号的上升沿采集得到的数据也较为准确,这对于数据信号的跨时钟域传输是有利的。
[0092]然而,事实上,对上述的现有方案而言,数据信号在跨时钟域传输的传输路径上的时序裕度是不确定的,在一个场景下,例如图2所示的情形,其时序裕度较大,在另一个场景下,例如图3所示的情形,其时序裕度t2则相对较小,至少小于半个时钟周期,则在该场景下使用第三时钟信号的上升沿采集第五数据信号时,由于第五数据信号更新为数值a的持续时间较短,因此其数据状态可能并不稳定,由此采集得到的数据也并不准确,从而影响了数据信号的跨时钟域传输的可靠性。换而言之,使用第三时钟信号的上升沿采集第五数据信号以生成第七数据信号的方式无法保证满足对上述时序裕度的要求,与之对应地,使用第三时钟信号的下降沿采集第五数据信号以生成第七数据信号的方式也存在类似的问题,而其原因则可以归结为现有技术中无法控制数据信号在跨时钟域传输的传输路径上的时序裕度的问题。
[0093]为解决这一问题,在本发明实施例中,可以沿承利用第三时钟信号采集第五数据信号以生成第七数据信号的方式,并在获取单元602中获取该第五数据信号和该第三时钟信号,然而区别于现有技术,根据本发明实施例提供的处理装置,在选择单元604中,可以根据第二时钟信号与第三时钟信号之间的相位关系在使用第三时钟信号的上升沿还是下降沿之间进行选择,其中,若第二时钟信号相对于第三时钟信号的相位差位于第一预设区间,则可以使用第三时钟信号的上升沿采集第五数据信号,若相位差位于第二预设区间,则可以使用第三时钟信号的下降沿采集第五数据信号。换而言之,在本发明实施例中,并非静态地使用第三时钟信号的上升沿或者下降沿采集第五数据信号,而是可以相对动态地针对不同的情形选择上升沿与下降沿之一进行采集,从而实现对数据信号在跨时钟传输的传输路径上的时序裕度的控制,进而达到对该时序裕度的要求。
[0094]需要说明的是,上述“动态地”选择并不限于实时地选择,在本发明实施例中,在“上升沿采集”与“下降沿采集”之间进行选择的周期可以为一个较短的时间周期,也可以是一个较长的时间周期,此外,该选择的机制还可以与其他机制、例如判断机制相互耦合,其中,这一选择也可以根据判断机制所产生的结果来触发,等,本发明对此不作限定。此外,作为可选的实施方式,上述选择机制既可以通过硬件逻辑,例如逻辑电路来实现,并可以进一步地封装在物理接口中以提高集成度及处理速度,并降低处理器的处理压力,其也可以通过软件逻辑,例如对MCU、FPGA或者PLC等可编程平台的编程来实现,本发明对此不作限定。
[0095]下面将结合图4和图5对本发明实施例的方案的工作原理进行详细解释。在本发明实施例中,上述第一预设区间可以设置为(T/2,T),上述第二预设区间可以设置为(0,T/2)。需要说明的是,在本申请中,第二时钟信号相对于第三时钟信号的相位差表示第二时钟信号相对于第三时钟信号的提前量,例如,若第二时钟信号相对于第三时钟信号提前1/4个时钟周期,则第二时钟信号相对于第三时钟信号的相位差为1/4个时钟周期。
[0096]如图4所示,在本发明实施例的一个场景下,第二时钟信号可以为如第I行所示时钟信号,第五数据信号可以为如第2行所示的数据信号,第三时钟信号可以为如第3行所示的时钟信号。在上述场景下,第二时钟信号相对于第三时钟信号的相位差大于半个时钟周期,也即位于第一预设区间(T/2,T)内,从而根据选择单元604,可以选择使用第三时钟信号的上升沿采集第五数据信号,并得到如第4行所示的数据信号作为第七数据信号。容易看出,在上述场景下,第五数据信号与第二时钟信号对应,第七数据信号与第三时钟信号对应,且第七数据信号的数据内容与第五数据信号一致,也即实现了第五数据信号的跨时钟域传输,在另一方面,该跨时钟域传输的传输路径上的时序裕度等于上述相位差,而上述相位差位于第一预设区间内、大于半个时钟周期,因此该时序裕度大于半个时钟周期,也即,在本发明实施例中,对时序裕度的控制可以部分地由第一预设区间来实现,从而可以通过对第一预设区间的合理设置以满足对该时序裕度的要求,进而达到准确地采集数据、以及提高数据信号的跨时钟域传输的可靠性的效果。
[0097]作为对比,在上述场景下,若选择第三时钟信号的下降沿采集第五数据信号,则得到的数据信号可以为如图4第5行由斜划线表示的数据信号,容易看出,采集到的该数据信号相对于第五数据信号的时序裕度小于半个时钟周期,并不符合与第一预设区间对应的对上述时序裕度的要求,进而可能导致数据信号的跨时钟域传输的可靠性较低的问题。
[0098]如图5所示,在本发明实施例的另一个场景下,第二时钟信号可以为如第I行所示时钟信号,第五数据信号可以为如第2行所示的数据信号,第三时钟信号可以为如第3行所示的时钟信号。在上述场景下,第二时钟信号相对于第三时钟信号的相位差小于半个时钟周期,也即位于第二预设区间(0,T/2)内,从而根据选择单元604,可以选择使用第三时钟信号的下降沿采集第五数据信号,并得到如第5行所示的数据信号作为第七数据信号。容易看出,在上述场景下,在实现第五数据信号的跨时钟域传输的基础上,该跨时钟域传输的传输路径上的时序裕度等于上述相位差加上半个时钟周期,而上述相位差位于第二预设区间内、小于半个时钟周期,因此该时序裕度大于半个时钟周期,也即,在本发明实施例中,对时序裕度的控制可以部分地由第二预设区间来实现,从而可以通过对第二预设区间的合理设置以满足对该时序裕度的要求,进而达到准确地采集数据、以及提高数据信号的跨时钟域传输的可靠性的效果。
[0099]作为对比,在上述场景下,若选择第三时钟信号的上升沿采集第五数据信号,则得到的数据信号可以为如图5第4行由斜划线表示的数据信号,容易看出,采集到的该数据信号相对于第五数据信号的时序裕度小于半个时钟周期,并不符合与第二预设区间对应的对上述时序裕度的要求,进而可能导致数据信号的跨时钟域传输的可靠性较低的问题。
[0100]通过上述实施例,对本发明实施例的方案的工作原理进行了阐述。对应地,在本发明实施例中,也可以采取类似的方式对第六数据信号进行处理以获得第八数据信号,并可以解决相同的问题且达到相同的效果,本发明在此不作累述。
[0101]值得注意的是,在本发明实施例中,对于第一预设区间而言,其所限定的时序裕度通常即为第一预设区间本身,而对于第二预设区间而言,当第二预设区间中的部分区间被设置为位于(0,T/2)时,由该部分区间所限定的时序裕度为该部分区间加上半个时钟周期,当第二预设区间中的部分区间被设置为位于(T/2,T)时,则由该部分区间所限定的时序裕度将实际表现为该部分区间减去半个时钟周期。也就是说,若要求数据信号的跨时钟域传输在传输路径上的时序裕度较大,则可以将第一预设区间设置在(T/2,T)内,并将第二预设区间设置在(O,T/2)内,反之则可以将二者对调,将第一预设区间设置在(O,T/2)内,并将第二预设区间设置在(T/2,T)内。对于第一预设区间和第二预设区间的具体设置及其应用,本发明不作任何限定。
[0102]当然,上述结论主要是基于第五数据信号与第二时钟信号对齐、且第七数据信号与第三时钟信号对齐的对应关系所导出的,在本发明的其他一些实施例中,对于该对应关系的其他表现形式,可以结合第五数据信号与第二时钟信号之间的确定的相位关系以及第七数据信号与第三时钟信号之间的确定的相位关系,得出经过与这两个相位关系对应的两次偏移后的分别由第一预设区间和第二预设区间所限定的时序裕度的范围,且类似地处理方式也可以应用到第六数据信号向第八数据信号进行跨时钟域传输的过程,本发明在此不作累述。
[0103]在以上描述的基础上,根据本发明实施例提供的数据信号的处理装置,在处理单元606中,可以根据第七数据信号和第八数据信号获得第九数据信号,其中,在本发明实施例中,处理单元606的实现既可以采取与前述的获取单元602的实现方式类似的倍频处理方式,也可以根据具体的设计需要,在获得第九数据信号前、对第七数据信号和第八数据信号进行可行的其他处理,例如延迟、反相、再次采集、寄存一拍或多拍等,并根据处理后得到的数据信号生成第九数据信号,然而应当理解的是,在上述处理过程中,均应当属于在第三时钟信号的时钟域内的处理,也即,所获得的第九数据信号仍应当与第三时钟信号对应。
[0104]例如,可选地,在本发明实施例中,处理单元606可以包括:
[0105]I)第二采集模块,用于执行N次以下操作:使用第三时钟信号的上升沿或下降沿对N次操作中的前一次操作所采集到的数据信号进行再次采集,其中,N次操作的前一次操作中采集到的数据信号的初始值为第七数据信号,N大于等于I ;和/或,执行M次以下操作:使用第三时钟信号的上升沿或下降沿对M次操作中的前一次操作所采集到的数据信号进行再次采集,其中,M次操作中的前一次操作所采集到的数据信号的初始值为第八数据信号,M大于等于I ;
[0106]2)第二处理模块,用于在第三时钟信号为I时,将第七数据信号或者N次操作后采集得到的数据信号作为第九数据信号,在第一时钟信号为0时,将第八数据信号或者M次操作后采集得到的数据信号作为第九数据信号。
[0107]在上述场景下,可以在通过选择单元604对第五数据信号和第六数据信号进行采集后,在第二采集模块中对第五数据信号和/或第六数据信号进行再次采集,且该“再次采集”的操作可以分别重复执行N次和M次,N、M大于等于I,其中,需要说明的是,在本发明实施例中,上述N次操作并不限于均为“使用第三时钟信号的上升沿”或者“使用第三时钟信号的下降沿”,例如,在一个实施例中,N次操作中的某一次操作可以使用上升沿采集,该操作的下一次操作可以使用下降沿采集,类似地,上述M次操作也并不限于均为使用上升沿或下降沿,本发明对此不作限定。
[0108]应当理解,在本发明实施例中,利用第三时钟信号的跳变沿分别进行的N次和M次再次采集操作所得到的数据信号仍将处于第三时钟信号的时钟域内,据此获得的第九数据信号也将处于第三时钟信号的时钟域内。一般而言,对于包括选择单元604中所述的对第五数据信号和第六数据信号的采集操作在内的上述“前一次采集”使用了第三时钟信号的上升沿的情形,对于该前一次采集之后进行的再次采集,若仍然使用第三时钟信号的上升沿,则相当于将前一次采集得到的数据信号延迟了一个时钟周期、或者说寄存一拍,若改为使用第三时钟信号的下降沿,则相当于将前一次采集得到的数据信号延迟了半个时钟周期、或者说寄存半拍,对应地,对于前一次采集使用了第三时钟信号的下降沿的情形,也可以得到类似的效果。其中,无论是寄存半拍、一拍还是多拍的情形,再次采集中的时序裕度至少有半个时钟周期,因此可以避免由于数据信号在传输路径上的时序裕度不足导致的准确性和可靠性下降的问题。
[0109]进一步地,为便于第二处理模块中的第九数据信号的获取,本发明提供了以下两种可选的【具体实施方式】对上述N次操作和M次操作进行限定,以实现在第二采集模块中对第七数据信号和/或第八数据信号的预处理:
[0110]I)若上述相位差位于第一预设区间,则第二采集模块中的N次操作可以为:使用第三时钟信号的下降沿对第七数据信号进行再次采集,M次操作可以为:使用第三时钟信号的上升沿对第八数据信号进行再次采集;
[0111]若上述相位差位于第二预设区间,则第二采集模块中的M次操作可以为:使用第三时钟信号的上升沿对第八数据信号进行再次采集。
[0112]2)若上述相位差位于第一预设区间,则第二采集模块中的M次操作可以为:使用第三时钟信号的下降沿对第八数据信号进行再次采集;
[0113]若上述相位差位于第二预设区间,则第二采集模块中的N次操作可以为:使用第三时钟信号的上升沿对第七数据信号进行再次采集,M次操作可以为:使用第三时钟信号的下降沿对第八数据信号进行再次采集。
[0114]通过上述实施例本发明给出了两种可选的【具体实施方式】,然而应当理解,上述实施例仅用于对本发明技术方案的理解,并不应视为对本发明的限定。在本发明实施例中,还可以有其他可行的实施方式,在此不一一累述,应当理解,这些实施方式均应视为在本发明的保护范围之内。
[0115]在以上描述的基础上,更具体地,在本发明实施例中,上述第一时钟信号可以为内存控制器的系统时钟,上述第二时钟信号为该系统时钟的双倍频时钟,上述第三时钟信号可以为内存控制器的写数据时钟,上述第一数据信号、第二数据信号、第三数据信号和第四数据信号可以为内存控制器的待传输数据,上述第九数据信号可以为内存控制器向内存芯片传输的写数据,其中,该写数据时钟与内存芯片的内存时钟的时钟周期可以相同,且写数据时钟与内存时钟之间可以满足预设时序要求。
[0116]在这一场景下,结合本发明实施例提供的数据信号的处理装置,可以实现待传输数据由内存控制器向内存芯片的有效传输,其中,该待传输数据可以是由内存控制器获取或生成的、与系统时钟对应的数据信号,而经过上述处理操作所得到的写数据可以是与写数据时钟对应的数据信号,以便于内存对写数据的接收和识别。其中,写数据时钟虽然也可以是由内存控制器获取或生成的,然而该写数据时钟与内存时钟之间应当满足预设时序要求。对该写数据时钟的调整操作将在后续实施例中给出。
[0117]一般而言,在本发明实施例中,上述预设时序要求通常可以表现为:根据写数据时钟生成的写数据在到达内存芯片时相对于内存时钟提前K个时钟周期,K为O至I之间的任意值。这种要求通常与DDR协议相关,例如,现行的DDR协议规定写数据到达内存芯片时,内存时钟的跳变沿应当位于由内存芯片获取的该写数据的中部,或者说该写数据到达内存芯片时相对于内存时钟应当提前大约1/4或3/4个时钟周期,从而K可以设置为1/4或3/4,然而本发明对此不作限定,在本发明的其他一些实施例中,针对不同内存数据传输协议,K的具体值也可以设置为O到I之间的其他数值。
[0118]进一步可选地,在本发明实施例中,在获取单元602之前,上述处理装置还可以包括:
[0119]I)调整单元,用于在满足与预设时序要求对应的终止执行条件前,重复执行P次以下操作:向前或向后调整写数据时钟或者相对于写数据时钟滞后K个时钟周期的第四时钟信号,并向内存芯片传输与调整后的写数据时钟或者调整后的第四时钟信号对应的第十数据信号;接收内存芯片根据第十数据信号返回的第十一数据信号,并根据接收的第十一数据信号判断是否满足终止执行条件;其中,P大于等于I。
[0120]在调整单元中所形成的一个循环可以概括为:调整一输送一反馈的过程,其中,对内存芯片根据向其输送的第十数据信号所反馈的第十一数据信号通常可以携带有与“是否满足终止执行条件”或者说“写数据时钟与内存时钟之间是否满足预设时序要求”相对应的信息,因此通过对第十一数据信号的识别判断即可以判断出循环是否终止,并可以将上述P次操作后所得到的写数据时钟、或者根据P次操作后得到的第四时钟信号所确定的写数据时钟作为进行数据信号的跨时钟域传输之前确定的第三时钟信号,以作为选择单元604中根据相位差进行选择的基础。值得注意的是,上述循环还可以有其他的等效变型,例如,类同的一个循环也可以概括为:输送——反馈——根据反馈进行调整的过程,本发明对P次操作的单次操作或者说一次循环的划分并不作限定,基于以上描述的各【具体实施方式】均应视为在本发明的保护范围之内。
[0121]一般而言,在本发明实施例中,上述P次操作的终止执行条件可以对应于预设时序要求的达成,例如,在一个实施例中,第十数据信号可以设置为与第四时钟信号的上升沿或下降沿对齐的脉冲信号,第十一数据信号可以表示内存芯片使用脉冲信号采集内存时钟所得到的数据信号,其中,若第十数据信号与第四时钟信号的上升沿对齐,则终止执行条件可以为:接收的第十一数据信号由0变为I ;若第十数据信号与第四时钟信号的下降沿对齐,则中止执行条件可以为:接收的第十一数据信号由I变为O。
[0122]其中,由于第四时钟信号相对于写数据时钟滞后K个时钟周期,因此若要求根据写数据时钟生成的写数据在到达内存芯片时相对于内存时钟提前K个时钟周期,则应当要求根据第四时钟信号生成的第十数据信号在到达内存芯片时与内存时钟对齐。在另一方面,当内存芯片根据其接收到的第十数据信号采集内存时钟所得到的第十一数据信号由0变为I时,可以视为作为第十数据信号的脉冲信号捕捉到了第十一数据信号的上升沿,当第十一数据信号由I变为0时,可以视为该脉冲信号捕捉到了第十一数据信号的下降沿。因此,若第十数据信号与第四时钟信号的上升沿对齐,则与预设时序要求对应的终止执行条件可以设置为第十数据信号到达内存芯片时刚好捕捉到内存时钟的上升沿,也即第十一数据信号由0变为1,若第十数据信号与第四时钟信号的下降沿对齐,则与预设时序要求对应的终止执行条件可以设置为第十数据信号到达内存芯片时刚好捕捉到内存时钟的下降沿,也即第十一数据信号由I变为O。
[0123]特别地,对于DDR3而言,在本发明的一些实施例中,可以利用DDR3内存提供的write leveling功能,在这一场景下,可以先将DDR3内存置于write leveling模式,并将写数据选通信号(写DQS)作为第四时钟信号,进而执行上述P次操作。
[0124]进一步地,在本发明实施例中,由于在调整单元中对写数据时钟和/或第四时钟信号的调整可以反映出作为第三时钟信号的写数据时钟的相移,因此也可以根据上述P次操作所完成的调整来得出选择单元604中作为选择依据的第二时钟信号与第三时钟信号的相位差。其中,可选地,
[0125]上述处理装置还可以包括:初始化单元,用于将与系统时钟对齐的时钟信号作为写数据时钟或者第四时钟信号的初始值;其中,
[0126]调整单元可以包括:延迟模块,用于延迟写数据时钟或者第四时钟信号1/L个时钟周期,作为调整后的写数据时钟或者第四时钟信号,L为正整数;其中,
[0127]该处理装置还可以进一步包括:计算模块,用于在将与系统时钟对齐的时钟信号作为写数据时钟时,根据下式获取相位差:A= (P/L) *T ;在将与系统时钟对齐的时钟信号作为第四时钟信号时,根据下式获取相位差:A= (P/L_K)*T;其中,A表示相位差,T表示时钟周期。
[0128]在上述场景下,L的值越大,则单次操作中对写数据时钟或者第四时钟信号的调整量越小,对该写数据时钟或者第四时钟信号的校准则约精确,写数据时钟与内存时钟之间的时序则越为接近预设时序要求,在另一方面,据此得出的相位差A也越为准确,从而使得上述数据信号的处理装置对其跨时钟域传输的传输路径上的时序裕度的控制也越为准确。
[0129]本发明提供了一种优选的实施例来进一步对本发明进行解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。
[0130]实施例3
[0131]根据本发明实施例,还提供了一种通过硬件逻辑实现的数据信号的处理装置,如图7所示,该装置可以包括:
[0132]I)寄存器 REG1、REG2、REG3、REG4、REG5、REG6、REG7、REG8 和 REG9 ;
[0133]2 )选择器 MUXl、MUX2、MUX3、MUX4 和 MUX5 ;
[0134]其中,各器件之间的连接关系可以参考图7,在此不一一赘述。
[0135]如图7所示,REGl和REG3的时钟输入均可以是时钟信号clkl的反相,REG2和REG4的时钟输入均可以为clkl,其中,clkl可以作为如实施例2中所述的第一时钟信号。REGl的数据输入可以是数据信号dql,REG2的数据输入可以是数据信号dq2,通过选择器MUXl可以实现对dql和dq2的合并,从而获得携带有dql和dq2的数据的一路数据信号dq5,其中,dq5的传输速率是dql和dq2的两倍。类似地,REG3的数据输入可以是数据信号dq3,REG4的数据输入可以是数据信号dq4,通过选择器MUX2可以实现对dq3和dq4的合并,从而获得携带有dq3和dq4的数据的一路数据信号dq6,其中,dq6的传输速率是dq3和dq4的两倍。具体地,在本发明实施例中,dql至dq6可以分别对应于实施例2中所述的第一至第六数据信号,其中,dql至dq4对应于clkl,dq5和dq6对应于作为如实施例2中所述的第二时钟信号的clk2。[0136]通过REGl至REG4以及MUXl和MUX2可以实现对与第一时钟信号同步的四路数据信号以及与第二时钟信号同步的两路数据信号的获取,换而言之,本发明实施例提供了如实施例2中所述的获取单元的一种可行的硬件实现方式,而如实施例2中所述的选择单元所需执行的对第三时钟信号的获取,可以简单地通过一个接线端来实现,例如图7中左侧标识有clk3的接线端,用于时钟信号clk3的输入,其中,clk3可以作为如实施例2中所述的第三时钟信号。
[0137]进一步地,在本发明实施例中,如实施例2所述的选择单元所需执行的选择性采集操作可以通过REG5、REG6、REG7和REG8以及选择器MUX3和MUX4实现。
[0138]如图7所示,REG5、REG6、REG7和REG8的时钟输入可以均为时钟信号clk3。REG5和REG8的数据输入可以是dq5,REG6和REG7的数据输入可以是dq6,从而REG5、REG6、REG7和REG8均可以起到采集位于clk2的时钟域内的数据信号dq5或dq6以获得位于clk3的时钟域内的数据信号的作用,也即实现了数据信号的跨时钟域传输。
[0139]具体地,如图1所示,REG5和REG6的时钟输入直接为clk3,也即使用clk3的上升沿进行采集,REG7和REG8的时钟输入各自通过一个反相器输入clk3,也即使用clk3的下降沿进行采集,至于具体使用clk3的上升沿还是下降沿中的哪一个进行采集,可以通过选择器MUX3和MUX4来完成,其中,MUX3和MUX4的低电平输入可以对应使用clk3上升沿的采集方式,高电平输入可以对应使用clk3下降沿的采集方式,控制输入可以用于输入对应于clk2与clk3之间的相位差的电信号pm,其中,该相位差位于作为如实施例2中所述的第一预设区间的(T/2,T)时,pm可以为低电平,进而可以使用clk3的上升沿来采集与clk2对应的数据信号,该相位差位于作为如实施例2中所述的第二预设区间的(0,T/2)时,pm可以为高电平,进而可以使用clk3的下降沿来采集与clk2对应的数据信号。
[0140]通过上述选择性的采集方式,可以确保数据信号dql至dq4在跨时钟域传输路径上的时序裕度,进而提高数据传输的准确性,本发明在此不再累述。
[0141]进一步地,如图1所示,在通过REG5、REG6或REG7对位于clk2的时钟域的数据信号进行采集之后,还可以对采集所得到的数据信号进行再次采集,其中,当上述相位差位于第一预设区间时,Pm为低电平,可以通过REG8、使用clk3的下降沿对通过REG5采集dq5所得到的数据信号进行再次采集,以获得如实施例2中所述的第七数据信号的dq7,并通过REG9、使用clk3的上升沿对通过REG6采集dq6所得到的数据信号进行再次采集,以获得如实施例2中所述的第八数据信号dq8。当然,对于如实施例2中所述的处理单元而言,其也可以直接输出clk3首次采集得到的数据信号,例如图7所示,在上述相位差位于第二预设区间时,Pm为高电平,dq5将直接通过REG8、经由clk3的下降沿的一次采集后得到如实施例2中所述的第二数据信号中的所述第七数据信号dq7,本发明对此不作限定。具体地,在本发明实施例中,dq7和dq8可以分别对应于实施例2中所述的第七数据信号和第八数据信号,其中,dq7和dq8对应于clk3。
[0142]通过如图7所示的电路,本发明事实上给出了如实施例2中所述的第二采集模块的硬件实现方式。其中,作为一种优化设计,在本发明实施例中,REG8在不同情形下分别用作如实施例2所述的选择单元和处理单元的一部分,从而节约了至少一个寄存器,在降低损耗的同时提高了处理装置的处理速度,值得注意的是,此类对本发明实施例的等效或变型均应视为在本发明的保护范围之内。[0143]考虑到DDR的双倍速传输要求,还可以进一步地将dq7或者说dql和dq2、以及dq8或者说dq3和dq4所表示的数据结合到一起,输出为一路数据信号dq9,具体地,如图7所示,可以通过选择器MUX5实现对dq7和dq8的合并,其中,MUX5的高电平输入可以是REG8的数据输出,MUX5的低电平输入可以是REG9的数据输出,控制输入可以是clk3,从而在clk3为高电平时,MUX5或者说处理装置可以输出dq7,在clk3为低电平时,MUX5或者说处理装置可以输出dq8,这就满足了 DDR对数据传输的要求,并给出了如实施例2中所述的处理单元的一种可行的硬件实现方式,本发明在此不作累述。
[0144]进一步地,在本发明实施例中,如图7所示的处理装置可以作为内存控制器的物理PHY模块的一部分,由于该处理装置结构简单且延时较少,因此相对于现有的或者是通过软件逻辑实现的具有实现相同功能的内存控制器来说,采用包括该处理装置的PHY模块的内存控制器的处理速度将会获得显著的提升。具体地,clkl可以是内存控制器的系统时钟,clk3可以是内存时钟,dql至dq4可以是用于传输的四路数据,而dq9可以是向内存传输的内存写数据,其中,该写数据由dql至dq4的数据内容组合而成,其数据传输速率为系统时钟频率的四倍,且通过本发明实施例提供的处理装置,可以确保跨时钟域传输路径上的时序裕度大于等于半个时钟周期,进而提高了数据传输的准确性。
[0145]需要说明的是,上述实施例仅用于对本发明技术方案的理解,而不应视为对本发明构成了任何不必要的限定,例如,在如图7所示的处理装置中,还可以在传输路径上添加更多的寄存器以达到对数据信号进行一拍或多拍寄存的目的,类似的实施方式并不影响本发明技术方案的实施及其技术效果的实现,本发明对此也不作任何限定。应当理解的是,类似的对本发明的扩展与延伸均应视为在本发明的保护范围之内。
[0146]从以上的描述中,可以看出,本发明实现了如下技术效果:
[0147]I)采用了根据第二时钟信号与第三时钟信号之间的相位差在使用第三时钟信号的上升沿还是下降沿对与第二时钟信号对应的第五数据信号和第六数据信号进行采集之间进行选择的方式,以获得与第三时钟信号对应、相对于第三时钟信号以双倍速率传输、且满足对跨时钟域传输在传输路径上的时序裕度的要求的第九数据信号,从而实现了对数据信号在跨时钟域传输的传输路径上的时序裕度的控制;
[0148]2)通过对第一预设区间和第二预设区间的合理设置可以满足对数据信号的跨时钟域传输的设计要求,并提高数据信号的跨时钟域传输的可靠性。
[0149]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据信号的处理方法,其特征在于,包括: 根据第一数据信号、第二数据信号、第三数据信号和第四数据信号获取第五数据信号和第六数据信号,其中,所述第一数据信号、所述第二数据信号、所述第三数据信号和所述第四数据信号与第一时钟信号对应,所述第五数据信号和所述第六数据信号与第二时钟信号对应,所述第二时钟信号为所述第一时钟信号的双倍频时钟信号,且所述第一时钟信号的上升沿与所述第二时钟信号的上升沿对齐,其中,在所述第一时钟信号为I时,所述第五数据信号对应所述第一数据信号,所述第六数据信号对应所述第三数据信号,在所述第一时钟信号为O时,所述第五数据信号对应所述第二数据信号,所述第六数据信号对应所述第四数据信号; 获取第三时钟信号,并在所述第二时钟信号相对于所述第三时钟信号的相位差位于第一预设区间时,使用所述第三时钟信号的上升沿采集所述第五数据信号和所述第六数据信号,在所述相位差位于第二预设区间时,使用所述第三时钟信号的下降沿采集所述第五数据信号和所述第六数据信号,其中,所述第三时钟信号的时钟周期与所述第二时钟信号的时钟周期相同; 根据采集所述第五数据信号所得到的第七数据信号以及采集所述第六数据信号所得到的第八数据信号获得第九数据信号,其中,在所述第三时钟信号为I时,所述第九数据信号对应所述第七数据信号,在所述第三时钟信号为O时,所述第九数据信号对应所述第八数据信号。
2.根据权利要求1所述的处理方法,其特征在于,所述根据第一数据信号、第二数据信号、第三数据信号和第四数据信号获取第五数据信号和第六数据信号包括: 使用所述第一时钟信号的下降沿采集所述第一数据信号和所述第三数据信号,使用所述第一时钟信号的上升沿采集所述第二数据信号和所述第四数据信号;或者,使用所述第一时钟信号的上升沿采集所述第一数据信号和所述第三数据信号,使用所述第一时钟信号的下降沿采集所述第二数据信号和所述第四数据信号; 在所述第一时钟信号为I时,将采集所述第一数据信号所得到的数据信号作为所述第五数据信号,将采集所述第三数据信号所得到的数据信号作为所述第六数据信号,在所述第一时钟信号为O时,将采集所述第二数据信号所得到的数据信号作为所述第五数据信号,将采集所述第四数据信号所得到的数据信号作为所述第六数据信号。
3.根据权利要求1所述的处理方法,其特征在于,所述根据采集所述第五数据信号所得到的第七数据信号以及采集所述第六数据信号所得到的第八数据信号获得第九数据信号包括: 执行N次以下操作:使用所述第三时钟信号的上升沿或下降沿对所述N次操作中的前一次操作所采集到的数据信号进行再次采集,其中,所述N次操作的前一次操作中采集到的数据信号的初始值为所述第七数据信号,N大于等于I ;和/或,执行M次以下操作:使用所述第三时钟信号的上升沿或下降沿对所述M次操作中的前一次操作所采集到的数据信号进行再次采集,其中,所述M次操作中的前一次操作所采集到的数据信号的初始值为所述第八数据信号,M大于等于I; 在所述第三时钟信号为I时,将所述第七数据信号或者所述N次操作后采集得到的数据信号作为所述第九数据信号,在所述第一时钟信号为O时,将所述第八数据信号或者所述M次操作后采集得到的数据信号作为所述第九数据信号。
4.根据权利要求1所述的处理方法,其特征在于, 若所述相位差位于所述第一预设区间,则所述N次操作包括:使用所述第三时钟信号的下降沿对所述第七数据信号进行再次采集,所述M次操作包括:使用所述第三时钟信号的上升沿对所述第八数据信号进行再次采集;若所述相位差位于所述第二预设区间,则所述M次操作包括:使用所述第三时钟信号的上升沿对所述第八数据信号进行再次采集;或者, 若所述相位差位于所述第一预设区间,则所述M次操作包括:使用所述第三时钟信号的下降沿对所述第八数据信号进行再次采集;若所述相位差位于所述第二预设区间,则所述N次操作包括:使用所述第三时钟信号的上升沿对所述第七数据信号进行再次采集,所述M次操作包括:使用所述第三时钟信号的下降沿对所述第八数据信号进行再次采集。
5.根据权利要求1所述的处理方法,其特征在于,所述第一预设区间为(T/2,T),所述第二预设区间为(0,T/2)。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一时钟信号为内存控制器的系统时钟,所述第二时钟信号为所述系统时钟的双倍频时钟,所述第三时钟信号为所述内存控制器的写数据时钟,所述第一数据信号、所述第二数据信号、所述第三数据信号和所述第四数据信号为所述内存控制器的待传输数据,所述第九数据信号为所述内存控制器向内存芯片传输的写数据,其中,所述写数据时钟与所述内存芯片的内存时钟的时钟周期相同,且所述写数据时钟与所述内存时钟之间满足预设时序要求。
7.根据权利要求 6所述的方法,其特征在于,所述预设时序要求为根据所述写数据时钟生成的所述写数据在到达所述内存芯片时相对于所述内存时钟提前K个时钟周期,K为O至I之间的任意值,其中,在所述获取第三时钟信号之前,所述方法还包括: 在满足与所述预设时序要求对应的终止执行条件前,重复执行P次以下操作:向前或向后调整所述写数据时钟或者相对于所述写数据时钟滞后K个时钟周期的第四时钟信号,并向所述内存芯片传输与调整后的所述写数据时钟或者调整后的所述第四时钟信号对应的第十数据信号;接收所述内存芯片根据所述第十数据信号返回的第十一数据信号,并根据接收的所述第十一数据信号判断是否满足所述终止执行条件;其中,P大于等于I。
8.根据权利要求7所述的方法,其特征在于,所述第十数据信号为与所述第四时钟信号的上升沿或下降沿对齐的脉冲信号,所述第十一数据信号为所述内存芯片使用所述脉冲信号采集所述内存时钟所得到的数据信号,其中, 若所述第十数据信号与所述第四时钟信号的上升沿对齐,则所述终止执行条件为:接收的所述第十一数据信号由O变为I ; 若所述第十数据信号与所述第四时钟信号的下降沿对齐,则所述中止执行条件为:接收的所述第十一数据信号由I变为O。
9.根据权利要求7所述的方法,其特征在于, 在执行所述P次操作前,所述方法还包括:将与所述系统时钟对齐的时钟信号作为所述写数据时钟或者所述第四时钟信号的初始值; 在执行所述P次操作时,所述向前或向后调整所述写数据时钟和/或所述第四时钟信号包括:延迟所述写数据时钟或者所述第四时钟信号1/L个时钟周期,作为调整后的所述写数据时钟或者所述第四时钟信号,L为正整数; 在执行所述P次操作后,所述方法还包括:若将与所述系统时钟对齐的时钟信号作为所述写数据时钟,则根据下式获取所述相位差:△= (P/L) *T ;若将与所述系统时钟对齐的时钟信号作为所述第四时钟信号,则根据下式获取所述相位差:A = (P/L-K)*T ;其中,A表示所述相位差,T表示所述时钟周期。
10.一种数据信号的处理装置,其特征在于,包括: 获取单元,用于根据第一数据信号、第二数据信号、第三数据信号和第四数据信号获取第五数据信号和第六数据信号,其中,所述第一数据信号、所述第二数据信号、所述第三数据信号和所述第四数据信号与第一时钟信号对应,所述第五数据信号和所述第六数据信号与第二时钟信号对应,所述第二时钟信号为所述第一时钟信号的双倍频时钟信号,且所述第一时钟信号的上升沿与所述第二时钟信号的上升沿对齐,其中,在所述第一时钟信号为I时,所述第五数据信号对应所述第一数据信号,所述第六数据信号对应所述第三数据信号,在所述第一时钟信号为0时,所述第五数据信号对应所述第二数据信号,所述第六数据信号对应所述第四数据信号; 选择单元,用于获取第三时钟信号,并在所述第二时钟信号相对于所述第三时钟信号的相位差位于第一预设区间时,使用所述第三时钟信号的上升沿采集所述第五数据信号和所述第六数据信号,在所述相位差位于第二预设区间时,使用所述第三时钟信号的下降沿采集所述第五数据信号和所述第六数据信号,其中,所述第三时钟信号的时钟周期与所述第二时钟信号的时钟周期相同; 处理单元,用于根据采集所述第五数据信号所得到的第七数据信号以及采集所述第六数据信号所得到的第八数据信号获得第九数据信号,其中,在所述第三时钟信号为I时,所述第九数据信号对应所述第七数据信号,在所述第三时钟信号为0时,所述第九数据信号对应所述第八数据信号。`
11.根据权利要求10所述的处理装置,其特征在于,所述获取单元包括: 第一采集模块,用于使用所述第一时钟信号的下降沿采集所述第一数据信号和所述第三数据信号,使用所述第一时钟信号的上升沿采集所述第二数据信号和所述第四数据信号;或者,使用所述第一时钟信号的上升沿采集所述第一数据信号和所述第三数据信号,使用所述第一时钟信号的下降沿采集所述第二数据信号和所述第四数据信号; 第一处理模块,用于在所述第一时钟信号为I时,将采集所述第一数据信号所得到的数据信号作为所述第五数据信号,将采集所述第三数据信号所得到的数据信号作为所述第六数据信号,在所述第一时钟信号为0时,将采集所述第二数据信号所得到的数据信号作为所述第五数据信号,将采集所述第四数据信号所得到的数据信号作为所述第六数据信号。
12.根据权利要求10所述的处理装置,其特征在于,所述处理单元包括: 第二采集模块,用于执行N次以下操作:使用所述第三时钟信号的上升沿或下降沿对所述N次操作中的前一次操作所采集到的数据信号进行再次采集,其中,所述N次操作的前一次操作中采集到的数据信号的初始值为所述第七数据信号,N大于等于I ;和/或,执行M次以下操作:使用所述第三时钟信号的上升沿或下降沿对所述M次操作中的前一次操作所采集到的数据信号进行再次采集,其中,所述M次操作中的前一次操作所采集到的数据信号的初始值为所述第八数据信号,M大于等于I ; 第二处理模块,用于在所述第三时钟信号为I时,将所述第七数据信号或者所述N次操作后采集得到的数据信号作为所述第九数据信号,在所述第一时钟信号为O时,将所述第八数据信号或者所述M次操作后采集得到的数据信号作为所述第九数据信号。
13.根据权利要求10所述的处理装置,其特征在于, 若所述相位差位于所述第一预设区间,则所述N次操作包括:使用所述第三时钟信号的下降沿对所述第七数据信号进行再次采集,所述M次操作包括:使用所述第三时钟信号的上升沿对所述第八数据信号进行再次采集;若所述相位差位于所述第二预设区间,则所述M次操作包括:使用所述第三时钟信号的上升沿对所述第八数据信号进行再次采集;或者, 若所述相位差位于所述第一预设区间,则所述M次操作包括:使用所述第三时钟信号的下降沿对所述第八数据信号进行再次采集;若所述相位差位于所述第二预设区间,则所述N次操作包括:使用所述第三时钟信号的上升沿对所述第七数据信号进行再次采集,所述M次操作包括:使用所述第三时钟信号的下降沿对所述第八数据信号进行再次采集。
14.根据权利要求10所述的处理装置,其特征在于,所述第一预设区间为(T/2,T),所述第二预设区间为(0,T/2)。
15.根据权利要求10至14中任一项所述的装置,其特征在于,所述第一时钟信号为内存控制器的系统时钟,所述第二时钟信号为所述系统时钟的双倍频时钟,所述第三时钟信号为所述内存控制器的写数据时钟,所述第一数据信号、所述第二数据信号、所述第三数据信号和所述第四数据信号为所述内存控制器的待传输数据,所述第九数据信号为所述内存控制器向内存芯片传输的写数据,其中,所述写数据时钟与所述内存芯片的内存时钟的时钟周期相同,且所述写数据时钟与所述内存时钟之间满足预设时序要求。
16.根据权利要求15所述的装置`,其特征在于,所述预设时序要求为根据所述写数据时钟生成的所述写数据在到达所述内存芯片时相对于所述内存时钟提前K个时钟周期,K为0至I之间的任意值,其中,在所述获取第三时钟信号之前,所述装置还包括: 调整单元,用于在满足与所述预设时序要求对应的终止执行条件前,重复执行P次以下操作:向前或向后调整所述写数据时钟或者相对于所述写数据时钟滞后K个时钟周期的第四时钟信号,并向所述内存芯片传输与调整后的所述写数据时钟或者调整后的所述第四时钟信号对应的第十数据信号;接收所述内存芯片根据所述第十数据信号返回的第十一数据信号,并根据接收的所述第十一数据信号判断是否满足所述终止执行条件;其中,P大于等于I。
17.根据权利要求16所述的装置,其特征在于,所述第十数据信号为与所述第四时钟信号的上升沿或下降沿对齐的脉冲信号,所述第十一数据信号为所述内存芯片使用所述脉冲信号采集所述内存时钟所得到的数据信号,其中, 若所述第十数据信号与所述第四时钟信号的上升沿对齐,则所述终止执行条件为:接收的所述第十一数据信号由0变为I ; 若所述第十数据信号与所述第四时钟信号的下降沿对齐,则所述中止执行条件为:接收的所述第十一数据信号由I变为O。
18.根据权利要求16所述的装置,其特征在于,所述装置还包括:初始化单元,用于将与所述系统时钟对齐的时钟信号作为所述写数据时钟或者所述第四时钟信号的初始值; 所述调整单元包括:延迟模块,用于延迟所述写数据时钟或者所述第四时钟信号1/L个时钟周期,作为调整后的所述写数据时钟或者所述第四时钟信号,L为正整数; 所述装置还包括:计算模块,用于在将与所述系统时钟对齐的时钟信号作为所述写数据时钟时,根据下式获取所述相位差:△= (P/L) *T ;在将与所述系统时钟对齐的时钟信号作为所述第四时钟信号时,根据下式获取所述相位差:A= (P/L-K)*T;其中,A表示所述相位差,T表示所述时钟周期`。
【文档编号】G06F1/12GK103677081SQ201310745643
【公开日】2014年3月26日 申请日期:2013年12月30日 优先权日:2013年12月30日
【发明者】黄帅, 王焕东, 陈新科 申请人:龙芯中科技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1