CN116795172A - 一种用于高速数字传输的跨时钟域处理方法、介质及装置 - Google Patents
一种用于高速数字传输的跨时钟域处理方法、介质及装置 Download PDFInfo
- Publication number
- CN116795172A CN116795172A CN202311094331.1A CN202311094331A CN116795172A CN 116795172 A CN116795172 A CN 116795172A CN 202311094331 A CN202311094331 A CN 202311094331A CN 116795172 A CN116795172 A CN 116795172A
- Authority
- CN
- China
- Prior art keywords
- sampling result
- clock
- clock signal
- signal
- sampling
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 48
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000005070 sampling Methods 0.000 claims abstract description 370
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims description 49
- 230000000630 rising effect Effects 0.000 claims description 48
- 239000000725 suspension Substances 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 14
- 230000002093 peripheral effect Effects 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000003139 buffering effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本申请提供一种用于高速数字传输的跨时钟域处理方法、介质及装置。方法包括:获得第一时钟信号;第一时钟信号作为采样信号和第二时钟信号作为被采样信号,第二时钟信号通过分频电路进行分频操作;进行采样得到第一采样结果,基于第一采样结果对分频电路进行第一暂停操作从而使得在第一暂停操作后的第二采样结果符合与第一采样结果对应的第一采样结果要求;基于第一采样结果,选择性地对分频电路进行第二暂停操作从而使得在第二暂停操作后的第三采样结果符合与第一采样结果对应的第二采样结果要求;和使用第一时钟信号和第二时钟信号进行跨时钟域数据传输。如此,节省资源、提升带宽和降低延迟。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于高速数字传输的跨时钟域处理方法、介质及装置。
背景技术
在高速数字传输应用中,一般采用嵌入了时钟信号的串行数据进行数据传输。在发送端将时钟信号嵌入串行数据,然后在接收端从接收到的输入信号中恢复出时钟信号。考虑到发送端和接收端是两个彼此独立的系统且串行数据通过连线或者通信链路传输,接收端恢复出来的时钟可能与接收端的本地时钟之间存在相位差甚至频差,在接收端看来对串行数据的读写是异步的,这影响跨时钟域的数据读写功能。现有技术中,采用弹性缓存或者异步缓存来吸收异步读写时钟之间的频差和相位差。但是,弹性缓存或者异步缓存需要插入特殊字符或者非空标志来配合完成,也因此影响了传输带宽和带来了延迟,并且需要足够的存储深度来实现同步逻辑,因此占用了额外的资源。
为此,本申请提供了一种用于高速数字传输的跨时钟域处理方法、介质及装置,用于解决现有技术中在传输带宽、延迟和资源占用方面的技术难题。
发明内容
第一方面,本申请提供了一种用于高速数字传输的跨时钟域处理方法。所述跨时钟域处理方法包括:获得第一时钟信号,其中,所述第一时钟信号与第一时钟域相关联,所述第一时钟信号从差分串行信号恢复得到,所述差分串行信号由位于所述第一时钟域的发送端发送;使用所述第一时钟信号作为采样信号和使用第二时钟信号作为被采样信号,其中,所述第二时钟信号与第二时钟域相关联,所述第二时钟信号是对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到;使用所述采样信号对所述被采样信号进行采样得到第一采样结果,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求;基于所述第一采样结果,选择性地对所述分频电路进行第二暂停操作从而使得在所述第二暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第三采样结果符合与所述第一采样结果对应的第二采样结果要求;和
使用所述第一时钟信号和所述第二时钟信号进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。
通过本申请的第一方面,不需要通过弹性缓存或者异步缓存就能满足读写时钟域之间的跨时钟域读写功能的要求,因此节省了资源也有利于提升传输带宽和降低传输延迟。
在本申请的第一方面的一种可能的实现方式中,所述第一时钟域是写时钟域,所述第二时钟域是读时钟域。
在本申请的第一方面的一种可能的实现方式中,所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输用于串行解串器、外围组件快速互连、通用串行总线或者芯片间互联。
在本申请的第一方面的一种可能的实现方式中,对所述分频电路进行所述第一暂停操作和对所述分频电路进行所述第二暂停操作均通过门控电路关闭所述分频电路实现。
在本申请的第一方面的一种可能的实现方式中,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,并且,基于所述第一采样结果不对所述分频电路进行第二暂停操作。
在本申请的第一方面的一种可能的实现方式中,当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,并且,基于所述第一采样结果对所述分频电路进行第二暂停操作,与所述第一采样结果对应的第二采样结果要求是1。
在本申请的第一方面的一种可能的实现方式中,使用所述第一时钟信号的上升沿作为所述采样信号的采样时钟沿。
在本申请的第一方面的一种可能的实现方式中,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,在所述第一暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿。
在本申请的第一方面的一种可能的实现方式中,当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,与所述第一采样结果对应的第二采样结果要求是1,在所述第二暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿。
在本申请的第一方面的一种可能的实现方式中,当所述第一采样结果是0时,在所述第一暂停操作后所述第一时钟信号与所述第二时钟信号相位相反,或者,当所述第一采样结果是1时,在所述第二暂停操作后所述第一时钟信号与所述第二时钟信号相位相反。
在本申请的第一方面的一种可能的实现方式中,所述第一时钟域与所述第二时钟域采用共同参考时钟。
在本申请的第一方面的一种可能的实现方式中,所述跨时钟域处理方法还包括:获得第三时钟信号,其中,所述第三时钟信号与第三时钟域相关联;响应于检测到所述第一时钟信号与所述第三时钟信号之间存在频差,使用弹性缓存来补偿所述第一时钟信号与所述第三时钟信号之间的频差,以及使用所述弹性缓存进行所述第一时钟域与所述第三时钟域之间的跨时钟域数据传输。
第二方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第五方面,本申请实施例还提供了一种用于高速数字传输的跨时钟域处理装置。所述跨时钟域处理装置包括:检测模块,用于输出使用采样信号对被采样信号进行采样得到的采样结果;和调整模块,所述调整模块包括门控电路和分频电路,所述门控电路用于根据所述检测模块输出的采样结果对所述分频电路执行暂停操作,其中,所述跨时钟域处理装置用于:使用第一时钟信号作为所述采样信号和使用第二时钟信号作为所述被采样信号得到第一采样结果,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后再次使用第一时钟信号作为所述采样信号和使用第二时钟信号作为所述被采样信号得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求;所述跨时钟域处理装置还用于:基于所述第一采样结果,选择性地对所述分频电路进行第二暂停操作从而使得在所述第二暂停操作后再次使用第一时钟信号作为所述采样信号和使用第二时钟信号作为所述被采样信号得到的第三采样结果符合与所述第一采样结果对应的第二采样结果要求,其中,所述第一时钟信号与第一时钟域相关联,所述第一时钟信号从差分串行信号恢复得到,所述差分串行信号由位于所述第一时钟域的发送端发送,所述第二时钟信号与第二时钟域相关联,所述第二时钟信号是对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到,所述第一时钟信号和所述第二时钟信号用于进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。
在本申请的第五方面的一种可能的实现方式中,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,并且,基于所述第一采样结果不对所述分频电路进行第二暂停操作;当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,并且,基于所述第一采样结果对所述分频电路进行第二暂停操作,与所述第一采样结果对应的第二采样结果要求是1。
在本申请的第五方面的一种可能的实现方式中,使用所述第一时钟信号的上升沿作为所述采样信号的采样时钟沿,其中,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,在所述第一暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿;当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,与所述第一采样结果对应的第二采样结果要求是1,在所述第二暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿。
在本申请的第五方面的一种可能的实现方式中,所述跨时钟域处理装置还包括:选择器,用于:响应于所述检测模块检测到所述第一时钟信号与所述第二时钟信号之间存在频差,使用弹性缓存进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输,其中,所述弹性缓存用于补偿所述第一时钟信号与所述第二时钟信号之间的频差。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种用于高速数字传输的跨时钟域处理方法的流程示意图;
图2为本申请实施例提供的一种用于高速数字传输的跨时钟域处理装置的示意图;
图3为本申请实施例提供的图2所示的跨时钟域处理装置的另一种实施方式的示意图;
图4为本申请实施例提供的一种计算设备的结构示意图;
图5为本申请实施例提供的图1所示的跨时钟域处理方法和图2所示的跨时钟域处理装置中基于采样结果进行暂停操作的示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1为本申请实施例提供的一种用于高速数字传输的跨时钟域处理方法的流程示意图。如图1所示。跨时钟域处理方法包括以下步骤。
步骤S110:获得第一时钟信号,其中,所述第一时钟信号与第一时钟域相关联,所述第一时钟信号从差分串行信号恢复得到,所述差分串行信号由位于所述第一时钟域的发送端发送。
步骤S120:使用所述第一时钟信号作为采样信号和使用第二时钟信号作为被采样信号,其中,所述第二时钟信号与第二时钟域相关联,所述第二时钟信号是对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到。
步骤S130:使用所述采样信号对所述被采样信号进行采样得到第一采样结果,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求。
步骤S140:基于所述第一采样结果,选择性地对所述分频电路进行第二暂停操作从而使得在所述第二暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第三采样结果符合与所述第一采样结果对应的第二采样结果要求。
步骤S150:使用所述第一时钟信号和所述第二时钟信号进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。
图1所示的用于高速数字传输的跨时钟域处理方法,应用于在发送端和接收端之间的高速数字传输,并且能有效解决在发送端和接收端之间的跨时钟域处理,能够实现跨时钟域读写、异步读写等。在高速数字传输的相关应用中,例如,串行器解串器(SERializer/DESerializer,SERDES)、快捷外围组件互连(Peripheral ComponentInterconnect Express,PCIe)、通用串行总线(Universal Serial Bus,USB)还有芯片接口之间互联等,因为信号传输的数据量和速率越来越高,所以采用嵌入了时钟信号的差分串行数据进行发送端和接收端之间的数据传输。
在接收端用时钟数据恢复(Clock Data Recovery,CDR)电路来从接收到的输入信号中恢复出时钟信号,再经过串转并电路得到从输入信号中恢复出来的数据信号和时钟信号,恢复出的时钟信号对应了发送端的时钟信号。发送端的时钟信号也即恢复出的时钟信号一般与接收端的本地时钟信号之间存在频率差和相位差。从接收端看来,由发送端在写时钟域写入数据,再由接收端在读时钟域读取数据,因此涉及到读写时钟域之间的跨时钟域读写,也涉及到如写时钟指针和读时钟指针之间的同步。图1所示的用于高速数字传输的跨时钟域处理方法,使用恢复出的时钟信号也就是使用所述第一时钟信号作为采样信号,来对基于接收端的本地时钟信号得到的第二时钟信号进行采样,也就是使用第二时钟信号作为被采样信号。通过使用所述采样信号对所述被采样信号进行采样得到采样结果,然后基于采样结果执行相应的对分频电路的暂停操作,这样可以调节通过分频电路进行时钟分频操作得到的第二时钟信号的相位,进而达到对应的采样结果要求,从而使得第一时钟信号和第二时钟信号之间达到预期的相位差,这样有利于后续的跨时钟域数据采样。如此,不需要通过弹性缓存或者异步缓存就能满足读写时钟域之间的跨时钟域读写功能的要求,因此节省了资源也有利于提升传输带宽和降低传输延迟,下面详细说明。
在步骤S110,获得第一时钟信号。这里,所述第一时钟信号与第一时钟域相关联,所述第一时钟信号从差分串行信号恢复得到,所述差分串行信号由位于所述第一时钟域的发送端发送。第一时钟域可以是发送端的时钟域,或者说代表了写时钟域或者写时钟指针。与第一时钟信号和第一时钟域相对应的,是第二时钟信号和第二时钟域。其中,所述第二时钟信号与第二时钟域相关联,所述第二时钟信号是对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到。一般来说,发送端和接收端是彼此独立的系统,发送端和接收端也各自具有本地的参考时钟信号,因此对应了发送端的第一时钟域一般也不同于对应了接收端的第二时钟域。从高速数字传输的数据流向来看,发送端嵌入时钟信号到差分串行数据,也就是进行跨时钟域的写入操作,而接收端通过时钟数据恢复电路来从接收到的串行信号中恢复出数据信号和时钟信号,也就是进行跨时钟域的读取操作。为了保证跨时钟域的数据写入和数据读取能够正确进行,需要对第一时钟信号和第二时钟信号之间的差异进行补偿。具体地,在步骤S120,使用所述第一时钟信号作为采样信号和使用第二时钟信号作为被采样信号。这意味着,图1所示的用于高速数字传输的跨时钟域处理方法,将所接收的第一时钟信号作为采样信号,而第一时钟信号是从所接收的串行信号恢复得到,因此可以灵活地应对各种可能的串行信号。而作为被采样信号的第二时钟信号是基于位于所述第二时钟域的接收端的本地时钟信号得到,也就是所述第二时钟信号是对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到。因此,第二时钟信号是可以调节的。换句话说,通过将不可调节的也即只能被动地接收的第一时钟信号作为采样信号,来对可以调节的被采样信号也即第二时钟信号进行采样,再将采样结果作为依据来对第二时钟信号进行调节,也就是用采样结果去调节被采样信号,从而可以再次进行采样直到达成预期目的。如此,不借助弹性缓存或者异步缓存就实现了参考所述第一时钟信号来调节所述第二时钟信号进而实现了使用所述第一时钟信号和所述第二时钟信号进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。
进一步地,对第二时钟信号的调节是通过对分频电路执行相应暂停操作实现,而所述第二时钟信号是对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到。这里,分频电路用于按照并行数据位宽对接收端的本地时钟信号按照一定分频比进行时钟分频操作。对分频电路执行暂停操作可以是暂停分频电路的时钟分频操作一个或者多个分频后时钟的周期,这样会使得分频电路输出的分频后时钟被延迟一个或者多个周期。可以通过如门控电路来控制输入到分频电路的输出时钟关闭一个或者多个周期,或者可以通过对分频电路的使能信号的控制来实现相位调整的目的。这意味着,对第一时钟信号和第二时钟信号之间的差异进行补偿,是整合到了第二时钟信号的生成过程中。换句话说,通过对第二时钟信号的生成过程也即对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到所述第二时钟信号这一过程施加控制,在步骤S130中基于所述第一采样结果对所述分频电路进行第一暂停操作,以及在步骤S140中基于所述第一采样结果选择性地对所述分频电路进行第二暂停操作,如此,等效地实现了参照第一时钟信号对第二时钟信号进行相位调整的目的而且最终调整后的第二时钟信号满足了跨时钟域数据读写的需要,并且,这样的相位调整方式整合到了第二时钟信号生成过程中,实现起来电路简单且不需要额外的缓存。应当理解的是,通过将不可调节的也即只能被动地接收的第一时钟信号作为采样信号,来对可以调节的被采样信号也即第二时钟信号进行采样,再将采样结果作为依据来对第二时钟信号进行调节,也就是用采样结果去调节被采样信号,可能只进行一轮的调节就能达到相位调整目的,也可能需要进行两轮的调节才能达到相位调整目的,这取决于最初的采样结果,也就是在进行相位调整之前的使用所述采样信号对所述被采样信号进行采样得到第一采样结果。具体地,在步骤S130,使用所述采样信号对所述被采样信号进行采样得到第一采样结果,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求。接着,在步骤S140,基于所述第一采样结果,判断是否有必要进行第二轮的调节,也就是,选择性地对所述分频电路进行第二暂停操作从而使得在所述第二暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第三采样结果符合与所述第一采样结果对应的第二采样结果要求。最后,在步骤S150,使用所述第一时钟信号和所述第二时钟信号进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。经过一轮的调节或者两轮的调节(取决于第一采样结果),不借助弹性缓存或者异步缓存就实现了参考所述第一时钟信号来调节所述第二时钟信号,从而使得第一时钟信号和第二时钟信号之间达到预期的相位差,这样有利于后续的跨时钟域数据采样。如此,不需要通过弹性缓存或者异步缓存就能满足读写时钟域之间的跨时钟域读写功能的要求,因此节省了资源也有利于提升传输带宽和降低传输延迟。
在一种可能的实施方式中,所述第一时钟域是写时钟域,所述第二时钟域是读时钟域。在一种可能的实施方式中,所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输用于串行解串器、外围组件快速互连、通用串行总线或者芯片间互联。在一种可能的实施方式中,对所述分频电路进行所述第一暂停操作和对所述分频电路进行所述第二暂停操作均通过门控电路关闭所述分频电路实现。如此,实现了跨时钟域采样数据,不需要使用缓存,可以有效减少资源,并且大幅减少数据延迟。
在一种可能的实施方式中,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,并且,基于所述第一采样结果不对所述分频电路进行第二暂停操作。上面提到,通过将不可调节的也即只能被动地接收的第一时钟信号作为采样信号,来对可以调节的被采样信号也即第二时钟信号进行采样,再将采样结果作为依据来对第二时钟信号进行调节,也就是用采样结果去调节被采样信号,可能只进行一轮的调节就能达到相位调整目的,也可能需要进行两轮的调节才能达到相位调整目的,这取决于最初的采样结果,也就是在进行相位调整之前的使用所述采样信号对所述被采样信号进行采样得到第一采样结果。其中,可以用触发器直接采样的方式来得到采样结果。例如,可以将采样信号也就是第一时钟信号的上升沿作为采样时钟沿。第一采样结果是0,这意味着第一时钟信号也即恢复得到的时钟信号的上升沿对应了第二时钟信号也即分频时钟的低电平部分。当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1。因此,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求,这样意味着对分频时钟延迟一个或者更多个周期直到第二采样结果为1,也就是说第一时钟信号的上升沿对应了第二时钟信号的高电平部分。因为当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,因此,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求,意味着第一时钟信号的上升沿对应的第二时钟信号的部分是从低电平部分变成高电平部分。如此,必然导致第一时钟信号的上升沿对齐第二时钟信号的下降沿,这样意味着第一时钟信号与调节后的第二时钟信号相位相反,这样有利于后续的跨时钟域数据读写。
在一种可能的实施方式中,当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,并且,基于所述第一采样结果对所述分频电路进行第二暂停操作,与所述第一采样结果对应的第二采样结果要求是1。第一采样结果是1,这意味着第一时钟信号也即恢复得到的时钟信号的上升沿对应了第二时钟信号也即分频时钟的高电平部分。当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0。因此,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求,这样意味着对分频时钟延迟一个或者更多个周期直到第二采样结果为0,也就是说第一时钟信号的上升沿对应了第二时钟信号的低电平部分。因为第一采样结果是1,所以第一时钟信号的上升沿对应的第二时钟信号的部分是从高电平部分变成低电平部分。为了确保第一时钟信号的上升沿对齐第二时钟信号的下降沿,还需要进行新的一轮调整。因此,当所述第一采样结果是1时,基于所述第一采样结果对所述分频电路进行第二暂停操作,与所述第一采样结果对应的第二采样结果要求是1。因此,对所述分频电路进行第二暂停操作从而使得在所述第二暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第三采样结果符合与所述第一采样结果对应的第二采样结果要求,这意味着,对所述分频电路进行第二暂停操作直到第三采样结果是1,也就是说,第一时钟信号的上升沿对应的第二时钟信号的部分是从高电平部分变成低电平部分然后再变成高电平部分。如此,必然导致第一时钟信号的上升沿对齐第二时钟信号的下降沿,这样意味着第一时钟信号与调节后的第二时钟信号相位相反,这样有利于后续的跨时钟域数据读写。
在一种可能的实施方式中,使用所述第一时钟信号的上升沿作为所述采样信号的采样时钟沿。在一些实施例中,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,在所述第一暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿。在一些实施例中,当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,与所述第一采样结果对应的第二采样结果要求是1,在所述第二暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿。如此,当第一采样结果是0时,这意味着第一时钟信号也即恢复得到的时钟信号的上升沿对应了第二时钟信号也即分频时钟的低电平部分。通过第一暂停操作,使得第一时钟信号的上升沿对应的第二时钟信号的部分是从低电平部分变成高电平部分,确保了第一时钟信号的上升沿对齐第二时钟信号的下降沿。当第一采样结果是1时,这意味着第一时钟信号也即恢复得到的时钟信号的上升沿对应了第二时钟信号也即分频时钟的高电平部分,通过第一暂停操作和第二暂停操作,使得第一时钟信号的上升沿对应的第二时钟信号的部分是从高电平部分变成低电平部分然后再变成高电平部分,确保了第一时钟信号的上升沿对齐第二时钟信号的下降沿。
在一种可能的实施方式中,当所述第一采样结果是0时,在所述第一暂停操作后所述第一时钟信号与所述第二时钟信号相位相反,或者,当所述第一采样结果是1时,在所述第二暂停操作后所述第一时钟信号与所述第二时钟信号相位相反。如此,必然导致第一时钟信号的上升沿对齐第二时钟信号的下降沿,这样有利于后续的跨时钟域数据读写。
在一种可能的实施方式中,所述第一时钟域与所述第二时钟域采用共同参考时钟。如此,在采用共同参考时钟的情况下,只需要考虑相位差。如此,实现了跨时钟域采样数据,不需要使用缓存,可以有效减少资源,并且大幅减少数据延迟。
在一种可能的实施方式中,所述跨时钟域处理方法还包括:获得第三时钟信号,其中,所述第三时钟信号与第三时钟域相关联;响应于检测到所述第一时钟信号与所述第三时钟信号之间存在频差,使用弹性缓存来补偿所述第一时钟信号与所述第三时钟信号之间的频差,以及使用所述弹性缓存进行所述第一时钟域与所述第三时钟域之间的跨时钟域数据传输。这里,对于存在频差的情况,可以通过弹性缓存来提供另一种分支来实现所述第一时钟域与所述第三时钟域之间的跨时钟域数据传输。实际应用中,需要考虑不同频点、不同通信协议的要求,例如快捷外围组件互连(Peripheral Component InterconnectExpress,PCIe)的相关协议可能定义了弹性缓存的方式。为此,针对多种应用场景、多协议适配性,可以额外的提供基于弹性缓存进行跨时钟域数据传输的方式。当检测到存在频差时,可以使用所述弹性缓存进行所述第一时钟域与所述第三时钟域之间的跨时钟域数据传输。当检测到不存在频差时,可以采用上述的参考所述第一时钟信号来调节所述第二时钟信号的方式,从而不借助弹性缓存或者异步缓存就实现了使用所述第一时钟信号和所述第二时钟信号进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。
图2为本申请实施例提供的一种用于高速数字传输的跨时钟域处理装置的示意图。如图2所示,跨时钟域处理装置包括:检测模块210,用于输出使用采样信号对被采样信号进行采样得到的采样结果;和调整模块220,所述调整模块220包括门控电路和分频电路,所述门控电路用于根据所述检测模块210输出的采样结果对所述分频电路执行暂停操作。所述跨时钟域处理装置用于:使用第一时钟信号作为所述采样信号和使用第二时钟信号作为所述被采样信号得到第一采样结果,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后再次使用第一时钟信号作为所述采样信号和使用第二时钟信号作为所述被采样信号得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求。所述跨时钟域处理装置还用于:基于所述第一采样结果,选择性地对所述分频电路进行第二暂停操作从而使得在所述第二暂停操作后再次使用第一时钟信号作为所述采样信号和使用第二时钟信号作为所述被采样信号得到的第三采样结果符合与所述第一采样结果对应的第二采样结果要求。所述第一时钟信号与第一时钟域相关联,所述第一时钟信号从差分串行信号恢复得到,所述差分串行信号由位于所述第一时钟域的发送端发送,所述第二时钟信号与第二时钟域相关联,所述第二时钟信号是对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到,所述第一时钟信号和所述第二时钟信号用于进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。如图2所示,跨时钟域处理装置部署在接收端的接收系统,该接收系统除了跨时钟域处理装置,还包括接收模块250、时钟数据恢复模块252、串转并模块254和解码模块256。其中,接收模块250用于接收差分串行信号,时钟数据恢复模块252用于从接收到的差分串行信号恢复得到时钟信号。串转并模块254用于从输入信号中恢复出来的数据信号和时钟信号,恢复出的时钟信号对应了发送端的时钟信号。可以看出,对第一时钟信号和第二时钟信号之间的差异进行补偿,是整合到了第二时钟信号的生成过程中。换句话说,通过对第二时钟信号的生成过程也即对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到所述第二时钟信号这一过程施加控制,基于所述第一采样结果对所述分频电路进行第一暂停操作,以及基于所述第一采样结果选择性地对所述分频电路进行第二暂停操作,如此,等效地实现了参照第一时钟信号对第二时钟信号进行相位调整的目的而且最终调整后的第二时钟信号满足了跨时钟域数据读写的需要,并且,这样的相位调整方式整合到了第二时钟信号生成过程中,实现起来电路简单且不需要额外的缓存。因此,调整模块220输出的调节后的第二时钟信号直接输出到解码模块256进行后续的跨时钟域数据处理。如此,不借助弹性缓存或者异步缓存就实现了参考所述第一时钟信号来调节所述第二时钟信号进而实现了使用所述第一时钟信号和所述第二时钟信号进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。
图5为本申请实施例提供的图1所示的跨时钟域处理方法和图2所示的跨时钟域处理装置中基于采样结果进行暂停操作的示意图。下面结合图1、图2和图5详细说明。
如图5所示,对于第一时钟信号510,第一采样结果A是0,图5中上半部分示出了第一采样结果A的第二时钟信号A 520,其中在虚线上的部分被第一时钟信号510的上升沿采样得到的结果是0。这意味着第一时钟信号510也即恢复得到的时钟信号的上升沿对应了第二时钟信号A 520也即相应的分频时钟的低电平部分,如图5中第一采样结果A的第二时钟信号A 520所示出。当所述第一采样结果A是0时,与所述第一采样结果A对应的第一采样结果要求是1。因此,基于所述第一采样结果A对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果A符合与所述第一采样结果A对应的第一采样结果要求,这样意味着对分频时钟延迟一个或者更多个周期直到第二采样结果A为1,也就是说第一时钟信号510的上升沿对应了第二时钟信号B 522的高电平部分。因为当所述第一采样结果A是0时,与所述第一采样结果A对应的第一采样结果要求是1,因此,基于所述第一采样结果A对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果A符合与所述第一采样结果A对应的第一采样结果要求。这一点如图5中基于第一采样结果A得到的第二采样结果A的第二时钟信号B 522所示出的,其中在虚线上的部分被第一时钟信号510的上升沿采样得到的结果是1。这样意味着第一时钟信号510的上升沿对应的第二时钟信号的部分是从低电平部分变成高电平部分(从第二时钟信号A 520到第二时钟信号B 522)。如此,必然导致第一时钟信号510的上升沿对齐第二时钟信号B 522的下降沿。图5中基于第一采样结果A得到的第二采样结果A的第二时钟信号B 522,这样意味着第一时钟信号510与调节后的第二时钟信号相位相反,这样有利于后续的跨时钟域数据读写。
继续参阅图5,对于第一时钟信号510,第一采样结果B是1。如图5中下半部分的第一采样结果B的第二时钟信号C 530所示出,其中在虚线上的部分被第一时钟信号510的上升沿采样得到的结果是1。这意味着第一时钟信号510也即恢复得到的时钟信号的上升沿对应了第二时钟信号C 530也即相应的分频时钟的高电平部分。当所述第一采样结果B是1时,与所述第一采样结果B对应的第一采样结果要求是0。因此,基于所述第一采样结果B对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果B符合与所述第一采样结果B对应的第一采样结果要求,这样意味着对分频时钟延迟一个或者更多个周期直到第二采样结果B为0,也就是说第一时钟信号510的上升沿对应了第二时钟信号D 532的低电平部分。因为第一采样结果B是1,所以第一时钟信号510的上升沿对应的第二时钟信号的部分是从高电平部分变成低电平部分(从第二时钟信号C 530到第二时钟信号D 532)。如图5中下半部分的基于第一采样结果B得到的第二采样结果B的第二时钟信号D 532所示出,其中在虚线上的部分被第一时钟信号510的上升沿采样得到的结果是0。为了确保第一时钟信号510的上升沿对齐第二时钟信号的下降沿,还需要进行新的一轮调整。因此,当所述第一采样结果B是1时,基于所述第一采样结果B对所述分频电路进行第二暂停操作,与所述第一采样结果B对应的第二采样结果要求是1。因此,对所述分频电路进行第二暂停操作从而使得在所述第二暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第三采样结果符合与所述第一采样结果B对应的第二采样结果要求,这意味着,对所述分频电路进行第二暂停操作直到第三采样结果是1,也就是说,第一时钟信号510的上升沿对应的第二时钟信号的部分是从高电平部分变成低电平部分然后再变成高电平部分(从第二时钟信号C 530到第二时钟信号D 532然后再到第二时钟信号E 534)。如图5中下半部分的基于第一采样结果B得到的第三采样结果的第二时钟信号E 534所示出,其中在虚线上的部分被第一时钟信号510的上升沿采样得到的结果是1。如此,必然导致第一时钟信号的上升沿对齐第二时钟信号E 534的下降沿,这样意味着第一时钟信号与调节后的第二时钟信号相位相反,这样有利于后续的跨时钟域数据读写。
图3为本申请实施例提供的图2所示的跨时钟域处理装置的另一种实施方式的示意图。跨时钟域处理装置包括:检测模块210,用于输出使用采样信号对被采样信号进行采样得到的采样结果;和调整模块220,所述调整模块220包括门控电路和分频电路,所述门控电路用于根据所述检测模块210输出的采样结果对所述分频电路执行暂停操作。图3所示的跨时钟域处理装置的基本细节与图2所示的跨时钟域处理装置相似,在此不再赘述。图3所示的跨时钟域处理装置在图2所示的跨时钟域处理装置的基础上还包括:选择器230,用于:响应于所述检测模块210检测到所述第一时钟信号与所述第二时钟信号之间存在频差,使用弹性缓存240进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。其中,所述弹性缓存240用于补偿所述第一时钟信号与所述第二时钟信号之间的频差。如图3所示,跨时钟域处理装置部署在接收端的接收系统,该接收系统除了跨时钟域处理装置,还包括接收模块250、时钟数据恢复模块252、串转并模块254、弹性缓存240和解码模块256。这里,对于存在频差的情况,可以通过弹性缓存240来提供另一种分支来实现跨时钟域数据传输。实际应用中,需要考虑不同频点、不同通信协议的要求,例如快捷外围组件互连(Peripheral Component Interconnect Express,PCIe)的相关协议可能定义了弹性缓存的方式。为此,针对多种应用场景、多协议适配性,可以额外的提供基于弹性缓存进行跨时钟域数据传输的方式。当检测到存在频差时,可以使用所述弹性缓存240进行所述跨时钟域数据传输。当检测到不存在频差时,可以采用上述的参考所述第一时钟信号来调节所述第二时钟信号的方式,从而不借助弹性缓存或者异步缓存就实现了使用所述第一时钟信号和所述第二时钟信号进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。通过选择器230可以便利地进行多协议场景的适配。在生成接口电路的例化时,可以考虑不同的模式和配置。例如采用弹性缓存模式,还有上述的不借助弹性缓存的模式,还有可以设定不同的本地参考时钟。每一个例化用于适配一种协议或者一种输入信号,并行的多个例化可以适配多协议场景。例如,可以为快捷外围组件互连以太网(PCIE Ethernet)提供对应的弹性缓存模式,为芯粒(Chiplet)多芯片之间互联提供对应的无弹性缓存模式。可以将多种协议或者接口规范部署在同一个接口物理层,作为某个芯片的对外接口。根据实际的应用场景来选择具体的方式。如果当前应用存在频偏,通过选择器选择弹性缓存过来的数据和相应的时钟;如果当前应用不存在频偏,通过选择器直接选择串转并过来的数据和相应的时钟。
图4是本申请实施例提供的一种计算设备的结构示意图,该计算设备400包括:一个或者多个处理器410、通信接口420以及存储器430。所述处理器410、通信接口420以及存储器430通过总线440相互连接。可选地,该计算设备400还可以包括输入/输出接口450,输入/输出接口450连接有输入/输出设备,用于接收用户设置的参数等。该计算设备400能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器410还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备400执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器410用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备400可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口420具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器410具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图4的计算设备400可以包括一个或者多个处理器410,并且多个处理器410可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器410可以构成处理器序列或者处理器阵列,或者多个处理器410之间可以分成主处理器和辅助处理器,或者多个处理器410之间可以具有不同的架构如采用异构计算架构。另外,图4所示的计算设备400,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备400可以包括比图4所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器410可以有多种具体实现形式,例如处理器410可以包括中央处理器(central processing unit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)、张量处理器(tensor processingunit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器410还可以是单核处理器或多核处理器。处理器410可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器410也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口420可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器430可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器430也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器430也可用于存储程序代码和数据,以便于处理器410调用存储器430中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备400可能包含相比于图4展示的更多或者更少的组件,或者有不同的组件配置方式。
总线440可以是快捷外围部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线440可以分为地址总线、数据总线、控制总线等。总线440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述所描述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种用于高速数字传输的跨时钟域处理方法,其特征在于,所述跨时钟域处理方法包括:
获得第一时钟信号,其中,所述第一时钟信号与第一时钟域相关联,所述第一时钟信号从差分串行信号恢复得到,所述差分串行信号由位于所述第一时钟域的发送端发送;
使用所述第一时钟信号作为采样信号和使用第二时钟信号作为被采样信号,其中,所述第二时钟信号与第二时钟域相关联,所述第二时钟信号是对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到;
使用所述采样信号对所述被采样信号进行采样得到第一采样结果,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求;
基于所述第一采样结果,选择性地对所述分频电路进行第二暂停操作从而使得在所述第二暂停操作后使用所述采样信号对所述被采样信号进行采样得到的第三采样结果符合与所述第一采样结果对应的第二采样结果要求;和
使用所述第一时钟信号和所述第二时钟信号进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。
2.根据权利要求1所述的跨时钟域处理方法,其特征在于,所述第一时钟域是写时钟域,所述第二时钟域是读时钟域。
3.根据权利要求1所述的跨时钟域处理方法,其特征在于,所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输用于串行解串器、外围组件快速互连、通用串行总线或者芯片间互联。
4.根据权利要求1所述的跨时钟域处理方法,其特征在于,对所述分频电路进行所述第一暂停操作和对所述分频电路进行所述第二暂停操作均通过门控电路关闭所述分频电路实现。
5.根据权利要求1所述的跨时钟域处理方法,其特征在于,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,并且,基于所述第一采样结果不对所述分频电路进行第二暂停操作。
6.根据权利要求1所述的跨时钟域处理方法,其特征在于,当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,并且,基于所述第一采样结果对所述分频电路进行第二暂停操作,与所述第一采样结果对应的第二采样结果要求是1。
7.根据权利要求1所述的跨时钟域处理方法,其特征在于,使用所述第一时钟信号的上升沿作为所述采样信号的采样时钟沿。
8.根据权利要求7所述的跨时钟域处理方法,其特征在于,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,在所述第一暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿。
9.根据权利要求7所述的跨时钟域处理方法,其特征在于,当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,与所述第一采样结果对应的第二采样结果要求是1,在所述第二暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿。
10.根据权利要求1所述的跨时钟域处理方法,其特征在于,当所述第一采样结果是0时,在所述第一暂停操作后所述第一时钟信号与所述第二时钟信号相位相反,或者,当所述第一采样结果是1时,在所述第二暂停操作后所述第一时钟信号与所述第二时钟信号相位相反。
11.根据权利要求1所述的跨时钟域处理方法,其特征在于,所述第一时钟域与所述第二时钟域采用共同参考时钟。
12.根据权利要求1所述的跨时钟域处理方法,其特征在于,所述跨时钟域处理方法还包括:
获得第三时钟信号,其中,所述第三时钟信号与第三时钟域相关联;
响应于检测到所述第一时钟信号与所述第三时钟信号之间存在频差,使用弹性缓存来补偿所述第一时钟信号与所述第三时钟信号之间的频差,以及使用所述弹性缓存进行所述第一时钟域与所述第三时钟域之间的跨时钟域数据传输。
13.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至12中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至12中任一项所述的方法。
15. 一种用于高速数字传输的跨时钟域处理装置,其特征在于,所述跨时钟域处理装置包括:
检测模块,用于输出使用采样信号对被采样信号进行采样得到的采样结果;和
调整模块,所述调整模块包括门控电路和分频电路,所述门控电路用于根据所述检测模块输出的采样结果对所述分频电路执行暂停操作,
其中,所述跨时钟域处理装置用于:使用第一时钟信号作为所述采样信号和使用第二时钟信号作为所述被采样信号得到第一采样结果,基于所述第一采样结果对所述分频电路进行第一暂停操作从而使得在所述第一暂停操作后再次使用第一时钟信号作为所述采样信号和使用第二时钟信号作为所述被采样信号得到的第二采样结果符合与所述第一采样结果对应的第一采样结果要求;
所述跨时钟域处理装置还用于:基于所述第一采样结果,选择性地对所述分频电路进行第二暂停操作从而使得在所述第二暂停操作后再次使用第一时钟信号作为所述采样信号和使用第二时钟信号作为所述被采样信号得到的第三采样结果符合与所述第一采样结果对应的第二采样结果要求,
其中,所述第一时钟信号与第一时钟域相关联,所述第一时钟信号从差分串行信号恢复得到,所述差分串行信号由位于所述第一时钟域的发送端发送,所述第二时钟信号与第二时钟域相关联,所述第二时钟信号是对位于所述第二时钟域的接收端的本地时钟信号通过分频电路进行时钟分频操作得到,所述第一时钟信号和所述第二时钟信号用于进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输。
16.根据权利要求15所述的跨时钟域处理装置,其特征在于,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,并且,基于所述第一采样结果不对所述分频电路进行第二暂停操作;当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,并且,基于所述第一采样结果对所述分频电路进行第二暂停操作,与所述第一采样结果对应的第二采样结果要求是1。
17.根据权利要求15所述的跨时钟域处理装置,其特征在于,使用所述第一时钟信号的上升沿作为所述采样信号的采样时钟沿,其中,当所述第一采样结果是0时,与所述第一采样结果对应的第一采样结果要求是1,在所述第一暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿;当所述第一采样结果是1时,与所述第一采样结果对应的第一采样结果要求是0,与所述第一采样结果对应的第二采样结果要求是1,在所述第二暂停操作后所述第一时钟信号的上升沿对齐所述第二时钟信号的下降沿。
18.根据权利要求15所述的跨时钟域处理装置,其特征在于,所述跨时钟域处理装置还包括:
选择器,用于:响应于所述检测模块检测到所述第一时钟信号与所述第二时钟信号之间存在频差,使用弹性缓存进行所述第一时钟域与所述第二时钟域之间的跨时钟域数据传输,其中,所述弹性缓存用于补偿所述第一时钟信号与所述第二时钟信号之间的频差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311094331.1A CN116795172B (zh) | 2023-08-29 | 2023-08-29 | 一种用于高速数字传输的跨时钟域处理方法、介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311094331.1A CN116795172B (zh) | 2023-08-29 | 2023-08-29 | 一种用于高速数字传输的跨时钟域处理方法、介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116795172A true CN116795172A (zh) | 2023-09-22 |
CN116795172B CN116795172B (zh) | 2023-12-12 |
Family
ID=88038864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311094331.1A Active CN116795172B (zh) | 2023-08-29 | 2023-08-29 | 一种用于高速数字传输的跨时钟域处理方法、介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116795172B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056269A (zh) * | 2023-10-11 | 2023-11-14 | 芯耀辉科技有限公司 | 用于并行接口连接的数据对齐方法、计算机设备及介质 |
CN117608951A (zh) * | 2023-11-30 | 2024-02-27 | 中国人民解放军国防科技大学 | 一种用于大规模fpga平台的跨时钟域采样电路及方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610083A (zh) * | 2009-06-19 | 2009-12-23 | 中兴通讯股份有限公司 | 一种高速多路时钟数据恢复电路 |
CN103067114A (zh) * | 2012-12-20 | 2013-04-24 | 中兴通讯股份有限公司 | 一种传输系统异步映射时钟恢复方法及设备 |
CN203166947U (zh) * | 2011-03-15 | 2013-08-28 | 英特尔公司 | 用于定时恢复的装置和系统 |
CN105808476A (zh) * | 2016-04-12 | 2016-07-27 | 珠海格力电器股份有限公司 | 跨时钟域数据的传输方法及装置 |
CN106992770A (zh) * | 2016-01-21 | 2017-07-28 | 华为技术有限公司 | 时钟电路及其传输时钟信号的方法 |
JP2018157308A (ja) * | 2017-03-16 | 2018-10-04 | キヤノン株式会社 | 受信装置および処理方法 |
WO2019028740A1 (en) * | 2017-08-10 | 2019-02-14 | Photonic Technologies (Shanghai) Co., Ltd. | CLOCK RECOVERY CIRCUIT AND DATA |
CN112241384A (zh) * | 2019-07-19 | 2021-01-19 | 上海复旦微电子集团股份有限公司 | 一种通用的高速串行差分信号分路电路及方法 |
CN112840593A (zh) * | 2018-12-21 | 2021-05-25 | 华为技术有限公司 | 一种跨时钟域处理电路 |
CN113615088A (zh) * | 2019-03-26 | 2021-11-05 | 华为技术有限公司 | 跨时钟域同步电路以及方法 |
CN114363734A (zh) * | 2020-10-12 | 2022-04-15 | 华为技术有限公司 | 一种时钟数据恢复方法、输入输出装置及光线路终端 |
CN116049061A (zh) * | 2022-03-11 | 2023-05-02 | 成都海光微电子技术有限公司 | 一种跨时钟域的数据传输方法、系统、芯片及电子设备 |
CN116132011A (zh) * | 2021-11-15 | 2023-05-16 | 深圳市中兴微电子技术有限公司 | 时钟同步系统及方法 |
CN116521604A (zh) * | 2023-07-05 | 2023-08-01 | 芯耀辉科技有限公司 | 一种同步数据的方法及相关装置 |
CN116527038A (zh) * | 2023-03-03 | 2023-08-01 | 集益威半导体(上海)有限公司 | 数字时钟频率跟踪器、高速串行接口芯片 |
-
2023
- 2023-08-29 CN CN202311094331.1A patent/CN116795172B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610083A (zh) * | 2009-06-19 | 2009-12-23 | 中兴通讯股份有限公司 | 一种高速多路时钟数据恢复电路 |
CN203166947U (zh) * | 2011-03-15 | 2013-08-28 | 英特尔公司 | 用于定时恢复的装置和系统 |
CN103067114A (zh) * | 2012-12-20 | 2013-04-24 | 中兴通讯股份有限公司 | 一种传输系统异步映射时钟恢复方法及设备 |
CN106992770A (zh) * | 2016-01-21 | 2017-07-28 | 华为技术有限公司 | 时钟电路及其传输时钟信号的方法 |
CN105808476A (zh) * | 2016-04-12 | 2016-07-27 | 珠海格力电器股份有限公司 | 跨时钟域数据的传输方法及装置 |
JP2018157308A (ja) * | 2017-03-16 | 2018-10-04 | キヤノン株式会社 | 受信装置および処理方法 |
WO2019028740A1 (en) * | 2017-08-10 | 2019-02-14 | Photonic Technologies (Shanghai) Co., Ltd. | CLOCK RECOVERY CIRCUIT AND DATA |
CN112840593A (zh) * | 2018-12-21 | 2021-05-25 | 华为技术有限公司 | 一种跨时钟域处理电路 |
CN113615088A (zh) * | 2019-03-26 | 2021-11-05 | 华为技术有限公司 | 跨时钟域同步电路以及方法 |
CN112241384A (zh) * | 2019-07-19 | 2021-01-19 | 上海复旦微电子集团股份有限公司 | 一种通用的高速串行差分信号分路电路及方法 |
CN114363734A (zh) * | 2020-10-12 | 2022-04-15 | 华为技术有限公司 | 一种时钟数据恢复方法、输入输出装置及光线路终端 |
CN116132011A (zh) * | 2021-11-15 | 2023-05-16 | 深圳市中兴微电子技术有限公司 | 时钟同步系统及方法 |
CN116049061A (zh) * | 2022-03-11 | 2023-05-02 | 成都海光微电子技术有限公司 | 一种跨时钟域的数据传输方法、系统、芯片及电子设备 |
CN116527038A (zh) * | 2023-03-03 | 2023-08-01 | 集益威半导体(上海)有限公司 | 数字时钟频率跟踪器、高速串行接口芯片 |
CN116521604A (zh) * | 2023-07-05 | 2023-08-01 | 芯耀辉科技有限公司 | 一种同步数据的方法及相关装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056269A (zh) * | 2023-10-11 | 2023-11-14 | 芯耀辉科技有限公司 | 用于并行接口连接的数据对齐方法、计算机设备及介质 |
CN117056269B (zh) * | 2023-10-11 | 2024-02-09 | 芯耀辉科技有限公司 | 用于并行接口连接的数据对齐方法、计算机设备及介质 |
CN117608951A (zh) * | 2023-11-30 | 2024-02-27 | 中国人民解放军国防科技大学 | 一种用于大规模fpga平台的跨时钟域采样电路及方法 |
CN117608951B (zh) * | 2023-11-30 | 2024-05-10 | 中国人民解放军国防科技大学 | 一种用于大规模fpga平台的跨时钟域采样电路及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116795172B (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116795172B (zh) | 一种用于高速数字传输的跨时钟域处理方法、介质及装置 | |
US7843216B2 (en) | Techniques for optimizing design of a hard intellectual property block for data transmission | |
US5768529A (en) | System and method for the synchronous transmission of data in a communication network utilizing a source clock signal to latch serial data into first registers and a handshake signal to latch parallel data into second registers | |
US10038450B1 (en) | Circuits for and methods of transmitting data in an integrated circuit | |
CN116795765B (zh) | 一种用于高速数据传输的数据对齐方法及装置 | |
US20140325107A1 (en) | Reception apparatus, information processing apparatus and method of receiving data | |
CN111988104B (zh) | 多路数据同步传输方法、装置、数据端设备、系统和介质 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN113406993A (zh) | 基于恢复时钟的fpga芯片时钟域同步方法及相关设备 | |
CN110708133A (zh) | 一种基于fpga的系统内时钟同步和时间同步的方法及装置 | |
US10044496B2 (en) | Bandwidth amplification using pre-clocking | |
CN111475434A (zh) | 一种基于片上网络的多层次数据采集方法 | |
US8203362B2 (en) | Adjustable finite impulse response transmitter | |
CN110705195A (zh) | 一种基于fpga的跨时钟域深度自行配置fifo系统 | |
CN113726693B (zh) | 一种fpga片间低速并行异步通信方法及通信系统 | |
US8711018B2 (en) | Providing a feedback loop in a low latency serial interconnect architecture | |
US8127172B2 (en) | Apparatus and method for receiving parallel SFI-5 data interfaced with very high-speed deserializer | |
CN114115443A (zh) | 一种跨时钟域的数据信号同步方法、系统、设备以及介质 | |
CN117056269B (zh) | 用于并行接口连接的数据对齐方法、计算机设备及介质 | |
US7899955B2 (en) | Asynchronous data buffer | |
KR102277464B1 (ko) | 유한 임펄스 응답을 이용한 데이터 송신 방법 및 그를 위한 장치 | |
CN114089946B (zh) | 一种fifo装置和数据处理系统 | |
US11894847B1 (en) | Duty cycle distortion (DCD) sampling in a low-swing transmitter | |
JP2013219601A (ja) | シリアルデータ送信システム | |
CN118312459A (zh) | 用于弹性缓存频差补偿的控制方法、计算机设备及介质 |
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 |