使用非同步缓冲器的时钟域边界跨越的制作方法

文档序号:8367798阅读:539来源:国知局
使用非同步缓冲器的时钟域边界跨越的制作方法
【技术领域】
[0001]本发明涉及集成电路装置(“1C”)。更具体地说,本发明涉及IC中使用非同步缓冲器的时钟域边界跨越。
【背景技术】
[0002]举例来说,高速链路(例如10Gbps的以太网链路)可具有宽数据路径。这些数据路径可整合至1C。常规地,这些数据路径可细分为多个片段,即数据通道。数据路径的这种解析可为设计的选择及/或可符合规格。举例来说,IEEE 802.3ba-2010标准规定10Gbps的以太网具有20个逻辑通道。出于这种或其它协议原因,此类多个通道可在IC内采用独立物理路径,并且此类通道中的两个或更多个可(例如)在输入/输出(“I/O”)接口处组合。举例来说,针对具有多个串行收发器以及多个时钟域的1C,此类多个通道可跨越这些时钟域中的一或多个。虽然设计可试图保持所有通道对准,即,使得数据路径上的所有数据遭遇相等延迟,但是使用先进先出缓冲器(“FIFO”)跨越时钟域边界本身增加了针对每一通道的某种延迟不确定性并且因此增加通道间的延时变化。
[0003]当前高速设计中的延时变化减少可能与正确操作及/或规格符合性相关。虽然一些变化可能不可避免,但提供跨越时钟域边界的延时变化的减少仍将为需要及有用的。

【发明内容】

