CN103812474A - 高分辨率相位检测器 - Google Patents
高分辨率相位检测器 Download PDFInfo
- Publication number
- CN103812474A CN103812474A CN201310556324.9A CN201310556324A CN103812474A CN 103812474 A CN103812474 A CN 103812474A CN 201310556324 A CN201310556324 A CN 201310556324A CN 103812474 A CN103812474 A CN 103812474A
- Authority
- CN
- China
- Prior art keywords
- clock signal
- clock
- edge
- phase
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R25/00—Arrangements for measuring phase angle between a voltage and a current or between voltages or currents
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
提供了高分辨率相位检测器。提供了用于时钟相位检测的方法和系统。生成第一时钟信号的经延迟版本的集合。第一时钟的经延迟版本的集合用来将第二时钟信号采样,在与第一时钟信号相对应的域中产生采样的序列。在采样的序列内定位至少一个边沿指示。
Description
技术领域
本发明涉及电路,并且更具体地,涉及时钟相位检测。
背景技术
许多数字系统具有多个时钟域。因此,当信号从一个时钟域移动到另一个时钟域时,其必须被同步以避免亚稳定性和同步失败。如果两个时钟具有固定的频率,那么两个时钟之间的相位关系是周期性的,以两个时钟的拍频。通过利用该周期性的相位关系,周期性的同步器能够比不得不处置跨时钟中的至少一个以可变频率运行的时钟域的同步器更简单、具有更低时延和更低的故障概率。
当时钟中的至少一个以可变频率运行时,同步器的设计更复杂。典型地,使用异步的先入先出(FIFO)利用周期性的时钟来同步时钟域之间的信号传递。FIFO存储器引发大量面积开销。FIFO还添加延迟的若干循环作为格雷码输入,并且FIFO的输出指针必须通过多个触发器来同步以可靠地跨时钟域传送信号。
因此存在对于解决与现有技术相关联的这些和/或其他问题的需求。
发明内容
提供了用于时钟相位检测的方法和系统。生成第一时钟信号的经延迟版本的集合。第一时钟的经延迟版本的集合用来将第二时钟信号采样,在与第一时钟信号相对应的域中产生第二时钟采样的序列。在第二时钟采样的序列内定位至少一个边沿指示。
附图说明
图1A示出根据一个实施例的、用于在时钟信号采样的序列内定位边沿指示的方法的流程图。
图1B示出根据一个实施例的、用于使用边沿指示来检测相位的方法的流程图。
图2A示出根据一个实施例的高分辨率相位检测器。
图2B示出根据一个实施例的、图2A的时钟延迟单元。
图2C示出根据一个实施例的、图2A的时钟采样单元。
图2D示出根据一个实施例的、图2A的边沿检测单元。
图2E示出根据一个实施例的、图2A的相位单元。
图2F示出根据一个实施例的、图2A的周期单元。
图3A示出根据一个实施例的、两个时钟信号的波形。
图3B示出根据一个实施例的、两个时钟信号的其他波形。
图4示出根据一个实施例的、用于确定相位和周期的方法的流程图。
图5A示出根据一个实施例的另一高分辨率相位检测器。
图5B示出根据一个实施例的、图5A的开环时钟延迟单元。
图5C示出根据一个实施例的、图5A的时钟采样单元。
图5D示出根据一个实施例的、图5A的周期计算单元。
图5E示出根据一个实施例的、图5A的相位单元。
图5F示出根据一个实施例的、图5A的周期单元。
图5G示出根据一个实施例的、用于确定相位和周期的方法的另一流程图。
图6A示出其中可实现各先前实施例的各架构和/或功能性的示例性集成电路。
图6B示出其中可实现各先前实施例的各架构和/或功能性的示例性系统。
具体实施方式
智能手机、平板电脑、膝上型电脑和其他移动设备中使用的处理器有时降低提供给一个或多个集成电路设备的供电电压以降低功耗并延长电池再充电之间的时间。集成电路设备还可基于不同运行模式改变对设备内的不同电路的电源电压电平。随着电源电压电平的降低,取决于特定电源电压电平的任何时钟信号可以以较低频率运行。当电源电压电平增加时,时钟信号的频率也增加。因为时钟频率可根据电源电压电平而变化,所以无法依靠依赖不同时钟域之间的固定关系的常规同步技术用于在时钟中的至少一个具有可变频率的时钟域之间传送信号。
虽然时钟频率可响应于变化的电源电压电平而变化,但是本文所描述的技术也可应用到时钟频率出于其他原因而变化的情况。例如,时钟频率可随着温度变化而变化或作为编程的结果而变化。
关于本描述,第一时钟域是信号可从其中所采样的任何类型的系统的时钟域。例如,第一时钟域可以是中央处理单元(CPU)、图形处理单元(GPU)、存储器控制器和/或具有时钟域的任何其他系统的时钟域。第一时钟域可包括具有特定频率或可以变化的频率的第一时钟信号。第二时钟域可包括具有特定频率或可以变化的频率的第二时钟信号。从第二域传送到第一域的信号被同步到第一时钟域。
低时延同步器可被设计为使用两个时钟域之间的相对相位,而不是使用使用异步的先入先出缓冲区(FIFO)在时钟域之间传递信号的常规同步器。假定第一时钟信号在接收时钟域中并且第二时钟信号在传送时钟域中,相对相位用来确定传送时钟域中的信号何时可在接收时钟域中被采样。本文所进一步描述的高分辨率相位检测器可配置为当一个或两个时钟信号具有变化的频率时跟踪频率瞬态并生成两个时钟域之间的相对相位和周期。高分辨率相位检测器使用是本地或接收的时钟(clkr)的第一时钟信号并从传送时钟域(clkt)接受第二时钟信号。高分辨率相位检测器输出将相位值(Phase)和周期值(Period)编码的两个信号。phase值表示在clkr单位区间(UI)从clkt上的最后的跃迁到clkr上的最后的跃迁的时间。period值表示在clkr UI在clkt上的最后两次跃迁之间的时间。
图1A示出根据一个实施例的、用于在时钟信号采样的序列内定位边沿指示的方法100的流程图。在步骤105,生成第一时钟信号的经延迟版本的集合。第一时钟信号的每个经延迟版本是第一时钟信号的不同相位。在步骤110,使用第一时钟信号的经延迟版本的集合将第二时钟信号采样以在第一时钟域中产生采样的序列。随后,在步骤115,在采样的序列内,至少一个边沿指示被定位。边沿指示是采样的序列中的采样的上升或下降的跃迁。至少一个边沿指示可用来计算相位和周期值。
图1B示出根据一个实施例的、用于使用边沿指示检测相位的方法130的流程图。完成步骤105、110和115以提供至少一个边沿指示。在步骤120,处理最新的边沿指示以计算表示第二时钟信号相对于第一时钟信号的的相位的相位值。在步骤125,处理两个最新的边沿指示以计算表示第二时钟信号和第一时钟信号之间的相对周期的周期值。
图2A示出根据一个实施例的高分辨率相位检测器200。高分辨率相位检测器200包括时钟延迟单元210、时钟采样单元220、边沿检测单元230、相位单元240和周期单元250。高分辨率相位检测器200接收第一时钟信号Clk201以及第二时钟信号Clk202,并生成两个值,phase(相位)203和period(周期)204。phase203和period204值每个由多位信号编码。phase203的值表示第二时钟相对于第一时钟的相位。period204的值表示第二时钟和第一时钟之间的相对周期。第一时钟和第二时钟中的至少一个可随时间变化。高分辨率相位检测器200被设计为随着第一时钟和/或第二时钟的频率变化连续地测量相位和周期。
图2B示出根据一个实施例的、图2A的时钟延迟单元210。一系列N个延迟元件211产生N个均匀分布的不同时钟相位、Clk201的经延迟版本,具体为Clk_d0、Clk_d1、Clk_d2、Clk_d3、…Clk_dN。相位比较器215将延迟配置为延迟元件211按其延迟各自的输入信号(Clk201和Clk201的经延迟版本),以确保时钟相位跨越Clk201的一个周期,即使得Clk201=Clk_d0与Clk_dN具有相同相位。因为相位比较器215控制由延迟元件211所引入的延迟,所以时钟延迟单元210是闭环延迟电路。可通过增加由时钟延迟单元210所生成的Clk201的经延迟版本的数目来增加高分辨率相位检测器200的分辨率。
图2C是根据一个实施例的、图2A的时钟采样单元220。时钟采样单元220包括多个触发器222和相对应的多个同步器224。时钟采样单元220接收由时钟延迟单元210所生成的Clk201的经延迟版本并在Clk201的域中产生第二时钟信号Clk202的采样的序列。Clk201的每个经延迟版本,Clk_d0、Clk_d1、…Clk_dN用来将Clk202采样,在触发器222的输出产生采样的序列225。采样225随后被同步器224重新定时(以将采样225与Clk201对齐)和同步(因为Clk202是异步信号),以产生Clk202的采样的序列,Clk_s0、Clk_s1、Clk_s2、Clk_s3、…Clk_sN。同步器224典型地包括一个或多个触发器、数量足够多以达到低同步故障概率。例如,串行的4或5个触发器使故障概率小于10-40。
图2D示出根据一个实施例的、图2A的边沿检测单元230。边沿检测单元230包括AND(与)门231的阵列、边沿标识单元232、和多个编码器234。边沿检测单元230接收由时钟采样单元220所产生的采样的序列Clk_s0、Clk_s1、…Clk_sN。采样的序列Clk_s0、Clk_s1、…Clk_sN被输入到AND门231的阵列以在采样的序列内定位边沿指示,例如上升的跃迁。换句话说,AND门231的阵列检测由第一时钟信号Clk201所采样的第二时钟信号Clk202的上升沿。在一个实施例中,边沿检测单元230可配置为定位是下降的跃迁或下降和上升的跃迁二者的边沿指示。
如果在Clk201的经延迟版本Clk_di-1和Clk_di之间出现Clk202的上升沿,那么跃迁信号233ti=Clk_si和~Clk_si-1的一个或多个位为真,其中i范围从0到N。例如,对于i范围从0到N=8,当在Clk_d3和Clk_d4之间出现Clk202的上升沿并且在Clk_d7和Clk_d8之间出现Clk202的下降沿时,Clk_si信号是000011110并且跃迁信号233将值000010001编码。如果位中的任何一个为真,那么跃迁信号233ti被输入到边沿标识单元232,边沿标识单元232在跃迁信号233的序列中找到为真的第一位和为真的第二位(从tN开始)。为真的第一位和为真的第二位的独热(one-hot)编码在依次被编码器234编码成m=log2(N)-bit(位)的二进制信号first235和second237的信号first_oh和second_oh上输出。跃迁信号233和/或first_oh和second_oh信号可被视为边沿指示。first235和second237值被编码为信号并指示边沿指示的定位,作为自tN的第一和第二跃迁分别出现的若干位位置。例如,当跃迁信号233将值000010001编码时,first235和second237的值分别是000000001和000010000。信号分别将也由编码器234所产生的值first_v236和second_v238编码以指示是否找到第一和第二跃迁。
图2E示出根据一个实施例的、图2A的相位单元240。相位单元240从边沿检测单元230接收值first235和first_v236并生成相位203值。相位单元240包括相位寄存器244、增量器242和多路复用器246。如果检测到跃迁,例如first_v236被确立(为真),那么first235等于相位值。first235是从Clk201的上升沿到Clk202的最新跃迁的测量(以时间为单位)。当first_v236被确立时,多路复用器246选择first235值作为输出—下一相位。当未检测到跃迁时,例如first_v236未被确立,那么多路复用器246选择incremented phase(经增量的相位)245作为下一相位。incremented phase245值由增量器242计算为相位203增量ONE。常量ONE表示Clk201的一个周期。
next_phase值输入到输出phase203信号的相位寄存器244。可转译下面的代码(Verilog)以生成在相位单元240中示出的逻辑的至少一部分,具体来讲,以将输入(next_phase)提供给相位寄存器244:
assign next_phase=first_v?first:phase+`ONE;
图2F示出根据一个实施例的、图2A的周期单元250。周期单元250包括周期寄存器254、减法器252和两个多路复用器256和258。周期单元250从边沿检测单元230接收first235、first_v236、second237和second_v238并从相位单元240接收incremented phase245并生成period204输出信号。如果检测到第二跃迁,例如second_v238被确立(为真),那么second235等于周期值。如果未检测到跃迁,例如first_v236和second_v238均未被确立,那么next_period(和period204)不改变。否则,如果检测到两个跃迁,例如first_v236和second_v238均被确立,那么next_period通过从先前跃迁的相位second237减去first235来计算。如果仅检测到一个跃迁,例如first_v236被确立,那么next_period通过从先前跃迁的相位incremented phase245减去first235来计算。换句话说,如果在Clk201的相同周期中检测到第二跃迁,那么从最后跃迁的相位second237中减去当前相位first235,否则,从最后跃迁的相位incremented phase245中减去当前相位first235。
当检测到第二跃迁时,也检测到第一跃迁。当second_v238被确立时,多路复用器256选择second237值作为减法器252的输入。当未检测到第二跃迁时,多路复用器256选择incremented phase245作为减法器252的输入。减法器从输入减去first235值以生成输出。当检测到第一跃迁时,多路复用器258选择减法器252的输出作为下一周期。否则,多路复用器258选择周期寄存器254的输出作为下一周期并且period204值不改变。
可转译下面的Verilog以生成周期单元250中示出的逻辑的至少一部分,具体来讲以将输入(next_period)提供给周期寄存器254:
assign next_period=first_v?
(second_v?second:(phase+`ONE))-first):period;
next_period值被输入到输出period204信号的周期寄存器254。
在一个实施例中,当Clk201是1GHz并且延迟元件211可被跨工艺电压温度变化修整到62.5ns时,N=16并且m=4,并且常量ONE是010000。当N的值是2的幂时由边沿检测单元230所实施的计算被简化。phase203和period204用二进制点右边的m个位以固定点表示法(fixed-pointnotation)来表示。相位寄存器244和周期寄存器254需要包括足够的位以将Clk202的最大可能周期编码。例如,如果最慢可能Clk202具有比Clk201的周期长5倍的周期,那么要求二进制点左边的三个位。
由于重新定时和同步所要求的延迟,phase203和period204的值反映已过去固定数目的Clk202循环的Clk201的相位和周期。例如当同步器224具有四个循环的延迟并且由触发器222引入一个循环的重新定时延迟时,phase203和period204值表示已过去五个Clk201循环的Clk202的状态。使用period204(以及period204可能的衍生物)预测在Clk201的下一循环的、Clk202的相位的快速同步器设计—向前预测Clk201的六个循环。
图3A示出根据一个实施例的、两个时钟信号Clk201和Clk202的波形。第二时钟Clk202的频率比第一时钟Clk201的频率快。信号从与Clk202相对应的第二时钟域传送到与Clk201相对应的第一时钟域。如所示,Clk202的周期302比Clk201的周期301短。因此,应通过边沿检测单元230在每个时钟周期301内检测用于Clk202的至少一个边沿指示。如所示,Clk202的两个边沿出现在周期301内。在时钟201的最新的边沿305,与周期301内的第一边沿指示相对应的first235值通过边沿检测单元230来计算。在时钟201的最新的边沿305,与周期301内的第二边沿指示相对应的second237值也通过边沿检测单元230来计算。
在一个实施例中,边沿检测单元230配置为计算与第三边沿指示相对应的第三值。第三值可用来计算当Clk201和Clk202中的至少一个正在平滑改变时相对周期的斜率。斜率可由同步单元用来预测未来相位和未来周期的更精确的值。提前一个或多个时钟预测phase203和period204的值是有用的,因为由于高频相位检测器200的时延,当前phase203和period204对于过去的Clk201的若干时钟循环是有效的。
图3B示出根据一个实施例的、两个时钟信号Clk201和Clk202的波形的另一示例。传送时钟Clk202的频率比接收时钟Clk201的频率慢。如所示,Clk202的周期312比Clk201的周期311长。因此,在Clk201的一些周期期间,边沿检测单元230可能检测不到用于Clk202的边沿指示。
在最旧的边沿323,与在周期312的开始的第一边沿指示相对应的first310值由边沿检测单元230来定位并且first235-B值由边沿检测单元230来计算。在该示例中假定first235-B值等于延迟211的7个单位。因此,下一相位由相位单元240设定为7并且下一周期被计算为与N=16加和的phase203和first310之间的差。phase203和period204在时钟边沿324更新。在下一边沿324,没有边沿指示由边沿检测单元230来定位,并且下一相位由相位单元240更新为增加了N=16的phase203,使得phase203更新到7+16=23。period204未改变。
在最新的边沿325,与在周期312的结束的另一第一边沿指示相对应的first235-A值由边沿检测单元230来定位并且first235-A由边沿检测单元230来计算。在该示例中假定该附加的first235-A值等于延迟211的6个单位。因此,下一相位由相位单元240设定为6并且下一周期被计算为与N=16加和的phase203与first235-A之间的差,即23+16-6=33。phase203和period204在时钟边沿325更新。
图4示出根据一个实施例的、用于确定phase203和period204的方法400的流程图。在步骤405,Clk201的经延迟版本的集合由时钟延迟单元210来生成。在步骤410,由时钟采样单元220使用Clk201的经延迟版本的集合来将Clk202采样,以在Clk201的域中产生采样的序列225。随后,在步骤415,边沿检测单元230定位采样的序列225内的任何边沿,例如上升、下降、或上升和下降。
在步骤420,相位单元240确定边沿检测单元230是否检测到第一边沿指示,并且如果否,那么在步骤425phase203更新到增加了Clk201的一个周期的phase203,例如phase+ONE。当边沿检测单元230未检测到第一边沿指示时,period204不改变。否则,当检测到第一边沿指示时,在步骤430,相位单元240将phase203设定为等于由边沿检测单元230生成的first235信号。在步骤435,周期单元250确定边沿检测单元230是否检测到第二边沿指示,并且如果是,那么在步骤440周期单元250将period204设定为等于second237信号。否则,在步骤445,周期单元250将period204更新到phase203与Clk201的一个周期的和与first235信号之间的差。
图5A示出根据一个实施例的高分辨率相位检测器500。高分辨率相位检测器500包括开环时钟延迟单元510、时钟采样单元220、时钟采样单元520、边沿检测单元230、周期计算单元530、相位单元540以及周期单元550。高分辨率相位检测器500接收第一时钟Clk201以及第二时钟Clk202,并生成两个值phase503和period504。
图5B示出根据一个实施例的、图5A的开环时钟延迟单元510。与高分辨率相位检测器200相比,开环时钟延迟单元510在高分辨率相位检测器500中替换了时钟延迟单元210。一系列的N个延迟元件511产生N个时钟相位,例如Clk202的经延迟版本,具体为Clk_d0、Clk_d1、Clk_d2、Clk_d3、…Clk_dN。不同于时钟延迟单元210,N个时钟相位不必均匀分布,因为开环时钟延迟单元510不包括相位比较器215来控制延迟元件511中的每一个将Clk202延迟的量以生成Clk202的经延迟版本。延迟元件511的数目应足够高,使得Clk202的至少一个周期被采样。
图5C示出根据一个实施例的、图5A的时钟采样单元520。时钟采样单元520包括多个触发器522。时钟采样单元520接收由时钟延迟单元210生成的Clk201的经延迟版本并产生第一时钟信号Clk201的采样的序列。实施将第一时钟信号采样来计算以由一个延迟元件511所引入的延迟为单位的Clk201的周期。每个时钟相位Clk_d0、Clk_d1、…Clk_dN用来将Clk201采样,在触发器522的输出产生第一时钟采样的序列,例如Clk_p1、Clk_p2、Clk_p3、…Clk_pN。
图5D示出根据一个实施例的、图5A的周期计算单元530。周期计算单元530包括AND门531的阵列、边沿标识单元532以及编码器534。周期计算单元530接收由时钟采样单元520所产生的第一时钟采样Clk_p1、Clk_p2、…Clk_pN的序列。第一时钟采样Clk_p1、Clk_p2、…Clk_pN的序列被输入到AND门531的阵列,以定位第一时钟采样的序列内的上升的跃迁,例如边沿。换句话说,AND门531检测由第一时钟信号201的经延迟版本所采样的第一时钟信号201的上升沿。AND门531生成可用来计算Clk201的周期的跃迁信号533。接收Clk_p1和Clk_p2中的至少一个的AND门531可被边沿标识单元532忽略以确保不将亚稳定的信号采样。在一个实施例中,周期计算单元530可配置为定位下降的跃迁或下降和上升的跃迁二者。
如果Clk201的上升沿出现在Clk201的经延迟版本Clk_di-1和Clk_di之间,那么跃迁信号533ti=Clk_pi和~Clk_pi-1的一个或多个位为真,其中i范围从0到N。跃迁信号533ti被输入到在跃迁信号533的序列中找到第一个1(其中1是为真的位)的边沿标识单元532。在其处检测到第一边沿的位置的二进制编码是rperiod535—以一个延迟511的延迟为单位的Clk301的周期。
图5E示出根据一个实施例的、图5A的相位单元540。相位单元540包括相位寄存器544、加法器542、多路复用器546以及相位除法器548。相位单元540从边沿检测单元230接收first235和first_v236并从周期计算单元530接收rperiod535并生成phase503输出信号。在相位单元540中使用值rperiod535代替相位单元240中的常量ONE。并且,由相位单元540所产生的相位的值除以rperiod535用于由快速周期性同步器使用。
first235是从Clk201的上升沿到Clk202的最新跃迁的测量(以时间为单位)。如果检测到跃迁,例如first_v236被确立,那么first235给定相位值。当first_v236被确立时,多路复用器546选择first235值作为输出,即下一相位。当未检测到跃迁时,例如first_v236未被确立,多路复用器546选择incremented phase(经增量的相位)545作为下一相位。incrementedphase545值由加法器542计算为增加了rperiod535的预除法器相位。
next_phase值被输入到输出预除法器相位信号的相位寄存器544。可转译下面的Verilog以生成相位单元540中示出的逻辑的至少一部分,具体来讲以将输入(next_phase)提供给相位寄存器544:
assign next_phase=first_v?first:
predivider_phase+rperiod;
相位寄存器544的输出,例如预除法器相位,在相位除法器548内除以rperiod535以产生phase503值。
图5F示出根据一个实施例的、图5A的周期单元550。周期单元550包括周期寄存器554、减法器557、两个多路复用器556、多路复用器558以及除法器552。周期单元550从边沿检测单元230接收first235、first_v236、second237以及second_v238,从周期计算单元530接收rperiod535,以及从相位单元540接收incremented phase545并生成period504输出信号。
如果没有跃迁被检测到,例如first_v236和second_v238二者均未被确立,那么next_period(和period504)不改变。否则,如果检测到两个跃迁,例如first_v236和second_v二者均被确立,那么通过从先前跃迁的相位second237减去first235来计算next_period。如果仅检测到一个跃迁,例如first_v236被确立,那么通过从先前跃迁的相位即incremented phase545减去first235来计算next_period。换句话说,从最后跃迁的相位—如果在Clk201的相同周期中检测到第二跃迁那么从second237、否则从incremented phase545中减去当前相位first235。用于除法器548和552的位的数目通过rperiod535中的位的数目来确定,例如如果N=16则4位。注意,N可以是任何整数值。
当检测到第二跃迁时,也检测到第一跃迁。当second_v238被确立时,多路复用器556选择second237值作为到减法器557的输入。当未检测到第二跃迁时,多路复用器556选择incremented phase245作为到减法器557的输入。减法器从输入减去first235值以生成输出。当检测到第一跃迁时,多路复用器558选择减法器252的输出作为下一周期。否则,多路复用器558选择周期寄存器554的输出作为下一周期并且period504值不改变。
可转译下面的Verilog以生成周期单元550中所示出的逻辑的至少一部分,具体来讲以将输入(next_period)提供给周期寄存器554:
assign next_period=first_v?
(second_v?second:(phase+rperiod))-first):period;
next_period值被输入到周期寄存器544。周期寄存器544的输出,例如预除法器周期,在周期除法器552内除以rperiod535以产生period504值。
图5G示出根据一个实施例的、用于使用开环高分辨率相位检测器500确定phase503和period504的方法560的另一流程图。在步骤565,Clk201的经延迟版本的集合由开环时钟延迟单元510来生成。在步骤570,由时钟采样单元220使用Clk201的经延迟版本的集合来将Clk202采样,以在Clk201的域中产生采样的序列225。随后,在步骤575,边沿检测单元230定位采样的序列225内的任何边沿,例如上升、下降、或上升和下降。
在步骤572,由时钟采样单元520使用Clk201的经延迟版本的集合将Clk201采样,以在Clk201的域中产生第一时钟采样的序列525。随后在步骤574,周期计算单元530定位第一时钟采样的序列525内的边沿,例如上升、下降、或上升和下降,并确定rperiod535,例如Clk201的周期。步骤572和574中的一个或多个可以与步骤570和575中的一个或多个并行地实施。
在步骤580,相位单元540确定边沿检测单元230是否检测到第一边沿指示,并且如果否,那么在步骤585,phase503更新到phase503增加Clk201的一个周期的和除以Clk201的一个周期,例如(phase+rperiod)/rperiod。当边沿检测单元230未检测到第一边沿指示时,period504不改变。否则,当检测到第一边沿指示时,在步骤590,相位单元540将phase503设定为等于由边沿检测单元230生成的first235信号除以rperiod535。在步骤595,周期单元550确定边沿检测单元230是否检测到第二边沿指示,并且如果是,那么在步骤598,周期单元550将period504设定为等于second237信号除以rperiod535。否则,在步骤598,周期单元550将period504更新到phase503和Clk201的一个周期的和与first235信号之间的差除以Clk201的一个周期(即rperiod535)。
图6A示出其中可实现各先前实施例的各架构和/或功能性的示例性集成电路设备650。集成电路设备650包括逻辑单元655、同步器660以及逻辑单元665。逻辑单元655接收时钟202并生成与时钟202同步的输出。输出由同步器660所接收并使用由高分辨率相位检测器200或500所计算的phase203和period204值从时钟202的时钟域被传送到时钟201的时钟域。同步到时钟201的时钟域的经传送的输出由逻辑单元665所接收。
图6B示出其中可实现各先前实施例的各架构和/或功能性的示例性系统600。如所示,提供了系统600,其包括至少一个连接到通信总线602的中央处理器601。可使用任何合适的协议来实现通信总线602,所述协议诸如PCI(外围部件互连)、PCI-Express、AGP(加速图形端口)、超传输、或任何其他总线或点对点通信协议。系统600还包括主存储器604。控制逻辑(软件)和数据存储在可采取随机存取存储器(RAM)形式的主存储器604中。
系统600还包括输入设备612、图形处理器606、以及显示器608,即常规CRT(阴极射线管)、LCD(液晶显示器)、LED(发光二极管)、等离子显示器等等。可从输入设备612例如键盘、鼠标、触摸板、扩音器等等来接收用户输入。在一个实施例中,图形处理器606可包括多个着色器模块、光栅模块等。前述模块中的每一个实际上可位于单个半导体平台以形成图形处理单元(GPU)。
在本描述中,单个半导体平台可以指唯一单一的基于半导体的集成电路或芯片。应注意的是,术语单个半导体平台还可以指具有增加的连接性的多芯片模块,其仿真片上操作并在利用常规中央处理单元(CPU)和总线实现方案上做出大量改进。当然,各模块也可根据用户意愿分开安置或以半导体平台的各种组合来安置。图6B中所示出的集成电路中的一个或多个可包括高分辨率相位检测器200和/或500用于在不同时钟域之间传送信号。
系统600还可包括二级存储610。二级存储610包括例如硬盘驱动器和/或表示软盘驱动器、磁带驱动器、压缩光盘驱动器、数字通用光盘(DVD)驱动器、记录设备、通用串行总线(USB)闪存的可移动存储驱动器。可移动存储驱动器以公知的方式从可移动存储单元读或写到可移动存储单元。
计算机程序或计算机控制逻辑算法可存储在主存储器604和/或二级存储610中。这种计算机程序当被执行时使能系统600实施各种功能。存储器604、存储610和/或任何其他存储是计算机可读介质的可能的示例。
在一个实施例中,可在以下内容的上下文中实现各种先前图示的架构和/或功能性:中央处理器601、图形处理器606、具有中央处理器601和图形处理器606二者的至少一部分能力的集成电路(未示出)、芯片集(即被设计为用于实施相关功能等的单元来工作和销售的集成电路组)和/或就此而言的任何其他集成电路。
并且,可在以下内容的上下文中实现各种先前图示的架构和/或功能性:通用计算机系统、电路板系统、专用于娱乐目的的游戏控制台系统、专用系统和/或任何其他期望的系统。例如,系统600可采取台式计算机、膝上型计算机、服务器、工作站、游戏控制台、嵌入式系统和/或任何其他类型的逻辑的形式。并且,系统600可采取各种其他设备的形式,包括但不限于个人数字助理(PDA)设备、移动电话设备、电视等。
进一步地,虽然未示出,但系统600可耦连到网络(例如电信网络、局域网(LAN)、无线网络、诸如互联网的广域网(WAN)、对等网络、电缆网络等等)用于通信目的。
虽然上文已描述各种实施例,但应理解的是,仅通过示例而非限制的方式对其加以呈现。因此,优选实施例的宽度和范围不应被任何上文所描述的示例性实施例所限制,而仅应根据下面的权利要求及其等同物来加以限定。
Claims (20)
1.一种方法,包括:
生成第一时钟信号的经延迟版本的集合;
使用所述第一时钟信号的经延迟版本的集合将第二时钟信号采样,以在与所述第一时钟信号相对应的域中产生第二时钟采样的序列;以及
在所述第二时钟采样的序列内定位至少一个边沿指示。
2.根据权利要求1所述的方法,其中所述第一时钟信号的经延迟版本的集合使用开路延迟环路来生成。
3.根据权利要求2所述的方法,进一步包括:
使用所述第一时钟信号的经延迟版本的集合将所述第一时钟信号采样,以在所述与所述第一时钟信号相对应的域中产生第一时钟采样的序列;以及
在所述第一时钟采样的序列内定位第一边沿指示。
4.根据权利要求3所述的方法,进一步包括基于所述第一时钟采样的序列内的所述第一边沿指示计算所述第一时钟信号的周期。
5.根据权利要求1所述的方法,进一步包括处理所述至少一个边沿指示以计算表示所述第二时钟信号相对于所述第一时钟信号的相位的相位值。
6.根据权利要求5所述的方法,其中所述至少一个边沿指示包括是最新的边沿的第一边沿,并且所述至少一个边沿指示的所述处理包括将下一相位值设定到所述第一边沿的定位。
7.根据权利要求5所述的方法,进一步包括:
生成所述第一时钟信号的经延迟版本的第二集合;
使用所述第一时钟信号的经延迟版本的第二集合将所述第二时钟信号采样,以在所述与所述第一时钟信号相对应的域中产生第二时钟采样的第二序列;以及
将下一相位值计算为所述相位值加上第二集合中的所述第一时钟信号的数个经延迟版本。
8.根据权利要求1所述的方法,进一步包括处理所述至少一个边沿指示以计算表示所述第二时钟信号和所述第一时钟信号之间的相对周期的周期值。
9.根据权利要求8所述的方法,其中所述至少一个边沿指示包括第一边沿和第二边沿,其中所述第一边沿比所述第二边沿更新,并且所述至少一个边沿指示以计算所述周期值的所述处理包括将下一周期值设定为所述第二边沿的定位。
10.根据权利要求8所述的方法,其中所述至少一个边沿指示包括仅第一边沿,并且进一步包括:
处理所述至少一个边沿指示以计算表示所述第二时钟信号相对于所述第一时钟信号的相位的相位值;以及
将下一周期值计算为所述相位值加上所述集合中的所述第一时钟信号的数个经延迟版本与所述第一边沿的定位之间的差。
11.根据权利要求1所述的方法,其中所述第一时钟信号的经延迟版本的集合使用闭合延迟环路来生成。
12.根据权利要求1所述的方法,进一步包括处理第一边沿指示和第二边沿指示以计算表示所述第二时钟信号和所述第一时钟信号之间的相对周期的周期值。
13.根据权利要求1所述的方法,其中所述第一时钟信号的频率随时间变化。
14.根据权利要求1所述的方法,其中所述第一时钟信号的所述频率响应于供电电压的变化而变化。
15.根据权利要求1所述的方法,其中所述第二时钟信号的频率随时间变化。
16.一种集成电路,包括:
第一电路,其运行在与第一时钟信号相对应的第一时钟域中;
第二电路,其运行在与第二时钟信号相对应的第二时钟域中;
相位检测器,其配置为:
生成所述第一时钟信号的经延迟版本的集合;
使用所述第一时钟信号的经延迟版本的集合将所述第二时钟信号采样,以在与所述第一时钟信号相对应的域中产生第二时钟采样的序列;以及
在所述第二时钟采样的序列内定位至少一个边沿指示。
17.根据权利要求16所述的集成电路,其中所述相位检测器包括配置为生成所述第一时钟信号的经延迟版本的集合的开路延迟环路。
18.根据权利要求16所述的集成电路,其中所述相位检测器进一步配置为进一步处理所述至少一个边沿指示以计算表示所述第二时钟信号相对于所述第一时钟信号的相位的相位值。
19.根据权利要求16所述的集成电路,其中所述相位检测器进一步配置为处理所述至少一个边沿指示以计算表示所述第二时钟信号和所述第一时钟信号之间的相对周期的周期值。
20.根据权利要求16所述的集成电路,其中所述相位检测器包括配置为生成所述第一时钟信号的经延迟版本的集合的闭合延迟环路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/676,021 US9164134B2 (en) | 2012-11-13 | 2012-11-13 | High-resolution phase detector |
US13/676,021 | 2012-11-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103812474A true CN103812474A (zh) | 2014-05-21 |
Family
ID=50556031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310556324.9A Pending CN103812474A (zh) | 2012-11-13 | 2013-11-11 | 高分辨率相位检测器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9164134B2 (zh) |
CN (1) | CN103812474A (zh) |
DE (1) | DE102013221028B4 (zh) |
TW (1) | TWI507694B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8866511B2 (en) | 2012-11-20 | 2014-10-21 | Nvidia Corporation | Matrix phase detector |
US9471091B2 (en) | 2012-11-28 | 2016-10-18 | Nvidia Corporation | Periodic synchronizer using a reduced timing margin to generate a speculative synchronized output signal that is either validated or recalled |
US8847647B1 (en) * | 2013-09-11 | 2014-09-30 | Advanced Micro Devices, Inc. | Synchronizer circuits with failure-condition detection and correction |
CN105204602B (zh) * | 2015-09-02 | 2018-06-22 | 上海兆芯集成电路有限公司 | 电源控制装置 |
US10164758B2 (en) | 2016-11-30 | 2018-12-25 | Taiwan Semicondcutor Manufacturing Co., Ltd. | Read-write data translation technique of asynchronous clock domains |
CN112202518B (zh) * | 2019-07-08 | 2023-11-17 | 中兴通讯股份有限公司 | 时钟信号的相位检测方法、装置及通信设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1285498B1 (en) * | 2000-05-24 | 2005-11-30 | John W. Bogdan | High resolution phase frequency detectors |
US20110148490A1 (en) * | 2009-12-18 | 2011-06-23 | Electronics And Telecommunications Research Institute | Time-to-digital converter and all digital phase-locked loop including the same |
CN102594340A (zh) * | 2011-01-17 | 2012-07-18 | 智原科技股份有限公司 | 相位检测器、相位检测方法以及时钟数据恢复装置 |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4295106A (en) * | 1979-10-04 | 1981-10-13 | Leonard Kahn | Method and means for introducing additional asymmetry into audio waves |
US5272390A (en) | 1991-09-23 | 1993-12-21 | Digital Equipment Corporation | Method and apparatus for clock skew reduction through absolute delay regulation |
US5511100A (en) | 1993-12-13 | 1996-04-23 | Motorola, Inc. | Method and apparatus for performing frequency detection |
US5694377A (en) | 1996-04-16 | 1997-12-02 | Ltx Corporation | Differential time interpolator |
US6219305B1 (en) | 1996-09-17 | 2001-04-17 | Xilinx, Inc. | Method and system for measuring signal propagation delays using ring oscillators |
TW442947B (en) | 1998-03-02 | 2001-06-23 | Vanguard Int Semiconduct Corp | Single cycle latched-type clock synchronous circuit |
US6194938B1 (en) | 1998-09-28 | 2001-02-27 | Texas Instruments Incorporated | Synchronous integrated clock circuit |
US6516362B1 (en) | 1999-08-23 | 2003-02-04 | Advanced Micro Devices, Inc. | Synchronizing data between differing clock domains |
US6429693B1 (en) * | 2000-06-30 | 2002-08-06 | Texas Instruments Incorporated | Digital fractional phase detector |
US6831490B1 (en) | 2000-07-18 | 2004-12-14 | Hewlett-Packard Development Company, L.P. | Clock synchronization circuit and method |
WO2002019526A1 (en) | 2000-08-31 | 2002-03-07 | Xilinx, Inc. | Digital clock multiplier and divider with synchronization |
US8385476B2 (en) * | 2001-04-25 | 2013-02-26 | Texas Instruments Incorporated | Digital phase locked loop |
US6593773B2 (en) * | 2001-04-25 | 2003-07-15 | Texas Instruments Incorporated | Power saving circuitry using predictive logic |
US8155236B1 (en) * | 2002-06-21 | 2012-04-10 | Netlogic Microsystems, Inc. | Methods and apparatus for clock and data recovery using transmission lines |
DE10255685B3 (de) | 2002-11-28 | 2004-07-29 | Infineon Technologies Ag | Taktsynchronisationsschaltung |
JP4325422B2 (ja) | 2004-02-05 | 2009-09-02 | ソニー株式会社 | 復調装置、ディスクドライブ装置、位相調整方法 |
JP4769431B2 (ja) | 2004-05-28 | 2011-09-07 | Okiセミコンダクタ株式会社 | ドットクロック同期生成回路 |
JP2006279849A (ja) | 2005-03-30 | 2006-10-12 | Sanyo Electric Co Ltd | 電圧保持回路及びクロック同期回路 |
JP4850473B2 (ja) | 2005-10-13 | 2012-01-11 | 富士通セミコンダクター株式会社 | デジタル位相検出器 |
KR100738552B1 (ko) | 2006-01-18 | 2007-07-11 | 삼성전자주식회사 | 통신 시스템의 망동기 클럭 검사 방법 및 그 장치 |
US8681159B2 (en) | 2006-08-04 | 2014-03-25 | Apple Inc. | Method and apparatus for switching between graphics sources |
US7804344B2 (en) | 2007-04-20 | 2010-09-28 | Micron Technology, Inc. | Periodic signal synchronization apparatus, systems, and methods |
US7638997B2 (en) * | 2007-06-06 | 2009-12-29 | Advantest Corporation | Phase measurement apparatus |
US7619449B2 (en) | 2007-06-07 | 2009-11-17 | Micron Technology, Inc. | Method and apparatus for synchronous clock distribution to a plurality of destinations |
US8045670B2 (en) * | 2007-06-22 | 2011-10-25 | Texas Instruments Incorporated | Interpolative all-digital phase locked loop |
KR101082415B1 (ko) | 2007-07-24 | 2011-11-11 | 고려대학교 산학협력단 | 계층구조 위상 디지털 변환기 |
US7855933B2 (en) | 2008-01-08 | 2010-12-21 | Hynix Semiconductor Inc. | Clock synchronization circuit and operation method thereof |
US7791386B2 (en) | 2008-01-23 | 2010-09-07 | Microchip Technology Incorporated | Externally synchronizing multiphase pulse width modulation signals |
CN101369814B (zh) * | 2008-09-19 | 2011-11-16 | 华为技术有限公司 | 数字锁相环和消除毛刺的方法 |
US8707001B2 (en) | 2008-12-04 | 2014-04-22 | Qualcomm Incorporated | Method and system for measuring memory access time using phase detector |
US8415983B2 (en) | 2009-03-10 | 2013-04-09 | Nec Corporation | Digital phase comparator |
US8098085B2 (en) | 2009-03-30 | 2012-01-17 | Qualcomm Incorporated | Time-to-digital converter (TDC) with improved resolution |
JP2010273118A (ja) * | 2009-05-21 | 2010-12-02 | Toshiba Corp | 時間デジタル変換器 |
WO2010150304A1 (ja) * | 2009-06-22 | 2010-12-29 | 株式会社アドバンテスト | 位相検出装置、試験装置および調整方法 |
JP5300671B2 (ja) | 2009-09-14 | 2013-09-25 | 株式会社東芝 | クロックリカバリ回路およびデータ再生回路 |
KR101224102B1 (ko) * | 2009-11-05 | 2013-01-21 | 한국전자통신연구원 | 파이프라인 아날로그-디지털 변환기 |
US8625727B2 (en) * | 2010-04-02 | 2014-01-07 | Infineon Technologies Ag | Demodulator and method for demodulating a carrier signal |
JP2012070087A (ja) * | 2010-09-21 | 2012-04-05 | Toshiba Corp | デジタル位相比較器及びデジタル位相同期回路 |
US8826062B2 (en) | 2011-05-23 | 2014-09-02 | Intel Mobile Communications GmbH | Apparatus for synchronizing a data handover between a first clock domain and a second clock domain through phase synchronization |
US9088276B2 (en) | 2011-05-31 | 2015-07-21 | Ati Technologies Ulc | Pre-emphasis control circuit for adjusting the magnitude of a signal over a period according to a fraction of a bit-time |
US8531322B2 (en) * | 2011-06-15 | 2013-09-10 | Mediatek Singapore Pte. Ltd. | Time-to-digital converter |
US9160350B2 (en) * | 2011-11-15 | 2015-10-13 | Rambus Inc. | Integrated circuit comprising a delay-locked loop |
US9106401B2 (en) | 2012-06-21 | 2015-08-11 | Nvidia Corporation | Deterministic synchronization for transmitting signals between different clock domains |
KR101985457B1 (ko) * | 2012-08-28 | 2019-06-04 | 에스케이하이닉스 주식회사 | 반도체 장치 |
JP6092727B2 (ja) * | 2012-08-30 | 2017-03-08 | 株式会社メガチップス | 受信装置 |
TWI546805B (zh) * | 2012-10-31 | 2016-08-21 | 瑞昱半導體股份有限公司 | 取樣電路及取樣方法 |
US8942333B2 (en) * | 2012-11-12 | 2015-01-27 | Texas Instruments Incorporated | Apparatus and methods for clock alignment for high speed interfaces |
US20140139175A1 (en) | 2012-11-19 | 2014-05-22 | Jose A. Gonzalez | Pocket Jumper |
US8866511B2 (en) | 2012-11-20 | 2014-10-21 | Nvidia Corporation | Matrix phase detector |
US8760204B2 (en) | 2012-11-20 | 2014-06-24 | Nvidia Corporation | Variation-tolerant periodic synchronizer |
US9471091B2 (en) | 2012-11-28 | 2016-10-18 | Nvidia Corporation | Periodic synchronizer using a reduced timing margin to generate a speculative synchronized output signal that is either validated or recalled |
US8957712B2 (en) * | 2013-03-15 | 2015-02-17 | Qualcomm Incorporated | Mixed signal TDC with embedded T2V ADC |
US9083354B2 (en) * | 2013-03-15 | 2015-07-14 | Silicon Laboratories Inc. | Clock signal timing-based noise suppression |
-
2012
- 2012-11-13 US US13/676,021 patent/US9164134B2/en active Active
-
2013
- 2013-10-16 TW TW102137268A patent/TWI507694B/zh active
- 2013-10-16 DE DE102013221028.0A patent/DE102013221028B4/de active Active
- 2013-11-11 CN CN201310556324.9A patent/CN103812474A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1285498B1 (en) * | 2000-05-24 | 2005-11-30 | John W. Bogdan | High resolution phase frequency detectors |
US20110148490A1 (en) * | 2009-12-18 | 2011-06-23 | Electronics And Telecommunications Research Institute | Time-to-digital converter and all digital phase-locked loop including the same |
CN102594340A (zh) * | 2011-01-17 | 2012-07-18 | 智原科技股份有限公司 | 相位检测器、相位检测方法以及时钟数据恢复装置 |
Also Published As
Publication number | Publication date |
---|---|
US20140132245A1 (en) | 2014-05-15 |
DE102013221028B4 (de) | 2019-07-04 |
TW201435359A (zh) | 2014-09-16 |
TWI507694B (zh) | 2015-11-11 |
DE102013221028A1 (de) | 2014-05-15 |
US9164134B2 (en) | 2015-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103838296A (zh) | 容变周期性同步器 | |
CN103812474A (zh) | 高分辨率相位检测器 | |
US9471091B2 (en) | Periodic synchronizer using a reduced timing margin to generate a speculative synchronized output signal that is either validated or recalled | |
CN103840802A (zh) | 矩阵相位检测器 | |
JPWO2005121827A1 (ja) | タイミング発生器および半導体試験装置 | |
CN103067016A (zh) | 一种流水线时数转换器及其方法 | |
US9143315B2 (en) | Predictive periodic synchronization using phase-locked loop digital ratio updates | |
US12072732B2 (en) | Circuit and method to set delay between two periodic signals with unknown phase relationship | |
JPWO2008038521A1 (ja) | ジッタ測定装置、ジッタ測定方法、記録媒体、及びプログラム | |
US20130311814A1 (en) | Constant frequency architectural timer in a dynamic clock domain | |
CN109842406B (zh) | 同步电路 | |
TWI818521B (zh) | 測量裝置及測量方法 | |
CN112152596B (zh) | 用于产生脉冲输出的电路及方法 | |
US8499188B2 (en) | Processing device for determining whether to output a first data using a first clock signal or a second data using delay from the first clock signal according to a control signal | |
CN112737571A (zh) | 时钟电路和时钟电路生成方法、装置、设备和介质 | |
US20050104637A1 (en) | System and method for synchronizing divide-by counters | |
CN102468830A (zh) | 一种利用多相位信号提高频率比较器精度的方法和电路 | |
CN116774779A (zh) | 芯片时钟同步方法、装置、控制芯片、数据采集卡及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140521 |