第一时钟域和第二时钟域之间的同步数据传输的制作方法

文档序号:6361268阅读:217来源:国知局
专利名称:第一时钟域和第二时钟域之间的同步数据传输的制作方法
技术领域
本发明涉及数据处理系统,且尤其涉及在数据项目通道之间具有至少两个时钟域的数据处理系统。
背景技术
计算机通信网络通常利用交换ASICs (专用集成电路)构成。交换ASICs具有不同的类型和规模,但是通常大型网络需要大量的集中放置的交换ASICs以形成多级网络。可利用大量参数测量网络性能,这些包括带宽、等待时间、寻址、标准一致性以及更多。随着通信链接带宽和微处理器性能的增加,降低信息等待时间变得非常重要。通信等待时间被认为是发生通信的时间。对于较大量数据,通信链接的带宽是支配性的。对于少量信息,带宽不重要且相反的,沿电缆运行、穿过每个交换元件以及与终端处的计算机交界的调配器所需的时间支配最终的等待时间值。电缆延迟减小通过利用具有相对低磁导率介电绝缘体的高质量铜电缆。除了降低电缆长度,没有机会改进利用玻璃纤维光缆的。高性能串行器/串并转换(SerDes)用于交换ASICs上的功能模块和铜或光纤电缆之一连接。它们将ASICs上的并行数据转换为传输终端处的高频串行位流以及在线路的其他终端获得可获取的微弱信号并将其转换回并行接收数据值。需要高频局域生成时钟执行这个功能。所述始终用于传输和接收SerDes中的数据,通常不同于用于执行交换元件或与通信链接连接的适配器功能的主时钟。它们通常运行不同频率且关于主时钟通常可被异步完成。由于传入数据和局域时钟之间的相位关系,对于接收时钟这是非常普遍的,逻辑延迟和电缆长度通常是未知或无法预测的。对于传输时钟通常是便利的且所述系统时钟仅被松散连接,因为这可以显著简化ASIC级的系统设计。利用如附图1所示的取样触发器,时钟域之间的同步是可能的。触发器是寄存器状态的单字节。好的取样触发器需要性质略微不同于正常触发器。触发器具有时钟输入(CK),数据输入(D)以及数据输出(Q)。有时包括附加测试电路以及这通常采用附加输入多路转接器的形式,允许多个触发器连接进长移位寄存器中。这简化了输入测试数据和输出测试数据的处理。优化正常触发器从而减少从输入D到输出Q的最大延迟。所述D输入通常在时钟CK引脚的上升边缘取样以及设置越紧密,窗口保持越好。触发器I通常由图1示出的一个布置在另一个之后的2个D型锁存器2和3构成。第一 D型锁存器2是透明的当时钟输入CK为低时且第二 D型锁存器3是透明的当时钟输入CK为高时。在时钟上升边缘,这具有取样效果。当D型锁存器未取样输入时,该电路必须具有记忆前面取样值的方法。这通常通过向输入反馈输出值实现。有时利用弱反馈反相器实现,因为当D输入被取样时仅需要维持负载电荷。离开弱反相器,会泄露所述电荷且会丢失存储值。图2描述了用于在存储节点5上具有时钟反馈值的CMOS D型锁存器的一个电路4。当所述D锁存器必须记忆已经被加载的值时,这允许使用存储反相器从而有条件地将输出加载到所述存储节点上。取样触发器可以尝试加载值,同时该值是变化的。这会导致利用正常触发器的正常逻辑中的时序破坏。为了解决该问题,正常触发器定义设置且维持大约时钟的上升边缘的期限,期间D输入信号应固定为固态逻辑O或I值。如果设置/维持窗口较好,触发器的行为完全是可预测的。无法预测取样触发器的行为,如果在时钟的上升边缘上改变输出。输出会读取一个值以及随后变为其他值在时钟上升边缘之后的某个时间。所述触发器在这个不确定时间内可被描述为亚稳态。类似于仔细的平衡倒立摆,其可向一方或另一方倒下。平衡的越仔细,在倒向一个方向之前在相反位置徘徊的越久。最终会确定下来,但是理论上在无限期的时间内会不确定。不确定的可能性迅速变得微乎其微小,但是不确定通常具有有限的可能性。不可能防止亚稳态,但是可通过两种主要方式减少其影响的可能性1、取样触发器通常应具有非常强的条件负载反馈值。当触发器未取样输入时,环路增益越高越好。通过减少具有小缓冲的输出Q负载以及减少来自存储节点上的负载晶体管的电容负载进一步改进环路增益。这会促进触发器快速做出决定,当时钟处于保持电平时。利用倒摆比喻,这等于更强的重力下拉。2、其他方式是增加时间触发器的数量必须产生决定。失效概率包括时间指数函数。用于取样触发器在硅器件形成判定的可用时间通常与用在ASIC上的时钟周期有关。通常对于失效概率这不够长,该失效概率对于在很有可能的产物寿命期间的失效足够小。可流水化同步触发器,为添加在所述流水化中的每个触发器的全部周期有效增加了置位时间。图3给出了流水化同步方案的实施例,其中允许亚稳态向正常态回落的两个完整周期是可用的。该技术非常成功且用于多种设计中以异步内部接口上给出可靠运行。利用通常取样格雷码计数的流水线同步触发器测量交界处的两个时钟的相位关系。通常数据穿过短FIFO加载于一个时钟域以及在另一个时钟域中读取。图4给出了由6个寄存器构成的相位校准FIFO 6的实施例。在该实施例中,写为7的数据利用时钟A进入FIFO 6。每个新值写入由“利用时钟A写”箭头所示的下一个入口。在最后一个寄存器被写后,写指针会绕回由绕回指针所示的第一入口。在该实施例中,D1-D8的8个数据值被写入,同时第一值Dl被写入。数据利用时钟B从FIFO 6中抽出8,以写入的相同顺序读取数据。图4示出的FIFO 6是半满的,出自16个入口中的8个值有效。这是距离下溢最远的深度,此处读取速度快于写入速度,导致读指针赶上并超过读指针以及写入快于读取处溢出。为了避免下溢和溢出,写和读时钟不必具有相同的频率。图4描述了 FIFO 6,此处数据写入与数据读取的数量相同,但是FIFO 6可构造为允许在每个A时钟上写入的数量较之在每个B时钟上读取的数量不同。这可以是简单复联,但是更复杂的结构也是可能的。FIFO 6通常用于重较来自顺序位流的数据且通常仅写入多字节以为给定的所需带宽允许可控时钟频率。例如,可到达的数据16位宽且读取33位宽。在该实施例中,FIFO 6表现为对应写时钟每16位宽33个入口,对应读时钟每33位宽16个入口。在该情形中,写入和读取时钟频率比为33 :16,如果在所述两个时钟的每个周期上写入和读取值。具有其他管理不同时钟频率的方法。通信协议可包括允许时钟频率微变的机制。一些包括SKIP标记且其被接收器用于删除输入和减少溢出的概率,如果FIFO变满或无法取值,如果FIFO关闭为清空允许其获取额外输入。
其他所使用的常规方法是利用快速时钟处理数据而不是传输或接收该数据。接收FIFO通常会删除有效数据以及传输FIFO通常会确保对于所述FIFO有足够的写入数据,从而保证读取时钟具有有效数据发送。任何数据设置在FIFO中的增加信息等待时间。一些设计与等待时间值无关且这些通常选择保持重较FIFOs接近半满。然而,对于等待时间的关键设计,FIFOs应尽可能被保持为清空如图5所示,当FIFO仍保证未下溢时。取样触发器必须有稳定时间以及它们可容易需要2,3或更多周期从而允许所述取样触发器有足够时间删除它们的亚稳态。对于非常低的等待时间,通信利用多级交换元件,这种额外延迟会影响整个系统的性能。具有高性能SerDes,可在RX路径和TX路径上同时看到这种额外延迟加倍了损失。通常使用的电路通过如图6所示的从异步时钟域22进入另一个24的FIFO 20安全移除数据。所述电路穿过读指针28的格雷编码复制器26进入读取时钟域24,以及读取指针32的格雷编码复制器30进入写时钟域22。同步触发器34必须用于传入新时钟域的格雷编码指针值上以防止亚稳态问题。一旦同步进入新时钟域,格雷值转换36,38为二进制值且被40,42与局部指针值比较从而确定FIFO 20是满还是空。在FIFO 20的读取一侧,可安全读取输入当所述FIFO 20未空时,以及在FIFO 20的写入一侧,可安全读取输入当所述FIFO 20未满时。这种方法是固有安全的,因为对于引起所述同步的从一个时钟域至其他时钟域指针值的通过,至少有3个时钟周期。由于通过所述同步的延迟,这种安全性的消耗是额外等待时间。在多个通信ASICs中,较之通信链接在更高频率执行主要系统逻辑。这允许执行额外数据包处理操作以及负面效应是其还准许跨过所述系统和链接时钟域之间的FIFOs的时钟域的简化。对于从所述链接时钟域进入所述系统时钟域的数据传递,可保证从FIFO中以较之写入更快的速率读取数据。不必向所述写入时钟域传入读取指针,因为写入所述FIFO的逻辑可预测出所述FIFO未满。所述链接时钟域中的所述写指针传入所述系统时钟域从而允许一旦获取数据就进行读取。图7描述这种情形。这种执行是跨过图6示出的FIFO的通用时钟域的简化情形且仍遭受由同步触发器引起的延迟问题,使得数据在其被读出之前在所述FIFO中停留数个周期。对于从所述系统时钟域进入链接时钟域的数据传递,所述系统必须确保仍有通过所述链接时钟域读取的数据,但是所述FIFO未溢出。为了实现这种情形,所述读指针从所述链接时钟域进入所述系统时钟域传递且所述系统时钟域中的逻辑可写数据每当所述FIFO未满时。图8描述了这种情形。另外,这是跨过图6示出的FIFO的通用时钟域的完全简化,且遭受过度等待时间由于所述FIFO保持为相对满。对于跨过时钟域,现有技术领域所讨论的所述执行是安全方法,但要承受过度等待时间,由于指针值传过所述同步触发器花费的时间。

