CN107220204B - 一种数据读取电路 - Google Patents

一种数据读取电路 Download PDF

Info

Publication number
CN107220204B
CN107220204B CN201610160841.8A CN201610160841A CN107220204B CN 107220204 B CN107220204 B CN 107220204B CN 201610160841 A CN201610160841 A CN 201610160841A CN 107220204 B CN107220204 B CN 107220204B
Authority
CN
China
Prior art keywords
clock signal
phase difference
clock
data
clock domain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610160841.8A
Other languages
English (en)
Other versions
CN107220204A (zh
Inventor
信恒超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610160841.8A priority Critical patent/CN107220204B/zh
Priority to EP17161840.8A priority patent/EP3223145B1/en
Priority to US15/464,670 priority patent/US9824731B2/en
Publication of CN107220204A publication Critical patent/CN107220204A/zh
Application granted granted Critical
Publication of CN107220204B publication Critical patent/CN107220204B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明实施例公开了一种数据读取电路,应用于第二时钟域,第一时钟域向第二时钟域发送数据的同时发送随路时钟信号,其特征在于,数据读取电路包括相位差确定模块、时延检测模块以及读取控制模块,相位差确定模块接入随路时钟信号和第二时钟域的时钟信号,其中:相位差确定模块用于确定随路时钟信号和第二时钟域的时钟信号之间的相位差;时延检测模块用于检测数据从缓存器传输到触发器的时延值;读取控制模块用于根据相位差和时延值,确定触发器能够读取到缓存器输出的数据的第二时钟域的时钟信号的触发边沿。采用本发明,可以确定随路时钟信号与本域的时钟信号的相位差,进而实现数据读取。

Description

一种数据读取电路
技术领域
本发明涉及电子技术领域,尤其涉及一种数据读取电路。
背景技术
源同步技术是一种低延迟的跨时钟域的同步技术,主要应用于同源同频但不同相位的时钟域之间的数据交互过程。其主要的技术原理是:第一时钟域向第二时钟域发送数据的同时发送随路时钟信号(即第一时钟域的时钟信号),第二时钟域根据随路时钟信号写入数据,然后根据本域的时钟信号(即第二时钟域的时钟信号)读取所写入的数据。具体实现过程可以如图1所示,第一时钟域向第二时钟域同时发送数据和随路时钟信号,第二时钟域中的FIFO(First In First Out,先入先出)缓存器根据随路时钟信号固定每拍写入数据,然后第二时钟域中的DFF(D-type flip-flop,D触发器)根据本域的时钟信号固定每拍读取数据,由于随路时钟信号与第二时钟域的时钟信号频率相同,因此只要确定了两者的相位差,上述读取数据的方法便是可行的。
目前,通过采用伴随数据同步(Data Sync)信号的方式可以确定上述相位差。请参阅图2,第一时钟域针对随路时钟信号生成一个Data Sync信号,第二时钟域可以根据DataSync信号推算出本域的时钟信号与随路时钟信号之间的相位差。然而,采用Data Sync信号的方式,需要额外增加一个用于传输Data Sync信号的I/O(Input/Output,输入/输出)接口,增大了硬件的开销,另外,在信号的传输过程中要严格保持Data Sync信号与数据之间的相位关系,增大了实现上的困难。
发明内容
本发明实施例提供了一种数据读取电路,可以确定随路时钟信号与本域的时钟信号的相位差,进而实现数据读取。
本发明实施例提供了一种数据读取电路,该电路应用于第二时钟域,第二时钟域包括用于写入第一时钟域发送的数据的缓存器和用于读取缓存器输出的数据的触发器,第一时钟域发送数据的同时发送随路时钟信号,随路时钟信号为第一时钟域的时钟信号。该数据读取电路包括相位差确定模块、时延检测模块以及读取控制模块,相位差确定模块接入随路时钟信号和第二时钟域的时钟信号,相位差确定模块与读取控制模块连接,时延检测模块与读取控制模块连接。其中,相位差确定模块用于确定随路时钟信号和第二时钟域的时钟信号之间的相位差,并将其发送至读取控制模块。时延检测模块用于检测数据从缓存器传输到触发器的时延值,并将其发送至读取控制模块。读取控制模块用于根据相位差和时延值,确定触发器能够读取到缓存器输出的数据的第二时钟域的时钟信号的触发边沿。
在第一种可能实现方式中,所述相位差确定模块包括N个相同的延时器、N+1个相同的D触发器以及相位差确定单元,其中,所述N为大于1的整数,所述N个延时器依次串联,第1个延时器的输入端口接入所述第二时钟域的时钟信号,所述N个延时器产生的延时大于所述第二时钟域的时钟信号的时钟周期,所述N+1个D触发器的输入端口接入所述随路时钟信号,第1个D触发器的时钟端口与所述第1个延时器的输入端口连接,其余N个D触发器的时钟端口依次与所述N个延时器的输出端口连接,所述N+1个D触发器的输出端口与所述相位差确定单元连接,所述相位差确定单元接入所述随路时钟信号,所述相位差确定单元用于根据所述N+1个D触发器的输出结果确定所述随路时钟信号和所述第二时钟域的时钟信号之间的相位差,并将其发送至所述读取控制模块。
结合第一种可能实现方式,在第二种可能实现方式中,所述相位差确定单元具体用于:首先,在所述随路时钟信号的电平下降沿对应的时刻,获取第2至第N+1个D触发器的输出信号的电平,在所述输出信号的电平中,前a个为高电平,中间b个为低电平,后c个为高电平,所述a、b和c为正整数。然后,根据公式
Figure GDA0002277914450000021
计算出随路时钟信号和第二时钟域的时钟信号之间的相位差,其中,λ表示所述相位差。
在第三种可能实现方式中,所述读取控制模块具体用于:若触发器读取缓存器输出的数据的触发边沿为上升沿,则当相位差大于或等于时延值时,将从缓存器写入数据的时刻起第二时钟域的时钟信号的下一个上升沿作为触发器读取数据的时刻,或者,当相位差小于时延值时,根据公式j=(Δtmax-λ)/T+2,将从缓存器写入数据的时刻起第二时钟域的时钟信号的第j个上升沿作为触发器读取数据的时刻,其中,Δtmax表示时延值,λ表示相位差,/表示整除符号,T表示第二时钟域的时钟信号的周期。若触发器读取缓存器输出的数据的触发边沿为下降沿,则当相位差大于或等于时延值时,将从缓存器写入数据的时刻起第二时钟域的时钟信号的下一个下降沿作为触发器读取数据的时刻,或者,当相位差小于时延值时,根据公式j=(Δtmax-T/2-λ)/T+2,将从缓存器写入数据的时刻起第二时钟域的时钟信号的第j个下降沿作为触发器读取数据的时刻,其中,Δtmax表示时延值,λ表示相位差,/表示整除符号,T表示第二时钟域的时钟信号的周期。
结合第一种可能实现方式,在第四种可能实现方式中,所述相位差确定模块还包括开关元件,其中,第1个延时器的输入端口通过开关元件接入第二时钟域的时钟信号,开关元件用于控制第1个延时器的输入端口与第二时钟域的时钟信号的通断。
结合第四种可能实现方式,在第五种可能实现方式中,所述开关元件为内部时钟发生器ICG开关。其中,第1个延时器的输入端口与ICG开关的输出端口连接,ICG开关的输入端口接入第二时钟域的时钟信号,ICG开关的使能端口接入使能信号。开关元件具体用于根据使能信号控制第1个延时器的输入端口与第二时钟域的时钟信号的通断。
结合第一种可能实现方式,在第六种可能实现方式中,所述延时器为一个门电路或多个串联的门电路。
结合第二种可能实现方式,在第七种可能实现方式中,所述D触发器为抗亚稳态的D触发器。
由上可见,本发明实施例中的数据读取电路包括相位差确定模块、时延检测模块以及读取控制模块,其中,相位差确定模块可以确定随路时钟信号和本域的时钟信号之间的相位差,时延检测模块可以检测数据在内部传输的时延值,读取控制模块可以根据相位差和时延值确定读取数据的时机,进而实现数据读取。另外,本发明实施例中,除用于传输数据和随路时钟信号以外的I/O接口以外,在两个时钟域之间无需额外增加I/O接口,便可以确定随路时钟信号与本域的时钟信号的相位差,减小了硬件的开销和实现上的困难。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中的一种跨时钟域的同步技术的示意图;
图2是现有技术中的另一种跨时钟域的同步技术的示意图;
图3是本发明实施例提供的一种数据读取电路的结构示意图;
图4是本发明实施例提供的一种时延检测模块的结构示意图;
图5是本发明实施例提供的一种信号的时序示意图;
图6是本发明实施例提供的一种数据读取的示意图;
图7是本发明实施例提供的另一种数据读取的示意图;
图8是本发明实施例提供的一种相位差的确定方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例应用于跨时钟域的交互场景,该交互场景包括至少两个同源同频但不同相位的时钟域。其中,每个时钟域都可以作为发送端和接收端,作为发送端时向其它时钟域发送数据,作为接收端时接收其它时钟域发送的数据。为了便于理解下文,设定作为发送端的时钟域为第一时钟域,作为接收端的时钟域为第二时钟域,应理解的,由于一个时钟域既可以作为发送端又可以作为接收端,因此第一时钟域和第二时钟域并不是指空间上的两个时钟域,而是指逻辑上的两个时钟域。
图3是本发明实施例提供的一种数据读取电路的结构示意图。
如图3所示本实施例中的第一时钟域向第二时钟域发送数据的同时发送随路时钟信号,该随路时钟信号为第一时钟域的时钟信号。需要指出的是,由于随路时钟信号从第一时钟域传输到第二时钟域是需要消耗时间的,因而第二时钟域接收到的随路时钟信号与当前第一时钟域实际的时钟信号是存在时延的。
如图3所示本实施例中的第二时钟域包括用于写入第一时钟域发送的数据的缓存器和用于读取缓存器输出的数据的触发器DFF。需要指出的是,由于数据和随路时钟信号从第一时钟域传输到第二时钟域的过程会严格保持相位差不变(如通过设计传输线路的长度一致、线路位置相邻等方式保持相位差不变),因而根据随路时钟信号来写入数据是可行的。具体实现过程中,第二时钟域中的缓存器可以为如图3所示的FIFO缓存器,FIFO缓存器根据随路时钟信号固定每拍写入数据。
如图3所示本实施例中的数据读取电路包括相位差确定模块110、时延检测模块120以及读取控制模块130,相位差确定模块110接入随路时钟信号和第二时钟域的时钟信号,相位差确定模块110与读取控制模块130连接,时延检测模块120与读取控制模块130连接,其中:
相位差确定模块110,用于确定随路时钟信号和第二时钟域的时钟信号之间的相位差,并将其发送至读取控制模块130。具体的,所述相位差确定模块110可以如图4所示进一步包括N个相同的延时器(BUF 1、BUF 2、BUF 3、……、BUF N-1和BUF N)、N+1个相同的D触发器(DFF 0、DFF 1、DFF 2、……、DFF N-1和DFF N)以及相位差确定单元,其中,所述N为大于1的整数。
具体实现过程中,BUF 1的输入端口接入第二时钟域的时钟信号clk_rx,BUF 1、BUF 2、BUF 3、……、BUF N-1和BUF N依次串联,DFF 0、DFF 1、DFF2、……、DFF N-1和DFF N的输入端口D接入随路时钟信号clk_tx,DFF0的时钟端口CP与BUF 1的输入端口连接,DFF1、DFF 2、……、DFF N-1和DFF N的时钟端口CP依次与BUF 1、BUF 2、BUF 3、……、BUF N-1和BUF N的输出端口连接,DFF 0、DFF 1、DFF 2、……、DFF N-1和DFF N的输出端口Q与相位差确定单元连接,相位差确定单元接入随路时钟信号,相位差确定单元的输出端口Out与读取控制模块130连接。
其中,延时器用于对信号进行相移,BUF 1、BUF 2、BUF 3、……、BUF N-1和BUF N一级一级地对clk_rx进行相移,分别输出延迟时钟信号clk_rx_dly_1、clk_rx_dly_2、clk_rx_dly_3、……clk_rx_dly_n-1和clk_rx_dly_n,要求这N个延时器产生的总延时大于clk_rx的时钟周期(即clk_rx_dly_n与clk_rx_dly_0之间的相位差超过360°)。应理解的,D触发器在时钟端口CP检测到电平上升沿时,其输出端口Q将输入端口D所接收的信号输出,由于clk_rx与clk_tx只是在相位上存在差别的信号,因而N+1个D触发器的输出端口Q 0、Q1、……、Q N-1和Q N实际输出的信号可以看作是clk_rx_dly_0、clk_rx_dly_1、clk_rx_dly_2、……clk_rx_dly_n-1和clk_rx_dly_n。
进一步的,相位差确定单元根据N+1个D触发器的输出结果(即Q 0、Q1、……、Q N-1和Q N输出的信号)确定随路时钟信号和第二时钟域的时钟信号之间的相位差,具体方式如下:
在随路时钟信号的电平下降沿对应的时刻,获取Q 0、Q1、……、Q N-1和Q N的输出信号的电平,在这些电平中,若前a个为高电平,中间b个为低电平,后c个为高电平所述a、b和c为正整数,则可以根据公式
Figure GDA0002277914450000061
计算出随路时钟信号和第二时钟域的时钟信号之间的相位差,其中,所述λ表示所述相位差。举个例子,假设随路时钟信号clk_tx、第二时钟域的时钟信号clk_rx以及clk_rx_dly_0至clk_rx_dly_n的相位如图5所示,那么在clk_tx的电平下降沿(图5中A所示),对clk_rx_dly_0至clk_rx_dly_n采样的结果为0x111110000000001111(其中“1”表示高电平,“0”表示低电平),进而得到a=5,b=9,c=4,根据“b=9”可知clk_tx从电平下降沿到电平上升沿之间有9个单位延迟,所以clk_tx的一个周期对应的相位为2x9个单位延迟,根据“a=5,b=9”可知clk_rx的电平上升沿距离clk_tx的电平下降沿有5个单位延迟,所以clk_rx的上升沿距离clk_tx的上一个上升沿有9-5个单位延迟,从而得到clk_rx滞后于clk_tx的相位差为((9-5)/2x9)x360°=80°。需要指出的是,也可以在检测到Q 0的输出为电平上升沿时(图5中B所示),计算随路时钟信号和第二时钟域的时钟信号之间的相位差,具体推导方法本质不变,这里不再赘述,但该实施方式缺点是:需要在随路时钟信号的第2个电平上升沿时,才能获取到Q1至Q N的输出信号的电平,降低了计算速度。
可选的,相位差确定单元计算随路时钟信号和第二时钟域的时钟信号之间的相位差的过程,可以通过软件实现,也可以通过硬件电路实现,这里不做具体限定。
又可选的,相位差确定模块110还可以如图4所示进一步包括开关元件,其中,BUF1的输入端口通过开关元件接入第二时钟域的时钟信号clk_rx,所述开关元件用于控制BUF1的输入端口与clk_rx的通断。进一步的,开关元件为ICG(Inside Clock Generator,内部时钟发生器)开关,其中,BUF 1的输入端口与ICG开关的输出端口连接,ICG开关的输入端口接入clk_rx,所述ICG开关的使能端口接入使能信号enable,ICG开关用于根据enable控制BUF 1的输入端口的输入端口与clk_rx的通断。优点在于,开关元件可以在无需确定相位差时关闭电路,实现降低功耗。
又可选的,延时器(BUF 1、BUF 2、BUF 3、……、BUF N-1或BUF N)为一个门电路或多个串联的门电路。
又可选的,D触发器为抗亚稳态的D触发器,其中,所述亚稳态是指触发器无法在规定时间段内达到一个稳定的状态。优点在于,抗亚稳态的D触发器可以提高电路的稳定性。
时延检测模块120,用于检测数据从缓存器传输到触发器的时延值,并将其发送至读取控制模块130。
具体的,请参阅图3,时延检测模块120检测数据从FIFO缓存器的输出端口传输到触发器的输入端口D的时延值。可选的,读取控制模块130检测时延值的过程,可以通过软件实现,也可以通过硬件电路实现,这里不做具体限定。
读取控制模块130,用于根据相位差和时延值,确定触发器能够读取到缓存器输出的数据的第二时钟域的时钟信号的触发边沿。
需要指出的是,触发器的触发边沿根据其种类可以分为上升沿触发和下降沿触发,例如,上升沿触发器的触发边沿为上升沿,当其时钟端口CP检测到电平上升沿时,其输出端口Q将输入端口D所接收的信号输出。
一方面,若触发器的触发边沿为上升沿,则当判定上述相位差对应的时间值大于或等于上述时延值时,将从FIFO缓存器写入数据的时刻起的第二时钟域的时钟信号的下一个上升沿作为触发器读取数据的时刻。例如,请参阅图6,假设第二时钟域的时钟信号clk_rx的时钟周期是1ns,与随路时钟信号clk_tx的相位差为72°,数据传输的时延值为150ps,那么可以计算得相位差对应的时间值为200ps(=1000ps*72°/360°),由于200ps>150ps,因而将clk_rx的下一个上升沿(图6中圆圈所示)作为读取数据的时刻,便可以实现数据读取。当判定上述相位差对应的时间值小于上述时延值时,根据公式j=(Δtmax-λ)/T+2,将从FIFO缓存器写入数据的时刻起第二时钟域的时钟信号的第j个上升沿作为触发器读取数据的时刻,其中,Δtmax表示时延值,λ表示相位差,/表示整除符号,T表示第二时钟域的时钟信号的时钟周期。例如,请参阅图7,假设第二时钟域的时钟信号clk_rx的时钟周期是1ns,与随路时钟信号clk_tx的相位差为72°,数据传输的时延值为700ps,那么可以计算得相位差对应的时间值为200ps(=1000ps*72°/360°),由于200ps<700ps,计算得j=(700-200)/1000+2=2,因而将clk_rx的第2个上升沿(图7中圆圈所示)作为读取数据的时刻,便可以实现数据读取。
另一方面,若触发器的触发边沿为下降沿,则当判定上述相位差对应的时间值大于或等于所述时延值时,将从FIFO缓存器写入数据的时刻起第二时钟域的时钟信号的下一个下降沿作为触发器读取数据的时刻。当判定上述相位差对应的时间值小于上述时延值时,根据公式j=(Δtmax-T/2-λ)/T+2,将从缓存器写入数据的时刻起第二时钟域的时钟信号的第j个下降沿作为FIFO触发器读取数据的时刻,其中,Δtmax表示时延值,λ表示相位差,/表示整除符号,T表示第二时钟域的时钟信号的周期。
由上可见,本发明实施例中的数据读取电路包括相位差确定模块110、时延检测模块120以及读取控制模块130,其中,相位差确定模块110可以确定随路时钟信号和本域的时钟信号之间的相位差,时延检测模块120可以检测数据在内部传输的时延值,读取控制模块130可以根据相位差和时延值确定读取数据的时机,进而实现数据读取。另外,本发明实施例中,除用于传输数据和随路时钟信号以外的I/O接口以外,在两个时钟域之间无需额外增加I/O接口,便可以确定随路时钟信号与本域的时钟信号的相位差,减小了硬件的开销和实现上的困难。
图8是本发明实施例中一种相位差的确定方法的流程示意图,所述方法可以应用于图3和/或图4所描述的方法中的时延检测模块110。如图所示本实施例中的相位差的确定方法的流程可以包括:
S101,获取随路时钟信号。
S102,对第二时钟域的时钟信号进行N级延迟,得到每一级的延迟时钟信号,其中,所述N为大于1的整数,所述N级延迟所产生的总延时大于所述第二时钟域的时钟信号的时钟周期。
例如,对第二时钟域的时钟信号clk_rx进行多级延迟,分别得到每一级的延迟时钟信号clk_rx_dly_1、clk_rx_dly_2、clk_rx_dly_3、……clk_rx_dly_n-1和clk_rx_dly_n,clk_rx_dly_n与clk_rx_dly_0之间的相位差超过360°,如图5所示。
需要指出的是,步骤S101和步骤S102不分先后顺序,是同步进行的。
S103,在所述随路时钟信号的电平下降沿对应的时刻,获取所述每一级的延迟时钟信号的电平。
需要指出的是,在获取的多个电平中,前a个为高电平,中间b个为低电平,后c个为高电平,所述a、b和c为正整数。
例如,假设随路时钟信号clk_tx、第二时钟域的时钟信号clk_rx以及clk_rx_dly_1至clk_rx_dly_n的相位如图5所示,那么当检测到clk_tx的电平下降沿(图5中A所示)时,获取clk_rx_dly_1至clk_rx_dly_n的电平为0x111110000000001111(其中“1”表示高电平,“0”表示低电平),得到a=5,b=9,c=4。
S104,根据所述每一级的延迟时钟信号的电平,确定所述随路时钟信号和所述第二时钟域的时钟信号之间的相位差。
可选的,根据公式
Figure GDA0002277914450000091
计算出所述随路时钟信号和所述第二时钟域的时钟信号之间的相位差,其中,所述λ表示所述相位差。
例如,假设a=5,b=9,c=4,根据“b=9”可知clk_tx从电平下降沿到电平上升沿之间有9个单位延迟,所以clk_tx的一个周期对应的相位为2x9个单位延迟,根据“a=5,b=9”可知clk_rx的电平上升沿距离clk_tx的电平下降沿有5个单位延迟,所以clk_rx的上升沿距离clk_tx的上一个上升沿有9-5个单位延迟,从而得到clk_rx滞后于clk_tx的相位差为((9-5)/2x9)x360°=80°。
由上可见,本发明实施例中,对第二时钟域的时钟信号进行N级延迟,得到每一级的延迟时钟信号,再根据在随路时钟信号的电压下降沿时每一级的延迟时钟信号的电平,可以确定随路时钟信号和第二时钟域的时钟信号之间的相位差。
本发明实施例中的数据读取电路包括相位差确定模块、时延检测模块以及读取控制模块,其中,相位差确定模块可以确定随路时钟信号和本域的时钟信号之间的相位差,时延检测模块可以检测数据在内部传输的时延值,读取控制模块可以根据相位差和时延值确定读取数据的时机,进而实现数据读取。另外,本发明实施例中,除用于传输数据和随路时钟信号以外的I/O接口以外,在两个时钟域之间无需额外增加I/O接口,便可以确定随路时钟信号与本域的时钟信号的相位差,减小了硬件的开销和实现上的困难。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (8)

1.一种数据读取电路,所述电路应用于第二时钟域,所述第二时钟域包括用于写入第一时钟域发送的数据的缓存器和用于读取所述缓存器输出的数据的触发器,所述第一时钟域发送所述数据的同时发送随路时钟信号,所述随路时钟信号为所述第一时钟域的时钟信号,其特征在于,所述电路包括相位差确定模块、时延检测模块以及读取控制模块,所述相位差确定模块接入所述随路时钟信号和所述第二时钟域的时钟信号,所述相位差确定模块与所述读取控制模块连接,所述时延检测模块与所述读取控制模块连接,其中:
所述相位差确定模块,用于确定所述随路时钟信号和所述第二时钟域的时钟信号之间的相位差,并将其发送至所述读取控制模块;
所述时延检测模块,用于检测所述数据从所述缓存器传输到所述触发器的时延值,并将其发送至所述读取控制模块;
所述读取控制模块,用于根据所述相位差和所述时延值,确定所述触发器能够读取到所述缓存器输出的数据的所述第二时钟域的时钟信号的触发边沿。
2.如权利要求1所述的电路,其特征在于,所述相位差确定模块包括N个相同的延时器、N+1个相同的D触发器以及相位差确定单元,其中,所述N为大于1的整数,所述N个延时器依次串联,第1个延时器的输入端口接入所述第二时钟域的时钟信号,所述N个延时器产生的延时大于所述第二时钟域的时钟信号的时钟周期,所述N+1个D触发器的输入端口接入所述随路时钟信号,第1个D触发器的时钟端口与所述第1个延时器的输入端口连接,其余N个D触发器的时钟端口依次与所述N个延时器的输出端口连接,所述N+1个D触发器的输出端口与所述相位差确定单元连接,所述相位差确定单元接入所述随路时钟信号,所述相位差确定单元用于根据所述N+1个D触发器的输出结果确定所述随路时钟信号和所述第二时钟域的时钟信号之间的相位差,并将其发送至所述读取控制模块。
3.如权利要求2所述的电路,其特征在于,所述相位差确定单元具体用于:
在所述随路时钟信号的电平下降沿对应的时刻,获取第1至第N+1个D触发器的输出信号的电平,在所述输出信号的电平中,前a个为高电平,中间b个为低电平,后c个为高电平,所述a、b和c为正整数;
根据公式
Figure FDA0002277914440000021
计算出所述随路时钟信号和所述第二时钟域的时钟信号之间的相位差,其中,所述λ表示所述相位差。
4.如权利要求1所述的电路,其特征在于,所述读取控制模块,具体用于:
若所述触发器读取所述缓存器输出的数据的触发边沿为上升沿,则当所述相位差对应的时间值大于或等于所述时延值时,将从所述缓存器写入数据的时刻起所述第二时钟域的时钟信号的下一个上升沿作为所述触发器读取数据的时刻;或者,当所述相位差对应的时间值小于所述时延值时,根据公式j=(Δtmax-λ)/T+2,将从所述缓存器写入数据的时刻起所述第二时钟域的时钟信号的第j个上升沿作为所述触发器读取数据的时刻,其中,所述Δtmax表示所述时延值,所述λ表示所述相位差,所述/表示整除符号,所述T表示所述第二时钟域的时钟信号的周期;
若所述触发器读取所述缓存器输出的数据的触发边沿为下降沿,则当所述相位差对应的时间值大于或等于所述时延值时,将从所述缓存器写入数据的时刻起所述第二时钟域的时钟信号的下一个下降沿作为所述触发器读取数据的时刻;或者,当所述相位差对应的时间值小于所述时延值时,根据公式j=(Δtmax-T/2-λ)/T+2,将从所述缓存器写入数据的时刻起所述第二时钟域的时钟信号的第j个下降沿作为所述触发器读取数据的时刻,其中,所述Δtmax表示所述时延值,所述λ表示所述相位差,所述/表示整除符号,所述T表示所述第二时钟域的时钟信号的周期。
5.如权利要求2所述的电路,其特征在于,所述相位差确定模块还包括开关元件,其中,所述第1个延时器的输入端口通过所述开关元件接入所述第二时钟域的时钟信号,所述开关元件用于控制所述第1个延时器的输入端口与所述第二时钟域的时钟信号的通断。
6.如权利要求5所述的电路,其特征在于,所述开关元件为内部时钟发生器ICG开关,其中,所述第1个延时器的输入端口与所述ICG开关的输出端口连接,所述ICG开关的输入端口接入所述第二时钟域的时钟信号,所述ICG开关的使能端口接入使能信号,所述开关元件具体用于根据所述使能信号控制所述第1个延时器的输入端口与所述第二时钟域的时钟信号的通断。
7.如权利要求2所述的电路,其特征在于,所述延时器为一个门电路或多个串联的门电路。
8.如权利要求3所述的电路,其特征在于,所述D触发器为抗亚稳态的D触发器。
CN201610160841.8A 2016-03-21 2016-03-21 一种数据读取电路 Active CN107220204B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201610160841.8A CN107220204B (zh) 2016-03-21 2016-03-21 一种数据读取电路
EP17161840.8A EP3223145B1 (en) 2016-03-21 2017-03-20 Data reading circuit
US15/464,670 US9824731B2 (en) 2016-03-21 2017-03-21 Data reading circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610160841.8A CN107220204B (zh) 2016-03-21 2016-03-21 一种数据读取电路

Publications (2)

Publication Number Publication Date
CN107220204A CN107220204A (zh) 2017-09-29
CN107220204B true CN107220204B (zh) 2020-05-08

Family

ID=58709686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610160841.8A Active CN107220204B (zh) 2016-03-21 2016-03-21 一种数据读取电路

Country Status (3)

Country Link
US (1) US9824731B2 (zh)
EP (1) EP3223145B1 (zh)
CN (1) CN107220204B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107615718B (zh) * 2015-05-25 2020-06-16 华为技术有限公司 报文处理方法及装置
DE102017217051A1 (de) 2017-09-26 2019-03-28 Spinner Gmbh Vorrichtung und Verfahren zur Übertragung von Daten zwischen zwei physikalischen Schnittstellen
CN109977069B (zh) * 2017-12-28 2021-04-20 华为技术有限公司 一种设备
KR20200141173A (ko) * 2019-06-10 2020-12-18 에스케이하이닉스 주식회사 리드 클럭 생성 회로 및 이를 포함하는 데이터 처리 회로
CN112838860A (zh) * 2019-11-23 2021-05-25 西安诺瓦星云科技股份有限公司 数据输出方法、装置和系统
CN111045981A (zh) * 2019-12-16 2020-04-21 深圳忆联信息系统有限公司 Soc时钟延迟结构线性度质量的判别方法、装置、计算机设备及存储介质
CN111949589B (zh) * 2020-07-22 2022-05-24 浪潮(北京)电子信息产业有限公司 一种时钟控制方法、装置、设备及存储介质
CN118077150A (zh) * 2021-08-31 2024-05-24 华为技术有限公司 一种无线通信系统及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793823A (en) * 1994-10-07 1998-08-11 Mitsubishi Electric Engineering Co., Ltd. Synchronization circuit that captures and phases an external signal
CN1957556A (zh) * 2004-05-24 2007-05-02 艾利森电话股份有限公司 确定第一与第二时钟域之间的时间差
CN1983225A (zh) * 2006-05-09 2007-06-20 华为技术有限公司 一种在异步时钟域传输数据的装置及其方法
CN102280129A (zh) * 2010-06-09 2011-12-14 上海宏力半导体制造有限公司 闪速存储器及其读取电路
CN104216462A (zh) * 2014-08-27 2014-12-17 电子科技大学 一种基于fpga的大动态高精度可编程延时装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7751274B2 (en) * 2006-09-05 2010-07-06 Intel Corporation Extended synchronized clock
US8958517B2 (en) * 2011-12-30 2015-02-17 Oracle International Corporation Clock phase adjustment for a low-latency FIFO

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793823A (en) * 1994-10-07 1998-08-11 Mitsubishi Electric Engineering Co., Ltd. Synchronization circuit that captures and phases an external signal
CN1957556A (zh) * 2004-05-24 2007-05-02 艾利森电话股份有限公司 确定第一与第二时钟域之间的时间差
CN1983225A (zh) * 2006-05-09 2007-06-20 华为技术有限公司 一种在异步时钟域传输数据的装置及其方法
CN102280129A (zh) * 2010-06-09 2011-12-14 上海宏力半导体制造有限公司 闪速存储器及其读取电路
CN104216462A (zh) * 2014-08-27 2014-12-17 电子科技大学 一种基于fpga的大动态高精度可编程延时装置

Also Published As

Publication number Publication date
CN107220204A (zh) 2017-09-29
US20170270984A1 (en) 2017-09-21
US9824731B2 (en) 2017-11-21
EP3223145B1 (en) 2019-07-24
EP3223145A1 (en) 2017-09-27

Similar Documents

Publication Publication Date Title
CN107220204B (zh) 一种数据读取电路
US8686773B1 (en) In-system margin measurement circuit
KR102367967B1 (ko) 명령 지연 조절 회로를 포함하는 장치 및 방법
US5509038A (en) Multi-path data synchronizer system and method
US9722767B2 (en) Clock domain bridge static timing analysis
KR20150121718A (ko) 다중 와이어 데이터 신호들을 위한 클록 복원 회로
US7586337B2 (en) Circuit for switching between two clock signals independently of the frequency of the clock signals
US20100322365A1 (en) System and method for synchronizing multi-clock domains
US9106235B2 (en) Mesochronous synchronizer with delay-line phase detector
CN111435602A (zh) 与时钟信号同步的信号生成电路及使用其的半导体装置
US9104345B2 (en) Rate controlled first in first out (FIFO) queues for clock domain crossing
CN110311659B (zh) 一种触发器及集成电路
CN101645301B (zh) 一种用于读数据采样的温度自适应调整方法及装置
US6943595B2 (en) Synchronization circuit
GB2359706A (en) Synchronising data and clock signals using a programmable delay circuit
US20050008110A1 (en) System and method for data phase realignment
US20110022934A1 (en) System and apparatus for synchronization between heterogeneous periodic clock domains, circuit for detecting synchronization failure and data receiving method
US7692564B2 (en) Serial-to-parallel conversion circuit and method of designing the same
US10707849B2 (en) Synchronous mirror delay circuit and synchronous mirror delay operation method
CN104716955A (zh) 一种锁相环中的时间数字转换器
US20050285636A1 (en) Clock switching circuit
CN102480289A (zh) 一种同步异频时钟对齐的设计电路
US7492199B2 (en) Fully synchronous DLL with architected update window
CN114679158B (zh) 周期信号发生装置、信号处理系统及其周期信号发生方法
JP4753800B2 (ja) Cdr回路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant