CN114356833A - 一种跨时钟域数据传输中亚稳态风险规避方法和电路 - Google Patents
一种跨时钟域数据传输中亚稳态风险规避方法和电路 Download PDFInfo
- Publication number
- CN114356833A CN114356833A CN202111568977.XA CN202111568977A CN114356833A CN 114356833 A CN114356833 A CN 114356833A CN 202111568977 A CN202111568977 A CN 202111568977A CN 114356833 A CN114356833 A CN 114356833A
- Authority
- CN
- China
- Prior art keywords
- clock
- receiving end
- metastable state
- risk
- signal
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000005070 sampling Methods 0.000 claims abstract description 100
- 238000012360 testing method Methods 0.000 claims abstract description 49
- 238000001514 detection method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 3
- 238000002474 experimental method Methods 0.000 abstract description 2
- 238000004088 simulation Methods 0.000 abstract description 2
- 101100003180 Colletotrichum lindemuthianum ATG1 gene Proteins 0.000 description 27
- 101100113692 Caenorhabditis elegans clk-2 gene Proteins 0.000 description 24
- 230000008859 change Effects 0.000 description 21
- 230000000630 rising effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100328957 Caenorhabditis elegans clk-1 gene Proteins 0.000 description 1
- 101100173930 Escherichia coli (strain K12) flk gene Proteins 0.000 description 1
- -1 clk1d Proteins 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明涉及一种跨时钟域数据传输中亚稳态风险规避方法和电路,方法包括构建多个具有相同频率和不同相位的接收端时钟,在整个接收端时钟周期内分别采样发送端数据,根据不同相位接收端时钟采样发送端数据结果的差异,实时判断各接收端时钟在采样发送端数据时是否存在亚稳态风险,并不断切换选取未来一段时间内不会发生风险的接收端时钟与发送端进行数据通信。与现有技术相比,本发明能提前预测潜在的亚稳态风险,并自适应调整接收端有效时钟的相位来规避即将出现的亚稳态风险,从而保证了跨时钟域数据传输的可靠性,并且可通过简单的建模仿真将该方法应用到不同频率关系的跨时钟域数据传输中,无需进行预先的数据测试或实验,使用方便。
Description
技术领域
本发明涉及处理器数据处理技术领域,尤其是涉及一种跨时钟域数据传输中亚稳态风险规避方法和电路。
背景技术
多核/众核芯片上,核与核之间、单个核内不同模块之间可能具有不同的电压、时钟频率,导致发送端数据与接收端采样时钟之间的相位关系随时间不断变化。这将导致当接收端的时序单元对发送端数据进行采样时,发送端数据变化沿可能十分接近接收端时钟采样沿。此时,由于发送端数据与接收端时钟的相位关系违反了时序单元的建立时间、保持时间要求,时序单元无法正确采样数据,其输出将长时间维持在非“0”非“1”的中间电平上,这种现象称为亚稳态。这种亚稳态信号可能被进一步传输到后续逻辑单元,从而导致电路出错。随着超低电压、动态调频调压等技术的广泛运用,发送端与接收端的时钟相位关系变化越来越难以预料,发生亚稳态的概率大大提升,极大影响了多核/众核芯片的可靠性。
为避免跨时钟域数据传输中的亚稳态问题,通常通过在接收端采用同步器来进行数据同步。同步器通常由多个串联的时序单元(锁存器或触发器)构成。同步器每增加一级时序单元能够增加一个时钟周期的时间用于亚稳态信号的恢复。然而,一方面同步器仅仅降低了亚稳态发生的概率,不能彻底避免亚稳态情况的发生,另外一方面,同步器在低电压下需要多级时序单元来确保亚稳态概率足够低,这将导致数据传输延迟大大增加。
有方法通过结合握手协议来降低异步数据通信中的亚稳态概率。在亚稳态问题发生时,接收端通过仲裁单元和本地时钟控制,暂停本地时钟并暂停接收端接收新的数据。直到亚稳态完全恢复之后,接收端重新恢复本地时钟同时返回完成信号,此时电路可以进行下一次数据传输。虽然这种方法消除跨时钟域数据传输时的亚稳态风险,但是异步握手会导致片上通信时数据传输效率低、数据传输延时大,降低核间数据交换的性能。
亚稳态检测与校正(MEDAC)技术通过对发送端数据二次采样并比较的方法判断发送端数据是否在接收端时钟的亚稳态检测窗口内翻转。当检测到发送端数据在接受端的亚稳态窗口内到来时,系统存在亚稳态风险,此时MEDAC技术调节接收端时钟的相位来动态改变发送端和接收端时钟之间的相位差,从而主动减少亚稳态风险出现的概率。虽然这种技术可以有效降低异步系统中跨时钟域数据传输时的亚稳态风险,但是该技术对于接收端时钟的相位调节幅度最大可达半个周期,导致MEDAC单元中同步器的亚稳态分辨时间减少,恶化了该技术本身的可靠性。此外,由于该方法的时钟相位调节值受频率关系的影响很大,在多核/众核芯片多样的时钟频率关系下,该技术可能难以找出满足约束的相位调节值,因此该技术的适用范围和收益有限。
发明内容
本发明的目的就是为了克服上述现有技术存在多核/众核处理器等芯片中,核间复杂的电压、时钟频率关系以及PVT波动导致亚稳态风险增大从而降低数据传输的可靠性问题的缺陷而提供一种跨时钟域数据传输中亚稳态风险规避方法和电路,
通过检测来自发送端的数据翻转沿与接收端采样时钟的相位关系,从而预测潜在的亚稳态风险,并通过调节接收端采样时钟相位来规避即将发生的亚稳态风险,从而有效降低接收端数据采样时的亚稳态发生概率,提升了跨时钟数据传输时的可靠性。
本发明的目的可以通过以下技术方案来实现:
一种跨时钟域数据传输中亚稳态风险规避方法,包括构建多个具有相同频率和不同相位的接收端时钟,在整个接收端时钟周期内,分别采样发送端数据,根据不同相位接收端时钟采样发送端数据结果的差异,实时判断各接收端时钟在采样发送端数据时是否存在亚稳态风险,并不断切换选取在预设的第一时间内不存在亚稳态风险的接收端时钟作为接收端有效时钟与发送端进行数据传输。
进一步地,多个接收端时钟的采样沿依次分布,当前接收端时钟与发送端数据之间存在亚稳态风险时,选取在时间上距离当前接收端时钟采样沿最远的接收端时钟作为接收端有效时钟与发送端进行数据传输。
本发明还提供一种跨时钟域数据传输中亚稳态风险规避电路,包括亚稳态风险预测电路和无亚稳态风险时钟选择电路,所述亚稳态风险预测电路包括发送端时钟、原接收端时钟、多个依次连接的接收端时钟测试模块和第二延时单元,所述接收端时钟测试模块包括检测单元和第一延时单元,各个接收端时钟测试模块中的第一延时单元依次连接,相邻两个第一延时单元之间还连接有第二延时单元,所述第一延时单元的两端分别接入所述检测单元;
所有接收端时钟测试模块整体一端的第一延时单元接入所述原接收端时钟、另一端通过分频器连接所述发送端时钟,所述分频器的输出信号分别接入各个接收端时钟测试模块中的检测单元;
所述分频器接收发送端时钟,输出发送端时钟分频信号,用于模拟发送端数据的相位延迟;
所述检测单元利用第一延时单元的输入和输出信号,即两个不同相位的接收端时钟采样沿,分别采样发送端时钟分频信号,根据采样结果判断是否存在数据采样亚稳态风险,从而反馈给所述无亚稳态风险时钟选择电路;所述第二延时单元用于形成各接收端时钟测试模块之间的检测范围相位差。
进一步地,所述无亚稳态风险时钟选择电路包括时钟切换控制器和多路选择器,所述时钟切换控制器的输出接入多路选择器,各个接收端时钟测试模块的输出均接入所述时钟切换控制器,所述时钟切换控制器根据各个接收端时钟测试模块输出的判断结果,切换多路选择器选择某个在预设的第一时间内不存在亚稳态风险的接收端时钟作为接收端有效时钟与发送端进行数据传输。
进一步地,所述多路选择器根据时钟切换控制器的选择信号,选择某一相位的接收端时钟,输出接收端有效时钟信号,并传输给主同步器。
进一步地,所述检测单元根据其采样时钟是否存在采样数据的亚稳态风险产生不同判断结果,若有亚稳态风险则输出为高电平,否则输出低电平。
进一步地,所述检测单元包括第一同步器、第二同步器和异或门装置,所述第一同步器分别连接发送端时钟分频信号和输入给第一延时单元的第一相位接收端时钟信号,并输出第一信号;所述第二同步器分别连接发送端时钟分频信号和由第一延时单元输出的第二相位接收端时钟信号,并输出第二信号;所述异或门装置的输入端分别接入所述第一信号和第二信号、输出端输出高电平或低电平。
进一步地,若第一信号和第二信号相同,则对应的接收端时钟不存在亚稳态风险,异或门装置输出低电平;若第一信号和第二信号不同,则对应的接收端时钟存在亚稳态风险,异或门装置输出高电平。
进一步地,各个依次连接的接收端时钟测试模块输出n个反馈信号,若其中某个接收端时钟测试模块的反馈信号表明其所对应的第一相位接收端时钟存在采样数据的亚稳态风险,则选取在时间上距离该对应的第一相位接收端时钟信号最远的一个接收端时钟测试模块的第一相位接收端时钟信号,该选取过程的原则为:当1<x≤n时,y=x-1;当x=1时,y=n;其中,x为当前具有数据采样亚稳态风险的接收端时钟测试模块内检测单元第一相位接收端时钟的序号,y为接收端时钟测试模块内检测单元第一相位接收端时钟的选取结果,n为接收端时钟测试模块的总数。
进一步地,所有接入接收端时钟测试模块内检测单元的接收端时钟信号之间的最大延时既不超过一个发送端时钟周期也不超过一个接收端时钟周期。
与现有技术相比,本发明可以实时检测当前发送端数据变化沿与接收端时钟之间的相位关系,从而动态选择未来一段时间内不会发生数据采样亚稳态风险的接收端有效时钟进行数据采样,从而规避接收端在数据采样时发生的亚稳态风险。
具有以下优点:
(1)在当前接收端采样时钟即将进入数据采样的亚稳态窗口时,提前调整采样时钟的相位,确保采样时钟信号在未来一段时间内不会进入数据采样的亚稳态窗口,从而提升跨时钟域数据传输的可靠性;
(2)本发明可以通过调整延时单元的延时大小来改变检测单元间的相位差,从而实现不同电压、不同频率下可靠的跨时钟域数据传输;
(3)本发明通过动态改变接收端采样时钟的相位来避免亚稳态问题的发生,在此过程中不会中断正常的跨时钟域数据传输,因而对电路数据传输的性能没有影响;
(4)该亚稳态风险规避电路能够有效降低跨时域数据传输时接收端出现的亚稳态风险,从而在满足相同的可靠性要求下能够减少跨时钟域数据传输时的同步器级数,进而减少数据传输延迟,提升系统性能。
(5)本发明方案可通过简单的建模仿真将该方法应用到不同频率关系的跨时钟域数据传输中,使用方便,减少时间成本。
附图说明
图1为本发明实施例中提供的一种跨时钟域数据传输中亚稳态风险规避方法的原理图;
图2为本发明实施例中提供的一种跨时钟域数据传输中亚稳态风险规避电路图;
图3为本发明实施例中提供的一种跨时钟域数据传输中亚稳态风险规避电路详细图;
图4为本发明实施例中提供的一种接收端时钟相位关系与相位变化模式示意图;
图5为本发明实施例中提供的一种时钟切换控制器内有限状态机状态转换关系示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
实施例1
本实施例提供一种跨时钟域数据传输中亚稳态风险规避方法,包括构建多个具有相同频率和不同相位的接收端时钟,在整个接收端时钟周期内,分别采样发送端数据,根据不同相位接收端时钟采样发送端数据结果的差异,实时判断各接收端时钟在采样发送端数据时是否存在亚稳态风险,并不断切换选取在预设的第一时间内不存在亚稳态风险的接收端时钟作为接收端有效时钟与发送端进行数据传输。
作为一种优选的实施方式,多个接收端时钟的采样沿依次分布,当前接收端时钟与发送端数据之间存在亚稳态风险时,选取在时间上距离当前接收端时钟采样沿最远的接收端时钟作为接收端有效时钟与发送端进行数据传输。
工作原理:
图1是用于解释本发明设计的应用于跨时钟域数据传输的亚稳态风险规避技术的原理图,其中,clk1、clk2、clk3、……clkn为n个相同频率、不同相位的时钟,当这n个时钟分别作为接收端时钟时,纵坐标为发送端时钟与接收端时钟上升沿之间的相位差,横坐标为时钟周期。每个发送端时钟的上升沿,发送端数据都有可能翻转,因此可用发送端时钟的上升沿模拟发送端数据的翻转沿。当发送端数据的翻转沿与接收端采样时钟采样沿之间的相位差很小,使得翻转落在接收端时钟的亚稳态窗口内时,数据采样进入亚稳态风险区,数据传输具有可靠性问题。
n个时钟之间的相位差使得它们依次、周期性地进入亚稳态风险区,如图1所示。在时段1,clk1处于亚稳态风险区,此时采用clk1作为接收端时钟采样发送端数据具有亚稳态风险,但clk2~clkn都不在亚稳态风险区内,因此此时采用clk2~clkn作为接收端时钟可以安全采样发送端数据。同理,在时段2、时段3、……、时段n,分别是clk2、clk3、……、clkn处于亚稳态风险区,此时采用其他时钟作为接收端时钟可以安全采样发送端数据。
因此,只要在每个时段内采用无亚稳态风险的时钟作为接收端采样时钟,就能够避免采用单一时钟作为接收端时钟导致的周期性亚稳态风险。在此基础上,本发明设计的亚稳态风险规避技术的核心在于:从多个相同频率、不同相位的时钟中,通过检测出当前会引起数据采样亚稳态风险的时钟,来预测当前接收端采样时钟是否即将发生数据采样的亚稳态风险,从而在实际接收端采样数据发生亚稳态之前,提前选择未来一段时间内不会引起亚稳态风险的时钟作为接收端采样时钟。
须知,图1展示的仅为跨时钟域数据传输过程中发送端时钟与接收端时钟上升沿之间相位差的其中一种变化规律。
实施例2
本实施例提供一种跨时钟域数据传输中亚稳态风险规避电路,包括亚稳态风险预测电路和无亚稳态风险时钟选择电路,亚稳态风险预测电路包括发送端时钟、原接收端时钟、多个依次连接的接收端时钟测试模块和第二延时单元,接收端时钟测试模块包括检测单元和第一延时单元,各个接收端时钟测试模块中的第一延时单元依次连接,相邻两个第一延时单元之间还连接有第二延时单元,第一延时单元的两端分别接入检测单元;
所有接收端时钟测试模块整体一端的第一延时单元接入原接收端时钟、另一端通过分频器连接发送端时钟,分频器的输出信号分别接入各个接收端时钟测试模块中的检测单元;
分频器接收发送端时钟,输出发送端时钟分频信号,用于模拟发送端数据的相位延迟;
检测单元利用第一延时单元的输入和输出信号,即两个不同相位的接收端时钟采样沿,分别采样发送端时钟分频信号,根据采样结果判断是否存在数据采样亚稳态风险,从而反馈给无亚稳态风险时钟选择电路;第二延时单元用于形成各接收端时钟测试模块之间的检测范围相位差。
作为一种优选的实施方式,无亚稳态风险时钟选择电路包括时钟切换控制器和多路选择器,时钟切换控制器的输出接入多路选择器,各个接收端时钟测试模块的输出均接入时钟切换控制器,时钟切换控制器根据各个接收端时钟测试模块输出的判断结果,切换多路选择器选择某个在预设的第一时间内不存在亚稳态风险的接收端时钟作为接收端有效时钟与发送端进行数据传输。
本实施例中,多路选择器根据选择的接收端时钟的采样沿相位,输出接收端有效时钟信号,并传输给主同步器。
检测单元根据亚稳态风险判断结果输出高电平或低电平。
所有接入接收端时钟测试模块内检测单元的接收端时钟信号之间的最大延时既不超过一个发送端时钟周期也不超过一个接收端时钟周期。
作为一种优选的实施方式,检测单元包括第一同步器、第二同步器和异或门装置,第一同步器分别连接发送端时钟分频信号和输入给第一延时单元的第一相位接收端时钟信号,并输出第一信号;第二同步器分别连接发送端时钟分频信号和由第一延时单元输出的第二相位接收端时钟信号,并输出第二信号;异或门装置的输入端分别接入第一信号和第二信号、输出端输出高电平或低电平。
若第一信号和第二信号相同,则对应的接收端时钟不存在亚稳态风险,异或门装置输出低电平;若第一信号和第二信号不同,则对应的接收端时钟存在亚稳态风险,异或门装置输出高电平。
作为一种优选的实施方式,各个依次连接的接收端时钟测试模块输出n个反馈信号,若其中某个接收端时钟测试模块的反馈信号表明其所对应的第一相位接收端时钟存在采样数据的亚稳态风险,则选取在时间上距离该对应的第一相位接收端时钟信号最远的一个接收端时钟测试模块的第一相位接收端时钟信号,该选取过程的原则为:当1<x≤n时,y=x-1;当x=1时,y=n;其中,x为当前具有数据采样亚稳态风险的接收端时钟测试模块内检测单元第一相位接收端时钟的序号,y为接收端时钟测试模块内检测单元第一相位接收端时钟的选取结果,n为接收端时钟测试模块的总数。
工作原理:
图2是用于解释本发明设计的应用于跨时钟域数据传输的亚稳态风险规避技术原理的电路,该电路分为亚稳态风险预测电路和无亚稳态风险时钟选择电路两部分。其中,Tx_clk为发送端时钟,Rx_clk为接收端时钟,Rx_valid_clk为电路经过亚稳态风险预测、无亚稳态风险时钟选择两个步骤后选择的应用于跨时钟域数据传输的接收端有效时钟,用于采样发送端数据,该时钟信号能够无亚稳态风险地安全采样发送端数据。
亚稳态风险预测电路由分频器、多相位接收端时钟产生模块、n个检测单元组成,其功能是通过检测出当前存在数据采样亚稳态风险的采样时钟,来预测出当前接收端有效时钟是否即将发生数据采样的亚稳态风险。
具体地,分频器将Tx_clk分频为Tx_div_clk用于模拟发送端数据的翻转情况,例如当为二分频时能够模拟发送端数据每周期都翻转的情况。
(2n-1)个延时单元将Rx_clk转变为2n个与Rx_clk频率相同的时钟信号clk1、clk1d、clk2、clk2d、clk3、clk3d、……、clkn、clknd,其中,clk1即为Rx_clk。须知,clk1到clkn之间的总延时既不能超过一个Rx_clk周期也不能超过一个Tx_clk周期。
n个检测单元依次记为第一检测单元、第二检测单元、第三检测单元、……、第n检测单元,它们的输入信号均为Tx_div_clk,采样时钟分别为时钟信号clk1和clk1d、clk2和clk2d、clk3和clk3d、……、clkn和clknd。第i检测单元的采样时钟为clki和clkid(1≤i≤n),用于检测当前Tx_div_clk是否在clki和clkid的采样沿之间翻转,如果当前Tx_div_clk在clki和clkid的采样沿之间翻转,则其翻转沿距离clki的采样沿很近,此时clki作为接收端采样时钟会有亚稳态风险。
具体地,第i检测单元接收clki和clkid作为采样时钟,利用clki与clkid分别采样Tx_div_clk,并将所得的采样结果进行对比,对比的结果输出为ERRORi信号。当Tx_div_clk在clki与clkid的采样沿之间翻转时,采样结果不同,ERRORi信号为高电平,当Tx_div_clk没有在clki与clkid的采样沿之间翻转时,两个时钟的采样结果相同,ERRORi信号为低电平。
上述2n个相同频率、不同相位的采样时钟将在不同的相位处采样Tx_div_clk,由于2n个采样时钟之间具有一定的延时关系,因此,ERROR1、ERROR2、ERROR3、……、ERRORn这n个信号同时至多只有一个为高电平。
根据发送端时钟与接收端时钟上升沿之间的相位差的连续性周期性变化规律,ERRORi升为高电平的时刻一定处在ERROR(i-1)或ERROR(i+1)升为高电平的时刻之后,因此,可以通过ERROR(i-1)与ERROR(i+1)的电平高低来判断是否ERRORi即将升为高电平,即:可以通过ERROR(i-1)与ERROR(i+1)的电平高低来预测是否clki作为采样时钟即将发生亚稳态风险。
无亚稳态风险时钟选择电路由时钟切换控制器和多路选择器组成,其功能是根据亚稳态风险预测电路输出的ERROR1、ERROR2、ERROR3、……、ERRORn信号,从clk1、clk2、clk3、……、clkn中选择出一个此刻能够无亚稳态风险地采样发送端数据的采样时钟信号。
具体地,时钟切换控制器接收ERROR1、ERROR2、ERROR3、……、ERRORn信号,当其中某个信号,如ERRORx(1≤x≤n)为高电平时,代表此刻采用clkx来采样发送端数据将存在亚稳态风险。据此,时钟切换控制器将会在下一个周期前产生时钟选择信号,该选择信号使得多路选择器选择此时不会发生数据采样亚稳态风险的采样时钟信号clky(1≤y≤n,y≠x)作为接收端有效时钟Rx_valid_clk用于采样发送端数据。为保险起见,可以选择在时间上距离clkx的采样沿最远的时钟信号clky(当1<x≤n时,y=x-1;当x=1时,y=n),并将clky作为接收端有效时钟Rx_valid_clk用于采样发送端数据。由于每次选择输出的Rx_valid_clk都是当前远离发送端数据变化沿的采样时钟信号,因此该Rx_valid_clk能够无亚稳态风险地采样发送端数据,从而实现跨时钟域的可靠数据传输。
应用于跨时钟域数据传输的亚稳态风险规避电路共可拥有n个检测单元,下面以n=3为例具体说明本发明的实施方式。
如图3是本发明涉及的亚稳态风险规避技术在n=3时的一种实现电路,后称为亚稳态风险规避电路,用于规避同步器中的亚稳态风险,可作为亚稳态风险规避技术的说明。
该亚稳态风险规避电路包括亚稳态风险预测电路和无亚稳态风险时钟选择电路。其中,亚稳态风险预测电路利用接收端时钟信号Rx_clk检测发送端时钟Tx_clk,产生相应的检测结果ERROR1、ERROR2以及ERROR3信号。根据该检测结果,无亚稳态风险时钟选择电路利用Rx_clk产生具有不同相位的时钟并从中选择一个时钟信号作为输出,即Rx_valid_clk。主同步器采用Rx_valid_clk对发送端数据Tx_data进行采样,并输出Rx_data。
具体地,亚稳态风险预测电路包含一个二分频器、三个检测单元和五个延时单元。其中,二分频器由一个触发器和一个反相器组成,Tx_clk_div信号为Tx_clk的二分频信号,可用于模拟Tx_data每周期都翻转的情况。
延时单元D1和延时单元D2用于产生三个检测单元的采样时钟,Rx_clk直接作为clk1输出,延时单元依次产生clk1d、clk2、clk2d、clk3和clk3d。
三个检测单元利用这6个采样时钟,对Tx_clk_div进行采样并各自产生检测结果。三个检测单元结构相同,分别记为第一检测单元、第二检测单元、第三检测单元,以第一检测单元为例作为说明。
第一检测单元包含两个同步器,均将Tx_clk_div作为数据输入,一个同步器输出为QM2,另一同步器输出为QS2。QM2和QS2经过异或门装置后产生ERROR1。第一检测单元在进行检测时,由于clk1和clkd1之间有延迟单元,如果Tx_clk_div在clk1的上升沿和clk1d的上升沿之间到来,第一检测单元的两个同步器会采样不同的结果,此时异或门输出结果ERROR1为高电平;如果Tx_clk_div不在clk1的上升沿和clk1d的上升沿之间翻转,则两个同步器采样结果相同,ERROR1为低电平。当ERROR1为高时,Tx_clk_div翻转与clk1的上升沿和clk1d的上升沿均较近,此时如果主同步器采用clk1作为采样时钟采样Tx_data,则有亚稳态风险。类似地,第二检测单元、第三检测单元能够分别判断主同步器若采用clk2和clk3作为采样时钟时,主同步器是否存在亚稳态风险。
根据亚稳态风险预测电路的结果,无亚稳态风险时钟选择电路用于控制主同步器的采样时钟相位,从而避免主同步器发生亚稳态问题。无亚稳态风险时钟选择电路首先利用延时单元D1和延时单元D2,产生clk1、clk2和clk3,它们与亚稳态风险预测电路中的clk1、clk2和clk3具有相同的时钟相位;时钟切换控制器以ERROR1、ERROR2、ERROR3作为输入,判断此时clk1、clk2和clk3中无亚稳态风险的时钟信号并选择该时钟信号作为主同步器的采样时钟Rx_valid_clk。
如图4展示了所述亚稳态风险规避电路的采样时钟相位变化时序波形,可作为亚稳态风险规避电路检测机理的进一步说明示意。clk1与clk1d、clk2与clk2d、clk3与clk3d之间各自具有d1的延时(d1表示延时单元D1的延时大小),它们各自形成的采样间隔区间为区域1、区域2、区域3,分别作为第一检测单元、第二检测单元、第三检测单元的亚稳态风险检测窗口。同时,clk1与clk2、clk2与clk3之间各具有d2的延时(d2表示延时单元D2的延时大小)。由于Tx_clk和Rx_clk的时钟频率不同,Tx_clk_div的翻转可能周期性地靠近Rx_clk或者远离Rx_clk,这将导致两种不同的相位变化模式。对于相位变化模式一,Tx_clk_div会依次逐渐靠近clk1、clk2和clk3。如图4所示,第一个时钟周期时,Tx_clk_div在区域1内翻转,此时距离clk1最近;之后,Tx_clk_div翻转将逐渐落入区域2内,此时距离clk2最近;类似地,Tx_clk_div在一段时间后将在区域3内翻转,此时距离clk3最近。相似地,对于相位变化模式二,Tx_clk_div会依次逐渐靠近clk3、clk2和clk1。由此表明,在Tx_clk和Rx_clk频率不一致时,时钟相位变化具有一定规律性。须知,图4中所描绘的Tx_clk_div的变化模式仅为简化描述用于电路说明,实际上,Tx_clk_div与clk1、clk2和clk3之间的相位变化可能更加缓慢,从而Tx_clk_div可能在若干周期内都在区域1(或者区域2、区域3)内翻转,亦或者Tx_clk_div需要若干周期才逐渐由区域1变化到区域2。
以相位变化模式一为例,当clk1存在数据采样的亚稳态风险时,clk2也即将存在数据采样的亚稳态风险,即亚稳态风险预测电路输出的ERROR1信号为高电平时,能够预测到clk2即将存在数据采样的亚稳态风险。同理,ERROR2信号为高电平时,能够预测到clk3即将存在数据采样的亚稳态风险,ERROR3信号为高电平时,能够预测到clk1即将存在数据采样的亚稳态风险。
如图5展示了所述无亚稳态风险时钟选择电路的时钟选择过程。无亚稳态风险时钟选择电路的时钟切换控制器采用状态机控制时钟的选择。时钟切换控制器将状态重置为状态0,选择clk2作为Rx_valid_clk。此时,如果ERROR1拉高,则表明用clk1采样Tx_data存在亚稳态风险,由上述相位变化模式一可知,采用clk2也即将存在亚稳态风险,而采用clk3则能保证至少晚于clk2出现亚稳态风险,因此,时钟切换控制器将状态切换为状态1并选择clk3作为Rx_valid_clk。在状态1,如果继续检测到ERROR1为高,则继续保持状态1;在状态1,如果检测到ERROR2为高,说明相位变化符合相位变化模式一,此时继续采用clk3即将存在亚稳态风险,且此时采用clk2已有亚稳态风险,因此相位选择电路将状态切换为状态2并选择clk1作为Rx_valid_clk;在状态1,如果检测到ERROR3为高,则表明电路由于波动导致的时钟频率变化,使得相位变化由相位变化模式一转变为相位变化模式二,此时采用clk3存在亚稳态风险,采用clk2即将发生亚稳态风险,因此电路切换到状态4并选择clk1作为Rx_valid_clk。可知,时钟切换控制器每次选择的都是远离Tx_clk_div变化沿的采样时钟。类似地,在每个状态,无亚稳态风险时钟选择电路都根据相位变化是否满足相位变化模式一或者相位变化模式二,来选择下一个Rx_valid_clk,确保主同步器采用所选Rx_valid_clk进行数据采样不存在亚稳态风险。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种跨时钟域数据传输中亚稳态风险规避方法,其特征在于,包括构建多个具有相同频率和不同相位的接收端时钟,在整个接收端时钟周期内,分别采样发送端数据,根据不同相位接收端时钟采样发送端数据结果的差异,实时判断各接收端时钟在采样发送端数据时是否存在亚稳态风险,并不断切换选取在预设的第一时间内不存在亚稳态风险的接收端时钟作为接收端有效时钟与发送端进行数据传输。
2.根据权利要求1所述的一种跨时钟域数据传输中亚稳态风险规避方法,其特征在于,多个接收端时钟的采样沿依次分布,当前接收端时钟与发送端数据之间存在亚稳态风险时,选取在时间上距离当前接收端时钟采样沿最远的接收端时钟作为接收端有效时钟与发送端进行数据传输。
3.一种跨时钟域数据传输中亚稳态风险规避电路,其特征在于,包括亚稳态风险预测电路和无亚稳态风险时钟选择电路,所述亚稳态风险预测电路包括发送端时钟、原接收端时钟、多个依次连接的接收端时钟测试模块和第二延时单元,所述接收端时钟测试模块包括检测单元和第一延时单元,各个接收端时钟测试模块中的第一延时单元依次连接,相邻两个第一延时单元之间还连接有第二延时单元,所述第一延时单元的两端分别接入所述检测单元;
所有接收端时钟测试模块整体一端的第一延时单元接入所述原接收端时钟、另一端通过分频器连接所述发送端时钟,所述分频器的输出信号分别接入各个接收端时钟测试模块中的检测单元;
所述分频器接收发送端时钟,输出发送端时钟分频信号,用于模拟发送端数据的相位延迟;
所述检测单元利用第一延时单元的输入和输出信号,即两个不同相位的接收端时钟采样沿,分别采样发送端时钟分频信号,根据采样结果判断是否存在数据采样亚稳态风险,从而反馈给所述无亚稳态风险时钟选择电路;所述第二延时单元用于形成各接收端时钟测试模块之间的检测范围相位差。
4.根据权利要求3所述的一种跨时钟域数据传输中亚稳态风险规避电路,其特征在于,所述无亚稳态风险时钟选择电路包括时钟切换控制器和多路选择器,所述时钟切换控制器的输出接入多路选择器,各个接收端时钟测试模块的输出均接入所述时钟切换控制器,所述时钟切换控制器根据各个接收端时钟测试模块输出的判断结果,切换多路选择器选择某个在预设的第一时间内不存在亚稳态风险的接收端时钟作为接收端有效时钟与发送端进行数据传输。
5.根据权利要求4所述的一种跨时钟域数据传输中亚稳态风险规避电路,其特征在于,所述多路选择器根据时钟切换控制器的选择信号,选择某一相位的接收端时钟,输出接收端有效时钟信号,并传输给主同步器。
6.根据权利要求3所述的一种跨时钟域数据传输中亚稳态风险规避电路,其特征在于,所述检测单元根据其采样时钟是否存在采样数据的亚稳态风险产生不同判断结果,若有亚稳态风险则输出为高电平,否则输出低电平。
7.根据权利要求6所述的一种跨时钟域数据传输中亚稳态风险规避电路,其特征在于,所述检测单元包括第一同步器、第二同步器和异或门装置,所述第一同步器分别连接发送端时钟分频信号和输入给第一延时单元的第一相位接收端时钟信号,并输出第一信号;所述第二同步器分别连接发送端时钟分频信号和由第一延时单元输出的第二相位接收端时钟信号,并输出第二信号;所述异或门装置的输入端分别接入所述第一信号和第二信号、输出端输出高电平或低电平。
8.根据权利要求7所述的一种跨时钟域数据传输中亚稳态风险规避电路,其特征在于,若第一信号和第二信号相同,则对应的接收端时钟不存在亚稳态风险,异或门装置输出低电平;若第一信号和第二信号不同,则对应的接收端时钟存在亚稳态风险,异或门装置输出高电平。
9.根据权利要求7所述的一种跨时钟域数据传输中亚稳态风险规避电路,其特征在于,各个依次连接的接收端时钟测试模块输出n个反馈信号,若其中某个接收端时钟测试模块的反馈信号表明其所对应的第一相位接收端时钟存在采样数据的亚稳态风险,则选取在时间上距离该对应的第一相位接收端时钟信号最远的一个接收端时钟测试模块的第一相位接收端时钟信号,该选取过程的原则为:当1<x≤n时,y=x-1;当x=1时,y=n;其中,x为当前具有数据采样亚稳态风险的接收端时钟测试模块内检测单元第一相位接收端时钟的序号,y为接收端时钟测试模块内检测单元第一相位接收端时钟的选取结果,n为接收端时钟测试模块的总数。
10.根据权利要求3所述的一种跨时钟域数据传输中亚稳态风险规避电路,其特征在于,所有接入接收端时钟测试模块内检测单元的接收端时钟信号之间的最大延时既不超过一个发送端时钟周期也不超过一个接收端时钟周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111568977.XA CN114356833A (zh) | 2021-12-21 | 2021-12-21 | 一种跨时钟域数据传输中亚稳态风险规避方法和电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111568977.XA CN114356833A (zh) | 2021-12-21 | 2021-12-21 | 一种跨时钟域数据传输中亚稳态风险规避方法和电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356833A true CN114356833A (zh) | 2022-04-15 |
Family
ID=81102186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111568977.XA Pending CN114356833A (zh) | 2021-12-21 | 2021-12-21 | 一种跨时钟域数据传输中亚稳态风险规避方法和电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356833A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116260581A (zh) * | 2023-05-09 | 2023-06-13 | 广东维信智联科技有限公司 | 一种控制信号远程传输方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130249612A1 (en) * | 2012-03-26 | 2013-09-26 | Rambus Inc. | Method and apparatus for source-synchronous signaling |
CN105024701A (zh) * | 2015-07-08 | 2015-11-04 | 中国电子科技集团公司第四十一研究所 | 一种用于杂散抑制的分频比调制器 |
US20160314092A1 (en) * | 2015-04-21 | 2016-10-27 | Cypress Semiconductor Corporation | Asynchronous transceiver for on-vehicle electronic device |
CN110321316A (zh) * | 2019-06-19 | 2019-10-11 | 西安思丹德信息技术有限公司 | 一种多通道同步数据采集自适应训练控制装置及方法 |
CN111404658A (zh) * | 2020-03-26 | 2020-07-10 | 上海交通大学 | 亚稳态校正方法 |
CN111651951A (zh) * | 2020-06-04 | 2020-09-11 | 思尔芯(上海)信息科技有限公司 | 一种fpga端口扩展的方法 |
CN112241384A (zh) * | 2019-07-19 | 2021-01-19 | 上海复旦微电子集团股份有限公司 | 一种通用的高速串行差分信号分路电路及方法 |
CN112332835A (zh) * | 2020-10-30 | 2021-02-05 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 实时检测数字相控阵时频信号故障及其恢复处理方法 |
CN112699077A (zh) * | 2020-12-30 | 2021-04-23 | 上海安路信息科技股份有限公司 | Fpga芯片及fpga子芯片的互联方法 |
CN113642285A (zh) * | 2020-05-11 | 2021-11-12 | 美商新思科技有限公司 | 确定和验证时钟域交叉中的亚稳态 |
-
2021
- 2021-12-21 CN CN202111568977.XA patent/CN114356833A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130249612A1 (en) * | 2012-03-26 | 2013-09-26 | Rambus Inc. | Method and apparatus for source-synchronous signaling |
US20160314092A1 (en) * | 2015-04-21 | 2016-10-27 | Cypress Semiconductor Corporation | Asynchronous transceiver for on-vehicle electronic device |
CN105024701A (zh) * | 2015-07-08 | 2015-11-04 | 中国电子科技集团公司第四十一研究所 | 一种用于杂散抑制的分频比调制器 |
CN110321316A (zh) * | 2019-06-19 | 2019-10-11 | 西安思丹德信息技术有限公司 | 一种多通道同步数据采集自适应训练控制装置及方法 |
CN112241384A (zh) * | 2019-07-19 | 2021-01-19 | 上海复旦微电子集团股份有限公司 | 一种通用的高速串行差分信号分路电路及方法 |
CN111404658A (zh) * | 2020-03-26 | 2020-07-10 | 上海交通大学 | 亚稳态校正方法 |
CN113642285A (zh) * | 2020-05-11 | 2021-11-12 | 美商新思科技有限公司 | 确定和验证时钟域交叉中的亚稳态 |
CN111651951A (zh) * | 2020-06-04 | 2020-09-11 | 思尔芯(上海)信息科技有限公司 | 一种fpga端口扩展的方法 |
CN112332835A (zh) * | 2020-10-30 | 2021-02-05 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 实时检测数字相控阵时频信号故障及其恢复处理方法 |
CN112699077A (zh) * | 2020-12-30 | 2021-04-23 | 上海安路信息科技股份有限公司 | Fpga芯片及fpga子芯片的互联方法 |
Non-Patent Citations (3)
Title |
---|
CHUXIONG LIN: ""A Metastability Risk Prediction and Mitigation Technique for Clock-Domain Crossing With Single-Stage Synchronizer in Near-Threshold-Voltage Multivoltage/Frequency-Domain Network-on-Chip"", 《IEEE JOURNAL OF SOLID-STATE CIRCUITS》, vol. 59, no. 2, 23 June 2023 (2023-06-23), pages 616 - 625, XP011959281, DOI: 10.1109/JSSC.2023.3283961 * |
VAZGEN MELIKYAN: ""Analysis of the impact of metastability phenomenon on the latency and power consumption of synchronizer circuits"", 《2016 IEEE EAST-WEST DESIGN & TEST SYMPOSIUM (EWDTS)》, 9 January 2017 (2017-01-09), pages 1 - 3 * |
刘辉华: ""辐照环境下时钟数据恢复电路稳定性研究"", 《中国博士学位论文全文数据库 信息科技辑》, no. 2018, 15 January 2018 (2018-01-15), pages 135 - 46 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116260581A (zh) * | 2023-05-09 | 2023-06-13 | 广东维信智联科技有限公司 | 一种控制信号远程传输方法及系统 |
CN116260581B (zh) * | 2023-05-09 | 2023-09-29 | 广东维信智联科技有限公司 | 一种控制信号远程传输方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7702945B2 (en) | Semiconductor device and communication control method | |
US5794020A (en) | Data transfer apparatus fetching reception data at maximum margin of timing | |
CN104348681B (zh) | 用于裸片上测量和判决反馈均衡的方法和接收器 | |
JP5362351B2 (ja) | 高速回路のデータエッジ−クロックエッジ位相検出器 | |
JPWO2005013546A1 (ja) | クロック乗換装置、及び試験装置 | |
US7453970B2 (en) | Clock signal selecting apparatus and method that guarantee continuity of output clock signal | |
WO2004109524A2 (en) | Synchronous data transfer across clock domains | |
US6943595B2 (en) | Synchronization circuit | |
Chappel et al. | EMI effects and timing design for increased reliability in digital systems | |
US8433019B2 (en) | System and apparatus for synchronization between heterogeneous periodic clock domains, circuit for detecting synchronization failure and data receiving method | |
CN114356833A (zh) | 一种跨时钟域数据传输中亚稳态风险规避方法和电路 | |
US7518408B2 (en) | Synchronizing modules in an integrated circuit | |
JP2001075670A (ja) | クロック調整方法及び回路装置 | |
KR20070065422A (ko) | 디지털-위상 변환기를 위한 방법 및 장치 | |
US6961691B1 (en) | Non-synchronized multiplex data transport across synchronous systems | |
CN111404658B (zh) | 亚稳态校正方法 | |
Bund et al. | PALS: Plesiochronous and locally synchronous systems | |
US7750711B2 (en) | Phase select circuit with reduced hysteresis effect | |
CN111262562B (zh) | 亚稳态检测电路 | |
WO2001084711A1 (en) | Pulse detector | |
US6040723A (en) | Interface circuit with high speed data transmission | |
Poornima et al. | Functional verification of clock domain crossing in register transfer level | |
CN116209968A (zh) | 时钟树架构、时钟信号传输方法及设备 | |
CN114679158B (zh) | 周期信号发生装置、信号处理系统及其周期信号发生方法 | |
US8811501B2 (en) | Receiving apparatus, transmission and reception system, and restoration method |
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 |