发明内容
本发明的一个实施例可提供一种方法用于消除由跨过数据FIFOs的时钟域设计中的同步触发器引入的所述延迟且还提供一种用于校验未在FIFO中破坏的数据。该方法可允许在不到一个周期内穿过异步界面的数据同步化,同时对于可预测且安全的所述界面任一侧上的两个异步时钟之间的相位测量仍允许大量延迟。该方法允许固件动态优化所述延迟为最小可能,同时由于温度处理和电压,仍允许时钟跳动和相位变化。根据本发明的一方面,提供一种数据处理系统,包括具有第一时钟频率的第一时钟域、具有第二时钟频率的第二时钟域,以及将数据项目从第一时钟域向第二时钟域传输的可操作数据路径。所述数据路径包括缓冲器,该缓冲器具有用于从第一时钟域接收数据项目的输入,以及用于以先进先出方式向第二时钟域传输数据项目的输出端口。所述缓冲器具有用于指示缓冲器的当前第一位置的第一指示器,以及用于指示缓冲器的当前第二位置的第二指示器。所述系统进一步包括为所述缓冲器定义读取模式的可操作读取控制器,独立于该读取模式控制来自所述缓冲器的输出,以及独立于用于所述缓冲器的该第一指示器的值调整改读取模式。根据本发明的另一方面,提供一种利用将数据项目从第一时钟域向第二时钟域传输的可操作数据路径从具有第一时钟频率的第一时钟域向具有第二时钟频率的第二时钟域传输数据项目的方法,所述数据路径包括缓冲器,该缓冲器具有用于从第一时钟域接收数据项目的输入,以及用于以先进先出方式向第二时钟域传输数据项目的输出端口。所述缓冲器具有用于指示缓冲器的当前第一位置的第一指示器,以及用于指示缓冲器的当前第二位置的第二指示器。所述系统进一步包括为所述缓冲器定义读取模式的可操作读取控制器,独立于该读取模式控制来自所述缓冲器的输出,以及独立于用于所述缓冲器的该第一指示器的值调整改读取模式。该系统或方法实现所期望的具有减少等待时间的该数据传输速率。在一个实施例中,读取模式具有与之相关的模式指针,以及读取控制器可操作的将该模式指针与第一指针比较,且独立于该比较调整所述模式指针。所述读取控制器是可操作的以独立于预定的模式长度重置所述模式指针。所述数据路径包括用于将第一指针从所述第一时钟域向第二时钟域传输的指针传输设备。该指针传输设备可包括编码器和同步器。在一个实施例中,所述第二时钟频率高于第一时钟频率,且所述第一指针是写指针,第一位置是数据输入位置,所述第二指针是读指针,且第二位置是输出位置。可选地或附加地,所述数据路径可包括用于将第二指针从所述第一时钟域向第二时钟域传输的指针传输设备。该指针传输设备可包括编码器和同步器。在一个实施例中,所述第二时钟频率高于第一时钟频率,且其中所述第一指针是读指针,第一位置是数据输出位置,所述第二指针是写指针,且第二位置是输入位置。所述缓冲器可定义第三指针,其被延迟所述第二指针的一个周期版本且被升级为与所述第二指针相同的时钟域,用于从所述缓冲器读取数据的所述第三指针可与被延迟从利用所述第二指针的所述缓冲器中获取的数据的一个周期版本的比较,以至于提供由通过所述缓冲器的等待时间所引起的下溢错误的下溢值指示。该第三指针可用于防止下溢情况。所述下溢值可用于动态调整所需缓冲等待时间,从而减小通过所述缓冲器的等待时间以至于实质上未出现下溢错误。


