实现数据同步的装置
技术领域
本实用新型涉及微电子领域,尤其涉及一种实现数据同步的装置。
背景技术
差分电路由于其固有的抗干扰性等优点经常应用在高性能数模混合信号电路中作为时钟电路。在高性能数模混合信号电路中,核心模拟电路的时钟常常采用差分时钟来提高性能,而数字电路的时钟则比较灵活,可以采用单端时钟或者差分时钟。由于大规模集成电路多采用CMOS工艺,数字时钟或者逻辑处理电路常常采用单端时钟,因此在高性能数模混合信号电路中,数字时钟和逻辑处理电路也多采用单端时钟。基于以上的讨论,在高性能数模混合信号电路中,经常会遇到不同时钟类型下的数据同步情况,即模拟差分时钟对单端时钟下的数字数据进行采样。
如图1A所示,为现有技术中单端时钟时序电路结构示意图,其中,clk_sig为单端时钟,寄存器DFF1和寄存器DFF2在同一单端时钟信号clk_sig下工作,两个寄存器中间为逻辑处理电路。寄存器DFF1采用单端时钟信号clk_sig对输入数据信号data_in采样,逻辑处理电路对寄存器DFF1输出的数据信号进行逻辑处理,寄存器DFF2采用单端时钟信号clk_sig对逻辑处理后的数据信号data进行采样得到输出数据信号data_out。为了保证时序电路正常工作,寄存器DFF2需要满足寄存器的建立时间的约束要求。寄存器的建立时间指在时钟翻转之前数据输入必须有效的时间,用tsu表示,建立时间的约束要求为:
T≥tc-q+tlogic+tsu (1)
其中,T为时钟周期,tlogic为逻辑处理电路的延时,tc-q为寄存器DFF1的输出延时。如图1B所示,为现有技术中数模混合信号电路中模拟电路采用差分时钟对单端时钟下的数字数据进行采样的电路结构示意图,与图1A有如下两个不同之处:第一,增加了时钟转换模块,把差分时钟clk_difp和clk_difn转换成单端时钟clk_sig,单端时钟clk_sig再发送给寄存器DFF1;第二,寄存器DFF2变为了采用差分时钟clk_difp和clk_difn进行采样的寄存器DFF3。寄存器DFF3同样需要满足建立时间的约束要求,因此建立时间必须满足以下条件:
T≥tdiff2sig+tc-q+tlogic+tsu (2)
其中,tdiff2sig为时钟转换模块的延时。对比公式(1)和(2),建立时间多增加了一项延时,因此寄存器DFF3可能不满足建立时间的约束要求,即时钟链路上的总延时大于时钟周期,特别是在频率比较高的情况下。
由于寄存器的建立时间的需要、不同数据之间逻辑处理电路延时的不同、以及数据时滞误差的影响,逻辑处理电路输出的数据信号data的某一时间段内常常是不能进行采样的,这段不能进行正常采样的时间段称为数据信号的无效区,能进行正常采样的时间段称为数据信号的有效区。如图2所示,为现有技术中对图1A和图1B所示电路结构示意图中的逻辑处理电路输出的数据信号进行采样的时序图,其中,阴影区域A和B表示无效区,图中标识出了两种不同情况的采样点:情况1和情况2,情况1的采样点位于逻辑处理电路输出的数据信号data的有效区,能够正常采样数据,而情况2的采样点位于逻辑处理电路输出的数据信号data的无效区,会出现采样错误。
如图3所示,为现有技术中图1A和图1B所示电路结构示意图的工作时序示意图,寄存器默认为正触发寄存器,即数据信号在时钟的上升沿输出,从图3中可以看出,采用如1A所示的单端时钟,从t1时刻开始的tc-q+tlogic小于时钟周期T,再加上无效区的时间,在下一个上升沿t3时刻,寄存器DFF2仍然可以正确采样到当前数据d[1],然而采用图1B所示的差分时钟时序电路后,当差分时钟从t0时刻开始加入tdiff2sig延时后,总延时已经大于时钟周期T,尽管从图中可以看出寄存器DFF3在t2时刻对逻辑处理电路输出的数据data进行采样时不会出错,但是采样到的数据是上个周期的,这样就产生了一个问题:再参见图3,当差分时钟clk_difp_1和clk_difn_1的时钟周期T′大于时钟周期T时,从t0时刻开始的总延时要小于时钟周期T′,即使加上无效区的时间,寄存器DFF3在t1′时刻对逻辑处理电路输出的数据data进行采样时仍然可以采样到当前数据,但是当时钟周期从T′减小到时钟周期T的过程中,如箭头r0所指,差分时钟clk_difp_1和clk_difn_1的上升沿会经过数据信号的无效区,寄存器DFF3会出现采样错误,从而导致当采用模拟差分时钟信号对单端时钟下的数字数据进行采样时,在某些时钟周期处出现采样错误,这在电路设计中是不能容忍的。
实用新型内容
本实用新型提供一种实现数据同步的装置,用以实现采用模拟差分时钟对单端时钟下的数字数据进行正确采样,保证不同时钟类型下的数据同步。
本实用新型提供一种实现数据同步的装置,包括:
时钟转换模块,用于将差分时钟信号转换为单端时钟信号;
第一寄存器;
逻辑处理电路,与所述第一寄存器连接,用于对所述第一寄存器输出的数据信号进行逻辑处理;
第二寄存器,与所述逻辑处理电路连接,用于采用所述差分时钟信号对所述逻辑处理电路输出的数据信号进行采样得到输出数据信号;
还包括:
延时信号生成模块,与所述时钟转换模块连接,用于对所单端时钟信号进行延时,生成延时不同的三路以上时钟信号,所述三路以上时钟信号中的一路时钟信号与所述逻辑处理电路输出的数据信号同步;
三个以上第三寄存器,与所述延时信号生成模块连接,用于同时采用所述差分时钟信号分别对所述三路以上时钟信号进行采样;
判断模块,与所述三个以上第三寄存器连接,用于根据所述三个以上第三寄存器输出的信号,判断所述差分时钟信号的采样沿是否位于所述逻辑处理电路输出的数据信号的无效区内;
时钟反相模块,与所述判断模块和所述第一寄存器连接,用于当所述判断模块判定所述差分时钟信号的采样沿位于所述逻辑处理电路输出的数据信号的无效区时,对所述单端时钟信号进行反相,将反相后的单端时钟信号发送给所述第一寄存器,当所述判断模块判定所述差分时钟信号的采样沿位于所述逻辑处理电路输出的数据信号的有效区时,直接将所述单端时钟信号发送给所述第一寄存器;
所述第一寄存器用于采用所述时钟反相模块发送的单端时钟信号对所述输入数据信号进行采样。
本实用新型还提供一种实现数据同步的装置,包括:
时钟转换模块,用于将差分时钟信号转换为单端时钟信号;
第一寄存器,与所述时钟转换模块连接,用于采用所述单端时钟信号对输入数据信号进行采样;
逻辑处理电路,与所述第一寄存器连接,用于对所述第一寄存器输出的数据信号进行逻辑处理;
第二寄存器,与所述逻辑处理电路连接,用于采用所述差分时钟信号对所述逻辑处理电路输出的数据信号进行采样得到输出数据信号;
还包括:
延时信号生成模块,与所述时钟转换模块连接,用于对所单端时钟信号进行延时,生成延时不同的三路以上时钟信号,所述三路以上时钟信号中的一路时钟信号与所述逻辑处理电路输出的数据信号同步;
三个以上第三寄存器,与所述延时信号生成模块连接,用于同时采用所述差分时钟信号分别对所述三路以上时钟信号进行采样;
判断模块,与所述三个以上第三寄存器连接,用于根据所述三个以上第三寄存器输出的信号,判断所述差分时钟信号的采样沿是否位于所述逻辑处理电路输出的数据信号的无效区内;
时钟反相模块,与所述判断模块和所述时钟转换模块连接,用于当所述判断模块判定所述差分时钟信号的采样沿位于所述逻辑处理电路输出的数据信号的无效区时,对所述差分时钟信号进行反相,将反相后的差分时钟信号发送给所述时钟转换模块,当所述判断模块判定所述差分时钟信号的采样沿位于所述逻辑处理电路输出的数据信号的有效区时,直接将所述差分时钟信号发送给所述时钟转换模块。
本实用新型还提供一种实现数据同步的装置,包括:
时钟转换模块,用于将差分时钟信号转换为单端时钟信号;
第一寄存器,与所述时钟转换模块连接,用于采用所述单端时钟信号对输入数据信号进行采样;
逻辑处理电路,与所述第一寄存器连接,用于对所述第一寄存器输出的数据信号进行逻辑处理;
第二寄存器,与所述逻辑处理电路连接,用于采用所述差分时钟信号对所述逻辑处理电路输出的数据信号进行采样得到输出数据信号;
还包括:
延时信号生成模块,与所述时钟转换模块连接,用于对所述单端时钟信号进行延时,生成延时不同的三路以上时钟信号,所述三路以上时钟信号中的一路时钟信号与所述逻辑处理电路输出的数据信号同步;
三个以上第三寄存器,与所述延时信号生成模块连接,用于同时采用所述差分时钟信号分别对所述三路以上时钟信号进行采样;
判断模块,与所述三个以上第三寄存器连接,用于根据所述三个以上第三寄存器输出的信号,判断所述差分时钟信号的采样沿是否位于所述逻辑处理电路输出的数据信号的无效区内;
时钟反相模块,与所述判断模块连接,用于当所述判断模块判定所述差分时钟信号的采样沿位于所述逻辑处理电路输出的数据信号的无效区时,对所述差分时钟信号进行反相,将反相后的差分时钟信号发送给所述三个以上第三寄存器和所述第二寄存器,当所述判断模块判定所述差分时钟信号的采样沿位于所述逻辑处理电路输出的数据信号的有效区时,直接将所述差分时钟信号发送给所述三个以上第三寄存器和所述第二寄存器。
在本实用新型中,由于差分时钟信号的采样沿或反相沿总有一个位于逻辑处理电路输出的数据信号的有效区,因此当判断模块判断差分时钟信号的采样沿位于逻辑处理电路输出的数据信号的无效区时,时钟反相模块对单端时钟信号或差分时钟信号进行反相,使得差分时钟信号位于逻辑处理电路输出的数据信号的有效区,保证第二寄存器采样到正确的数据,实现了采用模拟差分时钟对单端时钟下的数字数据进行正确采样,保证了不同时钟类型下的数据同步。本实施例的电路简单,工作可靠,电路会随着工作状态的变化而变化,自动回到正常工作状态。
附图说明
图1A为现有技术中单端时钟时序电路结构示意图;
图1B为现有技术中数模混合信号电路中模拟电路采用差分时钟对单端时钟下的数字数据进行采样的电路结构示意图;
图2为现有技术中对图1A和图1B所示电路结构示意图中的逻辑处理电路输出的数据信号进行采样的时序图;
图3为现有技术中图1A和图1B所示电路结构示意图的工作时序示意图;
图4为本实用新型实现数据同步的装置第一实施例的结构示意图;
图5为本实用新型实现数据同步的装置第一实施例中判断模块的电路结构示意图;
图6为本实用新型实现数据同步的装置第一实施例中三个第三寄存器进行采样的波形示意图;
图7为本实用新型实现数据同步的装置第一实施例中图5所示电路示意图的信号时序示意图;
图8为本实用新型实现数据同步的装置第二实施例的结构示意图;
图9为本实用新型实现数据同步的装置第三实施例的结构示意图。
具体实施方式
下面结合说明书附图和具体实施方式对本实用新型作进一步的描述。
从图2可以看出,当差分时钟clk_difp和clk_difn的下降沿在情况2的采样点对数据信号进行采样出现错误时,可以采用差分时钟clk_difp和clk_difn的上升沿在情况1的采样点对数据信号data进行采样,即差分时钟clk_difp和clk_difn的上升沿和下降沿总有一个处于数据信号的有效区内,因此对于图1B所示电路,如果可以判断出差分时钟当前的采样沿处于逻辑处理电路输出的数据信号的无效区,可以对差分时钟进行反相,用差分时钟的反相沿对逻辑处理电路输出的数据进行采样就可以采样到正确的数据,而对差分时钟进行反相与对单端时钟进行反相是等效的,所以如果可以判断出差分时钟当前的采样沿处于数据信号的无效区,也可以对单端时钟信号进行反相。
基于上述原理,本实用新型提出了如下的技术方案:如图4所示,为本实用新型实现数据同步的装置第一实施例的结构示意图,本实施例对单端时钟进行反相,该装置可以包括时钟转换模块41、第一寄存器42、逻辑处理电路43、第二寄存器44、延时信号生成模块45、三个以上第三寄存器461、462...、46n,判断模块47、时钟反相模块48,其中,n为大于或等于3的自然数。时钟反相模块48与时钟转换模块41连接,第一寄存器42与时钟反相模块48连接,逻辑处理电路43与第一寄存器42连接,第二寄存器44与逻辑处理电路43连接,延时信号生成模块45与时钟转换模块41连接,三个以上第三寄存器461、462...、46n与延时信号生成模块45连接,判断模块47与三个以上第三寄存器461、462...、46n连接,时钟反相模块48与判断模块47连接。
本实施例的工作过程如下:时钟转换模块41将差分时钟信号clk_difp和clk_difn转换为单端时钟信号clk_sig;延时信号生成模块45对单端时钟信号clk_sig进行延时,生成延时不同的三路以上时钟信号,三路以上时钟信号中的一路时钟信号与逻辑处理电路43输出的数据信号同步;三个以上第三寄存器461、462...、46n同时采用差分时钟信号clk_difp和clk_difn分别对三路以上时钟信号进行采样;判断模块47根据三个以上第三寄存器461、462...、46n输出的信号,判断差分时钟信号clk_difp和clk_difn的采样沿是否位于逻辑处理电路43输出的数据信号data的无效区内;当判断模块47判定差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的无效区时,时钟反相模块48对时钟转换模块41输出的单端时钟信号clk_sig进行反相,再将反相后的单端时钟信号clk_sig发送给第一寄存器42,第一寄存器42采用反相后的单端时钟信号clk_sig对输入数据信号data_in进行采样;当判断模块47判定差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的有效区时,时钟反相模块48直接将单端时钟信号clk_sig发送给第一寄存器42,第一寄存器42采用该单端时钟信号clk_sig对输入数据信号data_in进行采样;逻辑处理电路43对第一寄存器42输出的数据信号进行逻辑处理;第二寄存器44采用差分时钟信号clk_difp和clk_difn对逻辑处理电路43输出的数据信号进行采样得到输出数据信号data_out。
在本实施例中,由于差分时钟信号clk_difp和clk_difn的采样沿或反相沿总有一个位于逻辑处理电路43输出的数据信号data的有效区,因此当判断模块47判断差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的无效区时,时钟反相模块48对单端时钟信号clk_sig进行反相,第一寄存器42采用反相后的单端时钟信号clk_sig对输入数据信号data_in进行采样,这样就可以使得差分时钟信号位于逻辑处理电路43输出的数据信号data的有效区,保证第二寄存器44采样到正确的数据,实现了采用模拟差分时钟对单端时钟下的数字数据进行正确采样,保证了不同时钟类型下的数据同步。本实施例的电路简单,工作可靠,电路会随着工作状态的变化而变化,自动回到正常工作状态。
下面以延时信号生成模块45生成三路时钟信号为例介绍本实施例的工作过程,此时第三寄存器的数量为三个。延时信号生成模块45对单端时钟信号clk_sig进行延时,生成三路延时不同的时钟信号,再参见图4,此时,n=3,该三路延时不同的时钟信号分别是:第一路时钟信号ca、第二路时钟信号cb和第三路时钟信号cc,第二路时钟信号cb与逻辑处理电路43输出的数据信号同步,即第二路时钟信号cb的上升沿与逻辑处理电路43输出的数据信号是同步的,第一路时钟信号ca超前第二路时钟信号cb,第三路时钟信号cc滞后第二路时钟信号cb,第一路时钟信号ca与第二路时钟信号cb的时间差Δt1以及第三路时钟信号cc与第二路时钟信号cb的时间差Δt2均大于无效区的时长,时间差Δt1和时间差Δt2均大于图2中无效区A与B的时长的较大值。三个第三寄存器461、462和463同时采用差分时钟clk_difp和clk_difn分别对第一路时钟信号ca、第二路时钟信号cb和第三路时钟信号cc进行采样,并且输出采样后的信号a、b和c。判断模块47通过对采样后的信号a、b和c的处理就可以判断出差分时钟信号clk_difp和clk_difn的采样沿是否处于输入数据信号的无效区,然后作出是否需要对单端时钟信号clk_sig进行反相的决定。如图5所示,为本实用新型实现数据同步的装置第一实施例中判断模块的电路结构示意图,可以包括判定单元471、与门472和输出单元473,输出单元473包括并联连接的第四寄存器4731和反相器4732。判定单元471与三个第三寄存器461、462和463连接,与门472与判定单元471连接,输出单元473与与门472连接。判定单元471对三个第三寄存器461、462和463输出的信号进行如下处理得到错误判定信号:其中,err为错误判定信号,a为对第一路时钟信号ca进行采样后得到的信号,b为对第二路时钟信号cb进行采样后得到的信号,c为对第三路时钟信号cc进行采样后得到的信号,当错误判定信号err为’1’时,表示差分时钟的采样沿处于逻辑处理电路43输出的数据信号data的无效区,当err为’0’时,表示差分时钟的采样沿处于逻辑处理电路43输出的数据信号data的有效区。与门472对错误判定信号err和复位信号reset进行与运算,复位信号reset为低电平有效;与门472输出的信号redge作为输出单元473的时钟信号,驱动输出单元473是否做反相,输出单元473的输出信号out发送给时钟反相模块48。如图6所示,为本实用新型实现数据同步的装置第一实施例中三个第三寄存器进行采样的波形示意图,三个第三寄存器461、462和463采用差分时钟信号clk_difp和clk_difn对第一路时钟信号ca、第二路时钟信号cb和第三路时钟信号cc信号进行采样的情况可以分6个区间来讨论,分别用数字1~6表示,对应输出采样后的信号a、b和c的逻辑如表1所示。
表1
从表1中可以看出,当差分时钟信号clk_difp和clk_difn的采样沿在区间1或者区间6进行采样时,差分时钟信号clk_difp和clk_difn的采样沿正好处于逻辑处理电路43输出的数据信号data的无效区,即区间1和区间6分别对应图2中A和B所示无效区。因而当差分时钟信号clk_difp和clk_difn的采样沿处于区间1或者区间6时,即采样后的信号a、b和c的结果为’110’或’100’时,错误判定信号err信号为’1’,当差分时钟信号clk_difp和clk_difn的采样沿处于区间2、3、4或5时,即采样后的信号为a、b和c的结果为’111’、’011’、’001’、’000’时,错误判定信号err信号为’0’。
如图7所示,为本实用新型实现数据同步的装置第一实施例中图5所示电路示意图的信号时序示意图,工作步骤如下:
步骤1、初始状态下,复位信号reset为’0’,电路处于复位状态下,输出信号out的初始值可以为’1’或者’0’,本实施例以’0’为例进行介绍。
步骤2、此时差分时钟信号clk_difp和clk_difn的采样沿处于逻辑处理电路43输出的数据信号data的无效区,因而错误判定信号err信号为’1’。当复位信号reset变为’1’以后,会引起信号redge输出上升沿,该上升沿会驱动输出信号out反相,从而导致单端时钟信号clk_sig反相,进而使差分时钟信号clk_difp和clk_difn的采样沿处于输入数据信号的有效区。
步骤3、当差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的有效区时,错误判定信号err变为’0’,从而信号redge也重新变回’0’,但此时输出信号out不变,因而电路正常工作。
步骤4、当正常工作一段时间以后,由于某种原因,差分时钟信号clk_difp和clk_difn的采样沿又出现采样错误时,错误判定信号err再次变为’1’,再次引起信号redge输出上升沿,从而使输出信号out再次进行反相,因此又重新回到步骤3的操作。
如图8所示,为本实用新型实现数据同步的装置第二实施例的结构示意图,本实施例也是对单端时钟信号进行反相与图4所示结构示意图的不同之处在于,时钟转换模块41与时钟反相模块48连接,第一寄存器42与时钟转换模块41连接。
本实施例的工作过程与上一实施例的不同之处在于,当判断模块47判定差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的无效区时,时钟反相模块48对输入时钟转换模块41的差分时钟信号clk_difp和clk_difn进行反相,再将反相后的差分时钟信号clk_difp和clk_difn发送给时钟转换模块41,当判断模块47判定差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的有效区时,时钟反相模块48直接将差分时钟信号clk_difp和clk_difn发送给时钟转换模块41;时钟转换模块41将时钟反相模块48发送的差分时钟信号clk_difp和clk_difn转化为单端时钟信号clk_sig,再将该单端时钟信号clk_sig发送给第一寄存器42。
在本实施例中,由于差分时钟信号clk_difp和clk_difn的采样沿或反相沿总有一个位于逻辑处理电路43输出的数据信号data的有效区,因此当判断模块47判断差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的无效区时,时钟反相模块48对差分时钟信号clk_difp和clk_difn进行反相,时钟转换模块41再将反相后的差分时钟信号clk_difp和clk_difn转换为单端时钟信号clk_sig,第一寄存器42采用该单端时钟信号clk_sig对输入数据信号data_in进行采样,这样就可以使得差分时钟信号位于逻辑处理电路43输出的数据信号data的有效区,保证第二寄存器44采样到正确的数据,实现了采用模拟差分时钟对单端时钟下的数字数据进行正确采样,保证了不同时钟类型下的数据同步。本实施例的电路简单,工作可靠,电路会随着工作状态的变化而变化,自动回到正常工作状态。
如图9所示,为本实用新型实现数据同步的装置第三实施例的结构示意图,本实施例对差分时钟信号进行反相,与图8所示结构示意图的不同之处在于,时钟反相模块48与三个以上第三寄存器461、462...、46n和第二寄存器44连接。
本实施例的工作过程与上一实施例的不同之处在于,当判断模块47判定差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的无效区时,时钟反相模块48对差分时钟信号clk_difp和clk_difn进行反相,再将反相后的差分时钟信号发送给三个以上第三寄存器461、462...、46n和第二寄存器44,三个以上第三寄存器461、462...、46n同时采用反相后的差分时钟信号分别对三路以上时钟信号进行采样,第二寄存器44采用反相后的差分时钟信号对逻辑处理电路43输出的数据信号data进行采样。当判断模块47判定差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的有效区时,时钟反相模块48直接将差分时钟信号clk_difp和clk_difn发送给三个以上第三寄存器461、462...、46n和第二寄存器44,三个以上第三寄存器461、462...、46n同时采用差分时钟信号clk_difp和clk_difn分别对三路以上时钟信号进行采样,第二寄存器44采用差分时钟信号clk_difp和clk_difn对逻辑处理电路43输出的数据信号进行采样。
在本实施例中,由于差分时钟信号clk_difp和clk_difn的采样沿或反相沿总有一个位于逻辑处理电路43输出的数据信号的有效区,因此当判断模块47判断差分时钟信号clk_difp和clk_difn的采样沿位于逻辑处理电路43输出的数据信号data的无效区时,时钟反相模块48对差分时钟信号clk_difp和clk_difn进行反相,再将反相后的差分时钟信号clk_difp和clk_difn发送给第二寄存器44,保证第二寄存器44采样到正确的数据,实现了采用模拟差分时钟对单端时钟下的数字数据进行正确采样,保证了不同时钟类型下的数据同步。本实施例的电路简单,工作可靠,电路会随着工作状态的变化而变化,自动回到正常工作状态。
最后应说明的是:以上实施例仅用以说明本实用新型的技术方案而非限制,尽管参照较佳实施例对本实用新型进行了详细说明,本领域的普通技术人员应当理解,可以对本实用新型的技术方案进行修改或者等同替换,而不脱离本实用新型技术方案的精神和范围。