[0004]描述一种包括多个信道的设备。多个信道中的每一者包含非同步缓冲器、延时确定块、分接头选择电路及可变延迟。延时定位器经耦合至延时确定块及至多个信道中的每一者的分接头选择电路。延时定位器经配置以从多个信道中识别最长延时,且经耦合以将最长延时提供到多个信道中的每一者的分接头选择电路。对于多个信道中的每一者而言:延时确定块经耦合至非同步缓冲器以确定非同步缓冲器的延时值;分接头选择电路经耦合以接收延时值以及最长延时;分接头选择电路经耦合至可变延迟;并且分接头选择电路经配置以响应于延时值以及电长延时选择可变延迟的分接头中的一分接头。
[0005]在设备中,以下一或多者可为事实:分接头选择电路可经配置以判定经过多个信道中的信道的非同步缓冲器的延迟与最长延时相差是否小于时钟周期的预定部分;信道可为通信信道;信道可用于数据组;信道的非同步缓冲器可由输入侧上的第一时钟信号以及输出侧上的第二时钟信号计时,其中第一时钟信号比第二时钟信号更快。
[0006]另外或替代地,多个信道中的每一者的非同步缓冲器可由输入侧上的第一共同时钟信号以及输出侧上的第二共同时钟信号计时;多个信道中的每一者的非同步缓冲器可由输入侧上的第一独立时钟信号以及输出侧上的独立时钟信号计时;多个信道中的每一者的非同步缓冲器可由输入侧上的共同时钟信号以及输出侧上的独立时钟信号计时,或者多个信道中的每一者的非同步缓冲器可由输入侧上的独立时钟信号以及输出侧上的共同时钟信号计时。
[0007]另外或替代地,以下一或多者可为事实:分接头选择电路可包括:减法器,其经耦合以接收延时值以及最长延时以自延时值减去最长延时值以确定差值;以及比较器电路,其经配置以判定差值是否小于预定值;预定值可为时钟周期的一部分;分接头选择电路可包括:加法器,其经耦合以接收延时值以及最长延时以使最长延时值与延时值相加以确定总和;以及比较器电路,其经配置以判定总和是否小于预定值。
[0008]另外或替代地,可变延迟可经耦合以接收待响应于所选择的分接头延迟的写入数据;或者可变延迟可经耦合以接收待响应于所选择的分接头延迟的读取数据。
[0009]也描述了一种包括上述设备的集成电路。
[0010]也描述了一种包括集成电路的设备。集成电路具有非同步边界,在所述非同步边界的输入侧上具有至少一个第一时钟域并且在所述非同步边界的输出侧上具有至少一个第二时钟域。非同步边界具有多个信道,其中每一信道包含非同步缓冲器、延时确定块、分接头选择电路以及可变延迟。非同步边界具有写入数据接口以及读取数据接口。非同步边界经配置以确定读取指针与写入指针之间的差值以提供多个信道中的每一者的延时值。非同步边界经配置以响应于非同步边界的多个信道的延时值以及最长延时值来调整经过非同步缓冲器的延迟。
【附图说明】
[0011]附图展示示范性设备,例如,电路、集成电路或系统。然而,附图不应限制所展示的实例,而是仅用于解释及理解。
[0012]图1是描绘示范性柱状现场可编程门阵列(“FPGA”)架构的简化的框图。
[0013]图2-1至2-4为描绘相应时钟域边界跨越的方块图。
[0014]图3为描绘示范性IC裸片的方块图。
[0015]图4-1及4-2为描绘相应示范性数据时序的信号图。
[0016]图5-1及5-2为描绘非同步边界中对应于数据时序的示范性部分的方块图。
【具体实施方式】
[0017]在以下描述中,阐述众多具体细节以提供对具体实例的更彻底描述。然而,所属领域的技术人员应显而易见,可在没有以下给定的所有具体细节的情况下实践一或多个实施例。在其它例子中,并未详细描述众所周知的特征,以免混淆实例。为了便于说明,在不同的图中使用相同的数字标记以指代相同的项目;然而,所述项目在替代实施例中可以是不同的。
[0018]在描述若干图式中的说明性地描绘的示范性设备之前,提供总体介绍用于进一步理解。
[0019]数据组中不同数据路径间的延迟不确定性的来源为非同步边界。常规地,非同步边界包含多个第一先进先出缓冲器(“FIFO”),其中数据使用写入时钟而计时进入此类FIFO中并且使用读取时钟而计时离开此类FIFO。因此,此类数据跨越两个不同的时钟域,其中此类数据可以相同或不同频率计时进入及计时离开这此FIFO。常规地,当输入数据宽度不同于输出数据宽度时,不同频率用于读取时钟及写入时钟。在平行数据的每个通道使用一 FIFO的情况下,可发生通道间变化。假定共同写入时钟以及独立读取时钟用于通道组的不同FIFO时,在此类FIFO之间的时钟歪斜及/或指针上的传递延迟差可导致一个或多个读取位置的通道间变化。然而,如果此类写入时钟比读取时钟快5倍,那么一个读取位置将等效于5个写入位置。
[0020]通过铭记上述总体理解,在下文中大体上描述了各种示范性时钟域边界跨越。此类时钟域边界跨越可在传输方向或接收方向上或在两个方向上。每一平台或信道可具有非同步缓冲器,例如非同步FIFO。信道或通道可用于数据组,并且这些组的数据宽度在这些信道组的输入和输出侧上可相同或不同(不对称)。一组中的每一 FIFO的延时可经确定并且与这些延时中的最长延时相比较。使用此延时信息,可进行对较早到达的数据的延迟调整以使这组中所有数据更紧密对准。
[0021]因为一个或多个上述实例是使用特定类型的IC例示的,因此在下文中提供了此类IC的详细描述。然而,应理解具有一个或多个时钟域边界跨越的其它类型的IC可得益于本文中所描述的技术中的一或多种。
[0022]可编程逻辑装置(“PLD”)是众所周知的集成电路类型,所述集成电路可经编程以进行指定的逻辑功能。PLD的一种类型为通常包含一排可编程单元片的现场可编程门阵列(“FPGA”)。这些可编程单元片可包含,例如输入/输出块(“10B”)、可配置逻辑块(“CLB”)、专用随机存取存储器块(“BRAM”)、乘法器、数字信号处理块(“DSP”)、处理器、时钟管理器、延迟锁定环路(“DLL”)等等。如本文所使用,“包含”意指包含但不限于。
[0023]每个可编程单元片通常包含可编程互连和可编程逻辑两者。所述可编程互连通常包含大量由可编程互连点(“PIP”)互连的不同长度的互连线。所述可编程逻辑使用可包含例如函数产生器、寄存器、运算逻辑等等的可编程元件实施用户设计的逻辑。
[0024]通常,通过将配置数据流加载到定义可编程元件的配置方式的内部配置存储器单元,对所述可编程互连与可编程逻辑进行编程。配置数据可以通过外部装置从存储器(例如,从外部PR0M)中读取或写入到FPGA中。然后,个体存储器单元的集体状态确定FPGA的功能。
[0025]PLD的另一类型为复杂可编程逻辑装置,或CPLD。CPLD包含由互连开关矩阵连接在一起并连接到输入/输出(“I/o”)资源的两个或两个以上“功能块”。CPLD的每个功能块包含类似于可编程逻辑阵列(“PLA”)与可编程阵列逻辑(“PAL”)装置所用结构的两层与/或(AND/OR)结构。在CPLD中,配置数据通常以片上方式存储在非易失性存储器中。在一些CPLD中,配置数据以位于芯片上的方式存储在非易失性存储器中,然后作为初始配置(编程)序列的一部分下载到易失性存储器上。
[0026]对于所有这些可编程逻辑装置(“PLD”),所述装置的功能性由出于所述目的而提供给所述装置的数据位控制。所述数据位可存储在易失性存储器(例如,静态存储单元,如在FPGA与一些CPLD中)、非易失性
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1