仅借助于实施例和参考下图,本发明的这些和其他特征会被描述,其中
图1描述了一个触发器;
图2描述了改进取样触发器;
图3描述了进一步改进的取样触发器;
图4和5各自描述了先进先出缓冲器的运作;
图6-8各自描述了用于跨过时钟域界限的数据项目传输的前面所考虑的方案;
图9-11各自描述了时钟信号图12描述了具有输出数据检查逻辑的先进先出缓冲器;
图13描述了体现本发明一方面的方案;
图14描述了体现本发明另一方面的方案。
具体实施例方式考虑图9所出的2个时钟信号。时钟A慢于时钟B且对于时钟B的每六段时间具有准确的5段时间。时钟A表示所述链接时钟,且时钟B表示所述系统时钟。如果所述写入发生在较慢时钟上(时钟A),且所述读取发生在较快时钟上(时钟B),且假定写入所述FIFO的数据宽度与从所述FIFO读取的数据宽度相同,如果写出现在时钟A的每个周期上,读仅需在时钟B的每6个周期中的5个上执行。在没有FIFO溢出或潜流的情形下,读取可沿着6周期时间中5个读的相同模式无限期的持续。从FIFO读取的进程不必响应于写指针同步复制中的变化且因而要经受所述同步触发器的延迟。这仅是可能性的因为保证写会发生在较慢时钟的每个周期上,且因此是可预测的。尽管上述方法将读和写分开且确保所述FIFO不会溢出或潜运行,可认识到需要控制所述读指针和写指针分离的额外机制。所述机制确保所述读指针和写指针被正确隔开,将写指针传入读时钟域且观测读顺序中零输入被写入的点。如果所述指针间隔变小,那么所述读时钟域中的逻辑应在读时钟在其第三周期时观测具有零值的写指针。如果所述读逻辑未观测到这种情形,那么所述指针未被正确隔开,且它们必须要调整。通过没有读发生时跳过该周期缩短一周期的重复读图案,进行指针调整。假定时钟B的周期O中未执行读操作,且所述FIFO的输入O在时钟A的周期O中被写入,那么可在时钟B的周期I中安全读取FIFO的输入O。还可在时钟B的周期2,3,4,5中执行读从而读出写入时钟A的周期1,2,3,4的数据。这假定输入的所述写和读之间的最小时间(出现在时钟A中的周期4上的写以及时钟B中的周期5上的读)未违反寄存时间。六个周期上五个读的图案,在周期O上没有读可无限次的重复,一旦读的重复图案开始与写重复图案对准。在大部分执行中,时钟A和时钟B之间的关系不是如该部分所描述的实施例情形中的准确倍数关系。这是因为设计者希望利用特定值的时钟频率,不是所述链接时钟的简单倍数或因为所述链接协议的指定,其可以是允许百万分之200的容许的时钟频率,因而意味着准确的倍数是不可能的。对于这些情形,还可采用类似方法且对于这些情形下述实施例给出解决方案。
考虑图10所示出的时钟。时钟A表示所述链接时钟且用于在FIFO中写数据。时钟B表示系统时钟且用于从FIFO中读取数据。在该实施例中,时钟A (写时钟)的16周期出现在时钟B (读时钟)的17和18周期之间的时间。注意到这是因为两个时钟之间没有准确的倍数关系。本领域技术人员会意识到如果持续在17周期时间中16个读的重复图案施加到所述FIFO的读一侧(在时钟域B中),那么所述FIFO会慢慢泄漏直到变空且随后潜运行。类似的,如果持续在18周期时间中的16个读重复图案施加到所述FIFO的读一侧,那么所述FIFO会慢慢变满直到溢出。这个实施例的一个特征是重复安全图案(本实施例中在18个周期上16个读)且响应于探测到所述读指针和写指针未被最佳定位而变为较短版本(在17个周期上16个读)。为了监测所述读和写指针的间隔,写指针的格雷编码版本通过同步器进入读时钟域。在图11示出的理想情形中,等待时间穿过所述FIFO的减小,所述读时钟域中的逻辑应为重复图案的周期3中的同步写指针观测零值。如果在重复图案的0,I或2周期中观测到用于写指针的零值,那么所述图案必须在下一个重复中缩短一个周期。对于这种情形使用类似方法,此处在那个读数据的较快时钟域中写数据。假定读出现在较慢时钟的每个周期上,选择写重复图案从而使得所述FIFO缓慢变满。通过从所述读时钟域向写时钟域传入读指针,写控制逻辑可监测读指针与写指针相关的位置。特别地,通过监测写重复图案中的写逻辑观测零输入被写入的位置,图案可延伸至未执行写的偶然附加周期。这具有缩短所述写和读指针之间间隔的效果且因此减小了所述等待时间。本发明的其他方面是一种校验未被正确配置逻辑的方法从而使得在写和读输入之间出现时序违例。如果读出现的和写太近,会发生这种情形。如图12所示,时序验证逻辑在FIF050上添加了附加第二读端口 54,利用用于主读取端口 52的读指针延迟复制寻址。所述延迟指针延迟一个周期。利用所述延迟指针的数据读取与前面周期中被主读取端口 52延迟复制的数据读取比较56。如果探测到不匹配,那么出现下溢错误。这种机制可用于减小通过缓冲器的等待时间。固件可设置初始值为通过期望无错误的缓冲器的等待时间。那么所述固件会开始缓慢减少等待时间,每次一个延迟值。最终所述延迟读指针不会与取自前面周期的数据复制匹配,表明下溢错误已经出现。所述固件可添加最终的减少的等待时间值。这应该导致最小可能的通过跨过缓冲器的时钟的等待时间,尽管仍给出错误空闲操作。图13描述了一个实施例,能够将数据项从链接时钟域72传入更快系统时钟域。这个设计有5部分。数据FIF060是具有一个写端口 62和一个读端口 64的两端口存储器。本实施例示出的FIF060的深度为8输入,但是很容易认识到此处所描述的原则上是任意尺寸的FIFO。写指针逻辑66定时在链接时钟域72中且由从0_15计数的空运行四位计数器68组成。计数器68的输出值是格雷码70且向系统时钟域74传递。仅需要更低三位计数器形成进入数据FIF060中的写指针。在所述系统时钟域74中,读图案逻辑76由包括所期望的读取图案的软件可编程寄存器78组成。第二寄存器80包括图案长度(标记为“Len”)。空运行计数器82被系统时钟增量定时直到其到达长度寄存器80中指定的值,在此点其被重置。所述计数器82的输出还被用作进入读图案寄存器78的指针84以选择用作可从FIF060中读取的字节。
来自读图案逻辑76的读取使能信号86用于使得来自FIF060的数据被读取且在读指针逻辑88中增加读指针90。当图案指针84达到Len寄存器80所指定的最大值时,重置所述读指针90为O。最后的组件是指针间隔逻辑92,用于决定何时缩短存储于图案寄存器78中的重复读取图案。同步器94用于将格雷码写指针带入系统时钟域74。所述格雷值在转换器96中转换为二进制值且形成用于指针等于O的检查器98。如果,当同步写指针等于O时,所述图案指针84小于可编程最小值100 (标记为“Min”),那么所述指针间隔太远且必须通过缩短图案一个周期将其拉近。寄存器102被设置成指示应在其下个循环被缩短的重复图案。缩短寄存器102设置为0,当所述图案指针84达到其最大值。如果重设图案指针84时设置寄存器102,那么所述图案指针84重设为大于O的一个值。这具有将重复图案缩短一个周期的效果。注意,所述读图案寄存器的字节O不能被设置为1,否则当缩短所述图案时无法执行读取。图14描述了图13方案的变化。图14的方案是用于当数据项从所述系统时钟域116进入更慢链接时钟域118时。在该情形中,在所述链接时钟域118的每个周期上执行从FIFOl 10的读取。在图14实施例中,读指针120由四位空运行计数器122的输出提供。底部三位用于寻址FIF0110。所述四位值是格雷编码124且通过同步器126进入所述系统时钟域116和二进制转换器128。比较器130用于识别何时同步读取指针为O。当同步读指针为O时,检查器132由图案指针144与最大值134 (标记为Max)的比较构成。如果图案指针144大于所述最大值,那么设置寄存器150以影响重复读取图案的延长,使FIF0110的填充变慢以及移动读和写指针120,121使其接近。当重设图案指针144时,清除加长寄存器150。由空运行计数器145的输出提供的所述图案指针144重设为O以及重设为任意值,当其达到可编程值148 (标记为Len)或当其超过所述可编程值时。可编程寄存器142包括能够用于重复图案的写图案。可认识到此处描述的两种版本(图13和14)可结合为单个执行,依赖于是否来自FIFO其他侧的同步指针高于或低于某些可编程阈值,加长或缩短重复图案。类似的,此处所述实施例是用于这种情形,其中在所述链接时钟的每个周期上访问链接时钟域中的FIFO,但是更复杂的图案可被使用。一种简单替换是所述链接时钟的每个其他周期中执行读,如果FIFO数据宽度两倍于通信数据。还可使用更复杂图案。例如,通信链接可具有20位界面,同时FIFO界面是32位。在那种情形中,读重复图案会发生在链接时钟的每32个周期,超过对于FIFO会具有全部20个写。尽管本发明特征已经参考附图和附图所示的实施例进行描述,但是可理解的是本发明未限制在所示出的准确实施例中且无需进一步的发明技术和效果进行各种变化和调

