CN1725144A - 可编程同步脉冲发生器 - Google Patents
可编程同步脉冲发生器 Download PDFInfo
- Publication number
- CN1725144A CN1725144A CN200510089523.9A CN200510089523A CN1725144A CN 1725144 A CN1725144 A CN 1725144A CN 200510089523 A CN200510089523 A CN 200510089523A CN 1725144 A CN1725144 A CN 1725144A
- Authority
- CN
- China
- Prior art keywords
- clock
- edge
- signal
- clock signal
- sampled
- 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
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000000630 rising effect Effects 0.000 claims description 72
- 238000005070 sampling Methods 0.000 claims description 28
- 230000007704 transition Effects 0.000 claims description 21
- 230000014509 gene expression Effects 0.000 claims description 20
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 abstract description 9
- 238000012546 transfer Methods 0.000 abstract description 4
- 238000010200 validation analysis Methods 0.000 abstract 1
- 239000012071 phase Substances 0.000 description 26
- 230000001360 synchronised effect Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000005284 excitation Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical group [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 239000008384 inner phase Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
可编程同步脉冲发生器(116)和同步脉冲产生方法可以用于时钟同步器(100)中,以便实现配置在第一时钟域的第一电路系统(103A)和配置在第二时钟域的第二电路系统(103B)之间的数据传送。第一时钟域以第一时钟信号(108)工作,第二时钟域以第二时钟信号(106)工作。相位检测电路系统(200)利用第二时钟信号(106)对第一时钟信号(108)采样,确定第一和第二时钟信号(108,106)的重叠边沿。验证电路系统(202)根据第一和第二时钟信号(108,106)之间的歪斜容差验证重叠边沿并对其作出响应而产生有效边沿信号(edge_valid)。同步产生电路(204)响应有效边沿信号(edge_valid),在第一时钟域产生同步脉冲(sync_1),在第二时钟域产生同步脉冲(sync_c)。
Description
相关申请的交叉参考
本申请公开了与以下共同拥有共同未决的专利申请中公开的主题相关的主题:(i)”PHASE DETECTION IN SYNC PULSE GENERATOR”(案号200315338-1),申请人:Richard W.Adkisson;(ii)”DRIFT-TOLERANTSYNC GENERATION CIRCUIT FOR A SYNC PULSE GENERATOR”(案号200315340-1),申请人:Richard W.Adkisson;(iii)”PROGRAMMABLECLOCK SYNCHRONIZER”2003年7月30日提交,申请号10/630,159(案号200207722-2),申请人:Richard W.Adkisson;(iv)”PHASE DETECTORFOR A PROGRAMMABLE CLOCK SYNCHRONIZER”2003年7月30日提交,申请号10/630,298(案号200208010-1),申请人:Richard W.Adkisson;所有这些专利申请附此供参考。
技术领域
本发明涉及数字电子系统。更具体地说,本发明提供可以在时钟同步器中工作的可编程同步脉冲发生器和同步脉冲产生方法,以便实现不同时钟域中电路系统之间的数据传送。
背景技术
数字电子系统(例如,计算机系统)常常需要使用不同的接口进行通信,为了提高性能,每一个系统都要以最佳速度运行。一般地说,为了将合适的时序提供给接口,要应用具有不同频率的多个时钟信号。而且,这样的时钟信号频率一般都与预置的方式相互关联。例如,以特定频率(F1)运行的链路时钟或系统时钟,可以作为通常的计算机系统的主时钟提供给计算机系统的数字电路系统的具体部分作时基使用。计算机系统的数字电路系统的其它部分(例如,设置在其中的铁核心段(core segment)和逻辑电路系统)可以使用从主时钟导出的时序信号计时,其中,导出的频率(Fd)遵循以下关系:F1/Fd≥1。
由于各数字电路组成部分的不同步(虽然相关)性质,在计算机系统中常常使用同步器电路系统,以便使跨越时钟域边界的数据传送操作同步,以避免与时序相关的数据误差。这样的同步器电路系统通常要求的等待时间短(即要求精确控制两个不同时钟域中的各个时钟电路部分的同步时钟)。一般地说,在传统的同步器电路系统配置中使用锁相环(PLL)来产生一些具有不同然而相关的频率的时钟。具有相位检测能力和漂移容差的同步脉冲的产生在没有PLL的应用中是有益的。
发明内容
公开一种可编程同步脉冲发生器和同步脉冲产生方法,所述可编程同步脉冲发生器和同步脉冲产生方法可以在时钟同步器中运行,以便在设置在第一时钟域中的第一电路系统和设置在第二时钟域中的第二电路系统之间实现数据传送。第一时钟域可以以第一时钟信号运行,而第二时钟域可以以第二时钟信号运行。相位检测电路系统用于以第二时钟信号对第一时钟信号采样,以便确定第一和第二时钟信号的重叠边缘。验证电路系统用于根据第一和第二时钟信号之间的歪斜容差验证重叠边缘,并且用于对此作出响应而产生有效边缘信号。同步产生电路系统用于响应有效边缘信号而产生第一时钟域的同步脉冲和第二时钟域的同步脉冲。
附图说明
图1描绘用于实现跨越时钟边界的数据传送的同步系统实施例的方框图;
图2描绘用于与图1所示的同步系统一起工作的同步脉冲发生器的一个实施例的功能方框图;
图3描绘图2所示的同步脉冲发生器的相位检测电路系统的一个实施例的原理图;
图4描绘与图3的相位检测电路系统相关的时序图;
图5A描绘图3所示的同步脉冲发生器的验证电路系统实施例的一部分的原理图;
图5B描绘图5A说明的验证电路系统的另一部分的原理图;
图5C描绘图5A说明的验证电路系统的另一部分的原理图;
图6描绘说明可能与时钟信号相关的不同歪斜的时序图;
图7A描绘进一步说明与时钟信号的上升时钟沿关联的不同歪斜的表;
图7B描绘进一步说明与时钟信号的下降时钟沿关联的不同歪斜的表;
图8描绘说明相对于验证电路系统工作方式的与上升和下降时钟沿相关联的不同歪斜的表;
图9描绘同步发生电路系统的一个实施例的方框图;
图10描绘与图9的同步发生电路系统相关联的时序图;
图11描绘同步脉冲发生方法的一个实施例的流程图;
图12描绘相位检测方法的一个实施例的流程图;
图13描绘同步产生方法的一个实施例的流程图;
图14A描绘与图2的同步脉冲发生器的一个实施例相关的附加时序图的一部分;以及
图14B描绘图14A中给出的时序图的另一部分。
具体实施方式
附图中,相同或者类似的元件在其中的若干视图中用相同的标号表示,并且所描述的各种元件不必按比例画出。现在参考图1,它描绘同步系统100的实施例,所述同步系统用于实现跨越具有N个时钟周期的第一时钟域(即”快时钟域”)和具有M个时钟周期(N/M>1)的第二时钟域(即”慢时钟域”)之间时钟边界的数据传送。一般地说,M=(N-1),并且借助于说明性实现方案,同步系统100可以作为计算机系统的一部分,用于在快时钟域(例如,以333MHz的链路时钟信号运行)和慢时钟域(例如,以267MHz的核心时钟信号运行)之间传送数据,具有5∶4频率比。因此,对于本专利申请的目的,将同时使用关于快时钟域的术语”第一时钟”和”链路时钟”;并且将使用关于慢时钟域的术语”第二时钟”和”核心时钟”。然而应当指出,这里描述的同步脉冲发生器(或sync pulse generator)可以应用于其它时钟域,例如,核心时钟/总线时钟域接口。
锁相环(PLL)电路104用于根据向其提供的系统时钟109(标记为sys_clk)产生链路时钟(即第一时钟)信号108(标记为Link_clock)。PLL电路104还根据系统时钟信号产生核心时钟(即第二时钟)信号106(标记为core_clock)。每一个core_clock 106和link_clock信号108首先提供给各个时钟分布树块(clock distribution treeblock),用于产生分布时钟信号,后者被提供给为同步系统100设置的同步器/控制器块102的各个部分。标号112指的是时钟分布树,后者用于利用core_clock信号106产生分布core_clock信号,并将它标记为”c”,如图1中标号106’所示。而且,标号114指的是时钟分布树114,后者利用link_clock信号108产生分布link_clock信号,并将它标记为”1”,如图1中的标号108’所示。正如本专业的技术人员容易明白的那样,分布时钟信号基本上与输入时钟信号相同。因此,下文中同等地对待系统时钟信号109、core_clock信号106和它的分布式副本c 106’都在进行。同样,同等地对待link_clock信号108和它的分布式副本1 108’。
同步(SYNC)脉冲发生电路116用于响应时钟信号106、108,产生一对转发给同步控制电路系统的相应域的同步脉冲。标记为sync_c118和sync_1 120的同步(SYNC)脉冲提供用于协调数据传送操作的参考点并在link_clock和core_clock信号具有重叠上升沿时被驱动到高电平(HIGH)。两个时钟信号106、108和同步脉冲信号被提供给跨越第一时钟域(即链路时钟域)和第二时钟域(即核心时钟域)之间的时钟边界的同步器/控制器块102,以便实现数据跨越所述边界的传送。标号103A和103B指的是分别设置在第一和第二时钟域(例如,链路时钟域逻辑和核心时钟域逻辑)的电路系统,所述电路系统通过下文将更详细地说明的同步器105A和105B可以更方便地传送和接收它们之间的数据。
链路时钟同步控制器122响应分布式link_clock 1 108’和sync_1脉冲120,产生多个同步控制信号,这些信号的一部分直接传送给第一同步电路装置105A,控制从第一电路系统103A(即链路时钟域逻辑)到第二电路系统103B(即核心时钟域逻辑)的数据传送。标号132指的是从链路时钟同步控制器122发出的控制信号的所述部分的信号路径。由链路时钟同步控制器122产生的同步控制信号的另一部分传送(通过信号路径134)给第二同步电路装置105B,控制从第二电路系统103B到第一电路系统103A的数据传送。与本专利申请中使用的术语一致,第一和第二同步电路也可以分别称为链路核心同步电路和核心链路同步电路。此外,核心时钟同步控制器124还产生一组控制器间控制信号,所述控制器间控制信号提供给第一同步控制器122(即链路时钟同步控制器),使得两个控制器能一起工作。标号128指的是控制器间控制信号的信号路径,所述信号路径设置在链路时钟同步控制器122和核心时钟同步控制器124之间。
与链路时钟同步控制器122类似,核心时钟同步控制器124响应分布式core_clock、c 106’、控制器间控制信号和sync_c脉冲118,产生多个同步控制信号,这些信号的一部分提供给第一同步电路装置105A,这些信号的另一部分提供给第二同步电路装置105B。标号138和140指的是与这些控制信号有关的相应的信号路径。
链路时钟同步控制器122还产生数据传送/接收控制信号,这些信号通过信号路径136提供给链路时钟域逻辑103A,使链路时钟域逻辑103A知道什么时候它可以把数据发送给核心时钟域逻辑103B(即有效的TX操作),以及什么时候它可以接收来自核心时钟域逻辑103B(即有效的RX操作)的数据。
此外,通过响应采样link_clock和core_clock信号的操作,任选相位检测器130检测两个时钟信号之间的相位差(即歪斜)。所述信息提供给链路时钟同步控制器122,所述链路时钟同步控制器可以补偿歪斜,或确定调配核心时钟同步控制器124的合适倍数。关于上述各子系统的更详细的情况可以参考下面共同拥有共同未决的专利申请:PROGRAMMABLE CLOCK SYNCHRONIZER,2003年7月30日提交;申请号No.10/630,159(案号No.200207722-2),申请人:Richard W.Adkisson;所述专利申请附此作参考。
正如以上和交叉参考的U.S.专利申请中所说明的,可以针对不同的歪斜容差和等待时间对同步系统100进行编程,以便即使在存在高的歪斜或低的等待时间的要求的情况下也可以正确地进行高速数据传送。另外,同步系统100可以利用任意两个时钟域工作,所述两个时钟域具有N个第一时钟周期与M个第二时钟周期的比值,其中N/M≥1。应当指出,通过举例给出了同步系统100,但是同步系统100不局限于这些例子。同步系统100是同步系统的一个实施例,在所述实施例中可以应用同步脉冲发生电路116。在这种通常的情况下,链路时钟同步控制器122、核心时钟同步控制器124、链路域逻辑103A和第一同步器105A实现第一同步器电路系统,所述第一同步器电路系统将数据从链路时钟域传送给核心时钟域。而且,链路时钟同步控制器122、核心时钟同步控制器124、核心域逻辑103B和第二同步器105B实现第二同步器电路系统,所述第二同步器电路系统将数据从核心时钟域传送给链路时钟同步。
图2描绘同步脉冲发生器116的一个实施例的原理图,所述同步脉冲发生器包括内部相位检测电路系统200、验证电路系统202和同步产生电路204。相位检测电路系统200包括相位检测器电路206,后者对链路时钟信号和核心时钟信号进行采样,确定链路和核心时钟信号的重叠上升沿。如图所示,由相位检测电路确定的cr_edge信号(第一采样时钟信号)和cf_edge信号(第二采样时钟信号)表示重叠上升沿。具体地说,cr_edge信号是通过利用核心时钟信号上升沿对链路时钟信号采样而产生的。在一个实施例中,具有0到1跃迁的cr_edge信号是在链路和核心时钟信号之间的重叠上升沿出现之前确定的。另一方面,根据利用核心时钟信号的下降沿对链路时钟信号采样而确定cf_edge信号。在一个实施例中,与cr_edge信号类似,具有1到0跃迁的cf_edge信号是在链路和核心时钟信号中重叠的上升沿出现之前确定的。
相位检测电路系统200还包括分段寄存器部分208,所述分段寄存器部分接收相位检测电路206的cr_edge和cf_edge信号。分段寄存器部分208可以包括任意目的延迟寄存器,所述延迟寄存器在验证电路系统202处理所述信号之前把cr_edge和cf_edge信号恰当地延迟。正如下面将更详细地说明的那样,使用的寄存器数目与链路时钟域和核心时钟域之间的时钟周期的比值有关。例如,在链路时钟域和核心时钟域之间的时钟周期比值为5∶4的情况下,使用6个寄存器(即寄存器0至寄存器5)是合适的。
验证电路系统202包括有效边沿检测电路210和具有寄存器214的超时计数器212。有效边沿检测电路210接收延迟后的cr_edge和cf_edge信号以及表示链路时钟和核心时钟信号之间比值的比值信号。此外,把方式信号传送到有效边沿检测电路以便选择合适的歪斜容差电平。在一个实施例中,方式信号是可以编程的。正如将进一步说明的那样,有效边沿检测电路210根据第一和第二时钟信号之间的歪斜容差验证重叠边沿,即,由cr_edge和cf_edge信号表示的重叠上升沿。例如,在一个说明性工作方式下,有效边沿检测电路210可以用于补偿小于以下表达式表示的歪斜容差:
(核心时钟信号周期)/2-(链路时钟信号周期)/2
在另一个说明性工作方式下,有效边沿检测电路210和超时计数器212可以用于补偿小于以下表达式表示的歪斜容差:
(核心时钟信号周期)-(链路时钟信号周期)
一旦验证了重叠上升沿,有效边沿检测电路210就激励有效边沿信号;即,由在链路时钟域和核心时钟域中产生同步脉冲的同步产生电路204接收的edge_valid。同步产生电路204利用比值信号,连同edge_valid信号和反馈环一起在核心和链路时钟域中连续地产生同步脉冲。在链路域产生的同步脉冲标记为sync_1。类似地,在核心时钟域产生的同步脉冲标记为sync_c。
图3描绘电路部分300的一个实施例的方框原理图,电路部分300包括相位检测电路系统200,后者用于提供在同步系统100中使用的时钟之间的重叠上升沿的标记。如前所述,相位检测电路系统200包括相位检测电路206和至少包括一个寄存器的延迟块208。通常,相位检测电路206利用非分布式core_clock 106的上升沿和下降沿,对非分布式link_clock 108进行采样。在一种实现中,可以代之以使用等效的分布式时钟信号。因此,采用说明性的实现方案,由按照core_c lock c 106’的上升沿计时的至少一个第一触发器对link_clock 1 108’进行采样。如上所述,触发器302和304利用core_clock c 106’的上升沿对link_clock 1 108’进行采样。通过把两个触发器用于采样,相位检测器电路206能够降低亚稳定性。触发器302把采样的link_clock 1 108’信号确定为pd_cr1_ff信号,通过触发器304对pd_cr1_ff信号进行采样并将其确定为pd_cr2_ff信号。触发器306通过以下方法来保持时序:对pd_cr2_ff信号进行分级,以便确定被输送到触发器308和”与”门310的pd_cr3_ff信号。”与”门310具有反向的第二输入信号,后者是由触发器308产生的pd_cr4_ff信号提供的。”与”门310在确定pd_cr3_ff信号和否定pd_cr4_ff信号时确定cr_edge信号。因此,确定了具有表示在第一和第二时钟信号之间的重叠上升沿的0到1的跃迁的cr_edge信号。cr_edge信号被输送到延迟寄存器块208,如图所示,延迟寄存器块208包括触发器312-322序列,触发器312-322序列中的每一个具有将输入信号提供给有效边沿检测器电路210的分接头。具体地说,触发器312接收cr_edge信号,并确定发送给触发器314和有效边沿检测电路210的cr_edge_ff[0]信号。类似地,触发器314确定cr_edge_ff[1]信号,触发器316确定cr_edge_ff[2]信号,触发器318确定cr_edge_ff[3]信号,触发器320确定cr_edge_ff[4]信号,而触发器322确定cr_edge_ff[5]信号。在一个实施例中,确定的采样时钟信号(即cr_edge)可以被寄存N+1次,其中,例如,如果检测到的最大比值为5∶4,则N+1为6。从所述各寄存器选择分接头,并且利用下文将更详细地说明的方案由有效边沿检测电路210来实现所述各分接头。
类似地,由按照core_clock c 106’的下降沿计时的至少一个第二触发器对link_clock 1 108’进行采样。如图所述,触发器324和326利用core_clock c 106’的下降沿对link_clock 1 108’采样。触发器324把采样的link_clock 1 108’信号确定为pd_cf1_ff信号,后者被触发器326采样并被其确定为pd_cf2_ff信号。触发器328把pd_cr2_ff信号延迟,以确保时序,并确定由触发器330和”与”门332接收的pd_cf3_ff信号。”与”门将pd_cf3_ff输入信号反向,并从触发器330接收pd_cf4_ff信号形式的第二输入信号。”与”门332根据检测到的被确定为低逻辑的pd_cf3_ff信号和被确定为高逻辑的pd_cf4_ff信号,确定表示重叠上升沿的cf_edge信号(即第二采样时钟信号)。因此,确定了具有1到0跃迁的cf_edge信号,后者表示在第一和第二时钟信号之间出现重叠上升沿。cf_edge信号被转发给延迟寄存器块208,如图所述,延迟寄存器块208包括触发器334-344序列,其中每一个触发器具有把输入信号提供给有效边沿检测器210的分接头,其中,触发器334、336、338、340、342和344分别确定cf_edge_ff[0]、cf_edge_ff[1]、cf_edge_ff[2]、cf_edge_ff[3]、cf_edge_ff[4]和cf_edge_ff[5]信号。在所说明的实施例中,相位检测电路系统200应用触发器;然而,应当指出,可以以各种数字逻辑部件,例如,锁存器、延迟线等来实现相位检测器系统200。而且,虽然对相位检测电路系统200作了说明,但是,有关正逻辑、负逻辑也可以用于确定相位差。还应当指出,虽然这里描述了与重叠上升沿有关的逻辑,但是,本专利申请的技术也可以应用于重叠下降沿。
图4描绘与图3的电路部分300相关联的时序图400,其中,5∶4的时钟频率比作为link_clock信号和core_clock信号之间的时钟频率比的例子。周期计数指的是在特定时序中core_clock周期的编号。具体地说,时序图400分别示出触发器324-330、”与”门332和触发器334和336的输出信号pd_cf1_ff、pd_cf2_ff、pd_cf3_ff、pd_cf4_ff、cf_edge、cf_edge_ff[0]和cf_edge_ff[1]。此外,有效边沿检测器电路210输出信号被表示为edge_valid。如图所示,所述信号包括包含0或1的逻辑数据电平。为了便于说明,仅仅把相位检测电路系统200的下降沿部分的时序图作为例子。应当指出,相位检测电路系统200的上升沿部分具有相似的操作(即cr_edge信号的产生和随后的延迟寄存)。
如前所述,触发器324利用核心时钟信号106的下降沿对链路时钟信号108进行采样,如用标号402-410表示的那样。在所说明的实施例中,这就产生了逻辑电平序列[1001]。由于触发器326还利用核心时钟信号106的下降沿对pd_cf1_ff信号进行采样,所以pd_cf2_ff信号的电平位移了一个周期。触发器328对pd_cf2_ff信号采样,并把所述信号延迟半个周期,因此pd_cf3_ff的数据就相对于pd_cf2_ff信号的数据位移了一个半周期。触发器330对pd_cf3_ff信号采样,并把所述信号延迟一个完整的周期。因此,触发器330的pd_cf4_ff信号的数据相对于pd_cf3_ff信号的数据位移了一个整周期。”与”门332接收pd_cf3_ff信号和pd_cf4_ff信号两者,并在检测到1到0的跃迁,即pd_cf3_ff数据是低逻辑而pd_cf4_ff被确定为高逻辑时,逻辑电平1确定为cf_edge信号。在所说明的实施例中,这种1到0的跃迁状态由标号412和414表示。
有效边沿电路210根据歪斜容差和比值方式验证检测到的表示重叠上升沿的跃迁。继续所说明的实例,把cf_edge、cf_edge_ff[0]和cf_edge_ff[1]信号转发给有效边沿检测电路210。如上所述,在link_clock信号和core_clock信号之间没有出现歪斜,在link_clock信号和core_clock信号之间的时钟比值为5∶4。这样,根据检测到的当前下降沿的状态(所述状态将在下文详细说明),有效边沿检测电路确定edge_valid信号的逻辑高值。
如上所述,可以把有效边沿检测器210设置为4种工作方式下的任何一种。对于5∶4的比值,假设起始稳定方式提供小于(核心周期/2-链路周期/2)或链路周期的1/8的歪斜容差。在所述工作方式下,根据由标号416表示的当前下降沿状态验证重叠上升沿,以下逻辑与其关联:
~cf_edge & cf_edge_ff[0] & ~cf_edge_ff[1]
对于5∶4的比值,第二假设起始稳定方式(即假设起始稳定2方式)也提供小于(核心周期/2-链路周期/2)或链路周期的1/8的歪斜容差。在所述工作方式下,根据两次顺序检测到的上述当前下降沿的组合验证重叠的上升沿。例如,在两个顺序周期中检测当前下降沿的状态,从而把检测由混叠引起的重叠边沿的风险减至最小。对于5∶4的比值,等待零方式提供小于(核心周期-链路周期)或链路周期的2/8的歪斜容差。在所述工作方式下,一旦检测到采样的cr_edge时钟信号的0交叉状态和采样的cf_edge时钟信号的恒定下降沿状态,就确定有效边沿信号(edge_valid)。对于5∶4的比值,第二等待零方式(即等待零2方式)也提供小于(核心周期-链路周期)或链路周期的2/8的歪斜容差。在第二等待零方式下,有效边沿检测器电路在检测到采样的cr_edge时钟信号的0交叉状态和采样的cf_edge时钟信号的恒定下降沿状态后确定edge_valid信号。或者,在规定的时段后没有检测到零交叉时的超时之后,在所述方式下可能产生edge_valid信号。具体地说,在一个实施例中,应用了包括timeout_count_ff[11:0]信号的反馈环的超时计数器212(图2所示),在规定的时段过去后确定超时信号。一旦超时信号出现,有效边沿检测器就移位到假设起始稳定2方式。
图5A描绘电路块500A的示意图,电路块500A构成同步脉冲产生电路116的一部分。如前所述,把来自相位检测电路206的cf_edge信号输送到至少一个延迟寄存器208,在一个实施例中所述至少一个延迟寄存器208包括多个触发器334-344。有效边沿检测电路210包括”与”门502-506,后者接收触发器334-344分接头信号。”与”门502根据检测到当前下降沿状态而确定curr_cf_edge信号。”与”门502的第一输入是由触发器336提供的反向cf_edge_ff[1]信号。第二输入是由触发器334提供的cf_edge_ff[0]信号,第三输入是反向cf_edge信号。因此,检测当前下降沿状态的逻辑如下:
~cf_edge_ff[1] & cf_edge_ff[0] & ~cf_edge
对于5∶4的时钟比值,一旦检测到时钟前一个下降沿状态,“与”门504就确定prev_cf_edge_54信号。提供给”与”门504的第一输入是触发器344的反向cf_edge_ff[5]信号。第二输入是触发器342的cf_edge_ff[4],而第三输入是触发器340的反向cf_edge_ff[3]信号。因此,对于5∶4的时钟比值,检测前一个下降沿状态的逻辑如下:
~cf_edge_ff[5] & cf_edge_ff[4] & ~cf_edge_ff[3]
对于4∶3的时钟比值,一旦检测到前一个下降沿状态,“与”门506就确定prev_cf_edge_43信号。提供给”与”门506的第一输入是触发器342的反向cf_edge_ff[4]信号。第二输入是触发器340的cf_edge_ff[3],而第三输入是触发器338的反向cf_edge_ff[2]信号。因此,对于4∶3的时钟比值,检测前一个下降沿的逻辑如下:
~cf_edge_ff[4] & cf_edge_ff[3] & ~cf_edge_ff[2]
在比值信号控制下的复用器(MUX)电路508接收prev_cf_edge_54信号和prev_cf_edge_43信号。当链路时钟域和核心时钟域之间的时钟比值为5∶4时,把比值信号设置为[10]。另一方面,当时钟比值为4∶3时,把比值信号设置为[01]。在比值信号的控制下,MUX电路508合适地选择prev_cf_edge_54信号,或确定为prev_cf_edge信号的prev_cf_edge_43信号,prev_cf_edge信号表示上面讨论的前一个下降沿状态。应当指出,可以通过增加”与”门和MUX电路的数目以及增加比值信号的宽度来提供非5∶4和4∶3的比值。
图5B描绘电路块500B的示意图,电路块500B构成同步脉冲产生电路116的另一部分。鉴于上述图5A图解说明对与下降沿状态有关的cf_edge信号的处理过程,图5B说明了对与上升沿状态有关的cr_edge信号的处理过程。电路块500B包括包含触发器312-320的延迟寄存器208的一部分。此外,具有多个”与”门的有效边沿检测电路210的一部分被包括在电路块500B中。具体地说,”与”门510-520处理由延迟寄存器208的分接头提供的信号。而且,MUX电路522-524处理由”与”门510-520的对应部分产生的信号。
“与”门510产生表示当前上升沿增大(plus)状态的curr_cr_plus信号。cr_edge_ff[0]信号将第一输入提供给反向的”与”门510。cr_edge信号将第二输入提供给”与”门510。这样,检测当前上升沿增大状态的逻辑如下:
~cr_edge_ff[0] & cr_edge
“与”门512通过利用cr_edge_ff[3]信号对反向的cr_edge_ff[4]信号进行“与”运算来确定prev_cr_plus_54信号,后者表示时钟比值为5∶4的前一个上升沿增大状态。类似地,“与”门514通过利用cr_edge_ff[2]信号对反向的cr_edge_ff[3]信号进行“与”运算来确定prev_cr_plus_43信号,后者表示时钟比值为5∶4的前一个上升沿增大状态。在比值信号的控制下,MUX电路522根据时钟比值恰当地选择pfev_cr_plus_54信号或prev_cr_plus_43信号。
“与”门516通过对cr_edge_f[0]信号和反向cr_edge信号进行”与”运算来确定curr_cr_minus信号,后者表示当前上升沿减小(minus)状态。”与”门518通过对cr_edge_ff[4]信号和反向cr_edge_ff[3]信号进行”与”运算来确定prev_cr_minus_54信号,后者表示比值为5∶4的前一个上升沿减小状态。”与”门520通过对cr_edge_ff[3]信号和反向cr_edge_ff[2]信号进行”与”运算来确定prev_cr_minus_43信号,后者表示比值为4∶3的前一个上升沿减小状态。在比值信号的控制下,MUX电路524根据时钟比值恰当地选择prev_cr_mins_54信号或prev_cr_minus_43信号。
图5C描绘电路块500C,后者进一步确定有效边沿检测电路210的一部分。如下表所述,在方式信号控制下的MUX电路526确定有效边沿检测电路210的工作方式:
表1:方式信号和工作方式
方式信号[1:0] 选择的工作方式
00 假设起始稳定
01 假设起始稳定2
10 等待零
11 等待零2
关于假设起始稳定方式,当方式信号设置为[00]时,选择curr_cf_edge信号并确定为edge_valid信号。假设起始稳定方式的逻辑如下:
~cf_edge_ff[1] & cf_edge_ff[0] & ~cf_edge
关于假设起始稳定2方式,当方式信号设置为[01]时,”与”门528对由MUX电路508提供的curr_cf_edge信号和prev_cf_edge信号进行”与”运算,以便确定assume_start_stable2信号,后者接着由MUX电路526确定为edge_valid信号。在假设起始稳定2方式下,当前下降沿状态和前一个下降沿状态在edge_valid信号被确定前必须满足条件。这就保证在两次采样之间的歪斜很小,因而避免了混叠。例如,比值为5∶4的假设起始稳定2方式的逻辑如下:
(~cf_edge_ff[1] & cf_edge_ff[0] & ~cf_edge)&
(~cf_edge_ff[5] & cf_edge_ff[4] & ~cf_edge_ff[3])
关于等待零方式,当确定方式信号为[10]时,”与”门530对由”与”门510提供的curr_cr_plus信号和由MUX电路524提供的prev_cr_minus信号进行”与”运算,以便确定currp_prevm信号。”与”门532利用assume_start_stable2信号对currp_prevm信号进行”与”运算,以便确定转发给”或”门电路534的wait1信号。”或”门534的第二输入由”与”门536和538产生。具体地说,”与”门536对由”与”门516提供的curr_cr_minus信号和由MUX电路522提供的prev_cr_plus信号进行”与”运算,确定currm_prevp信号。”与”门538在确定wait2信号后对assume_start_stable2信号和currm_prevp信号进行”与”运算。
“或”门534在确定wait_for_zero信号后对wait1信号和wait2信号进行”或”运算。wait_for_zero信号是由MUX电路526在等待方式下为确定edge_valid信号选择的。一旦检测到零交叉状态,等待零方式设置edge_valid,所述零交叉状态是当上升沿在前一个和当前样本之间往前或往后转移,下降沿固定不变时出现的。不难理解,上升沿往前和往后转移是由与”与”门530和536相关联的逻辑检测到的。例如,比值为5∶4的等待零方式的逻辑如下:
{[(~cf_edge_ff[0] & cr_edge) & (cr_edge_ff[4]) &
~cf_edge_ff[3])] & assume_start_stable2}OR
{[(cr_edge_ff[0] & ~cr_edge) & ~cr_edge_ff[4] &
cr_edge_ff[3])] & assume_start_stable2}
关于等待零2方式,当方式信号被确定为[11]时,由”与”门528提供的assume_start_stable2和由”或”门534提供的wait_for_zero信号将第一和第二输入提供给在超时信号控制下的MUX电路540。正如由图3的超时计数器212确定的那样,如果在预定的超时周期后没有检测到零交叉,那么MUX电路540允许有效边沿检测电路210从等待零方式切换到假设起始稳定2方式。在出现小偏移并且歪斜足够小而不会出现零交叉时,这种包括零交叉超时条件的工作方式特别有用。与长时间等待零交叉(所述零交叉未出现)相反,等待零2方式切换到假设起始稳定2方式。
图6描绘说明时钟比值为5∶4的链路和核心时钟信号之间的不同歪斜的时序图600。周期计数指的是具体时序序列中core_clock周期的编号。Core_clock信号602和link_clock信号604之间的重叠上升沿分别用箭头606和608表示,其中,在core_clock和link_clock信号之间不存在歪斜。如前所述,这里描述的同步脉冲产生电路用于补偿各种歪斜。例如,core_clock信号610-614分别表示+1.125ns、+0.75ns和+0.375ns的歪斜,其中箭头616-620表示相对于link_clock 604的上升沿608的上升沿。类似地,core_clock信号622-626分别表示-0.375ns、-0.75ns和-1.125ns的歪斜。对于这些负的歪斜,在core_clock中用箭头628-632表示对应的上升沿。应当指出,图6描述的歪斜是说明性的,可能存在于core_c1ock和link_clock之间的其它歪斜处于本专利申请的技术范围内。
图7A描绘表700,后者进一步说明与图6描述的信号的上升时钟沿相关联的不同的歪斜。行610r-614r是与core_clock信号610-614相关联的逻辑电平和歪斜数据的表格表示形式。类似地,行602r是与core_clock信号602相关联的数据的表格表示形式,行622r-624r是与core_clock信号622-626相关的数据的表格表示形式。列702-716与周期计数和具体时序序列的core_clock周期数目对应。”r”指明升,”f”指明降(见图7B),”p1指明加1(+1)歪斜,”p2指明加2(+2)歪斜,”m1指明减1(-1)歪斜,而”m2指明减2(-2)歪斜。加歪斜或正歪斜定义为链路时钟的标准重叠上升沿首次出现的、由核心时钟信号中对应的上升沿跟随的状态。类似地,减或负歪斜表示链路时钟超过核心时钟。例如,在列708中的3-rp1标记表示列708的周期计数为3,对于所述周期计数,上升沿为加1歪斜。而且,列710的0-r0标记表示列710的周期计数为0,并且所述周期计数的上升沿不必调整。在类似的方式下,列712的标记1-rm1表示列712的周期计数为1,并且所述周期的上升沿为减1歪斜。列718表示对于具体的频率组合和相关频率比条件下,与特定行相关联的歪斜(毫微妙)。列720表示用链路时钟表示的与特定行相关的歪斜,列722提供用链路和核心周期表示歪斜的通用公式。
细长圆表示对边沿检测采样的位置,下画线表示重叠上升沿出现的周期。例如,关于行610r,逻辑电平序列[10011001]与通过对link_clock 604和core_clock 610的上升沿采样产生的逻辑电平对应。在所述序列中,正如分别在列706和708的逻辑电平的细长圆表示的,采样的上升沿出现在0到1的跃迁中,所述0到1的跃迁出现在周期2和3中。下画线表示上升沿出现在周期3(列708)中。
图7B描绘表750,后者进一步说明与图6描述的信号的下降时钟沿相关联的不同的歪斜。与图7A中的行610r-614r相似,行610f-614f为与core_clock信号610-614相关联的逻辑电平和歪斜数据的表格表示形式。列752-766与具体的时序序列中周期计数和core_clock的周期数目对应。列768也表示对于特定的频率和相关联的频率比的组合,与特定行相关联的歪斜(毫微妙)。列770表示用链路时钟表示的与特定行相关的歪斜,列772提供用链路和核心时钟周期表示歪斜的通用公式。细长圆表示采样边沿检测的位置,下画线表示重叠下降沿出现的周期。例如,行622f的电平[x0x1x0x1]表示对link_clock 604和core_clock 622的下降沿采样。应当指出,标记x意味着有效周期的出现。正如用环形的1到0跃迁表示的,在周期0可以检测到重叠边沿。
图8描述表800,后者说明与上升和下降时钟沿相关联的不同歪斜,所述上升和下降时钟沿与验证电路系统的工作方式有关。行602、610-614和622-626表示逻辑电平部分和与core_clok 602、610-614及622-626相关联的歪斜数据。列708-714表示如图7A给出的在core_clock的上升沿上采样的链路时钟电平,列756-762表示如图7B给出的在core_clock的下降沿上采样的链路时钟电平。列802表示等待零(WFZ)方式和等待零2(WFZ2)方式适合于哪一个歪斜。列804表示假设起始稳定(SS)方式和假设起始稳定2(SS2)方式适合于哪一个歪斜。列806表示对于特定的频率和相关联的频率比组合,与特定行相关的歪斜(毫微妙)。列808表示与关于链路时钟的特定行相关联的歪斜,而列810提供关于链路和核心时钟周期的歪斜的通用公式。
在图解说明的表格格式中,标号812描绘可以在等待零方式或等待零2方式下检测出来的零交叉状态。不难回忆,零交叉状态是在上升沿在前一个和当前样本之间向前跳变或向后跳变,而下降沿一直停留不动时出现的。关于标号812,上升沿在0和m1之间跳变,而下降沿停留不动。标号814描绘可以在假设起始稳定方式或假设起始稳定2方式下检测出来的当前下降沿的状态。不难回忆,通过检测清晰的下降沿(在它周围没有其它下降沿)来举例说明当前下降沿状态。
此外,参考以上的描述,具体地说图5A-5C所示的各种MUX配置,本专业的技术人员将明白,在假设起始稳定方式和假设起始稳定2方式下,本发明的实施例可以在相位检测期间利用下降沿单独地对第一时钟信号采样,从而省去cr_edge信号的产生和传输过程。此外,虽然在说明的相位检测实施例中,利用核心时钟信号(即较慢时钟)对链路时钟信号进行采样,但是显然,时钟采样也可以以相反的方式实现,即对于本发明的目的,可以利用较快的时钟信号对较慢的时钟信号采样。显然,在这样的一个实施例中,需要对逻辑以及信号电平和边沿(即关于下降/上升沿、逻辑1和逻辑0等)在细节上已作过修改的地方作相应的修改。
图9描绘同步产生电路204的一个实施例,同步产生电路204包括同步电路部分900、链路同步产生电路(即第一同步发生器)902和核心同步产生电路(即第二同步发生器)904。同步电路部分900接收edge_valid信号,并产生start_syncs_h_ff信号(即起始同步信号),基本上以重叠的上升沿为中心。更准确地说,edge_valid信号由同步产生状态机906接收,所述同步产生状态机906产生一组表示周期计数的状态信号。在一个实施例中,状态信号是state_ff[2:0]信号。每一个状态信号都由触发器908接收,触发器908确定state_ff信号,所述state_ff信号被反馈给同步产生状态机906,使得同步产生状态机906能够遍及其所有状态。还把state_ff信号提供给起始同步逻辑电路910,同步逻辑电路910接收比值信号,以便产生start_syncs信号(即初始的起始同步信号)。触发器912将start_syncs信号延迟一个周期,并将start_syncs_ff信号转发给触发器914,触发器914利用core_clock信号的下降沿对start_syncs_ff信号采样,以便将start_syncs_ff信号位移一个半个周期,并确定start_syncs_h_ff信号,所述start_syncs_h_ff信号基本上以重叠上升沿为中心。
如上所述,所述start_syncs_h_ff信号被转发给核心同步产生电路904,核心同步产生电路904包括触发器916、核心同步发生器918和触发器920-926。起初,触发器916接收start_syncs_h_ff信号,将start_syncs_h_ff信号保持一个周期,并确定由核心同步发生器918接收的start_core_sync_ff信号。start_core_sync_ff信号激励核心同步发生器918,核心同步发生器918根据比值信号产生core_sync_ff信号,通过触发器922-926将所述core_sync_ff信号分段(stagged),以便在核心时钟域产生sync_c脉冲。如图中所示,core_sync_ff信号返回到核心同步发生器。而且,核心同步发生器确定被触发器920采样并被返回到核心同步发生器918的core_cycle_ff[2:0]信号。为core_cycle_ff信号和core_sync_ff信号而设的反馈环可以帮助保持核心同步发生器918的脉冲产生性能。
此外,start_syncs_h_ff信号被转发给设置在链路时钟域的链路同步发生电路系统902。链路同步发生电路902的电路系统与核心同步发生电路904的电路系统类似。触发器928接收star_syncs_h_ff信号,并确定由链路同步发生器930接收的start_link_sync_ff信号。在把比值信号提供给链路同步发生器930之前,所述比值信号由触发器932和934利用link_clock信号计时。链路同步发生器930产生link_sync_ff信号,后者由触发器938利用link_clock采样,并由触发器940-944利用link_clock采样。获得的sync_1信号包括链路时钟域的同步脉冲。与link_cycle_ff信号相关联的触发器936以及与link_sync_ff信号相关联的触发器938提供关于链路同步发生器930的反馈回路。
本专业的技术人员应当明白,图9所示的输出级触发器配置(即,在sync_c信号路径中的触发器924和926和在sync_1路径上的触发器940、942和944)适合于许多变型并且在一个实施例中可以根据实际的设计方案以各个域的延迟/分布树的一部分的形式提供。
图10描绘与图9的同步产生电路204相关联的时序图1000。再次以link_clock信号和core_clock信号之间的5∶4的时钟频率比作为例子。周期计数指的是core_clock信号在具体的时序系列中的编号。具体地说,时序图1000说明,edge_valid信号由同步产生状态机906接收,为产生合适的同步脉冲,所述同步产生状态机906在链路和核心时钟域产生状态计数。根据比值信号,同步产生状态机从0到最大值计数(在说明的实施例中,由state_ff[2:0]引起的最大值为7)。起始同步逻辑电路910(图9中)产生start_syncs信号,以便当state_ff[2:0]为4(这是周期3,即,重叠上升沿前的周期)时确定start_syncs_ff信号。start_syncs_ff信号被触发器914延迟半个周期。这产生基本上以重叠上升沿为中心的start_syncs_h_ff信号。关于核心同步电路904,start_syncs_h_ff信号由触发器916再延迟半个周期。start_core_sync_ff信号激励core_cycle_ff信号的产生,core_cycle_ff信号激励core_sync_ff信号的产生,随后,core_sync_ff信号激励core_cycle_ff信号的产生等等。如先前关于图9所说明的,适当地将core_sync_ff信号分段,以便以sync_c信号的形式提供所述信号。类似地,关于链路同步电路902,start_syncs_h_ff信号由触发器928延迟半个周期。此后,start_link_sync_ff信号激励link_cycle_ff信号的产生,link_cycle_ff信号激励link_sync_ff信号的产生,随后,link_sync_ff信号激励link_cycle_ff信号的产生等等。如先前关于图9所说明的,再次通过触发器940-944将link_sync_ff信号适当地分段,以便以sync_1信号的形式提供所述信号。
图11描绘同步脉冲产生方法的一个实施例。在方块1100,利用第二时钟信号对第一时钟信号进行采样,以便确定第一和第二时钟信号的重叠上升沿。在方块1102,根据第一和第二时钟信号之间的歪斜容差验证重叠上升沿。在方块1104,产生表示已验证的重叠上升沿的有效边沿信号。可以通过或者检测重叠的边沿(例如,假设起始稳定方式或假设起始稳定2方式)或者检测零交叉(例如,零等待方式或零等待2方式)来验证有效边沿信号,因而,抑制了由时钟信号混叠引起的重叠边沿。因此,根据适当的时钟比值,若干工作方式以可配置方式提供较大的歪斜容差。在方块1106,对有效边沿信号作出响应,在第一时钟域产生同步脉冲,并且在第二时钟域产生同步脉冲。
图12描绘可以与上文中描述的电路系统(具体地说,参照图2和3描述的电路系统)一起工作的相位检测方法的一个实施例。在方块1200,利用第二时钟信号的上升沿对第一时钟信号进行采样,以便确定具有0到1跃迁的第一采样时钟信号,所述采样时钟信号表示第一和第二时钟信号中的重叠上升沿。在一个实施例中,在第一和第二时钟信号之间的重叠边沿出现之前确定第一采样时钟信号。应当指出,可以配置关于重叠上升沿和重叠下降沿的逻辑。在方块1202,利用第二时钟信号的下降沿对第一时钟信号进行采样,以便确定具有1到0跃迁的第二采样时钟信号,所述第二采样时钟信号表示时钟信号中的重叠上升沿。与第一采样时钟信号类似,也可以在第一和第二时钟信号之间的重叠上升沿出现之前确定第二采样时钟信号。正如关于方块1200所说明的,可以与重叠上升沿有关地或者与重叠下降沿有关地实现本发明的方法。因此,在本实施例中,同步脉冲发生器利用在较慢时钟域中运行的逻辑检测两个时钟之间的重叠边沿,从而提供更好的时序。此外,借助于再一个实施例,在上面提到的某些方式下,也可以仅仅使用第二采样时钟信号来实现本发明的方法。
图13描绘同步产生方法的一个实施例。在方块1300,作为对比值和表示重叠边沿的有效边沿信号的响应,产生基本上以第一和第二时钟信号之间的重叠上升沿/下降沿为中心的起始同步信号。在方块1302,作为对起始同步信号的响应,确定第一时钟域中的第一同步脉冲。在方块1304,作为对起始同步信号的响应,确定第二时钟域中的第二同步脉冲,使得第一和第二同步脉冲基本上同时被确定。因此,本文中描述的系统和方法允许歪斜容差,从不产生同步脉冲的通用PLL产生高速同步脉冲。而且,本文中描述的系统和方法,即使在同步脉冲发生器初步检测到重叠边沿和开始产生同步脉冲后,允许时钟之间出现漂移。
图14A描绘与同步脉冲发生器的一个实施例相关联的另一个时序图1400的一部分,其中link_clock信号和core_clock信号之间的时钟频率比为4∶3。在具体的时序系列中,周期计数指的是core_clock周期的编号。具体地说,时序图1400分别说明了触发器324-330、”与”门332和触发器334及336(示于图3中)的输出pd_cf1_ff、pd_cf2_ff、pd_cf3_ff、pd_cf4_ff、cf_edge、cf_edge_ff[0]和cf_edge_ff[1]。开始时,例如,如标号1402、1404和1406所示,在core_clock的下降沿对link_clock采样。应该注意,如标号1408、1410和1412所示,在周期2期间检测到的1到0的跃迁。此外,由于在说明的link_clock和core_clock之间没有出现歪斜,所以系统处于假设起始稳定方式,其中,检测到用标号1414表示的与逻辑组合{~cf_edge & cf_edge_ff[0] & ~cf_edge_ff[1]}对应的下降沿的组合。
图14B描绘时序图1450,它是图14A所示的时序图1400的继续。在所述时序图中,有效边沿检测电路210、同步产生状态机906、起始同步逻辑电路910、触发器912和触发器914的输出分别表示为edge_valid、state_ff[2:0]、start_syncs_ff和start_syncs_h_ff。另外,关于核心同步器电路系统904,触发器916、触发器920和触发器922的输出分别表示为start_core_sync_ff、core_cycle_ff和core_sync_ff。类似地,关于链路同步器电路系统902,触发器928、触发器936和触发器938的输出分别表示为start_link_sync_ff、link_cycle_ff和link_sync_ff。因此,应当指出,这里描述的同步脉冲发生器可以适用于任何比值N∶M(包括比值5∶4以外的时钟域比值)的时钟域。
虽然已经参照某些图解说明描述了本发明,但是应当指出,这里给出和描述的本发明的形式仅作为说明性实施例对待。在不脱离由附属的权利要求书确定的本发明的精神和范围的情况下,可以进行各种变化、替换和修改。
Claims (10)
1.一种在时钟同步器(100)中工作的同步脉冲发生器(116),用于实现设置在第一时钟域的第一电路系统(103A)和设置在第二时钟域的第二电路系统(103B)之间的数据传送,其中,所述第一时钟域以第一时钟信号(108)工作,所述第二时钟域以第二时钟信号(106)工作,所述第一和第二时钟信号(108、106)具有N个第一时钟周期与M个第二时钟周期的比值,其中,N/M≥1,所述同步脉冲发生器(116)包括:
相位检测电路系统(200),用于利用所述第二时钟信号(106)对所述第一时钟信号(108)进行采样,以便确定所述第一和所述第二时钟信号(108、106)的重叠边沿;
验证电路系统(202),它根据所述第一和第二时钟信号(108、106)的歪斜容差验证所述重叠边沿,并对其作出响应而产生有效边沿信号(edge_valid);以及
同步产生电路系统(204),它响应所述有效边沿信号(edge_valid),在所述第一时钟域产生同步脉冲(sync_l)和在所述第二时钟域产生同步脉冲(sync_c)。
2.如权利要求1所述的同步脉冲发生器(116),其中,所述相位检测电路系统(200)还包括:
第一逻辑部分(302-310),用于利用所述第二时钟信号(106)的上升沿对所述第一时钟信号(108)进行采样,以便确定具有0到1跃迁的第一采样时钟信号(cr_edge),所述0到1的跃迁表示在所述第一和第二时钟信号(108、106)中的重叠上升沿;以及
第二逻辑部分(324-332),用于利用所述第二时钟信号(106)的下降沿对所述第一时钟信号(108)进行采样,以便确定具有1到0跃迁的第二采样时钟信号(cf_edge),所述1到0的跃迁表示在所述第一和第二时钟信号(108、106)中的重叠上升沿。
3.如权利要求2所述的同步脉冲发生器(116),其中,根据检测到关于所述第二采样时钟信号(cf_edge)的当前下降沿组合来确定所述有效边沿信号(edge_valid)。
4.如权利要求3所述的同步脉冲发生器(116),其中,所述当前下降沿组合包括{~cf_edge & cf_edge_ff[0]&~cf_edge_ff[1])的逻辑组合。
5.如权利要求3所述的同步脉冲发生器(116),其中,根据顺序地两次检测到所述当前下降沿组合来确定所述有效边沿信号(edge_valid)。
6.如权利要求2所述的同步脉冲发生器(116),其中,根据检测到所述第一采样时钟信号(cr_edge)中的零交叉状态和所述第二采样时钟信号(cf_edge)中的恒定下降沿状态来确定所述有效边沿信号(edge_valid)。
7.如权利要求2所述的同步脉冲发生器(116),其中,在没有在所述第一采样时钟信号(cr_edge)中检测到零交叉状态的超时时段之后确定所述有效边沿信号(edge_valid)。
8.一种用于时钟同步器(100)中的同步脉冲产生方法,用于实现设置在第一时钟域的第一电路系统(103A)和设置在第二时钟域的第二电路系统(103B)之间的数据传送,其中,所述第一时钟域以第一时钟信号(108)工作,所述第二时钟域以第二时钟信号(106)工作,所述第一和第二时钟信号(108、106)具有N个第一时钟周期与M个第二时钟周期的比值,其中,N/M≥1,所述方法包括:
利用所述第二时钟信号(106)对所述第一时钟信号(108)进行采样,以便确定所述第一和第二时钟信号(108、106)的重叠边沿;
根据所述第一和第二时钟信号(108、106)之间的歪斜容差验证所述重叠边沿;
产生表示已验证的重叠边沿的有效边沿信号(edge_valid);以及
响应所述有效边沿信号(edge_valid),产生所述第一时钟域的同步脉冲(sync_l)和第二时钟域的同步脉冲(sync_c)。
9.如权利要求8所述的方法,其中,利用所述第二时钟信号(106)对所述第一时钟信号(108)采样的所述操作还包括:
利用所述第二时钟信号(106)的上升沿对所述第一时钟信号(108)进行采样,以便产生具有0到1跃迁的第一采样时钟信号(cr_edge),所述0到1的跃迁表示所述第一和第二时钟信号(108、106)中的所述重叠上升沿;以及
利用所述第二时钟信号(106)的下降沿对所述第一时钟信号(108)进行采样,以便产生具有1到0跃迁的第二采样时钟信号(cf_edge),所述1到0的跃迁表示所述第一和第二时钟信号(108、106)中的所述重叠上升沿。
10.如权利要求8或9所述的方法,其中,产生所述有效边沿信号(edge_valid)的所述操作还包括根据检测到以下各种参数之一来确定所述有效边沿信号(edge_valid):(i)关于所述第二采样时钟信号(cf_edge)的当前下降沿;(ii)所述当前下降沿的顺序两次的组合;(iii)所述第一采样时钟信号(cr_edge)中的零交叉状态和所述第二采样时钟信号(cf_edge)中的恒定下降沿状态;以及(iv)其中未在所述第一采样时钟信号(cr_edge)中检测到零交叉状态的超时时段的终止。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/898,404 US7382847B2 (en) | 2004-07-23 | 2004-07-23 | Programmable sync pulse generator |
US10/898404 | 2004-07-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1725144A true CN1725144A (zh) | 2006-01-25 |
CN100454209C CN100454209C (zh) | 2009-01-21 |
Family
ID=35657102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100895239A Expired - Fee Related CN100454209C (zh) | 2004-07-23 | 2005-07-22 | 可编程同步脉冲发生器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7382847B2 (zh) |
CN (1) | CN100454209C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102918513A (zh) * | 2010-04-01 | 2013-02-06 | 英特尔公司 | 用于启用确定性接口的方法、装置和系统 |
CN104169828A (zh) * | 2011-12-22 | 2014-11-26 | 英特尔公司 | 确定性的时钟跨越 |
CN108279591A (zh) * | 2017-12-20 | 2018-07-13 | 北京控制工程研究所 | 一种仿真平台数字量通用输出方法 |
CN113424205A (zh) * | 2019-03-06 | 2021-09-21 | 量子机械公司 | 具有模块化和动态脉冲生成和路由的量子控制器中的同步 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8806035B2 (en) * | 2005-05-12 | 2014-08-12 | Hewlett-Packard Development Company, L.P. | Transfer of control in digital content access sessions |
US7697647B1 (en) * | 2005-10-03 | 2010-04-13 | Avaya Inc. | Method and system for switching between two (or more) reference signals for clock synchronization |
US7587190B2 (en) * | 2006-05-08 | 2009-09-08 | Texas Instruments Incorporated | Systems and methods for low power clock generation |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5339408A (en) * | 1992-12-30 | 1994-08-16 | Digital Equipment Corporation | Method and apparatus for reducing checking costs in fault tolerant processors |
US5721886A (en) * | 1995-11-30 | 1998-02-24 | Ncr Corporation | Synchronizer circuit which controls switching of clocks based upon synchronicity, asynchronicity, or change in frequency |
US6084934A (en) * | 1997-03-06 | 2000-07-04 | International Business Machines Corporation | Natural throttling of data transfer across asynchronous boundaries |
US5923195A (en) * | 1997-03-28 | 1999-07-13 | Cypress Semiconductor Corp. | Fast clock generator and clock synchronizer for logic derived clock signals with synchronous clock suspension capability for a programmable device |
US6084447A (en) * | 1997-03-28 | 2000-07-04 | Cypress Semiconductor Corp. | Pulse discriminating clock synchronizer for logic derived clock signals with synchronous clock suspension capability for a programmable device |
US5920213A (en) * | 1997-03-28 | 1999-07-06 | Cypress Semiconductor Corp. | Pulse discriminating clock synchronizer for logic derived clock signals for a programmable device |
US6175603B1 (en) * | 1997-08-07 | 2001-01-16 | Cisco Technology, Inc. | System for managing signals in different clock domains and a programmable digital filter |
GB9720811D0 (en) * | 1997-09-30 | 1997-12-03 | Sgs Thomson Microelectronics | Dual port buffer |
US6075832A (en) * | 1997-10-07 | 2000-06-13 | Intel Corporation | Method and apparatus for deskewing clock signals |
US6037809A (en) * | 1998-06-02 | 2000-03-14 | General Electric Company | Apparatus and method for a high frequency clocked comparator and apparatus for multi-phase programmable clock generator |
US6289068B1 (en) * | 1998-06-22 | 2001-09-11 | Xilinx, Inc. | Delay lock loop with clock phase shifter |
US6166963A (en) * | 1998-09-17 | 2000-12-26 | National Semiconductor Corporation | Dual port memory with synchronized read and write pointers |
US6369624B1 (en) * | 1998-11-03 | 2002-04-09 | Altera Corporation | Programmable phase shift circuitry |
US6448820B1 (en) * | 1998-11-04 | 2002-09-10 | Altera Corporation | Fast locking phase frequency detector |
US6114915A (en) * | 1998-11-05 | 2000-09-05 | Altera Corporation | Programmable wide-range frequency synthesizer |
JP2001051747A (ja) * | 1999-08-12 | 2001-02-23 | Fujitsu Ltd | クロック制御回路 |
JP3919990B2 (ja) * | 1999-11-10 | 2007-05-30 | 富士通株式会社 | タイミング同期システム、そのシステムに用いられる装置およびタイミング同期方法 |
US6718477B1 (en) * | 2000-03-06 | 2004-04-06 | William C. Plants | Delay locked loop for an FPGA architecture |
DE10048590B4 (de) * | 2000-09-30 | 2008-02-28 | Infineon Technologies Ag | Phasenregelkreis |
US20020199124A1 (en) * | 2001-06-22 | 2002-12-26 | Adkisson Richard W. | System and method for synchronizing data transfer across a clock domain boundary |
US6759881B2 (en) * | 2002-03-22 | 2004-07-06 | Rambus Inc. | System with phase jumping locked loop circuit |
US7102402B2 (en) * | 2002-05-23 | 2006-09-05 | Intel Corporation | Circuit to manage and lower clock inaccuracies of integrated circuits |
JP3869406B2 (ja) * | 2003-11-10 | 2007-01-17 | 株式会社東芝 | クロック位相差検出回路、クロック分配回路、及び大規模集積回路 |
US7119582B2 (en) * | 2004-07-23 | 2006-10-10 | Hewlett-Packard Development Company, Lp. | Phase detection in a sync pulse generator |
-
2004
- 2004-07-23 US US10/898,404 patent/US7382847B2/en active Active
-
2005
- 2005-07-22 CN CNB2005100895239A patent/CN100454209C/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102918513A (zh) * | 2010-04-01 | 2013-02-06 | 英特尔公司 | 用于启用确定性接口的方法、装置和系统 |
CN102918513B (zh) * | 2010-04-01 | 2016-02-24 | 英特尔公司 | 用于启用确定性接口的方法、装置和系统 |
CN104169828A (zh) * | 2011-12-22 | 2014-11-26 | 英特尔公司 | 确定性的时钟跨越 |
CN104169828B (zh) * | 2011-12-22 | 2017-02-08 | 英特尔公司 | 高带宽通信装置和系统 |
CN108279591A (zh) * | 2017-12-20 | 2018-07-13 | 北京控制工程研究所 | 一种仿真平台数字量通用输出方法 |
CN113424205A (zh) * | 2019-03-06 | 2021-09-21 | 量子机械公司 | 具有模块化和动态脉冲生成和路由的量子控制器中的同步 |
CN113424205B (zh) * | 2019-03-06 | 2023-09-29 | 量子机械公司 | 具有模块化和动态脉冲生成和路由的量子控制器中的同步系统 |
Also Published As
Publication number | Publication date |
---|---|
US7382847B2 (en) | 2008-06-03 |
CN100454209C (zh) | 2009-01-21 |
US20060018416A1 (en) | 2006-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1725144A (zh) | 可编程同步脉冲发生器 | |
KR101667980B1 (ko) | 다상 pwm 신호들의 외부 동기화 장치 및 방법 | |
CN100571118C (zh) | 用于时钟同步的方法和装置 | |
KR101169972B1 (ko) | 동기 펄스 발생기에서의 위상 검출 | |
US20100313059A1 (en) | Method and circuit for trimming an internal oscillator of a usb device | |
US8023602B2 (en) | Serial data communication apparatus and methods of using a single line | |
JP6059404B2 (ja) | N階乗デュアルデータレートクロックデータリカバリ | |
US9203599B2 (en) | Multi-lane N-factorial (N!) and other multi-wire communication systems | |
CN101084626B (zh) | 相位内插器、接收机和辅助相位内插器恢复时钟信号的方法 | |
CN100521540C (zh) | 通用时钟同步器及通用时钟同步方法 | |
CN1271486C (zh) | 不同脉冲域间信号同步的装置与运作方法 | |
US20120072759A1 (en) | Timing Error Correction System and Method | |
CN1842070A (zh) | 具有多级的定时恢复电路 | |
JPWO2011030628A1 (ja) | インターフェース回路、インバータ装置、インバータシステム及び送受信方法 | |
CN106941344A (zh) | 信号自校准电路和方法 | |
GB2416650A (en) | Generating two synchronisation pulses when two clock signals with different frequencies have coincident edges, to aid data transfer between clock domains | |
JP4544858B2 (ja) | 多位相符号化プロトコルを利用するネットワークおよび方法 | |
US7436917B2 (en) | Controller for clock synchronizer | |
JP2016021629A (ja) | Cdr回路及び半導体装置 | |
JP2008148504A (ja) | モータ制御装置およびモータ制御システム並びにモータ制御装置の制御演算処理方法 | |
US9602272B2 (en) | Clock and data recovery circuit and system using the same | |
TW201714443A (zh) | 多道分數n(n!)及其他多線通信系統 | |
CN100385341C (zh) | 用于激光打印机的扫描线对准补偿装置和方法 | |
CN1902502A (zh) | 延迟故障测试电路以及相关方法 | |
CN111030688B (zh) | 一种外部输入时钟rpck的同步系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170119 Address after: American Texas Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Patentee before: Hewlett Packard Development Co. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090121 Termination date: 20190722 |