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

文档序号:8367798阅读:来源:国知局
准达持续维持写入及读取启用信号的此时段。然而,非同步边界200为自动监测的,因此数据对准的任何后续变化可导致后续数据的重新对准。因此,如果写入及读取启用信号随后经解除维持并且重新维持,那么非同步边界200可有效自动重置。
[0057]图3为描绘示范性IC裸片300的方块图。IC裸片300可包含输入/输出接口320。输入/输出接口 320可包含多个MGT、10B或其它类型的输入/输出接口块311。接口块311可经耦合至多个通信链路310-1至310-P(P为大于一的正整数)(“通信链路310”)。通信链路310中的每一者可包含多个信道312,并且通信链路310组可用于数据350组。继续以上实例,每一通信链路310可为32位宽,即32个信道或通道312,并且输入至非同步边界200的通信链路310中的五个可经分组以提供来自此非同步边界200的160位宽的输出。在此示范性方块图中的信道312为通信信道;然而,可使用其它类型的数据信道。
[0058]输入/输出接口 320可经耦合至非同步边界200-1。IC裸片300中可存在非同步边界200-1至200-M( “非同步边界200”),M为大于一的正整数。每一非同步边界200在其输入侧上具有至少一个写入时钟域并且在其输出侧上具有至少一个读取时钟域。因此,每一非同步边界200具有写入数据接口 321以及读取数据接口 322。每一非同步边界200具有多个信道312,其中每一信道312包含非同步缓冲器、延时确定块、分接头选择电路及可变延迟,此情形可能与先前本文中描述的一样。
[0059]如先前本文中所描述,每一非同步边界200经配置以确定读取指针与写入指针之间的差值以提供信道312中的每一者的延时值。此外,如先前本文中所描述,每一非同步边界200经配置以响应于非同步边界200的信道312组的此类非同步缓冲器的相关联延时值以及最长延时值,来调整经过一个或多个非同步缓冲器的延迟。如先前本文中所描述,分接头选择电路经配置以在信道312中的一信道的相关联延时值与此类信道312组的最长延时值的差异小于(或取决于实施,大于)时钟周期的预定部分时,来调整经过此信道的非同步缓冲器的延迟。
[0060]IC裸片300可包含使用可编程资源实体化的用户电路设计302,并且此类可编程资源可(例如)为FPGA。用户设计可得益于具有本文所述的一个或多个非同步边界200。此外,本文所述的非同步接口 200-1可经耦合至此用户设计。
[0061]在图3中,将数据描绘为流入IC裸片300中。然而,数据也可通过一个或多个非同步边界200流出IC裸片300。
[0062]因为可存在多个时钟域跨越,可存在其中数据及/或时钟可偏斜的多个实例,并且此类偏斜针对多个时钟域跨越可为渐增的。因此,通过具有多个非同步边界200,此类偏斜可减少,并且可避免此类累加。此外,因为非同步边界200为自动监测的,所以可调整此类多个时钟域跨越中的任何变化。
[0063]图4-1及4-2为描绘相应示范性数据时序410及420的信号图。图5_1及5_2为描绘非同步边界200中对应于数据时序410及420的示范性部分的方块图。
[0064]参见图5-1,将输入时钟信号214-1(即,“写入时钟I”)输入至非同步缓冲器210-1 ;将写入时钟信号214-2(即,“写入时钟2”)输入至非同步缓冲器210-2 ;并且将写入时钟信号214-3(即,“写入时钟3”)输入至非同步缓冲器210-3。将输出时钟信号213 (即,“读取时钟”)输入至非同步缓冲器210-1至210-3中的每一者。对于非同步缓冲器210-1至210-3中的每一者而言,针对每一读取位置存在两个写入位置。
[0065]参见图4-1,其为针对图5-1的非同步缓冲器200,假设独立读取及写入时钟域同步。读取时钟信号213以写入时钟信号214-1至214-3中的每一者的更短频率操作,即频率的二分之一,并且通常写入时钟信号214-1至214-3中的每一者都处于相同频率。
[0066]在时间402处,复位信号401从逻辑高过渡至逻辑低,并且因此将FIFO非同步缓冲器210-1至210-3从重置状态释放。FIFO非同步缓冲器210-1至210-3中的每一者为前沿或上沿触发的。
[0067]针对FIFO非同步缓冲器210-1,在退出重置状态之后写入时钟信号214_1的第一上沿403用于开始分别计时写入地址I信号以及写入数据I信号的地址aO及数据dO的起始。在此实例中,当写入时钟信号214-1比读取时钟信号213更快时,数据延迟的调整在写入或输入侧上进行。换句话说,当移位寄存器延迟的每一延迟元件在此实例中为写入时钟信号的一个时钟周期时,更快的信号允许更加精细的延迟调整。然而,在其它设备中,更短时钟信号(无论是写入时钟信号还是读取时钟信号)可以是在其上可在以具有较大时间间隔的延迟调整为代价延迟输出数据方面进行调整的一侧。
[0068]在此实例中,当写入数据I的写入数据dO为将要写入至非同步缓冲器210-1至210-3的非同步缓冲器210-1的所有三个写入信道I至3的最迟数据时,不进行分接头调整来延迟与信道相关联的数据,即不选择分接头来延迟或进一步延迟写入数据I。换句话说,从地址aO过渡至写入地址信号I上的地址al的时间408起,地址aO过渡至写入地址信号2上的地址al的时间比时间408早时间量406。同样,从地址aO过渡至写入地址信号I上的地址al时的时间408起,地址aO过渡至写入地址信号3上的地址al的时间比时间408早时间量407。在此实例中,在无任何增加的延迟的情况下,在写入数据I上的数据dO写入至非同步缓冲器210-1之前及在写入数据2上的数据dO写入非同步缓冲器210-2之前,将最早的数据(例如,写入数据3上的dO)写入非同步缓冲器210-3。
[0069]针对FIFO非同步缓冲器210-2,在退出重置状态之后写入时钟信号214-2的第一上沿404用于开始分别计时写入数据2信号以及写入地址2信号的数据dO及地址aO的起始。另外,在此实例中,当写入时钟信号214-2比读取时钟信号213更快时,数据延迟的调整在写入或输入侧上进行。当FIFO非同步缓冲器210-2随着说明性描绘的对准离开重置状态时,不进行分接头调整以进一步延迟数据。换句话说,写入数据2比写入数据I早的时间小于写入时钟的时钟周期的1/2。因此,相对于改进被写入至非同步缓冲器210-1至210-3的数据的对准,使写入数据2延迟写入时钟信号214-2的一个时钟周期将达不到预期目标。
[0070]针对FIFO非同步缓冲器210-3,在退出重置状态之后写入时钟信号214-3的第一上沿405用于开始分别计时写入数据3信号以及写入地址3信号的数据dO及地址aO的起始。另外,在此实例中,当写入时钟信号214-3比读取时钟信号213更快时,数据延迟的调整在写入或输入侧上进行。当FIFO非同步缓冲器210-3随着说明性描绘的对准离开重置状态时,进行分接头调整以进一步延迟数据。换句话说,写入数据3比写入数据I早的时间大于写入时钟的时钟周期的1/2。因此,相对于对准被写入至非同步缓冲器210-1至210-3的数据,使写入数据3延迟写入时钟信号214-3的一个时钟周期将为有用的。
[0071]为了说明性描绘此增加的延迟的影响,说明性地描绘写入数据3信号的延迟版本。在延迟写入数据3 (即,写入数据3 (延迟))之后,数据dO处于写入数据3的数据dl的未增加延迟的位置。因此,通过增加延迟的分接头至写入数据3以提供写入数据3 (延迟),信道I至3的所有dO以及后续数据比在未增加进一步延迟至信道3上的写入数据3的情况下可为更紧密对准的。
[0072]参见图5-2,将输入时钟信号214(即,“写入时钟”)输入至非同步缓冲器210_1至210-3。将输出时钟信号213-1(即,“读取时钟I”)输入至非同步缓冲器210-1 ;将输出时钟信号213-2(即,“读取时钟2”)输入至非同步缓冲器210-2 ;并且将输出时钟信号213-3(即,“读取时钟3”)输入至非同步缓冲器210-3。对于非同步缓冲器210-1至210-3中的每一者而言,针对每一读取位置存在两个写入位置。
[0073]参见图4-2,其为针对图5-2的非同步缓冲器200,假设独立读取及写入时钟域同步。读取时钟信号213-1至213-3通常以相同频率操作,所述信号中的每一者以写入时钟信号214的更短频率操作,即频率的二分之一。
[0074]在时间402处,复位信号401从逻辑高过渡至逻辑低,并且因此将FIFO非同步缓冲器210-1至210-3从重置状态释放。FIFO非同步缓冲器210-1至210-3中的每一者为前沿或上沿触发的。
[0075]针对FIFO非同步缓冲器210-1,在退出重置状态之后读取时钟信号213_1的第一上沿403用于开始
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1