iF. O
权利要求
1.一种数据处理系统,包括 具有第一时钟频率的第一时钟域; 具有第二时钟频率的第二时钟域; 将数据项目从第一时钟域向第二时钟域传输的可操作数据路径,所述数据路径包括缓冲器,该缓冲器具有用于从第一时钟域接收数据项目的输入,以及用于以先进先出方式向第二时钟域传输数据项目的输出端口,所述缓冲器具有用于指示缓冲器的当前第一位置的第一指针,以及用于指示缓冲器的当前第二位置的第二指针; 为所述缓冲器定义读取模式的可操作读取控制器,独立于该读取模式控制来自所述缓冲器的输出,以及独立于用于所述缓冲器的该第一指针的值调整改读取模式。
2.如权利要求1所述的系统,其中读取模式具有与之相关的模式指针,以及读取控制器可操作的将该模式指针与第一指针比较,且独立于该比较调整所述模式指针。
3.如权利要求1或2所述的系统,其中所述读取控制器是可操作的以独立于预定的图案长度重置所述图案指针。
4.如权利要求1,2或3所述的系统,其中所述数据路径包括用于将第一指针从所述第一时钟域向第二时钟域传输的指针传输设备。
5.如权利要求4所述的系统,其中该指针传输设备包括编码器和同步器。
6.如权利要求4或5所述的系统,其中所述第二时钟频率高于第一时钟频率,且其中所述第一指针是写指针,第一位置是数据输入位置,所述第二指针是读指针,且第二位置是输出位置。
7.如前述权利要求任一项所述的系统,其中所述数据路径可包括用于将第二指针从所述第一时钟域向第二时钟域传输的指针传输设备。
8.如权利要求7所述的系统,其中该指针传输设备包括编码器和同步器。
9.如权利要求7或8所述的系统,其中所述第二时钟频率高于第一时钟频率,且其中所述第一指针是读指针,第一位置是数据输出位置,所述第二指针是写指针,且第二位置是输入位置。
10.如前述权利要求任一项所述的系统,其中所述缓冲器可定义第三指针,其被延迟所述第二指针的一个周期版本且被升级为与所述第二指针相同的时钟域,用于从所述缓冲器读取数据的所述第三指针可与被延迟从利用所述第二指针的所述缓冲器中获取的数据的一个周期版本的比较,以至于提供由通过所述缓冲器的等待时间所引起的下溢错误的下溢值指示。
11.如权利要求10所述的系统,其中所述下溢值用于动态调整所需缓冲等待时间,从而减小通过所述缓冲器的等待时间以至于实质上未出现下溢错误。
12.一种利用将数据项目从第一时钟域向第二时钟域传输的可操作数据路径从具有第一时钟频率的第一时钟域向具有第二时钟频率的第二时钟域传输数据项目的方法,所述数据路径包括缓冲器,该缓冲器具有用于从第一时钟域接收数据项目的输入,以及用于以先进先出方式向第二时钟域传输数据项目的输出端口,所述缓冲器具有用于指示缓冲器的当前第一位置的第一指针,以及用于指示缓冲器的当前第二位置的第二指针,所述方法包括为所述缓冲器定义读图案; 独立于该读图案控制来自所述缓冲器的输出;以及独立于用于所述缓冲器的该第一指针的值调整所述读图案。
13.如权利要求12所述的方法,其中读取图案具有与之相关的图案指针,以及所述读取控制器可操作的将该图案指针与第一指针比较,且独立于该比较调整所述图案指针。
14.如权利要求12或13所述的方法,进一步包括独立于预定的图案长度重置所述图案指针。
15.如权利要求12,13或14所述的方法,进一步包括利用所述数据路径包括从所述第一时钟域向第二时钟域传输第一指针。
16.如权利要求15所述的方法,进一步包括编码和同步化所述第一指针。
17.如权利要求15或16所述的方法,其中所述第二时钟频率高于第一时钟频率,且其中所述第一指针是写指针,第一位置是数据输入位置,所述第二指针是读指针,且第二位置是输出位置。
18.如权利要求12-17任一项所述的方法,进一步包括从所述第一时钟域向第二时钟域传输第二指针。
19.如权利要求18所述的方法,进一步包括编码和同步化第二指针。
20.如权利要求18或19所述的方法,其中所述第二时钟频率高于第一时钟频率,且其中所述第一指针是读指针,第一位置是数据输出位置,所述第二指针是写指针,且第二位置是输入位置。
21.如权利要求12-20任一项所述的方法,进一步包括提供第三指针,其被延迟所述第二指针的一个周期版本且被升级为与所述第二指针相同的时钟域,用于从所述缓冲器读取数据的所述第三指针可与被延迟从利用所述第二指针的所述缓冲器中获取的数据的一个周期版本的比较,以至于提供由通过所述缓冲器的等待时间所引起的下溢错误的下溢值指示。
22.如权利要求21所述的方法,其中所述下溢值用于动态调整所需缓冲等待时间,从而减小通过所述缓冲器的等待时间以至于实质上未出现下溢错误。
全文摘要
数据处理系统包括具有第一时钟频率的第一时钟域、具有第二时钟频率的第二时钟域,以及将数据项目从第一时钟域向第二时钟域传输的可操作数据路径。所述数据路径包括缓冲器,该缓冲器具有用于从第一时钟域接收数据项目的输入,以及用于以先进先出方式向第二时钟域传输数据项目的输出端口。所述缓冲器具有用于指示缓冲器的当前第一位置的第一指示器,以及用于指示缓冲器的当前第二位置的第二指示器。所述系统进一步包括为所述缓冲器定义读取模式的可操作读取控制器,独立于该读取模式控制来自所述缓冲器的输出,以及独立于用于所述缓冲器的该第一指示器的值调整改读取模式。
文档编号G06F13/40GK103003807SQ201180036577
公开日2013年3月27日 申请日期2011年7月26日 优先权日2010年7月28日
发明者爱德华·詹姆斯·特纳, 乔恩·比克罗夫特 申请人:格诺多有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1