CN101918929B - 具有故障容限位片电路的双向存储器接口 - Google Patents
具有故障容限位片电路的双向存储器接口 Download PDFInfo
- Publication number
- CN101918929B CN101918929B CN2008801223993A CN200880122399A CN101918929B CN 101918929 B CN101918929 B CN 101918929B CN 2008801223993 A CN2008801223993 A CN 2008801223993A CN 200880122399 A CN200880122399 A CN 200880122399A CN 101918929 B CN101918929 B CN 101918929B
- Authority
- CN
- China
- Prior art keywords
- circuit
- clock signal
- clock
- bit slice
- phase
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明描述了一种具有发送操作模式和接收操作模式的位片电路。该位片电路包括:在第一时钟域中操作的第一发送电路和第一接收电路,其中第一电路接收第一时钟信号;在第二时钟域中操作的第二发送电路和第二接收电路,其中第二电路接收第二时钟信号;发送转换电路和接收转换电路,发送转换电路将第一发送电路耦合至第二发送电路,接收转换电路将第一接收电路耦合至第二接收电路,其中转换电路接收第一时钟信号和第二时钟信号;以及单相位混合器,其生成第二时钟信号,其中第二时钟信号在发送操作模式中具有第一相位,并且在接收操作模式中具有第二相位。
Description
技术领域
此处所公开的主题总体上涉及通信领域,并且更具体地涉及双向存储器接口内的高速电子信号收发。
背景技术
诸如双向存储器接口的高速控制器存储器接口提出了严峻的工程挑战。例如,在一些双向存储器接口中,发送和接收操作二者都需要独立的时钟,并且由此,每个双向存储器接口所需要的相位混合器加倍。这导致大面积和高功率的双向存储器接口。
附图说明
图1A-图1C是示出根据一些实施方式的控制器的框图。
图2A是示出根据一些实施方式的位片电路的框图。
图2B是示出根据一些实施方式的图2A的位片电路的跳跃(skip)电路的数据路径的框图。
图2C示出了根据一些实施方式的图2B的跳跃电路中的信号的示例性时序关系。
图3A是示出根据一些实施方式的发送转换电路的数据路径的框图。
图3B是示出根据一些实施方式的接收转换电路的数据路径的框图。
图3C是示出根据一些实施方式的发送转换电路和接收转换电路的配置电路的框图。
图3D示出了根据一些实施方式的图3C的配置电路中的信号的示例性时序关系。
图3E示出了根据一些实施方式的图3A-图3B的发送转换电路和接收转换电路中的信号的示例性时序关系。
图4A-图4B示出了根据一些实施方式的相位混合器。
图5A-图5E是根据一些实施方式的用于增加具有发送操作模式和接收操作模式的位片电路中的跳跃裕度(margin)的过程的流程图。
图6是根据一些实施方式的用于增加双向存储器接口中的跳跃裕度的过程的流程图。
图7是根据一些实施方式的用于存储包含用于对实现双向存储器接口的电路的软件描述的计算机可读文件的***的一个实施方式的框图。
贯穿附图,相似的参考标号是指相应的部分。
具体实施方式
位片电路具有发送操作模式和接收操作模式。位片电路的第一发送电路和第一接收电路在第一时钟域中操作,并且接收第一时钟信号。位片电路的第二发送电路和第二接收电路在第二时钟域中操作,并且接收第二时钟信号。发送转换电路将第一发送电路耦合至第二发送电路,并且接收转换电路将第一接收电路耦合至第二接收电路。转换电路接收第一时钟信号和第二时钟信号二者。另外,第二时钟信号在发送操作模式中具有第一相位,并且在接收操作模式中具有第二相位。
收发机电路包括第一位片电路和第二位片电路,以及用于生成本地主时钟信号的单锁定环(locked loop)电路,该本地主时钟信号至少具有四个时钟相量(phasor)并且耦合至第一位片电路中的相位混合器和第二位片电路中的相位混合器。
收发机电路具有N个位片对,其中N是大于1的整数。每个位片对包括第一位片电路和第二位片电路以及用于生成参考时钟信号的单锁定环电路,该参考时钟信号耦合至第一位片电路中的相位混合器和第二位片电路中的相位混合器。另外,N个位片对并行发送2N位,并且并行接收2N位。
在引起位错误之前,转换电路(有时称为跳跃电路)可以允许的两个时钟域之间的时序不确定性的量称为跳跃裕度。以下详细描述了具有未知相位关系的两个高速(例如,8GHz)时钟域之间的此类转换电路的设计。在以下描述的一些实施方式中,跳跃裕度是两个时钟域之一中的时钟信号(例如dclk)的时钟周期的一半。在增加具有发送操作模式和接收操作模式的位片电路的跳跃裕度的方法中,第一时钟信号由第一发送电路和第一接收电路接收,其在第一时钟域中操作;第二时钟信号由第二发送电路和第二接收电路接收,其在第二时钟域操作。发送转换电路和接收转换电路接收第一时钟信号和第二时钟信号二者。发送转换电路将第一发送电路与第二发送电路耦合,并且接收转换电路将第一接收电路与第二接收电路耦合。第二时钟信号由单相位混合器生成,以便在发送操作模式中具有第一相位并且在接收操作模式中具有第二相位。
增加双向存储器接口中的跳跃裕度的一种方法包括在单锁定环电路中生成参考时钟信号,单锁定环电路耦合至第一位片电路中的第一相位混合器并耦合到第二位片电路中的第二相位混合器。该方法还包括在第一相位混合器和第二相位混合器处接收参考时钟信号。
现在将详细参考实施方式,其中的示例在附图中示出。在以下的详细描述中,提出了多种具体的细节以便提供本发明的完全理解。然而,对于本领域技术人员清楚的是,本发明可以在没有这些具体细节的情况下实现。在其他实例中,公知的方法、过程、组件和电路没有进行详细描述以避免使得实施方式的各方面发生不必要的模糊。
如图1A所示,控制器100包括多个锁定环电路110、124和122,以及多个位片对150-1、150-2......150-n。在一些实施方式中,控制器100包括谐振储能(tank)电路120。控制器100经由多个位片对150-1、150-2......150-n耦合至多个存储器电路190-1、190-2......190-n。例如,位片对150-1耦合至存储器电路190-1,位片对150-2耦合至190-2,并且位片对150-n耦合至存储器电路190-n。在一些实施方式中,存储器电路190-1、190-2......190-n包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、MRAM或者其他随机存取固态存储器设备;并且可以包括非易失性存储器,诸如一个或者多个磁盘存储设备、光盘存储设备、闪存设备或者其他非易失性固态存储设备。
控制器100从时钟生成器102接收参考时钟信号(refclk)。在一些实施方式中,refclk具有500MHz的频率。在一些实施方式中,时钟生成器102位于控制器100外部,而在其他实施方式中,时钟生成器102在控制器100中。
锁定环电路110从时钟生成器102接收refclk。在一些实施方式中,环电路110是锁相环(PLL)。锁定环电路110使用refclk来生成控制器时钟信号(refclk_PLL),该控制器时钟信号(refclk_PLL)由控制器100使用以向存储器电路190-1、190-2......190-n发送数据以及从存储器电路190-1、190-2......190-n接收数据。refclk_PLL的频率是refclk的频率的倍数(例如,大于1的倍数),并且用于设置控制器100的操作频率。锁定环电路110还可以清除refclk中的抖动的部分。在一些实施方式中,控制器的操作频率是8GHz。
在一些实施方式中,谐振储能电路120从锁定环电路110接收refclk_PLL,并且向多个位片对150-1、150-2......150-n分发refclk_PLL(refclk_LC)的版本。谐振储能电路120可以包括一个或者多个电感器(未示出)和电容器(未示出)。这些电感器和电容器可以是有意的或者寄生的。在一些实施方式中,谐振储能电路120具有与控制器100的操作频率相等的谐振频率(例如8GHz)。
锁定环电路124和122生成本地处理器时钟信号(LPCLK),以便用在多个位片对150-1、150-2......150-n中。在不同的实施方式中,LPCLK具有1GHz的频率,锁定环电路122是锁相环(PLL)和/或锁定环电路124是延迟锁定环(DLL)。锁定环电路124从锁定环电路122接收时钟信号(pll_clk),并且从外部源接收处理器时钟信号(PCLK),诸如耦合至控制器100的处理器或者专用集成电路(ASIC)中使用的PLL(未示出)。在一些实施方式中,pll_clk包括四个时钟相量。以下参考图1B对锁定环电路124和122进行描述。
在一些实施方式中,位片对150-1、150-2......150-n从锁定环电路110接收refclk_PLL,而在其他实施方式中,位片对150-1、150-2......150-n从谐振储能电路120接收refclk_LC。另外,在这些实施方式的一些中,多个位片对150-1、150-2......150-n从锁定环电路124和122接收LPCLK。
每个位片对150-1、150-2......150-n包括锁定环电路152、第一位片154a和第二位片154b。每个位片对150-x可以视作收发机电路。可替换地,多个位片对150-x可以视作并行发送2N位以及并行接收2N位的收发机电路。在一些实施方式中,锁定环电路152与第一位片154a和第二位片154b等距定位。在一些实施方式中,锁定环电路152相对于第一位片154a和第二位片154b对称定位。第一位片154a耦合至第一存储器电路190-1a,并且第二位片154b耦合至第二存储器电路190-1b。在一些实施方式中,第一位片154a和第二位片154b并行发送或者接收数据。
在一些实施方式中,第一位片154a和第二位片154b是相同的或者基本相同的(例如,其可以根据制造期间发生的工艺变化具有略微不同的电路布局或者略微不同的电路参数),并且由此,本文件为了简化在下文中有时称为位片154x。以下参考图2A对位片154x进行讨论。
锁定环电路152(例如,PLL)生成第一时钟信号(pll_clk 1)和第二时钟信号(sclk),以便由位片对150的两个位片154a、154b使用。在一些实施方式中,第一位片信号pll_clk 1包括四个时钟相量。在一些实施方式中,第二信号sclk用于位片154a或者154b的时钟“内部”部分,并且在发送操作模式和接收操作模式二者中具有相同的相位。
在一些实施方式中,锁定环电路152从锁定环电路110接收refclk_PLL。可替换地,在图1A所示的实施方式中,锁定环电路152从谐振储能电路120接收refclk_LC。以下参考图1B对锁定环电路152进行描述。
如以上所述以及图1B所示,锁定环电路124和122生成LPCLK信号。在一些实施方式中,锁定环电路122包括相位频率检测器(PFD)136、环路滤波器和压控振荡器135、相位混合器140、延迟142和发送延迟(TxDly)144。PFD 136从相位混合器140接收refclk_LC和延迟信号。环路滤波器和压控振荡器135接收由PFD 136输出的信号,并且产生一组统称为pll_clk的时钟相量。虽然图1B中的实施方式将pll_clk示出为一个具有4个时钟相量的组,但是在其他实施方式中,pll_clk可以具有8个相量或者其他数量的相量。信号pll_clk有时称为时钟信号,即使其是一组相量。相位混合器140从调节电路或者寄存器(例如,对于在校准操作期间建立的一个或多个值进行存储的寄存器)FBADJ 138接收调节信号并且从环路滤波器和压控振荡器135接收时钟信号pll_clk。来自FBADJ 138的调节信号包括可编程值,其可以用于抵消延迟TFBCLK(由延迟142和发送延迟TxDly 144造成)和延迟TDLPCLK(由分频器145和缓冲器149造成,将在下文描述)之间的任何潜在的延迟失配。在一些情况下(例如,当TFBCLK等于TDLPCLK时),FBADJ值设置为0。相位混合器140的输出在其被PFD 136接收之前,由延迟142和TxDly 144延迟等于TFBCLK的时间。由锁定环电路122产生的pll_clk时钟信号耦合至锁定环电路124的相位混合器130和相位混合器148。
锁定环电路124从锁定环电路122接收pll_clk,并且从外部源接收上述PCLK信号。在一些实施方式中,锁定环电路124包括相位检测器(PD)126、LPCLK控制电路128、相位混合器130、分频器132和延迟134,全部串行连接在图1B所示的环路中。在一些实施方式中,当控制器100(图1A)上电时,分频器132由复位信号(reset)进行复位。锁定环电路124的PD 126接收PCLK和反馈LPCLK信号。相位混合器130的输出信号由分频器132和延迟134延迟等于TLPCLK的时间,以产生LPCLK。锁定环电路124的输出是LPCLK。
相位检测器(PD)146从相位混合器148接收LPCLK和延迟输出信号。计数电路(LPCNT)147计数由PD 146产生的输出信号。相位混合器148接收由LPCNT 147产生的计数值、dlpclk_cnt,以及从锁定环电路122接收pll_clk(即,一组相量)。相位混合器148的时钟信号输出由分频器145分频并且由延迟149延迟。理论上以及经常在实践中,与分频器145和延迟149相关联的延迟TDLPCLK与TFBCLK相匹配。在一些实施方式中,当控制器100(图1A)上电时,分频器145由复位信号(reset)进行复位。
还如图1B所示,位片对150-n包括锁定环电路152、相应的第一相位混合器158和第二相位混合器176、多个寄存器156(DCLK0寄存器)和172(DCLK1寄存器)以及多个控制电路162、164、166和178。以下参考图1C对控制电路162、164和178的实施方式进行描述。
锁定环电路152(例如,PLL)分别耦合至第一相位混合器158和第二相位混合器176。如上所述,锁定环电路152生成pll_clk 1和sclk。在一些实施方式中,锁定环电路152包括相位频率检测器(PFD)153、环路滤波器和压控振荡器155、相位混合器168、延迟170和发送延迟(TxDly)174。PFD 153从相位混合器168接收refclk_LC(参见图1A)和延迟信号。环路滤波器和压控振荡器155接收PFD 153的输出,其将参考信号refclk_LC的相位与来自相位混合器168的延迟信号的相位进行比较。相位混合器168从控制电路(SCLK CTRL)166接收控制信号,并且接收由环路滤波器和压控振荡器155产生的时钟信号pll_clk 1。来自SCLK CTRL 166的控制信号包括可编程位,其在多数情况下设置为0。SCLK CTRL 166与FBADJ 138的相似之处在于,由SCLK CTRL 166输出的值用于抵消由缓冲器170和延迟174造成的第一延迟和由延迟160或175和第一或第二位片的发送延迟造成的第二延迟之间的任何潜在的延迟失配。相位混合器168的输出在其被PFP 153接收之前,由延迟170和TxDly 174进行延迟。在一些实施方式中,TxDly与位片154x中的时钟-输出延迟相匹配。例如,TxDly可以等于输出多路器234(图2A)和输出驱动器236(图2A)的延迟。
延迟170的输出信号是sclk。分频器177对sclk进行分频,以产生div_sclk(一个时钟信号,其具有的频率是sclk的频率的1/8(或者更一般的,1/N))和div_sclk_cnt(指示分频器177的当前状态的计数值)。在一些实施方式中,当控制器100(图1A)上电时,分频器177由复位信号(reset)进行复位。虽然没有在图1B中示出,但是177中存在4个分频器,针对每个位片包括两个。在每个片中,一个分频器用于TX而另一个用于RX。在图2A中示出了这些分频器中的针对一个位片的两个分频器202。分频器177还产生4个div_sclk_cnt信号(每个位片两个,一个用于每个位片的TX而另一个用于每个位片的RX),因为跳跃控制电路SKIP CNTRL 164针对两个位片中每个位片中的RX使用一个div_sclk_cnt信号并且针对两个位片中每个位片中的TX使用一个div_sclk_cnt信号。
控制电路(SKIP CNTRL)164从LPCNT 147接收数字输出信号(dlpclk_cnt),并且从4个分频器177(参见以上关于分频器177的数目的描述)接收4个数字输出信号(每个称为div_sclk_cnt)。SKIP CNTRL 164生成4个跳跃信号(sskip),每个跳跃信号用于在发送路径跳跃电路214(图2A)或者接收路径跳跃电路244(图2A)中使用,如以下参考图2A和图2B所述。每个相应的跳跃信号(sskip)表示LPCLK和相应的div_sclk之间的相位倾斜(skew)(也称为相位差)。以下在图2C中描述相对于LPCLK和div_sclk的sskip之间的时序关系。
在下文中,后缀<0>仅指示在第一位片154a(图1A)中使用的信号,而后缀<1>仅指示在第二位片154b(图1A)中使用的信号。
第一位片154a(图1A)包括第一相位混合器158、DCLK0寄存器156和转换控制电路(TRANSITION CNTRL0)162。第一相位混合器158从DCLK0寄存器156接收调节信号,并且从锁定环电路152接收pll_clk 1。存储在DCLK0寄存器156中的调节信号与发送操作模式和接收操作模式中使用的调节值相对应,以集中第一相位混合器158的输出来最优地用于发送和接收。在校准操作模式期间获得存储在DCLK0寄存器156中的调节值。第一相位混合器158的输出由延迟160进行延迟。延迟160的输出是时钟信号dclk<0>,其在第一位片154a(图1A)中使用,如以下参考图2A所述。
TRANSITION CNTRL0 162接收来自DCLK0寄存器156的两个调节信号(一个用于第一位片的发送路径,并且一个用于第一位片的接收路径)和来自SCLK CTRL 166的输出,并且生成两组跳跃控制信号(skip_sel<0>和skip_update<0>)。在一些实施方式中,每个skip_sel<0>包括3个跳跃控制信号(skip_sel0、skip_sel1和skip_sel2)。以下参考图3D对skip_sel0、skip_sel1和skip_sel2的合成进行描述。为了确定skip_sel<0>信号的值,TRANSITION CNTRL0 162将来自DCLK0寄存器156的调节信号(一个用于第一位片的发送路径,并且一个用于第一位片的接收路径)和来自SCLK CTRL 166的输出进行比较。因为在多数情况下,来自SCLK CTRL 166的输出是0,所以来自DCLK0寄存器156的调节信号的值表示第一位片的发送和接收路径中的dclk和div_sclk之间的相位差。用于发送和接收路径的skip_sel<0>信号基于这些相位差,如以下所述以及图3D所示。另外,TRANSITION CNTRL0 162包括两个数值变化检测器,其检测DCLK0寄存器值和SCLK CTRL值之间的差值的任何变化。例如,该值通常在第一位片从读取模式变化到写入模式时发生变化,反之亦然,因为DCLK0值对于读取模式和写入模式通常是不同的。当TRANSITION CNTRL01 62检测到DCLK0寄存器值和SCLK CTRL值之间的差值变化时,将对应的skip_update<0>信号短暂启用几个时钟周期(例如dclk或者xclk信号的3个时钟周期)。以下参考图3C对skip_sel0、skip_sel1和skip_update<0>的使用进行描述,并且以下参考图3A和图3B对skip_sel2的使用进行描述。以下参考图3D对关于dclk和sclk的skip_sel0、skip_sel1和skip_sel2的时序关系进行描述。
第二位片154b(图1A)包括第二相位混合器176、DCLK1寄存器172和转换控制电路(TRANSITION CNTRL1)178。第二相位混合器176从DCLK1寄存器172接收调节信号,并且从锁定环路152接收pll_clk1。存储在DCLK1寄存器172中的调节信号与发送操作模式和接收操作模式中使用的调节值相对应,以集中第二相位混合器176的输出来最优地用于发送和接收。在校准操作模式期间获得DCLK1寄存器172中的调节值。第二相位混合器176的输出由延迟175来进行延迟,以产生时钟信号dclk<1>,其在第二位片154b(图1A)中使用,如以下参考图2A所述。
图1C示出了TRANSITION CNTRL0 162、TRANSITIONCNTRL1 178和SKIP CNTRL 164控制电路的一个实施方式。在该实施方式中,减法电路180、184用于根据两个时钟信号或者两个时钟域之间的相位差来产生“操作区域”的相位差值指示。然后解码器电路181、185用于将相位差值解码为跳跃控制信号。针对第一位片,TRANSITION CNTRL0 162包括减法电路180-0-T,用于在从DCLK0寄存器156获得的发送路径值中减去SCLK_CTRL值,反之亦然。得到的值由解码器180-0-T根据图3D中示出的相位差区域来进行解码,以产生针对第一位片的发送路径的3个跳跃选择信号skip_sel0、skip_sel1和skip_sel2,其统称为skip_sel<0,Tx>。只要由减法电路180-0-T输出的值在数值上有变化,则数值变化检测器182-0-T即输出脉冲信号,称为skip_update<0,Tx>。减法电路180-0-T、解码器181-0-T和数值变化检测器182-0-T形成TRANSITION CNTRL0 162的第一子电路。TRANSITION CNTRL0 162的第二子电路包括减法电路180-0-R、解码器181-0-R和数值变化检测器182-0-R,以基于从DCLK0寄存器156获得的接收路径值来产生针对第一位片的接收路径的相应的跳跃控制信号组(skip_sel<0,Rx>,skip_update<0,Rx>)。
图1C示出了包含两个子电路的TRANSITION CNTRL1 178,该两个子电路基本类似于TRANSITION CNTRL0 162的两个子电路。子电路中的第一个子电路产生针对第二位片的发送路径的跳跃控制信号(skip_sel<1,Tx>,skip_update<1,Tx>),并且子电路中第二个子电路产生针对第二位片的接收路径的跳跃控制信号(skip_sel<1,Rx>,skip_update<1,Rx>)。
图1C还示出了SKIP CNTRL 164包括4个子电路,每个子电路具有减法电路184(184-0-T、184-0-R、184-1-T、184-1-R)和解码器185(185-0-T、185-0-R、185-1-T、185-1-R)。每个减法电路184从dlpclk_cnt中减去相应的div_sclk_cnt值(或者反之亦然),以产生相位差值(例如图2C中与情况0或者情况1相对应的值),然后该相位差值由对应的解码器185进行解码以产生相应的sskip控制信号sskip(0-Tx)、sskip(0-Rx)、sskip(1-Tx)或者sskip(1-Rx)。解码器185根据图2C中所示的相位差值到跳跃控制信号的映射来进行操作。
TRANSITION CNTRL1 178接收来自DCLK1寄存器172的两个调节信号(一个用于第二位片的发送路径并且一个用于第二位片的接收路径)以及来自SCLK CNTRL 166的输出,并且生成两组跳跃控制信号(skip_sel<1>和skip_update<1>)。在一些实施方式中,每个skip_sel<1>包括3个跳跃控制信号(skip_sel0、skip_sel1和skip_sel2)。以下参考图3D对skip_sel0、skip_sel1和skip_sel2的合成进行描述。为了确定skip_sel<1>信号的值,TRANSITIONCNTRL1 178将来自DCLK1寄存器172的调节信号(一个用于第二位片的发送路径,并且一个用于第二位片的接收路径)与来自SCLKCNTRL 166的输出进行比较。因为在多数情况下来自SCLK CNTRL166的输出是0,所以来自DCLK1寄存器172的调节信号的值表示第二位片的发送路径和接收路径中的dclk和div_sclk之间的相位差。针对发送路径和接收路径的skip_sel<1>信号基于这些相位差,如以下所述以及图3D所示。另外,TRANSITION CNTRL1 178包括两个数值变化检测器,其检测DCLK1寄存器值和SCLK CNTRL值之间的差值的任何变化。例如,该值通常在第二位片从读取模式变化到写入模式时变化,反之亦然,因为DCLK1值对于读取模式和写入模式通常是不同的。当TRANSITION CNTRL1 178检测到DCLK1寄存器值和SCLK CNTRL值之间的差值变化时,将对应的skip_update<1>信号短暂启用几个时钟周期(例如,dclk或者sclk信号的3个时钟周期)。以下参考图3C对skip_sel0、skip_sel1和skip_update<1>的使用进行描述,并且以下参考图3A和图3B对skip_sel2的使用进行描述。以下参考图3D对skip_sel0、skip_sel1和skip_sel2关于dclk和sclk的时序关系进行描述。
图2A示出了根据一些实施方式的位片电路154x。位片电路154x是双向器件。因此,位片电路154x向对应的存储器电路190-x写入发送数据(例如,tdata)以及从对应的存储器电路190-x读取接收数据(例如,rdata)。存储器190-x是多个存储器电路190-1、190-2......190-n中的任意一个。位片电路154x耦合至发送存储器接口268和接收存储器接口270处的存储器电路190-x。随着位片电路154x从发送/写入模式转变到接收/读取模式,在发送存储器接口268和接收存储器接口270的中间的点处执行总线转换过程。
如图2A所示,位片电路154x接收三个不同的时钟信号LPCLK、sclk和pll_clk1,并且包括相位混合器204。相位混合器204与相位混合器158(图1B)或者相位混合器176(图1B)其中之一相对应以及与相关联的延迟160或者175其中之一相对应。以下参考图4A详细描述的相位混合器204从锁定环电路152(图1B)接收pll_clk1信号,并且输出时钟信号dclk以便由位片电路154x使用。在一些实施方式中,dclk具有8GHz的频率。相位混合器204输出dclk,该dclk具有针对发送/写入模式的第一相位(有时通过第一相位码以数字表示)以及针对接收/读取模式的第二相位(有时通过第二相位码以数字表示)。在总线转换期间,dclk的相位码被更新至对应的方向。
注意,每个位片电路154x在三个时钟域中操作:LPCLK的时钟域、sclk的时钟域和dclk的时钟域。如以下所述,跳跃电路214、244提供在LPCLK和sclk时钟域之间的平滑数据转换,而发送转换220和接收转换250电路提供在sclk和dclk时钟域之间的平滑数据转换。
发送数据通过发送数据路径来发送,该发送数据路径开始于第一发送电路210的输入并且结束于发送存储器接口268。发送数据路径包括第一发送电路210、发送转换电路220和第二发送电路230。发送转换电路220将第一发送电路210耦合至第二发送电路230。在一些实施方式中,发送数据路径具有不多于dclk的三个时钟周期的平均长度。
第一发送电路210接收LPCLK和sclk。第一发送电路210包括串行连接的层级化电路212、跳跃电路214和串行器电路216。层级化电路212接收LPCLK和发送数据。层级化电路212管理去往存储器电路190-x的数据流。跳跃电路214保证层级化电路212中的数据被适当地切换至串行器电路216。层级化电路212和串行器电路216在不同的时钟域中操作。跳跃电路214接收sskip,其表示来自SKIPCNTRL 164(图1B)的两个输入时钟之间的相位倾斜。在一些实施方式中,两个输入时钟是由分频器202(图1B中的177)输出的分频sclk信号div_sclk和LPCLK。在一些实施方式中,跳跃电路214是以下参考图2B描述的跳跃电路280(图2B)。在其他实施方式中,跳跃电路214类似于以下描述的发送转换电路220的快速跳跃电路300(图3A)。串行器电路216接收sclk以及分频的sclk(div_sclk)。
发送转换电路220保证sclk的时钟域中的数据被适当地切换至dclk的时钟域。因为数据必须在两个不同的高速(例如,8GHz)时钟域(例如sclk和dclk的时钟域)之间传递,该两个不同的高速时钟域彼此具有未知的相位关系,所以需要专门的发送转换电路220来避免引起位错误。发送转换电路220的跳跃裕度是在引起位错误之前,发送转换电路可以允许的两个时钟域之间的最大时序不确定性。在一些实施方式中,发送转换电路的跳跃裕度是dclk的时钟周期的一半。在一些实施方式中,发送转换电路220包括生成输出信号的快速跳跃电路300(图3A)。发送转换电路220的两个输入时钟是sclk和dclk。以下参考图3A-图3E对发送转换电路220进行详细描述。特别地,以下参考图3A对发送转换电路220的快速跳跃电路300(图3A)进行描述,并且以下参考图3C对用于发送转换电路220的快速跳跃电路300(图3A)的配置电路336(图3C)进行描述。
第二发送电路230接收dclk,并且在第二时钟域(即,dclk的时钟域)中操作。第二发送电路230包括偶/奇校准器232、输出多路器或前置驱动器234和输出驱动器236。在一些实施方式中,第二发送电路230包括发送存储器接口268。
接收数据通过接收数据路径来接收,该接收数据路径开始于接收存储器接口270并且结束于第一接收电路240的输出。接收数据路径包括第二接收电路260、接收转换电路250和第一接收电路240。接收转换电路250将第一接收电路240耦合至第二接收电路260。在一些实施方式中,接收数据路径具有不多于dclk的三个时钟周期的平均长度。
第二接收电路260接收dclk,并且在第二时钟域中操作。第二接收电路260包括偶/奇校准器262、接收DFE/Samp 264和接收前置放大器或线性EQ(均衡器)266。在一些实施方式中,第二接收电路260包括接收存储器接口270。
接收转换电路250保证dclk的时钟域中的接收数据被适当地切换至sclk的时钟域。如上关于发送转换电路220所述,因为数据必须在两个不同的高速(例如,8GHz)时钟域(例如,sclk和dclk的时钟域)之间传递,该两个不同的高速时钟域具有未知的彼此相位关系,所以需要专门的接收转换电路250来避免引起位错误。此外,在引起位错误之前,接收转换电路250可以允许的两个时钟域之间的时序不确定性的量称为跳跃裕度。在一些实施方式中,接收转换电路250的跳跃裕度是dclk的时钟周期的一半。在一些实施方式中,接收转换电路250包括生成输出信号的快速跳跃电路317(图3B)。接收转换电路250的两个输入时钟是sclk和dclk。以下参考图3A-图3E对接收转换电路250进行详细描述。特别地,以下参考图3B对接收转换电路250的快速跳跃电路317(图3B)进行描述,并且以下参考图3C对用于接收转换电路250的快速跳跃电路317(图3B)的配置电路336(图3C)进行讨论。
第一接收电路240接收LPCLK和sclk。第一接收电路240包括层级化电路242、跳跃电路244和解串器电路246。层级化电路242接收LPCLK并且输出接收数据。层级化电路242管理来自存储器电路190-x的数据流。跳跃电路244保证解串器电路246中的数据被适当地切换至层级化电路242。解串器电路246和层级化电路242在不同的时钟域中操作。跳跃电路244接收sskip,其表示来自SKIPCNTRL 164(图1B)的两个输入时钟之间的相位倾斜。在一些实施方式中,两个输入时钟是LPCLK和div_sclk。在一些实施方式中,跳跃电路244是以下参考图2B描述的跳跃电路280(图2B)。在其他实施方式中,跳跃电路244类似于以上描述的接收转换电路250的快速跳跃电路317(图3B)。解串器电路246接收sclk,并且还接收由分频器203产生的分频sclk。
图2B是示出根据一些实施方式的跳跃电路280的框图。跳跃电路280包括第一存储器单元272、第二存储器单元274、多路器276和第三存储器单元278。多路器276将第一存储器单元272和第二存储器单元274逻辑地耦合至第三存储器单元278。第一存储器单元272接收数据输入信号(din),并且由LPCLK触发。第二存储器单元274接收din,并且由LPCLK的反相触发。在一些实施方式中,第一存储器单元272和第二存储器单元274分别是触发器。多路器276分别接收第一存储器单元272和第二存储器单元274的输出,并且基于sskip在两个输入之中选择。以上参考图1B以及以下参考图2C描述了sskip的合成。第三存储器单元278接收多路器276的输出,并且由div_sclk触发。第三存储器单元278输出数据输出信号(dout)。在一些实施方式中,第三存储器单元278是触发器。以下参考图2C对跳跃电路280中使用的时钟信号的时序关系进行讨论。
图2C示出了根据一些实施方式的图2B的跳跃电路280中的信号的示例性时序关系。如图2C所示,sskip的值遵循两种不同的情况:情况0;以及情况1。在情况0中,sskip等于0。在情况1中,sskip等于1。另外,将LPCLK分为关于一个时钟周期的两个区间:1-2;以及3-4。div_sclk关于LPCLK上升所在的区间确定使用哪种情况。SKIP CNTRL 164(图1B)从dlpclk_cnt中减去div_sclk_cnt,以确定LPCLK与div_sclk之间的相位倾斜,并且由此确定div_sclk关于LPCLK上升所在的区间。因此,如果SKIP CNTRL 164(图1B)确定div_sclk在区间1-2中上升,则选择情况0并且sskip等于0。如果SKIP CNTRL 164(图1B)确定div_sclk在区间3-4中上升,则选择情况1并且sskip等于1。
图3A是示出根据一些实施方式的发送转换电路220(图2A)的快速跳跃电路300。跳跃电路300包括时钟分频器电路302、第一存储器单元304、第一多路器314、第二存储器单元316、第三存储器单元315和第二多路器313。第一多路器314将第一存储器单元304逻辑地耦合至第二存储器单元316。以下参考图3E对快速跳跃电路300中使用的时钟信号的时序关系进行讨论。
时钟分频器电路302将sclk分为两个信号di_div2_sel和di_div2_selb,每个信号具有的频率是sclk的频率的一半。在一些实施方式中,di_div2_sel和di_div2_selb的频率是4GHz。在一些实施方式中,时钟分频器电路302是触发器。
第一存储器单元304包括第一数据选择电路305和第二数据选择电路309。
第一数据选择电路305包括多路器306和存储器单元308。多路器306接收两个信号输入,即din和存储器单元308的输出的反馈信号,并接收选择器输入di_div2_sel。存储器单元308接收多路器306的输出,并且由sclk触发。在一些实施方式中,存储器单元308由与sclk同步的时钟信号触发。在一些实施方式中,存储器单元308是触发器。存储器单元308输出din的偶数位(div2even)。div2even的频率等于di_div2_sel的频率。在一些实施方式中,div2even的频率是4GHz。
第二数据选择电路309包括多路器310和存储器单元312。多路器310接收两个信号输入,即din和存储器单元312的输出的反馈信号,并接收选择器输入di_div2_selb。存储器单元312接收多路器310的输出,并且由sclk触发。在一些实施方式中,存储器单元312由与sclk同步的时钟信号触发。在一些实施方式中,存储器单元312是触发器。存储器单元312输出din的奇数位(div20dd)。div20dd的频率等于di_div2_selb的频率。在一些实施方式中,div20dd的频率是4GHz。
第一多路器314接收div2even和div20dd,并且基于配置时钟信号(do_div2_sel)在两个输入中选择。以下参考图3C对do_div2_sel的合成进行描述。第一多路器314输出信号(mux),其具有与sclk的频率相同的频率。在一些实施方式中,mux的频率是8GHz。
第二存储器单元316从第一多路器314接收mux,并且向第三存储器单元315和第二多路器313输出数据输出信号(d1)。在一些实施方式中,第二存储器单元316是由dclk钟控的触发器。
第三存储器单元315从第二存储器单元316接收d1,并且向第二多路器313输出数据输出信号(d2)。在一些实施方式中,第三存储器单元315是由dclk钟控的触发器。
第二多路器313基于配置时钟信号(skip_sel2)在输入d1和d2之中选择,并且输出数据输出信号(dout)。以上参考图1B对skip_sel2的合成进行了描述,并且以下参考图3D对skip_sel2相关于dclk、sclk和di_div2_sel的时序关系进行描述。由第二发送电路230(参见图2A)接收的输出信号dout具有与dclk的频率(其也是sclk的频率)相同的频率。在一些实施方式中,dout的频率是8GHz。以下参考图3D对skip_sel2相关于sclk和dclk的时序关系进行描述。
图3B是示出根据一些实施方式的接收转换电路250(图2A)的快速跳跃电路317的框图。跳跃电路317包括时钟分频器电路318、第一存储器单元320、第一多路器330、第二存储器单元332、第三存储器单元331和第二多路器333。第一多路器330将第一存储器单元320逻辑地耦合至第二存储器单元332。以下参考图3E对快速跳跃电路317中使用的时钟信号的时序关系进行讨论。
时钟分频器电路318将dclk分为两个信号,即di_div2_sel和di_div2_selb,每个信号的频率是dclk的频率的一半。在一些实施方式中,di_div2_sel和di_div2_selb的频率是4GHz。在一些实施方式中,时钟分频器电路318是触发器。
第一存储器单元520包括第一数据选择电路321和第二数据选择电路325。
第一数据选择电路321包括多路器322和存储器单元324。多路器322接收两个信号输入,即din和存储器单元324的输出的反馈信号,并接收选择器输入di_div2_sel。存储器单元324接收多路器322的输出,并且由dclk触发。在一些实施方式中,存储器单元324由与dclk同步的时钟信号触发。在一些实施方式中,存储器单元324是触发器。存储器单元324输出din的偶数位(div2even)。div2even的频率等于di_div2_sel的频率。在一些实施方式中,div2even的频率是4GHz。
第二数据选择电路325包括多路器326和存储器单元328。多路器326接收两个信号输入,即din和存储器单元328的输出的反馈信号,以及选择器输入di_div2_selb。存储器单元328接收多路器326的输出,并且由dclk触发。在一些实施方式中,存储器单元328由与dclk同步的时钟信号触发。在一些实施方式中,存储器单元328是触发器。存储器单元328输出din的奇数位(div20dd)。div20dd的频率等于di_div2_selb的频率。在一些实施方式中,div20dd的频率是4GHz。
第一多路器330接收div2even和div20dd,并且基于do_div2_sel在两个输入之中选择。如上所述,以下参考图3C对do_div2_sel的合成进行描述。第一多路器330输出信号(mux),其具有与dclk的频率相同的频率。在一些实施方式中,mux的频率是8GHz。
第二存储器单元332从第一多路器330接收mux,并且向第三存储器单元331和第二多路器333输出数据输出信号(d1)。在一些实施方式中,第二存储器单元332是由sclk钟控触发器。
第三存储器单元330从第二存储器单元332接收d1,并且向第二多路器333输出数据输出信号(d2)。在一些实施方式中,第三存储器单元331是由sclk钟控的触发器。
第二多路器333基于配置时钟信号(skip_sel2)在输入d1和d2之中选择,并且输出数据输出信号(dout)。以上参考图1B对skip_sel2的合成进行了描述,并且以下参考图3D对skip_sel2相关于dclk、sclk和di_div2_sel的时序关系进行描述。由第一接收电路240(参见图2A)接收的输出信号dout具有与sclk的频率(其也是dclk的频率)相同的频率。在一些实施方式中,dout的频率是8GHz。以下参考图3D对skip_sel2相关于sclk和dclk的时序关系进行描述。
图3C是示出根据一些实施方式的用于发送转换电路220(图2A)和接收转换电路250(图2A)的配置电路336的框图。配置电路336基于dclk、sclk与跳跃控制信号(skip_sel0和skip_sel1)之间的相位关系来确定do_div2_sel的相位。
注意,在以下的描述中,对于发送转换电路220(图2A),clk_1是sclk,clk_2是dclk,并且clkb_2是dclkb,而对于接收转换电路250(图2B),clk_1是dclk,clk_2是sclk,并且clkb_2是sclkb(其是sclk的反相)。
配置电路336耦合至时钟分频器电路334。时钟分频器电路334将clk_1分为两个信号,即di_div2_sel和di_div2_selb(未示出),每个信号的频率是clk_1的频率的一半。在一些实施方式中,di_div2_sel和di_div2_selb的频率是4GHz。在一些实施方式中,时钟分频器电路334是触发器。
配置电路336包括多个存储器单元338、340、344和348,多个多路器342和346,以及跳跃更新电路349。在一些实施方式中,存储器单元338、340、344和348是触发器。存储器单元338和340接收di_div2_sel,并且由clkb_2触发。
多路器342接收存储器单元338和340的输出,并且根据skip_sel0输出信号。skip_sel0的值独立于时钟故障。以上参考图1B对skip_sel0的合成进行了描述,并且以下参考图3D对skip_sel0相关于clk_1(其对于发送转换电路是sclk,而对于接收转换电路是dclk)、clk_2(其对于发送转换电路是dclk,而对于接收转换电路是sclk)和di_div2_sel的时序关系进行了描述。存储器单元344接收多路器342的输出信号,并且由clkb_2触发。在一些实施方式中,存储器单元344是触发器。
多路器346接收存储器单元344的输出和反相输出,并且根据skip_sel1输出信号。以上参考图1B对skip_sel1的合成进行了描述,并且以下参考图3D对skip_sel1相关于clk_1、clk_2和di_div2_sel的时序关系进行描述。存储器单元348接收多路器346的输出信号的反相,并且由clkb_2触发。在一些实施方式中,存储器单元348是触发器。
跳跃更新电路349包括多路器350和存储器电路352。多路器350接收存储器单元348的输出和来自存储器单元352的do_div2_sel的反馈信号。多路器350根据skip_update输出信号。存储器单元352接收多路器350的输出信号的反相,并且由clkb_2触发。在一些实施方式中,存储器电路352是触发器。跳跃更新电路349的输出是do_div2_sel。当skip_update等于1时,do_div2_sel等于存储器单元348的输出。当skip_update等于0时,跳跃更新电路349是“自由运行(free-running)”的,并且不管存储器单元的输348出的变化,do_div2_sel将不会在数值上有变化。不存在skip_update的相位要求。
图3D示出了根据一些实施方式的图3A的快速跳跃电路300、图3B的快速跳跃电路317和图3C的配置电路336中的信号的示例性时序关系。更具体地,图3D示出了发送转换电路的时序关系,在这种情况下,sclk与图3C的clk_1相对应,并且dclk与图3C的clk_2相对应。然而,对于接收转换电路(其中在图3C中,clk_1是dclk,而clk_2是sclk),sclk和dclk的角色在图3D中反转了,在这种情况下,所有的sclk波形在图3D中变成dclk波形,而所有的dclk波形在图3D中变成sclk波形。为了易于解释,以下仅针对发送转换电路对图3D的时序关系进行解释;通过反转sclk和dclk的角色可以简单地获得针对接收转换电路的相应的时序关系。
如图3D所示,di_div2_sel具有两倍于dclk时钟周期长度的时钟周期。也如图3D所示,skip_sel0、skip_sel1和skip_sel2的值遵循四种不同的情况:情况11;情况12;情况21;以及情况22。在情况11中,skip_sel0、skip_sel1和skip_sel2全部等于1。在情况12中,skip_sel0和skip_sel1都等于1,而skip_sel2等于0。在情况21中,skip_sel0和skip_sel2都等于0,而skip_sel1等于1。在情况22中,skip_sel0、skip_sel1和skip_sel2全部等于0。
另外,dclk相关于一个时钟周期分为四个区间:7-0;1-2;3-4;以及5-6。sclk在其中关于dclk上升的区间确定使用哪种情况。如果sclk的上升沿(以及sclkb的下降沿)位于区间7-0(示例1),则选择情况11。如果sclk的上升沿位于区间1-2(示例2),则选择情况12。如果sclk的上升沿位于区间3-4(示例3),则选择情况21。如果sclk的上升沿位于区间5-6,则选择情况22。
图3E示出了根据一些实施方式的图3A的发送转换220(图2A)中的信号的示例性时序关系。示出了根据一些实施方式的图3B的接收转换电路250(图2A)中的信号的时序关系。回想dclk被分为di_div2_sel和di_div2_selb(未示出),以及din被分为div2even和div20dd。当sclk的上升沿位于区间3-4时(如参考图3D所述),do_div2_sel、mux、d1和dout之间的时序关系由第一组信号354示出。当sclk的上升沿位于区间5-6时(参考图3D所述),do_div2_sel、mux、d1和dout之间的时序关系由第二组信号356示出。注意,在第二组信号356中,dout延迟了相关于d1的一个时钟周期。
图4A是示出根据一些实施方式的相位混合器204的框图。相位混合器204从锁定环电路152(图1A-图1B)接收pll_clk1。在一些实施方式中,多相位时钟生成器412从pll_clk1生成多相位输入时钟414。诸如多路器416的选择性耦合器可以根据来自多路器420的命令或者相位值将多相位输入时钟414的相应对耦合至混合器418。多路器420根据发送或者接收模式控制信号输出命令。发送相位寄存器422存储发送模式的相位值或者命令信号。接收相位寄存器424存储接收模式的相位值或者命令信号。混合器418生成诸如dclk(图2A)的时钟信号clkA。在一些实施方式中,混合器418可以根据来自多路器420的命令或者相位值通过在多相位输入时钟452(图4B)的相应对之间内插来生成次级时钟信号。因此,在一些实施方式中,次级时钟信号可以与多相位输入时钟452中的一个或者多个相对应。
图4B是示出根据一些实施方式的相位混合器450(诸如相位混合器130、140、148或者168(图1B)之一)的框图。相位混合器450可以从锁定环电路122或152(图1B)接收主时钟信号,诸如一组多相位输入时钟452。诸如多路器454的选择性耦合器可以根据来自相位寄存器458的命令信号或者相位值将多相位输入时钟452的相应对耦合至混合器456。混合器456生成时钟信号clkB,诸如sclk(图1B)。在一些实施方式中,混合器450可以根据来自相位寄存器458的命令或者相位值通过在多相位输入时钟452的相应对之间内插来生成次级时钟信号。因此,在一些实施方式中,次级时钟信号可以与多相位输入时钟452中的一个或多个相对应。
图5A-图5E是示出根据一些实施方式的用于增加具有发送操作模式和接收操作模式的位片电路中的跳跃裕度的过程500的流程图。如图5A所示,过程500包括在第一发送电路(例如,发送电路210,图2A)和第一接收电路(例如,接收电路240,图2A)处接收第一时钟信号(例如,sclk,图2A)(502)。第一发送电路和第一接收电路在第一时间域中操作。在一些实施方式中,第一发送电路包括串行器电路(例如,串行器216,图2A),并且第一接收电路包括解串器电路(例如,解串器246,图2A)(504)。在一些实施方式中,第一时钟信号在发送操作模式和接收操作模式二者中具有相同的相位(506)。
利用单相位混合器(例如,相位混合器204,图2A)生成第二时钟信号(例如,dclk,图2A)(508)。第二时钟信号在发送操作模式中具有第一相位,并且在接收操作模式中具有第二相位。
发送转换电路(例如,发送转换电路220,图2A)和接收转换电路(例如,接收转换电路250,图2A)接收第一时钟信号和第二时钟信号(510)。发送转换电路将第一发送电路耦合至第二发送电路(例如,发送电路230,图2A),并且接收转换电路将第一接收电路耦合至第二接收电路(例如,接收电路260,图2A)。在一些实施方式中,第二时钟信号具有第一频率,并且发送转换电路包括以第一频率一半的频率操作的两个并行的数据路径(512)。
在第二发送电路和第二接收电路处接收第二时钟信号(514)。第二发送电路和第二接收电路在第二时间域中操作。
在一些实施方式中,如图5B所示,发送转换电路和接收转换电路每个包括跳跃电路(520)。在一些实施方式中,跳跃电路具有响应于第二时钟信号的第一存储器单元(例如,第一存储器单元304,图3A)、响应于第二时钟信号的第二存储器单元(例如,第二存储器单元316,图3A)和逻辑地定位于第一存储器单元与第二存储器单元之间的多路器(例如,多路器314,图3A)(522)。在一些实施方式中,第一存储器单元响应于与第一时钟信号同步的时钟信号,并且第二存储器单元响应于与第二时钟信号同步的时钟信号(524)。
在一些实施方式中,发送数据通过第二时钟域中的发送路径来发送(526)(图5C)。发送路径开始于发送转换电路的输出,并且结束于第二发送电路的外部接口(例如,发送存储器接口268,图2A)。另外,发送路径具有不多于第二时钟信号的三个时钟周期的平均长度。
在一些实施方式中,通过第二时钟域中的接收路径对接收数据进行接收(528)(图5C)。接收路径开始于第二接收电路的外部接口(例如,接收存储器接口270,图2A),并且结束于接收转换电路的输出。另外,接收路径具有不多于第二时钟信号的三个时钟周期的平均长度。
在一些实施方式中,该过程进一步包括图5D中描述的操作。将与第一时钟信号的相位相对应的第一数字值存储在第一电路中(530)。将与第二时钟信号的相位相对应的第二数字值存储在第二电路中(532)。耦合至第一电路和第二电路的逻辑产生针对发送转换电路的控制信号(534)。在一些实施方式中,根据第一时钟信号与第二时钟信号之间的相位差来产生控制信号(536)。在一些实施方式中,该逻辑被配置为从第二时钟信号的相位变化自动地恢复(538)。
在一些实施方式中,该过程进一步包括图5E中描述的操作,其中第二时钟信号具有第一频率,并且发送转换电路以第一频率一半的频率操作两个并行数据路径(550)。在一些实施方式中,第一发送电路包括串行器电路,并且第一接收电路包括解串器电路(552),并且进一步地,第一时钟信号在发送操作模式和接收操作模式二者中具有相同的相位(553)。在一些实施方式中,该过程包括在第二时钟域中通过发送数据路径来发送数据,发送数据路径开始于发送转换电路的输出,并且结束于第二发送电路的外部接口,其中发送数据路径具有不多于第二时钟信号的三个时钟周期的平均长度(554)。在一些实施方式中,该过程包括在第二时钟域中通过接收数据路径来接收数据,接收数据路径开始于第二发送电路的外部接口,并且结束于接收转换电路的输入,其中接收数据路径具有不多于第二时钟信号的三个时钟周期的平均长度(556)。
图6是示出根据一些实施方式的用于增加双向存储器接口中的跳跃裕度的过程600的流程图。如图6所示,过程600包括在单锁定环电路(例如,锁定环电路152,图1B)中生成参考时钟信号(例如,pll_clk1,图1B)(602)。单锁定环电路耦合至第一相位混合器(例如,相位混合器158,图1B)和第二相位混合器(例如,相位混合器176)。
参考时钟信号在包括第一相位混合器的第一位片电路(例如,位片154a,图1A)处接收(604)。在一些实施方式中,第一位片电路使用第一数据接收电路来接收数据,并且使用第一数据发送电路来发送数据。第一数据接收电路和第二数据发送电路二者都耦合至第一相位混合器。在一些实施方式中,基于参考时钟信号和第一控制信号利用第一相位混合器来产生第一时钟信号(例如,dclk<0>,图1B)(608)。第一时钟信号在第一位片电路中使用。
参考时钟信号还在包括第二相位混合器的第二位片电路(例如,位片154b,图1A)处接收(610)。在一些实施方式中,过程600包括并行执行操作610和操作604。在一些实施方式中,第二位片电路使用第二数据接收电路来接收数据,并且使用第二数据发送电路来发送数据(612)。第二数据接收电路和第二数据发送电路二者都耦合至第二相位混合器(612)。在一些实施方式中,基于参考时钟信号和第二控制信号利用第二相位混合器来产生第二时钟信号(例如,dclk<1>,图1B)(608)。第二时钟信号在第二位片电路中使用(614)。
图7是根据一些实施方式的用于存储计算机可读文件的***700的一个实施方式的框图,该计算机可读文件包含用于实现双向存储器接口的电路的软件描述。***700可以包括至少一个数据处理器或者中央处理单元(CPU)710、存储器714、以及用于将这些组件彼此耦合的一个或多个信号线或者通信总线712。存储器714包括高速随机存取存储器(诸如DRAM、SRAM、DDR RAM、MRAM)或者其他随机存取固态存储器设备;并且可以包括非易失性存储器(诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或者其他非易失性固态存储设备)。存储器714可以可选地包括一个或多个位于CPU或多个CPU 710远端的存储设备。
在一些实施方式中,存储器714在一个或多个先前提到的存储器设备中存储电路编译器716、清除电路描述718、储能电路描述720和位片对描述722。电路编译器716在由诸如CPU 710的处理器执行时,处理一个或多个电路描述以合成一个或多个对应的电路。
在一些实施方式中,位片对描述722包括锁相环描述724以及一个或多个位片描述726。在一些实施方式中,一个或多个位片描述726包括相位混合器描述728、发送机电路描述734和接收机电路描述756。在一些实施方式中,发送机电路描述734和接收机电路描述756并行布置。
在一些实施方式中,相位混合器电路描述728包括发送模式寄存器730和接收模式寄存器732。
在一些实施方式中,发送机电路描述734包括层级化电路描述736、跳跃电路描述738、串行器电路描述740、发送转换电路描述742、偶/奇校准器748、输出多路器750、输出驱动器752和发送存储器接口754。在一些实施方式中,发送转换电路描述742包括初始化744和跳跃电路描述746。
在一些实施方式中,接收机电路描述756包括接收存储器接口描述758、接收前置放大器电路描述760、接收决策反馈均衡器电路描述762、偶/奇校准器电路描述764、接收转换电路描述766、解串器电路描述772、跳跃电路描述774和层级化电路描述776。在一些实施方式中,接收转换电路描述766包括初始化768和跳跃电路描述770。
为了解释的目的,已经参考具体实施方式对以上进行了描述。然而,以上示意性的描述并非旨在穷举性的或者将本发明限制于所公开的精确形式。鉴于以上教导可以做出多种修改和变化。为了更好地解释本发明的原理及其实际应用而选择和描述了实施方式,从而使得本领域技术人员能够更好地利用本发明以及具有各种修改的各种实施方式以便适合于所预期的特定使用。
Claims (39)
1.一种具有发送操作模式和接收操作模式的位片电路,包括:
第一发送电路和第一接收电路,所述第一发送电路包括在第一时钟域中操作的串行器电路,所述第一接收电路包括在第一时钟域中操作的解串器电路,其中所述串行器电路和所述解串器电路接收第一时钟信号;
在第二时钟域中操作的第二发送电路和第二接收电路,其中所述第二发送电路和所述第二接收电路接收第二时钟信号;
发送转换电路和接收转换电路,其在所述第一时钟域和所述第二时钟域之间传递数据,所述发送转换电路将所述第一发送电路耦合至所述第二发送电路,所述接收转换电路将所述第一接收电路耦合至第二接收电路,其中所述发送转换电路和所述接收转换电路中的每一个都接收所述第一时钟信号和所述第二时钟信号;以及
单相位混合器,其生成所述第二时钟信号,其中所述第二时钟信号在发送操作模式中具有第一相位,并且在接收操作模式中具有第二相位。
2.如权利要求1的电路,其中所述第二时钟信号具有第一频率,并且所述发送转换电路包括以所述第一频率一半的频率操作的两个并行数据路径。
3.如权利要求1的电路,其中所述第一时钟信号在所述发送操作模式和所述接收操作模式二者中具有相同的相位。
4.如权利要求1的电路,其中所述第二时钟域中的发送数据路径开始于所述发送转换电路的输出,并且结束于所述第二发送电路的外部接口,具有不多于所述第二时钟信号的三个时钟周期的平均长度。
5.如权利要求1的电路,其中所述第二时钟域中的接收数据路径开始于所述第二发送电路的外部接口,并且结束于所述接收转换电路的输入,具有不多于所述第二时钟信号的三个时钟周期的平均长度。
6.如权利要求1的电路,包括:存储与所述第一时钟信号的相位相对应的第一数字值的第一电路、存储与所述第二时钟信号的相位相对应的第二数字值的第二电路以及耦合至所述第一电路和所述第二电路以产生用于所述发送转换电路的控制信号的逻辑。
7.如权利要求6的电路,其中根据所述第一时钟信号与所述第二时钟信号之间的相位差来产生所述控制信号。
8.如权利要求6的电路,其中所述逻辑被配置为从所述第二时钟信号的相位变化自动地恢复。
9.如权利要求1的电路,其中所述发送转换电路和所述接收转换电路中的每一个都包括相应的跳跃电路。
10.如权利要求9的电路,其中每个相应的跳跃电路具有响应于所述第一时钟信号的第一存储器单元、响应于所述第二时钟信号的第二存储器单元以及逻辑地定位于所述第一存储器单元与所述第二存储器单元之间的多路器。
11.如权利要求9的电路,其中每个相应的跳跃电路具有响应于与所述第一时钟信号同步的时钟信号的第一存储器单元、响应于与所述第二时钟信号同步的时钟信号的第二存储器单元以及逻辑地定位于所述第一存储器单元与所述第二存储器单元之间的多路器。
12.一种收发机电路,包括
第一位片电路,其发送和接收数据,具有第一相位混合器,该第一相位混合器用于接收包括具有至少四个时钟相量的组的本地主时钟信号、并用于产生在所述第一位片电路中使用的第一时钟信号;
第二位片电路,其发送和接收数据,具有第二相位混合器,该第二相位混合器用于接收包括具有至少四个时钟相量的组的本地主时钟信号、并用于产生在所述第二位片电路中使用的第二时钟信号;以及
单锁定环电路,耦合至所述第一相位混合器和所述第二相位混合器,以生成包括具有至少四个时钟相量的组的所述本地主时钟信号。
13.如权利要求12的收发机电路,其中
所述第一位片电路包括数据接收电路和数据发送电路,都耦合至所述第一相位混合器;以及
所述第二位片电路包括数据接收电路和数据发送电路,都耦合至所述第二相位混合器。
14.如权利要求13的收发机电路,其中所述第一相位混合器基于所述本地主时钟信号和第一控制信号产生用于在所述第一位片电路中使用的第一时钟信号;以及第二相位混合器基于所述本地主时钟信号和第二控制信号产生用于在所述第二位片电路中使用的第二时钟信号。
15.如权利要求12的收发机电路,其中所述收发机电路在集成电路中,并且所述单锁定环电路定位于所述第一位片电路与所述第二位片电路之间。
16.如权利要求12的收发机电路,其中所述收发机电路在集成电路中,并且所述单锁定环电路相对于所述第一位片电路和所述第二位片电路对称地定位。
17.如权利要求12的收发机电路,其中所述单锁定环电路耦合至参考时钟,该参考时钟控制所述单锁定环电路的频率。
18.一种收发机电路,包括:
N个位片对,其中N是大于1的整数,其中每个位片对包括:
第一位片电路,其发送和接收数据,具有第一相位混合器,该第一相位混合器用于接收本地主时钟信号、并用于产生在所述第一位片电路中使用的第一时钟信号;
第二位片电路,其发送和接收数据,具有第二相位混合器,该第二相位混合器用于接收本地主时钟信号、并用于产生在所述第二位片电路中使用的第二时钟信号;以及
单锁定环电路,耦合至所述第一相位混合器和所述第二相位混合器,以生成所述本地主时钟信号;
其中所述N个位片对并行发送2N位,并且并行接收2N位。
19.如权利要求18的收发机电路,进一步包括:
附加锁定环电路,具有用于接收主参考时钟信号的输入以及耦合至所述N个位片对的每一个中的单锁定环电路的输出。
20.如权利要求19的收发机电路,其中所述附加锁定环电路的输出具有的频率大于所述主参考时钟信号的频率。
21.如权利要求19的收发机电路,其中所述主参考时钟信号具有第一频率,并且所述附加锁定环电路的输出具有第二频率,所述第二频率是所述第一频率的倍数,并且其中所述倍数包括大于1的整数。
22.如权利要求19的收发机电路,进一步包括:
谐振储能电路,具有耦合至所述附加锁定环电路的输入和耦合至所述N个位片对的每一个中的单锁定环电路的输出。
23.如权利要求22的收发机电路,其中所述谐振储能电路具有的谐振频率等于所述附加锁定环电路的输出的频率。
24.一种用于增加具有发送操作模式和接收操作模式的位片电路中的跳跃裕度的方法,包括:
在第一发送电路中的串行器电路和第一接收电路中的解串器电路处接收第一时钟信号,其中所述串行器电路和所述解串器电路在第一时钟域中操作;
在第二发送电路和第二接收电路处接收第二时钟信号,其中所述第二发送电路和第二接收电路在第二时钟域中操作;
在发送转换电路和接收转换电路处接收所述第一时钟信号和所述第二时钟信号,所述发送转换电路将所述第一发送电路与所述第二发送电路耦合,所述接收转换电路将所述第一接收电路与所述第二接收电路耦合;以及
利用单相位混合器生成所述第二时钟信号,其中所述第二时钟信号在所述发送操作模式中具有第一相位并且在所述接收操作模式中具有第二相位;
在所述发送操作模式期间:
使用发送转换电路将数据从所述第一时钟域传递到所述第二时钟域,和
在所述第二时钟域中通过发送数据路径发送数据;以及
在所述接收操作模式期间:
在所述第二时钟域中通过接收数据路径接收数据,和
使用发送转换电路将数据从所述第二时钟域传递到所述第一时钟域。
25.如权利要求24的方法,其中所述位片电路在所述第二时钟信号的半个时钟周期内从发送模式转换到接收模式。
26.如权利要求24的方法,其中所述第二时钟信号在所述第二时钟信号的半个时钟周期内从所述第一相位转换到所述第二相位。
27.如权利要求24的方法,其中所述第二时钟信号具有第一频率,并且所述发送转换电路的两个并行的数据路径以所述第一频率一半的频率操作。
28.如权利要求24的方法,其中所述第一时钟信号在所述发送操作模式和所述接收操作模式二者中具有相同的相位。
29.如权利要求24的方法,其中
所述发送数据路径开始于所述发送转换电路的输出,并且结束于所述第二发送电路的外部接口,以及
所述发送数据路径具有不多于所述第二时钟信号的三个时钟周期的平均长度。
30.如权利要求24的方法,其中
所述接收数据路径开始于所述第二发送电路的外部接口,并且结束于所述接收转换电路的输入,以及
所述接收数据路径具有不多于所述第二时钟信号的三个时钟周期的平均长度。
31.如权利要求24的方法,包括
将与所述第一时钟信号的相位相对应的第一数字值存储在第一电路中;
将与所述第二时钟信号的相位相对应的第二数字值存储在第二电路中;以及
在耦合至所述第一电路和所述第二电路的逻辑中产生用于所述发送转换电路的控制信号。
32.如权利要求31的方法,其中根据所述第一时钟信号与所述第二时钟信号之间的相位差来产生所述控制信号。
33.如权利要求31的电路,其中所述逻辑被配置为从所述第二时钟信号中的相位变化自动地恢复。
34.如权利要求33的电路,其中所述第二时钟信号在所述第二时钟信号的半个时钟周期内从所述第一相位转换到所述第二相位。
35.如权利要求24的电路,其中所述发送转换电路与所述接收转换电路中的每一个都包括跳跃电路。
36.如权利要求35的电路,其中所述跳跃电路包括响应于所述第一时钟信号的第一存储器单元、响应于所述第二时钟信号的第二存储器单元以及逻辑地定位于所述第一存储器单元与所述第二存储器单元之间的多路器。
37.如权利要求35的电路,其中所述跳跃电路包括响应于与所述第一时钟信号同步的时钟信号的第一存储器单元、响应于与所述第二时钟信号同步的时钟信号的第二存储器单元以及逻辑地定位于所述第一存储器单元与所述第二存储器单元之间的多路器。
38.一种增加双向存储器接口中的跳跃裕度的方法,包括:
在单锁定环电路中生成本地主时钟信号,所述单锁定环电路耦合至第一相位混合器和第二相位混合器;
在第一位片电路处接收所述本地主时钟信号,所述第一位片电路包括所述第一相位混合器;
在第二位片电路处接收所述本地主时钟信号,所述第二位片电路包括所述第二相位混合器;
在所述第一位片处,使用第一数据接收电路来接收数据,并且使用第一数据发送电路来发送数据,所述第一数据接收电路和所述第一数据发送电路都耦合至所述第一相位混合器;以及
在所述第二位片处,使用第二数据接收电路来接收数据,并且使用第二数据发送电路来发送数据,所述第二数据接收电路和所述第二数据发送电路都耦合至所述第二相位混合器。
39.如权利要求38的方法,包括
基于所述本地主时钟信号和第一控制信号,在所述第一相位混合器处产生第一时钟信号以便在所述第一位片中使用;以及
基于所述本地主时钟信号和第二控制信号,在所述第二相位混合器处产生第二时钟信号以便在所述第二位片中使用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US98978807P | 2007-11-21 | 2007-11-21 | |
US60/989,788 | 2007-11-21 | ||
PCT/US2008/083626 WO2009067386A1 (en) | 2007-11-21 | 2008-11-14 | Bidirectional memory interface with glitch tolerant bit slice circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101918929A CN101918929A (zh) | 2010-12-15 |
CN101918929B true CN101918929B (zh) | 2013-01-09 |
Family
ID=40365351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008801223993A Active CN101918929B (zh) | 2007-11-21 | 2008-11-14 | 具有故障容限位片电路的双向存储器接口 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100281289A1 (zh) |
CN (1) | CN101918929B (zh) |
WO (1) | WO2009067386A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE554529T1 (de) * | 2007-10-16 | 2012-05-15 | Austriamicrosystems Ag | Frequenzteiler und verfahren zur frequenzteilung |
US10641881B2 (en) | 2015-08-28 | 2020-05-05 | Aptiv Technologies Limited | Bi-static radar system |
CN106526582B (zh) * | 2015-08-28 | 2022-10-04 | 安波福技术有限公司 | 双基地雷达*** |
US10659059B2 (en) * | 2018-10-02 | 2020-05-19 | Texas Instruments Incorporated | Multi-phase clock generation circuit |
KR102674031B1 (ko) | 2019-05-13 | 2024-06-12 | 삼성전자주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 그 동작 방법 |
CN112104362B (zh) * | 2020-09-18 | 2023-12-08 | 上海安路信息科技股份有限公司 | 控制多路时钟以确定相位关系输出的方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1551002A (zh) * | 2003-04-10 | 2004-12-01 | �Ҵ���˾ | 管理多周期数据传送请求的分布式仲裁的方法和*** |
US7149916B1 (en) * | 2003-03-17 | 2006-12-12 | Network Equipment Technologies, Inc. | Method for time-domain synchronization across a bit-sliced data path design |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4641247A (en) * | 1985-08-30 | 1987-02-03 | Advanced Micro Devices, Inc. | Bit-sliced, dual-bus design of integrated circuits |
US6029253A (en) * | 1997-10-30 | 2000-02-22 | Micron Electronics, Inc. | Method for synchronizing data with a bi-directional buffer |
US6839393B1 (en) * | 1999-07-14 | 2005-01-04 | Rambus Inc. | Apparatus and method for controlling a master/slave system via master device synchronization |
US6718449B2 (en) * | 2001-07-09 | 2004-04-06 | Sony Corporation | System for data transfer between different clock domains, and for obtaining status of memory device during transfer |
US6759881B2 (en) * | 2002-03-22 | 2004-07-06 | Rambus Inc. | System with phase jumping locked loop circuit |
US7073001B1 (en) * | 2002-04-03 | 2006-07-04 | Applied Micro Circuits Corporation | Fault-tolerant digital communications channel having synchronized unidirectional links |
US7796652B2 (en) * | 2006-05-02 | 2010-09-14 | Diablo Technologies Inc. | Programmable asynchronous first-in-first-out (FIFO) structure with merging capability |
-
2008
- 2008-11-14 US US12/743,075 patent/US20100281289A1/en not_active Abandoned
- 2008-11-14 WO PCT/US2008/083626 patent/WO2009067386A1/en active Application Filing
- 2008-11-14 CN CN2008801223993A patent/CN101918929B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149916B1 (en) * | 2003-03-17 | 2006-12-12 | Network Equipment Technologies, Inc. | Method for time-domain synchronization across a bit-sliced data path design |
CN1551002A (zh) * | 2003-04-10 | 2004-12-01 | �Ҵ���˾ | 管理多周期数据传送请求的分布式仲裁的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
US20100281289A1 (en) | 2010-11-04 |
WO2009067386A1 (en) | 2009-05-28 |
CN101918929A (zh) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10840920B2 (en) | Method and apparatus for source-synchronous signaling | |
EP2932346B1 (en) | Reconfiguration of clock generation circuitry | |
EP1963943B1 (en) | Itegrated circuit with clock deskewing | |
CN101918929B (zh) | 具有故障容限位片电路的双向存储器接口 | |
US9467149B2 (en) | Methods and systems for distributing clock and reset signals across an address macro | |
KR20110014230A (ko) | 다중 위상 클록 발생 장치 및 방법 | |
KR20090107126A (ko) | 클럭 신호의 위상 튜닝 방법 및 그 장치 | |
US20100148832A1 (en) | Clock data recovery circuit | |
US10141940B2 (en) | Forwarded clock receiver based on delay-locked loop | |
US20080174347A1 (en) | Clock synchronization system and semiconductor integrated circuit | |
US20080238504A1 (en) | Phase locked loop | |
WO2019009978A1 (en) | METHOD AND APPARATUS FOR SYNCHRONIZATION BASED ON DIGITAL TIME CONVERSION (DTS) IN COMPUTER SYSTEMS | |
Giordano et al. | Protocol-independent, fixed-latency links with FPGA-embedded SerDeses | |
CN101018049B (zh) | 延迟锁相回路 | |
CN104601116A (zh) | 基于延时锁相环结构的倍频器 | |
US8063708B2 (en) | Phase locked loop and method for operating the same | |
US7804727B2 (en) | Semiconductor device having multiple I/O modes | |
KR20070071142A (ko) | 지연 고정 루프 기반의 주파수 체배기 | |
US7170963B2 (en) | Clock recovery method by phase selection | |
Kim et al. | Phase interpolator using delay locked loop [multiphase clock generation] | |
Jaiswal et al. | Adaptive Low-Power Synchronization Technique for Multiple Source-Synchronous Clocks in High-Speed Communication Systems | |
KR20090045583A (ko) | 지연 고정 루프와 그의 구동 방법 |
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 |