CN107077445A - 发送器的通道到通道的偏斜校正 - Google Patents

发送器的通道到通道的偏斜校正 Download PDF

Info

Publication number
CN107077445A
CN107077445A CN201580049682.8A CN201580049682A CN107077445A CN 107077445 A CN107077445 A CN 107077445A CN 201580049682 A CN201580049682 A CN 201580049682A CN 107077445 A CN107077445 A CN 107077445A
Authority
CN
China
Prior art keywords
data buffer
clock signal
data
transmitter
buffer
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.)
Granted
Application number
CN201580049682.8A
Other languages
English (en)
Other versions
CN107077445B (zh
Inventor
P·诺威利尼
G·古亚斯提
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xilinx Inc
Original Assignee
Xilinx Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xilinx Inc filed Critical Xilinx Inc
Publication of CN107077445A publication Critical patent/CN107077445A/zh
Application granted granted Critical
Publication of CN107077445B publication Critical patent/CN107077445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/02Transmitters
    • H04B1/04Circuits
    • H04B1/0475Circuits with means for limiting noise, interference or distortion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/05Electric or magnetic storage of signals before transmitting or retransmitting for changing the transmission rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

在一种大体涉及启动多个发送器(190)的方法中,为具有相应数据缓冲器(121)的多个发送器(190)中的每一个启动一个序列。响应于执行所述序列,为每个数据缓冲器(121)设置延迟。所述序列包括:获取与读时钟信号(106)相关联的读地址(108)(501);获取与写时钟信号(105)相关联的写地址(109)(502);确定读地址(108)和写地址(109)之间的差值(503);设置与所述差值(111)相关联的标志信号(113)有效(504);以及调整读时钟信号(106)以改变差值(111)来定位标志信号(113)的状态位置的改变,以设置多个数据缓冲器(121)的数据缓冲器(121)的延迟(505)。

Description

发送器的通道到通道的偏斜校正
技术领域
以下描述涉及集成电路装置。更具体地,以下描述涉及集成电路的发送器的通道到通道的偏斜校正(lane-to-lane de-skew)。
背景技术
通常,在发送器启动或复位时,比如像串行器-解串器(SERDES,serializer-deserializer)中使用的发送器,会使用缓冲器旁路模式。缓冲器旁路模式用于避免例如由发送器的缓冲器所引起的偏斜。由于数据可在多个通道上串行化,多个发送器可能会因为通过并行使用它们各自的缓冲器(比如先入先出缓冲器(FIFO))而引起通道到通道的偏斜。但是,缓冲器旁路模式具有明显的电路开销以及其他限制。
此外,诸如H时钟树或其他类型的时钟网络可用于向对应于多个发送器的FIFO提供写时钟。时钟网络可能会随着温度变化具有显著的变化。为了补偿这种变化,延迟对准器可用于将写时钟可调地设置进这样的时钟网络中。延迟对准器可能是个复杂的模拟电路,因此延迟对准器的使用可能会增加缓冲器旁路操作模式的电路开销。另外,写时钟和读时钟间的相位变化可降低定时裕量(timing margin),并且随着集成电路变得越密集和越大,电路也会越容易受到信号传播延迟的差异的影响,即越容易受到通道到通道的偏斜的影响。
因此,期望提供不包含上述一个或多个上述限制的多个发送器间的偏斜均衡。
发明内容
一种大体涉及启动多个发送器的方法。在这种方法中,对具有相应数据缓冲器的多个发送器中的每一个启动(initiate)序列。响应于执行所述序列,为每个数据缓冲器设置延迟。所述序列包括:获取与读时钟信号相关联的读地址;获取与写时钟信号相关联的写地址;确定读地址和写地址之间的差异;设置与所述差异相关联的标志信号有效;并调整所述读时钟信号去改变所述差异以定位所述标志信号的状态位置的变化,从而置所述数据缓冲器的一个数据缓冲器的延迟。
可选地,多个发送器的每个数据缓冲器可至少被设置为大致相同的延迟值。
可选地,所述多个发送器可与多个通道相关联,并且所述多个通道可具有用于并行数据的最大的通道到通道的偏斜,所述并行数据分布于多个发送器,以准备进行串行化。
可选地,在所述序列之后,每个数据缓冲器可被设置为中点。
可选地,数据缓冲器可是具有用于存储数据的寄存器的FIFO。
可选地,数据缓冲器可是具有用于存储数据的存储单元的FIFO。
可选地,多个发送器可有相应的多个收发器。
另一种大体涉及启动多个发送器的方法。在这种方法中,对具有相应数据缓冲器的多个发送器中的每一个启动序列,响应于执行所述序列,给每个数据缓冲器设置延迟。所述序列包括:获取与读时钟信号相关联的读地址;获取与写时钟信号相关联的写地址;确定读地址和写地址之间的差异;设置与所述差异相关联的标志信号有效;调整所述读时钟信号以改变所述差异;并重复所述序列的步骤以定位所述标志信号的状态位置的改变。状态位置的改变是针对读时钟信号的读时间域与写时钟信号的写时间域之间的域交叉。所述数据缓冲器的一个数据缓冲器的延迟被设置为状态位置的改变。
可选地,对应于数据缓冲器的标志信号的重复设置有效可用于触发标志信号。
可选地,如果差值小于或等于所述多个数据缓冲器的一个数据缓冲器的缓冲器深度的一部分,则标志信号可被设置有效为逻辑0,并且如果所述差值大于所述数据缓冲器的深度的所述部分,则标志信号可被设置有效为逻辑1。
可选地,如果标志信号是逻辑1,则数据缓冲器的填充水平可大于一半;如果标志信号是逻辑0,则数据缓冲器的填充水平可小于或等于一半。
可选地,所述序列可在多个发送器的启动或复位时启动,并且为所述序列设置有效的所述标志信号可对应于数据缓冲器并对于所述序列的初始周期包括逻辑0和逻辑1。
可选地,读地址的获取可包括用读时钟信号除以一个与数据缓冲器的缓冲器深度相关联的除数来获得读地址。
可选地,写地址的获取可包括用写时钟信号除以那个与数据缓冲器的缓冲器深度相关联的除数来获得写地址。
可选地,差值的确定可包括格雷编码(Gray coding)。
可选地,所述方法还可包括为与第一标志信号的状态位置的第一改变相关联的数据缓冲器的第一FIFO设置第一延迟,为与第二标志信号的状态位置的第二改变相关联的数据缓冲器的第二FIFO设置第二延迟,通过数据缓冲器的第一FIFO缓冲器接收第一数据,通过数据缓冲器的第二FIFO缓冲器接收第二数据。通过第一FIFO缓冲器的第一数据的第一延迟可至少足够接近于第二数据通过第二FIFO缓冲器的第二延迟,以使通道到通道的偏斜可被接受。
一种大体涉及具有多个发送器的集成电路装置。在所述集成电路装置中,多个发送器中的第一发送器包括第一数据缓冲器和耦接到所述第一数据缓冲器的第一输入/输出控制模块。多个发送器中的第二发送器包括第二数据缓冲器和耦接至所述第二数据缓冲器的第二输入/输出控制模块。第一数据缓冲器具有第一延迟。第二数据缓冲器具有第二延迟。第一输入/输出控制模块被耦接为接收写时钟信号和第一读时钟信号,并且被配置为分别为其生成第一写地址和第一读地址。第一输入/输出控制模块被配置为确定第一写地址和第一读地址之间的第一差值,并设置与所述第一差值相关联的第一标志信号有效。第一输入/输出控制模块被耦接为反馈第一标志信号以调整第一读时钟信号,从而调整第一差值以达到与第一数据缓冲器中的第一位置相关联的第一标志信号的状态位置的第一改变。第二输入/输出控制模块被耦接为接收写时钟信号和第二读时钟信号,并且被配置为分别为其生成第二写地址和第二读地址。第二输入/输出控制模块被配置为确定第二写地址和第二读地址之间的第二差值,并设置与第二差值相关联的第二标志信号有效。第二输入/输出控制模块被耦接为反馈第二标志信号以调整第二读时钟信号,从而调整第二差值以达到与第二数据缓冲器中的第二位置相关联的第二标志信号的状态位置的第二改变。
可选地,第一发送器和第二发送器都是被耦接为接收并行数据的SERDES发送器,并且分别在第一通道和第二通道中提供并行数据以用于转换为串行数据。
可选地,第一输入/输出控制模块和第二输入/输出控制模块分别包括第一相位插值器和第二相位插值器。第一相位插值器可被耦接为接收第一标志信号作为反馈以调整第一读时钟信号,而第二相位插值器可被耦接为接收第二标志信号作为反馈以调整第二读时钟信号。
可选地,第一位置和第二位置对应于第一相位插值器的单位间隔中的第一个点和第二相位插值器的单位间隔中的第二个点。第一个点可与第一延迟相关联。第二个点可与第二延迟相关联。第一相位插值器可响应于第一标志信号而被调整,以定位第一读时钟信号的第一读时间域与写时钟信号的第一写时间域之间的第一域交叉。第二相位插值器可响应于第二标志信号而被调整,以定位第二读时钟信号的第二读时间域和写时钟信号的第二写时间域。第一相位插值器和第二相位插值器可是可调整的,以使分别与第一域交叉和第二域交叉相关联的第一延迟和第二延迟均衡化。
其它特征将从对下面的详细描述和权利要求的考虑中被认识。
附图说明
附图示出了示例性装置和/或方法。然而,附图仅是用于解释和理解,而不应被视为限制权利要求的范围。
图1示出了具有发送器的示例性集成电路装置的框图;
图2和图3示出了图1的集成电路装置的示例性发送器的框图;
图4示出了用于启动图1的发送器的示例性延迟调整流程的流程图;
图5示出了示例性设置序列的流程图,其可用于图4的延迟调整流程的操作;
图6示出了示例性列式现场可编程门阵列(FPGA)架构的简化框图。
具体实施方式
在下面的描述中,阐述了许多具体细节以提供对本文所述的具体示例的更全面的描述。然而,对于本领域技术人员应当显而易见的是,可在没有以下给出的所有具体细节的情况下实践一个或多个其他示例和/或这些示例的变型。在其他情况下,众所周知的特征没有被详细描述,以免使本文中实施例的描述不够突出。为便于说明,在不同的图表中相同的部件会使用相同的数字标记;然而,在不同示例中,部件可不同。
在描述所述几个附图中的示例之前,提供概括介绍以进一步理解。
由于数据可在多个通道上串行化,多个发送器可通过并行使用它们各自的缓冲器(例如FIFO)会引起通道到通道的偏斜。如下面所更详细地描述的,每个发送器的相位插值器可被用于调整从该相位插值器提供的读时钟信号(读时钟)的相位,以从发送器的FIFO读出数据。因此,尽管受到传播延迟中的一些差异,但是每个读时钟可与提供给发送器的每个FIFO的公共源的写时钟信号(写时钟)相位对齐,即源自公共写时钟的写时钟。
通常,FIFO在数据串行化之前处于发送器数据路径中。一般地,可能来自FPGA架构或其他电路的数据响应于脉冲边沿、或者输入或写时钟信号的边沿而被输入或写入到FIFO。所述数据可具有N位宽度,N等于或大于1。FIFO可为存储器和/或一组寄存器。FIFO可存储多组输入,即多个字。相应地,FIFO可被描述为具有深度M,用于存储多达M个字,所述M个字中的每个字可是N位宽。因此,高达M个N位宽的字的实例可一次存储在FIFO中。
发送器中的FIFO可至少部分地用于通过吸收偏斜来缓冲数据,所述偏斜与经由时钟网络提供的输入或写时钟信号的传播延迟的差异相关联。用于将输入或写时钟信号分配到多个发送器的时钟网络可由于传播延迟而具有显著的FIFO到FIFO的偏斜,其传播延迟可能对电压和/或温度敏感。相反,输出或读时钟信号可从相位插值器、或发送器或收发器内部的其它电路提供,并且因此可由于这种邻近而不具有显著的FIFO到FIFO的偏斜。因此,例如,提供给延迟对准器和发送器的相位插值器的相同参考时钟具有实质上不同的传播延迟,其中延迟对准器用于将读时钟信号驱动到用于对FIFO的输入侧或写入侧进行时钟控制的时钟网络上,而发送器的相位插值器用于对该FIFO的输出侧或读取侧进行时钟控制。相应地,FIFO的深度通常是为了适应最大的传播延迟,即为了启动或复位集成电路装置,FIFO通常根据输入或写时钟信号的传播延迟来定大小。
另外,发送器FIFO可在未知状态下复位或启动。例如,发送器FIFO复位可是用于SERDES的复位过程中的最后一个操作。在发送器FIFO复位之后,所述FIFO可“大致”半满。然而,要在SERDES发送器的多个FIFO中传输的数据通常没有通过“大致”半满状态被对准或至少不足够对准。换言之,信道可处于三个状态中的任何一个,即比全空要满,或者比全满要空,或者在中点,并且信道之间的这种变化可不足以用于一些应用。
在过去,读时钟信号和公共源写时钟信号之间的相位均衡与FIFO的“旁路”一起使用以形成SERDES。在“缓冲旁路模式”中,使用复杂的模拟相位检测器电路(有时称为延迟对准器)来保持相位对准。每个发送器延迟对准器用于,使每个发送器相位插值器将相应的读时钟信号带入与公共源写时钟信号的已知相位关系,其中每个FIFO仅以一个字的深度操作。然而,在操作期间,会调整公共写时钟信号的相位以保持其与每个读时钟信号同相,因为在操作期间使用发送器的相位插值器会引入不希望的抖动。在操作期间,由于时钟网络(有时被称为时钟树,H树或其他类型的时钟网络)的问题,写时钟信号可相对于读时钟信号异相。例如,时钟网络可对温度敏感,并且因此温度变化可导致提供给不同发送器的公共源写时钟信号的传播延迟的差异。再者,各个发送器延迟对准器用于补偿这种差异,以将来自公共写时钟信号的对应发送器写时钟信号调整为与这种发送器的相应读时钟信号同相。因此,通道到通道的偏斜可在相位对准窗口内,如在具有被减少到每次只存储一个向量的FIFO的发送器之间一样。然而,除了使用复杂的模拟延迟对准器所涉及的实质开销外,使用更大的时钟网络、更宽的数据总线和/或更窄的相位对准窗口,已使使用缓冲器旁路模式变得更加成问题。
如下面补充细节所描述的,SERDES的所有发送器数据缓冲器可精确地设置为,以PI粒度为准,半满和不是“大致地”半满。此设置可用于有效地均衡SERDES发送器的所有数据缓冲器中的延迟,因此实质上减少了通道到通道的偏斜。相应地,生成标志信号以指示数据缓冲器的状态。所述标志信号被反馈用于提供给所述数据缓冲器的输出时钟信号的相位调整。所述调整可被迭代地增加或减少,以在这种数据缓冲器中找到这样的标志信号的状态转换的位置,例如从逻辑1到逻辑0,或者逻辑0到逻辑1。SERDES发送器的所有数据缓冲器可类似地设置至此位置以均衡跨越这些数据缓冲器的延迟。
考虑到上述一般理解,下面总体地描述用于具有多个发送器的集成电路装置的各种配置。
图1示出了具有多个发送器190的示例性集成电路装置100的框图。在该示例中,仅示例性地描绘了两个发送器190-1和190-2;然而,在其他情况下,可使用多于两个的发送器。此外,发送器190可具有相应的收发器或者可是单独的发送器。发送器190-1和190-2可以对应于通道191-1和191-2。通道191-1和191-2可具有分布于发送器190-1和190-2的并行数据的最大的通道到通道的偏斜,以准备进行串行化。
发送器190的第一发送器190-1包括第一数据缓冲器121-1和耦接至第一数据缓冲器121-1的第一输入/输出控制模块161-1。发送器190的第二发送器190-2包括第二数据缓冲器121-2和耦接至第二数据缓冲器121-2的第二输入/输出控制模块161-2。
第一数据缓冲器121-1具有第一延迟,第二数据缓冲器121-2具有第二延迟。所述第一和第二延迟可彼此不同,包括但不限于在集成电路器件100的启动或复位时。相应地,输入数据120-1可被提供给第一数据缓冲器121-1的定时输入,输入数据120-2可被提供给第二数据缓冲器121-2的定时输入。输出数据122-1可响应于来自第一数据缓冲器121-1的定时输出而输出,输出数据122-2可响应于来自第二数据缓冲器121-2的定时输出而输出。
在该示例中,如边界150大体示意的,第一输入数据120-1和第二输入数据120-2从集成电路可编程结构(fabric)提供给SERDES 180。特别地,集成电路可编程结构是现场可编程门阵列。然而,第一输入数据120-1和第二输入数据120-2可来自任何集成电路可编程结构和/或专用资源,或者甚至通过数据,传给集成电路100的由两个或更多个发送器形成的SERDES 180。
相应地,第一输出数据122-1和第二输出数据122-2可被输入到并行输入-串行输出数据转换器(“PISO”,Parallel-Input-to-Serial-Output)192,以获得从PISO输出的串行数据193。由于数据缓冲器121-1和121-2各自的第一和第二延迟之间的差异,可能存在相对于第一输出数据122-1和第二输出数据122-2的通道到通道的偏斜,所述差异可以如下所述来解决。换言之,第一发送器190-1和第二发送器190-2都可以是被耦接以经由输入数据120-1和120-2接收作为N位宽字的并行数据或字的部分的SERDES发送器180。SERDES发送器180可被耦接以分别在用于输出数据122-1的第一通道和用于输出数据122-2的第二通道中提供所述并行数据,用于由PISO转换为串行数据。
图2示出了集成电路装置100的示例性发送器190-1的框图,图3示出了集成电路装置100的示例性发送器190-2的框图。同时考虑图1-3的内容,进一步描述集成电路装置100。
发送器190的写时钟信号105可共同源自参考时钟信号101。参考时钟信号101可分别被提供给发送器190的相位插值器102以及集成电路装置100的时钟网络。为了清楚而非限制的目的,时钟网络通常被描述为缓冲器103。因此,参考时钟信号101可被输入到缓冲器103,用于将本地写时钟信号105分别分配给发送器190。因此,本地写时钟信号105可具有不同的传播延迟,并且因此可能不是全部在相同时间到达它们各自的发送器目的地,即所述本地写时钟信号105可能相对于彼此异相并且相对于所述发送器190的相应的本地读时钟信号106异相(out-of-phase)。另外,可以通过在输入/输出控制模块161的寄存器中嵌入不平衡数目来名义上补偿在不同SERDES处不平衡的时钟树,例如诸如用于在由除法器107输出的写地址109中加上/减去的偏移地址。最后,本地生成与相应的发送器190相关联的读时钟信号106,因此发送器190之间的读时钟信号106通常相对于彼此异相。
第一输入/输出控制模块161-1可用于控制输入数据120-1到第一数据缓冲器121-1的输入(例如写入或加载),并且用于控制输出数据122-1从第一数据缓冲器121-1的输出(例如读取或卸载)。同样地,第二输入/输出控制模块161-2可用于控制输入数据120-2到第二数据缓冲器121-2的输入(例如写入或加载),以及用于控制输出数据122-2从第二数据缓冲器121-2的输出(例如读取或卸载)。
由于第一和第二发送器190具有相同的配置,为了清楚起见,下面通常仅就一个发送器190进行更详细地描述。另外,为了清楚而非限制的目的,数据缓冲器121被假定为先入先出数据缓冲器(“FIFO”)。所述FIFO 121可由存储器单元和/或寄存器组所形成。为了清楚而非限制的目的,写时钟和读时钟被假定为可用于产生矢量集,即为了清楚起见,FIFO 121被假定为由按顺序访问的存储器形成。
第一输入/输出控制模块161-1被耦接以分别向除法器107和104接收写时钟信号105和第一读时钟信号106,以分别为其生成第一写地址109和第一读地址108。第一输入/输出控制模块161-1可被配置为确定每个第一写地址109和每个第一读地址108之间的第一差值111。第一输入/输出控制模块161-1可被配置为设置与每个第一差值111相关的第一标志信号113有效。第一输入/输出控制模块161-1可被耦接以反馈每个这样的第一标志信号113以调整第一读时钟信号106,从而调整第一差值111以为与第一数据缓冲器121-1中的一个位置相关联的第一标志信号113达到状态位置的第一变化。
第二输入/输出控制模块161-2可接收写时钟信号105和第二读时钟信号106,并且被配置为分别为其生成第二写地址109和第二读地址108。第二输入/输出控制模块161-2可被配置为确定每个第二写地址109和每个第二读地址108之间的第二差值111。第二输入/输出控制模块161-2可被配置为设置与每个这样的第二差值111相关联的第二标志信号113有效。第二输入/输出控制模块161-2可被耦接以反馈每个这样的第二标志信号113以调整这样的第二读时钟信号106,从而调整这样的第二差值111以为与第二数据缓冲器121-2中的一个位置相关联的第二标志信号113达到状态位置的第二变化。
第一输入/输出控制模块161-1可包括第一相位插值器(“PI”,phaseinterpolator)102。同样地,第二输入/输出控制模块161-2可包括第二相位插值器102。
第一相位插值器102可被耦接以接收第一标志信号113作为反馈以调整第一读时钟信号106。更具体地,第一增量/减量控制模块114(其通常包括在相位插值器102中,但是为了清楚起见,这里被单独示出),可接收第一标志信号113以确定是否增加、减少或维持由调整信号115选择的第一位置,此第一位置与从第一相位插值器102输出的第一读时钟信号106的延迟相关联。
类似地,第二输入/输出控制模块161-2的第二相位插值器102可被耦接以接收第二标志信号113作为反馈,以调整第二读时钟信号106。第二相位插值器102的第二增量/减量控制模块114可接收第二标志信号113以确定是否增加、减少或维持由调整信号115选择的第二位置,其中第二位置与从第二相位插值器102输出的第二读时钟信号106的延迟相关联。
第一位置和第二位置对应于第一相位插值器102的单位间隔(“UI”)中的第一位置或第一点和第二相位插值器102的单位间隔中的第二位置或第二点。例如,在启动时,所述第一点最初可与FIFO 121-1的第一延迟相关联,所述第一延迟是可调节的,并且所述第二点可最初与FIFO 121-2的第二延迟相关联,所述第二延迟是可调节的。
第一相位插值器102可响应于第一标志信号113而被调整,以定位第一读时钟信号106的第一读时间域与写时钟信号105的第一写时间域之间的第一域交叉。同样地,第二相位插值器102可响应于第二标志信号113而被调整,以定位第二读时钟信号106的第二读时间域和所述写时钟信号105的第二写时间域。
因为只有FIFO 121直接在数据流的数据路径内,所以每个FIFO 121的深度M 123可导致这些FIFO之间的不同延迟,包括但不限于在发送器190的启动或重置时,导致两个或更多个FIFO 121之间的不同延迟。在所述示例中,每个FIFO 121都能够保持M个字,其中每个字有N位,M是大于1的整数。
第一相位插值器102和第二相位插值器102可被调整用于分别与第一域交叉和第二域交叉相关联的、与FIFO 121-1相关联的第一延迟和与FIFO 121-2相关联的第二延迟的均衡。因此,分别来自FIFO 121-1和121-2的输出数据122-1和122-2可为被有效地数据相位对准。简而言之,FIFO 121可是相对于彼此数据相位对准,而不使每个读时钟信号相位与公共源写时钟信号对准。因此,可避免使用发送器的复杂的模拟延迟对准器电路来保持本地写时钟信号与本地读时钟信号的相位对准。另外,输入/输出控制模块161的组件可以是数字电路,并且在一些发送器中的这些数字电路中的一些通常可用于提供对应FIFO的下溢(underflow)和/或上溢(overflow)的指示。因此,通过对这些组件分配任务以提供如上所述的反馈标志信号113,可独立地调整SERDES的每个发送器,并且这种SERDES的所有发送器在对每个发送器的这种独立调整后可具有至少基本相同的数据延迟,即,通道到通道的偏斜被显著减小。
考虑到上述描述,图4示出了用于启动多个发送器190的示例性延迟调整流程400的流程图。同时考虑图1-4中的内容,对图4进行进一步描述。
在401,集成电路装置100的发送器190作为启动或复位序列的一部分而被启动。在402,发送器190-1被设置或调整为具有用于FIFO 121的FIFO 121-1的延迟。所述延迟可与发送器190-1的标志信号113的状态位置的改变相关联,这种调整可以是响应于所述标志信号113的反馈的迭代调整,以增加或减少发送器190-1的PI 102。
与402的操作并行地,在403,发送器190-2被设置或调整为具有用于FIFO 121的FIFO 121-2的延迟。所述延迟可与发送器的标志信号113的状态位置的改变相关联,这种调整可是响应于所述标记信号113的反馈的迭代调整以增加或减少发送器190-2的PI 102。
在404,输入数据120-1可由FIFO 121-1接收,所述输入数据120-1可作为输出数据122-1从FIFO 121-1输出。与404的操作并行地,在405,输入数据120-2可由FIFO 121-2接收,所述输入数据120-2可作为输出数据122-2从FIFO 121-2输出。由于FIFO 121-1和121-2可被调整为具有至少近似相同的延迟,所以相对于输出数据122-1和122-2的通道到通道的偏斜可以足够小(如果有的话),以使所述并行输出数据122-1和122-2在406串行化。换言之,通过FIFO 121-1的输入数据120-1的延迟至少足够接近通过FIFO 121-2的输入数据120-2的延迟,以使用于串行化时通道到通道的偏斜可接受。
为简述要旨,为了启动或重置发送器190,在401,可以为具有相应数据缓冲器(诸如FIFO 121)的每个所述发送器190启动序列。响应于执行被启动的序列,所述序列可用于并行地为每个所述数据缓冲器设置延迟,例如在操作402和403处。然后,可从这样的数据缓冲器输入并输出并行数据,以用于随后的串行化。
图5示出了示例性设置序列500的流程图,其可用于图4的402和403处的操作。同时考虑图2-5中的内容,对图5进行进一步描述。
在501,可获得与读时钟信号106相关联的读地址108。每个读地址108可通过将读时钟信号106输入到输入/输出控制模块(例如输入/输出控制模块161-1)的除法器104来获得。为清楚起见,通过示例而非限制的方式,仅参考设置序列500来描述发送器190-1的操作;然而,应当理解,诸如SERDES的每个发送器190可被类似地设置。通常,在读时钟信号106被提供给除法器104的同时,所述读时钟信号106可被提供给诸如FIFO 121-1的FIFO,以从该FIFO读出输出数据122-1。
与在501获得读地址的同时,在502可获得与写时钟信号105相关联的写地址109。501和502的操作可并行执行。每个写地址109可通过将写时钟信号105输入到输入/输出控制模块161-1的除法器107来获得。通常,在写时钟信号105被提供给除法器107的同时,所述写时钟信号105可被提供给FIFO 121-1,以将输入数据120-1写入到该FIFO中。
读地址108的获得可包括用读时钟信号106除以一个与缓冲器深度相关联的除数,以获得该读地址108。同样地,获得写地址109可包括用写时钟信号105除以一个与获得读地址相同的除数,即一个与所述缓冲器深度相关联的除数以获得这样的写地址109。
除法器104和107均可被配置为除以除数M,所述M是先前描述的FIFO 121-1的深度。除法器104和107可以是可编程的,且除法器104和107中的任一个可被预设为除以M作为复位(reset)的一部分。然而,更一般地,对于复位,由于读地址和写时钟通常具有相同的频率,因此在写地址109和读地址108之间的最大相位差通常被预设为读时钟或写时钟的一个时钟周期的至少一半的除法器107和104间的差值。所述差值可用于确保在由于时钟信号105的传播延迟而导致的对FIFO 121-1的相应写入之前不发生从FIFO 121-1的读取。在这种情况下,时钟周期可是PI 102的UI的多倍,并且所述PI可具有UI的1/16,1/32,1/64等的分辨率。因此,可以获得写时钟和读时钟信号的相位的精确对准。
分别从除法器104和107输出的每个读地址108和每个写地址109可被输入到减法器110以确定差值111。相应地,在503,可确定读地址108和写地址109之间的差值111,其可彼此相关联。从减法器110输出的每个所述差值111可被提供给比较器112。每个所述差值111可指示读时钟信号106和相应的写时钟信号105之间的相位差。差值111可用于确定域交叉。所述域交叉可使用格雷编码来识别。因此,减法器110比仅确定两个地址之间的差异更复杂,因为这样的写地址109和读地址108是从可彼此异相的两个分离的时钟信号产生的。换言之,延迟测量可以是粗略的,因为读地址和写地址可在频率比线路速率低得多的时钟上演变。因为读地址和写地址可在具有未知相对相位关系的时钟上演变,所以可通过参考公共时钟而移动读地址和写地址来获得差别111,地址值用格雷编码。因此,差异可与在特定方向上的交叉域相关联,因此格雷编码是通过在与被耦接使用格雷编码的减法器110中具有计数器(例如,并未示出的读地址计数器和写地址计数器)来产生这种差异的一个示例。然而,也可使用其他类型的编码。
比较器112检查差值111以确定所述差值是否小于或等于发送器数据缓冲器(例如发送器190-1的相应FIFO 121-1)的一个数据缓冲器的深度的一部分。在本示例中,如果差值小于或等于FIFO 121-1的深度的这部分,则标志信号113被设置有效为逻辑0。然而,如果所述差值111大于FIFO 121-1的深度的这部分,则标志信号113被设置有效(asserted)为逻辑1。所述部分可以是FIFO的下溢条件,上溢条件,半满条件或一些其他填充水平。
在本示例中,比较器112检查被指示为编码的每个差值111,以确定所述差值是否小于或等于M/2,即FIFO 121-1的深度的一半。比较器112可以是可编程的,并且可以被预设为与M/2进行比较。换言之,比较器112可用于确定差值111是否小于或处于FIFO 121-1的中点。在504,比较器112可设置与每个这样的差值111相关联的标志信号113有效,即差值111是否小于或等于FIFO 121-1的中点。在本示例中,如果标志信号113是逻辑1,则FIFO 121-1的填充水平大于一半;如果所述标志信号是逻辑0,则FIFO 121-1的填充水平小于或等于一半。
换言之,通过使用PI 102使FIFO 121-1逐渐变得更空,直至达到PI 102中的一个点或一个抽头位置,其中在每个相关通道中从其发送/在其中发送的一些并行数据的相位可在时间上向前移位,其中标志信号113对所有这样的信道从逻辑0转换到逻辑1,并且从每个相关通道中发送/在每个相关通道中发送的其它并行数据的相位可通过使用PI 102在时间上向后移位,以使FIFO 121-1逐渐变得更加充满,直至PI 102中的一个点或一个抽头位置,其中标志信号113对所有这样的信道从逻辑1转换为逻辑0。这两个转换位置都可使用;然而,为了在所有这样的信道中更大地均衡延迟,可设置逻辑0转换位置或逻辑1转换位置。换言之,在延迟均衡之后,标志信号113可以对所有通道是逻辑1或逻辑0。FIFO 121的任何剩余通道到通道的偏斜可受到PI 102分辨率的限制,例如在一些PI中的UI的1/64。
在本示例中,在启动或复位序列之后,发送器190的每个数据缓冲器(例如FIFO121)可被调整为设置成中点。然而,除了中点设置之外,可使用数据缓冲器内的其它设置位置。此外,数据缓冲器可被设置为相对于彼此不同的位置。简言之,可针对应用和/或集成电路装置定制这样的设置以最小化或以其它方式减少通道到通道的偏斜。
在505,标志信号113可被提供给增量/减量控制模块114以提供调节信号115。调节信号115可被提供给PI 102以调节读时钟信号106,从而改变差值111以定位标志信号113的状态位置的改变,以设置数据缓冲器中的一个数据缓冲器的延迟,诸如相应的发送器190的FIFO 121的FIFO 121-1。如连接线506所示,可重复操作501至505以定位标志信号113的状态位置的改变。
一旦PI 102接收到指示状态位置的改变的调整信号115(大体如507处确定的指示),则状态位置的这种改变可用于读时钟信号106的读时间域和与读时钟信号106相对应的写时钟信号105的写时间域的域交叉。因为FIFO 121-1的延迟被有效地设定为状态位置的所述改变,所以PI 102可忽略此电流调整信号115。因此,PI 102可在508处有效地退出设置序列500。如果还没有发现状态位置的改变,则PI 102可继续设置序列500,大体如连接线510所示。一般来说,一旦SERDES发送器190的所有数据缓冲器都被设置为相同的延迟,诸如每个FIFO 121的中点,则所述延迟调整可不必在发送器190的启动序列或复位之后重新调整。换言之,为了均衡发送器SERDES的多个信道中的延迟,不是使用在电压和/或温度变化上施加恒定延迟的电路,而是如此处所述地调整FIFO的延迟随着电压和/或温度简单地改变,保持至少彼此充分地相等。换言之,在操作期间,由于温度和/或电源电压变化,FIFO延迟可以改变,甚至显著地改变,但是所有这些FIFO延迟通常保持彼此相等。
如在507所述的,一旦标志信号113从逻辑1切换到逻辑0或从逻辑0切换到逻辑1状态,则在每个发送器190中的PI 102停止。逻辑状态中的这种转换标记调整阶段的结束,其可用于以非常高的精度均衡所有发送器190的延迟,这可仅由相应的PI 102的分辨率限制。因此,在完成设置序列500的执行之后,可退出这样的序列以避免使PI 102连续操作。由于这种连续操作的PI引入的抖动,具有连续操作的PI将降低输出质量。
相应的发送器190的数据缓冲器121的每个数据缓冲器可被设置为至少近似相同的延迟值。更具体地,相应的发送器190的数据缓冲器121的每个数据缓冲器可被设置为具有以PI 102的粒度为准的相同的延迟值。
重复设置发送器190的相应FIFO 121的标志信号113有效可导致该标志信号的触发。PI 102因此可被控制以引起相关联的标志信号113切换,即处于转换位置的“边沿”。相应地,对于对应于数据缓冲器的序列而设置有效的标志信号113可包括用于在启动或复位时的该序列的初始周期的逻辑0和逻辑1。这意味着两个或更多个相同的发送器可能以不同的延迟从复位中出现,因为它们可处于不同的填充水平。在发送器中,这可能是由外部FIFO复位信号和内部读时钟信号106之间的未知相位关系引起的。如果FIFO 121是N位宽,则多个发送器190可呈现最多N位的通道到通道的偏斜。如果N等于16左右,则常规的SERDES将具有大于N的并行输入位宽度。然而,诸如XAUI,PCI Express和SFI-5的协议具有远小于16的通道到通道的偏斜规范。这些协议可涉及具有最小的通道到通道的偏斜,而对所有通道可能必须相等的延迟可以在操作期间改变。
如上所述,通道到通道的偏斜可在不使用延迟对准器并且在数据传输操作期间保持PI关闭的情况下产生。此外,除了如上所述反馈标志信号113之外,输入/输出控制模块是数字电路,该电路可存在于现有的发送器中。
PI 102允许独立地在每个SERDES发送器上移动要发送的数据的相位。可选地,可以使用高速发送除法器中的位跳跃(bit skip);然而,PI 102可用于在减少剩余通道到通道的偏斜时获得更高的精度。然而,不需要进行实际的延迟测量,而是可使用由指定的FIFO填充等级触发的标志。这样的标志生成是比用于测量延迟的电路简单得多的电路。此外,可相对于相位差以高分辨率执行标志的生成。这里使用了术语“标志(flag)”,然而,上溢/下溢电平信号也可用于这样的标志信号。
以上描述是针对发送器SERDES的操作。然而,上述描述可用于当锁定在参考模式中并由相同的信号驱动时的接收器。相应地,当锁定在参考模式中时,可通过向具有串行回送发送器的所述接收器馈送均衡的通道到通道的发送器偏移,以提供给对输入数据过采样的接收器。
因为本文描述的一个或多个示例可在FPGA中实现,所以提供了对这样的IC的详细描述。然而,应当理解,其他类型的IC可从本文所描述的技术中受益。
可编程逻辑器件(“PLD”)是公知类型的可被编程以执行指定的逻辑功能的集成电路。一种类型的PLD,现场可编程门阵列(“FPGA”),通常包括可编程片(tile)阵列。这些可编程片可包括例如输入/输出模块(“IOB”),可配置逻辑模块(“CLB”),专用随机存取存储器模块(“BRAM”),乘法器,数字信号处理模块(“DSP”),处理器,时钟管理器,延迟锁定环(“DLL”)等等。本文所用的“包括”指包括但不限于。
每个可编程片通常包括可编程互连和可编程逻辑。可编程互连通常包括通过可编程互连点(“PIP”)互连的不同长度的大量互连线。可编程逻辑使用可编程元件实现用户设计的逻辑,可编程元件可以包括例如函数发生器,寄存器,算术逻辑等等。
可编程互连和可编程逻辑通常通过将配置数据流加载到定义可编程元件如何配置的内部配置存储器单元中来编程。配置数据可以从存储器(例如,从外部PROM)读取或通过外部设备写入FPGA。然后,各个存储器单元的集体状态确定FPGA的功能。
另一种类型的PLD是复杂可编程逻辑器件,或叫CPLD。CPLD包括通过互连开关矩阵连接在一起和输入/输出(“I/O”)资源的两个或更多个“功能模块”。CPLD的每个功能模块包括类似于在可编程逻辑阵列(“PLA”)和可编程阵列逻辑(“PAL”)装置中使用的两级AND/OR结构。在CPLD中,配置数据通常存储在片上的(on-chip)非易失性存储器中。在一些CPLD中,配置数据存储在片上的非易失性存储器中,然后作为初始配置(编程)序列的一部分下载到易失性存储器。
对于所有这些可编程逻辑器件(“PLD”),器件的功能由为此目的提供给器件的数据位控制。数据位可以存储在易失性存储器中(例如,静态存储单元,如在FPGA和一些CPLD中),或在非易失性存储器中(例如,FLASH存储器,如在一些CPLD中),或任何其它类型的存储单元中。
其他PLD通过应用可编程地互连器件上的各种元件的处理层(例如金属层)来编程。这些PLD称为掩模可编程器件。PLD也可以以其它方式实现,例如使用熔丝或反熔丝技术。术语“PLD”和“可编程逻辑器件”包括但不限于这些示例性器件,以及包括仅部分可编程的器件。例如,一种类型的PLD包括硬编码晶体管逻辑和与硬编码晶体管逻辑可编程互连的可编程开关结构的组合。
如上所述,高级FPGA可以在阵列中包括几种不同类型的可编程逻辑模块。例如,图6示出了包括大量不同的可编程片的FPGA架构600,其包括多吉比特(gigabit)收发器(“MGT”)601,可配置逻辑模块(“CLB”)602,随机存取存储器模块(“BRAM”)603,输入/输出模块模块(“IOB”)604,配置和时钟逻辑(“CONFIG/CLOCKS”)605,数字信号处理模块(“DSP”)606,专用输入/输出模块(“I/O”)607(例如,配置端口和时钟端口)以及诸如数字时钟管理器,模数转换器,系统监视逻辑等的其它可编程逻辑608。一些FPGA还包括专用处理器模块(“PROC”)610。
在一些FPGA中,每个可编程片包括具有去到和来自每个相邻片中的对应互连元件的标准化连接的可编程互连元件(“INT”)611。因此,可编程互连元件一起实现用于所示FPGA的可编程互连结构。可编程互连元件611还包括去到和来自同一片内的可编程逻辑元件的连接,如图6的顶部的示例所示。
例如,CLB 602可以包括可配置逻辑元件(“CLE”)612,其加上单个可编程互连元件(“INT”)611可被编程以实现用户逻辑。BRAM 603可以包括除一个或多个可编程互连元件之外的BRAM逻辑元件(“BRL”)613。通常,片中包括的互连元件的数量取决于片的高度。在所示的实施例中,BRAM片具有与五个CLB相同的高度,但是也可以使用其它数量(例如四个)。除了适当数量的可编程互连元件之外,DSP片606可以包括DSP逻辑元件(“DSPL”)614。除了可编程互连元件611的一个实例之外,IOB 604可以包括例如输入/输出逻辑元件(“IOL”)615的两个实例。如本领域技术人员所清楚的,实际的比如连接到I/O逻辑元件615的I/O衬垫(pad)通常不限于输入/输出逻辑元件615的区域。
在图示的实施例中,靠近管芯中心的水平区域(如图6所示)用于配置、时钟和其他控制逻辑。从所述水平区域或列延伸的垂直列609用于在穿过FPGA的宽度上分配时钟和配置信号。
利用图6所示的架构的一些FPGA包括附加逻辑模块,其中断构成FPGA的大部分的常规柱状结构。附加逻辑模块可以是可编程模块和/或专用逻辑。例如,处理器模块610横跨几列CLB和BRAM。
注意图6仅旨在示出示例性的FPGA架构。例如,行中的逻辑模块的数量,行的相对宽度,行的数量和顺序,包括在行中的逻辑模块的类型,逻辑模块的相对大小以及包括在图6的顶部的互连/逻辑的实现,是纯示例性的。例如,在实际的FPGA中,CLB通常在出现的任何地方都包括多于一个的相邻CLB行,以便于用户逻辑的有效实现,但是相邻CLB行的数量随着FPGA的总体尺寸而变化。
尽管上述描述了示例性的装置和/或方法,但是在不脱离由所附权利要求所确定的及其等同的本发明的范围的情况下,可以根据本文的一个或多个方面的描述设计出其他和进一步的示例。权利要求所列的步骤不暗含步骤的任何顺序。商标是其各自所有者的产权。

Claims (15)

1.一种用于启动多个发送器的方法,包括:
为具有相应数据缓冲器的多个发送器中的每个发送器启动一个序列;并且
响应于执行所述序列,为所述数据缓冲器中的每个数据缓冲器设置延迟;
其中所述序列包括:
获取与读时钟信号相关联的读地址;
获取与写时钟信号相关联的写地址;
确定所述读地址和所述写地址之间的差值;
设置与所述差值相关联的标志信号有效;以及
调整所述读时钟信号去改变所述差值,以定位所述标志信号的状态位置变化,从而给所述数据缓冲器中的一个数据缓冲器设置所述延迟。
2.根据权利要求1所述的方法,其中,所述多个发送器的所述数据缓冲器中的每个数据缓冲器至少被设置为近似相同的延迟值。
3.根据权利要求2所述的方法,其中:
所述多个发送器与多个通道相关联;以及
所述多个通道有一最大的通道到通道的偏斜,用于分布于所述多个发送器的并行数据,以准备进行串行化。
4.根据权利要求2或3所述的方法,其中在所述序列之后,所述数据缓冲器中的每一个都被设置为中点。
5.根据权利要求4所述的方法,其中所述数据缓冲器是具有用于存储数据的寄存器的先入先出缓冲器。
6.根据权利要求4或5所述的方法,其中所述数据缓冲器是具有用于存储数据的存储单元的先入先出缓冲器。
7.根据权利要求4-6中任一项所述的方法,其中所述多个发送器具有相应的多个收发器。
8.根据权利要求1所述的方法,其中所述序列进一步包括重复所述序列的步骤以定位所述标志信号的状态位置的变化,并且其中所述状态位置的变化是针对读时钟信号的读时间域与写时钟信号的写时间域之间的域交叉,并且所述数据缓冲器中的一个数据缓冲器的延迟被设置为状态位置的变化。
9.根据权利要求8所述的方法,其中对应于所述数据缓冲器的标志信号的重复设置有效是用于触发所述标志信号。
10.根据权利要求8或9所述的方法,其中:
如果所述差值小于或等于所述多个数据缓冲器中的数据缓冲器的缓冲器深度的一部分,则所述标志信号被设置有效为逻辑0;并且
如果所述差值大于所述的数据缓冲器的所述深度的所述部分,则所述标志信号被设置有效为逻辑1。
11.根据权利要求10所述的方法,其中:
如果所述标志信号为逻辑1,则所述的数据缓冲器的填充水平大于一半;并且
如果所述标志信号为逻辑0,则所述的数据缓冲器的所述填充水平小于或等于一半。
12.根据权利要求10或11所述的方法,其中:
在所述多个发送器的启动或复位时启动所述序列;并且
为所述序列设置有效的标志信号对应于所述数据缓冲器并且包括用于所述序列的初始周期的逻辑0和逻辑1。
13.根据权利要求8-12中任一项所述的方法,其中,所述读地址的获取包括:用所述读时钟信号除以一个与所述的数据缓冲器的缓冲器深度相关联的除数来获得所述读地址。
14.根据权利要求11所述的方法,其中,所述写地址的获取包括:用所述写时钟信号除以与所述的数据缓冲器的所述缓冲器深度相关联的所述除数来获得所述写地址。
15.根据权利要求8-12中任一项所述的方法,其中,所述差值的确定包含格雷编码。
CN201580049682.8A 2014-09-15 2015-04-27 发送器的通道到通道的偏斜校正 Active CN107077445B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/486,820 2014-09-15
US14/486,820 US9331724B2 (en) 2014-09-15 2014-09-15 Lane-to-lane de-skew for transmitters
PCT/US2015/027823 WO2016043816A1 (en) 2014-09-15 2015-04-27 Lane-to-lane-de-skew for transmitters

Publications (2)

Publication Number Publication Date
CN107077445A true CN107077445A (zh) 2017-08-18
CN107077445B CN107077445B (zh) 2020-11-24

Family

ID=53274788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580049682.8A Active CN107077445B (zh) 2014-09-15 2015-04-27 发送器的通道到通道的偏斜校正

Country Status (6)

Country Link
US (1) US9331724B2 (zh)
EP (1) EP3195133A1 (zh)
JP (2) JP6991063B2 (zh)
KR (1) KR102371549B1 (zh)
CN (1) CN107077445B (zh)
WO (1) WO2016043816A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209233A (zh) * 2019-12-27 2020-05-29 重庆秦嵩科技有限公司 一种离散接口发送数据方法
CN112637102A (zh) * 2021-02-07 2021-04-09 深圳市创成微电子有限公司 音频接口电路及其控制方法、音频设备
CN112699145A (zh) * 2019-10-23 2021-04-23 苏州华兴源创科技股份有限公司 一种数据处理系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9543934B1 (en) * 2015-04-09 2017-01-10 Xilinx, Inc. Determination of configuration values and configuration of frequency multiplier and frequency divider circuitry
US9940288B1 (en) * 2015-11-23 2018-04-10 Cadence Design Systems, Inc. SerDes alignment process
US10146249B2 (en) 2016-09-23 2018-12-04 Altera Corporation Adaptive rate-matching first-in first-out (FIFO) system
US10419203B1 (en) 2017-02-27 2019-09-17 Xilinx, Inc. Self-measurement of phase interpolator non-linearity in a transceiver
CN108932208A (zh) * 2017-05-25 2018-12-04 中兴通讯股份有限公司 一种数据处理的方法和设备
US10033523B1 (en) 2017-08-14 2018-07-24 Xilinx, Inc. Circuit for and method of measuring latency in an integrated circuit
US10291501B1 (en) 2018-02-01 2019-05-14 Xilinx, Inc. Systems and methods for measuring latency of data buffers
US10348312B1 (en) 2018-05-30 2019-07-09 Xilinx, Inc. Circuit for and method of implementing a bursty clock and data recovery circuit using an eyescan detection circuit
US10832757B1 (en) 2019-02-19 2020-11-10 Xilinx, Inc. Receiver for and method of implementing a receiver in an integrated circuit device
US11637645B1 (en) 2020-09-18 2023-04-25 Xilinx, Inc. Method for time stamping with increased accuracy
US11705910B1 (en) 2022-01-05 2023-07-18 Xilinx, Inc. Fast line rate switching in peripheral component interconnect express (PCIe) analyzers

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01124024A (ja) * 1987-11-10 1989-05-16 Nec Corp Fifoの初期状態における制御回路
CN1292628A (zh) * 1999-07-16 2001-04-25 索尼公司 发送器、接收机和使用两者的信号传输系统
CN1440154A (zh) * 2002-02-19 2003-09-03 富士通株式会社 用于多个传输信道中的相位匹配控制的系统和方法
EP1705559A1 (en) * 2005-03-23 2006-09-27 Texas Instruments Deutschland Gmbh Method of recovering digital data from a clocked serial input signal and clocked data recovery circuit
US20070002991A1 (en) * 2005-06-20 2007-01-04 Thompson Timothy D Adaptive elasticity FIFO
CN1902613A (zh) * 2003-12-31 2007-01-24 英特尔公司 为串行点到点链路通过非数据符号处理进行通道到通道的偏斜校正
CN1957556A (zh) * 2004-05-24 2007-05-02 艾利森电话股份有限公司 确定第一与第二时钟域之间的时间差
US20080141063A1 (en) * 2006-12-12 2008-06-12 Ridgeway Curtis A Real time elastic FIFO latency optimization
US20090086874A1 (en) * 2007-09-28 2009-04-02 Junning Wang Apparatus and method of elastic buffer control
CN102778917A (zh) * 2011-05-11 2012-11-14 索尼公司 时钟切换电路和时钟切换方法
US20140089718A1 (en) * 2012-09-24 2014-03-27 Xilinx, Inc. Clock domain boundary crossing using an asynchronous buffer
CN104022775A (zh) * 2014-06-02 2014-09-03 复旦大学 一种面向SerDes技术中基于FIFO协议的数字接口电路

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454537B1 (en) 2004-04-22 2008-11-18 Altera Corporation Synchronization and channel deskewing circuitry for multi-channel serial links
US8285944B1 (en) * 2007-01-12 2012-10-09 Xilinx, Inc. Read-write control of a FIFO memory with packet discard
US7594048B1 (en) 2007-08-14 2009-09-22 Xilinx, Inc. Determining transit time across an asynchronous FIFO memory by measuring fractional occupancy
US8386828B1 (en) 2010-06-16 2013-02-26 Xilinx, Inc. Circuit for estimating latency through a FIFO buffer
US8760325B2 (en) 2012-03-23 2014-06-24 Analog Devices, Inc. Scheme for balancing skew between lanes of high-speed serial digital interface
GB2505002B (en) 2012-08-17 2014-09-24 Broadcom Corp Method and apparatus for transferring data from a first domain to a second domain
CN103795521B (zh) * 2014-01-27 2017-01-25 科大智能(合肥)科技有限公司 一种基于以太网传送e1信号的时钟恢复方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01124024A (ja) * 1987-11-10 1989-05-16 Nec Corp Fifoの初期状態における制御回路
CN1292628A (zh) * 1999-07-16 2001-04-25 索尼公司 发送器、接收机和使用两者的信号传输系统
CN1440154A (zh) * 2002-02-19 2003-09-03 富士通株式会社 用于多个传输信道中的相位匹配控制的系统和方法
CN1902613A (zh) * 2003-12-31 2007-01-24 英特尔公司 为串行点到点链路通过非数据符号处理进行通道到通道的偏斜校正
CN1957556A (zh) * 2004-05-24 2007-05-02 艾利森电话股份有限公司 确定第一与第二时钟域之间的时间差
EP1705559A1 (en) * 2005-03-23 2006-09-27 Texas Instruments Deutschland Gmbh Method of recovering digital data from a clocked serial input signal and clocked data recovery circuit
US20070002991A1 (en) * 2005-06-20 2007-01-04 Thompson Timothy D Adaptive elasticity FIFO
US20080141063A1 (en) * 2006-12-12 2008-06-12 Ridgeway Curtis A Real time elastic FIFO latency optimization
US20090086874A1 (en) * 2007-09-28 2009-04-02 Junning Wang Apparatus and method of elastic buffer control
CN102778917A (zh) * 2011-05-11 2012-11-14 索尼公司 时钟切换电路和时钟切换方法
US20140089718A1 (en) * 2012-09-24 2014-03-27 Xilinx, Inc. Clock domain boundary crossing using an asynchronous buffer
CN104022775A (zh) * 2014-06-02 2014-09-03 复旦大学 一种面向SerDes技术中基于FIFO协议的数字接口电路

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699145A (zh) * 2019-10-23 2021-04-23 苏州华兴源创科技股份有限公司 一种数据处理系统
CN112699145B (zh) * 2019-10-23 2024-05-03 苏州华兴源创科技股份有限公司 一种数据处理系统
CN111209233A (zh) * 2019-12-27 2020-05-29 重庆秦嵩科技有限公司 一种离散接口发送数据方法
CN112637102A (zh) * 2021-02-07 2021-04-09 深圳市创成微电子有限公司 音频接口电路及其控制方法、音频设备
CN112637102B (zh) * 2021-02-07 2021-06-25 深圳市创成微电子有限公司 音频接口电路及其控制方法、音频设备

Also Published As

Publication number Publication date
JP2017528838A (ja) 2017-09-28
JP2021073572A (ja) 2021-05-13
US9331724B2 (en) 2016-05-03
US20160080008A1 (en) 2016-03-17
CN107077445B (zh) 2020-11-24
KR20170055996A (ko) 2017-05-22
EP3195133A1 (en) 2017-07-26
JP6991063B2 (ja) 2022-01-12
KR102371549B1 (ko) 2022-03-04
WO2016043816A1 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
CN107077445A (zh) 发送器的通道到通道的偏斜校正
US6437650B1 (en) Phase-locked loop or delay-locked loop circuitry for programmable logic devices
US9509640B2 (en) Latency control in a transmitter/receiver buffer
US7362135B1 (en) Apparatus and method for clock skew adjustment in a programmable logic fabric
US7346794B1 (en) Method and apparatus for providing clocking phase alignment in a transceiver system
JP6250188B2 (ja) Serdes受信機オーバーサンプリングレート
US10291501B1 (en) Systems and methods for measuring latency of data buffers
US11210443B2 (en) Distributed programmable delay lines in a clock tree
US10871796B1 (en) Global clock and a leaf clock divider
CN105680853A (zh) 具有可调整输出分配器的锁相环
US20080129357A1 (en) Adaptive Integrated Circuit Clock Skew Correction
US6734740B1 (en) Enhanced ZDB feedback methodology utilizing binary weighted techniques
US9148192B1 (en) Transceiver for providing a clock signal
CN108717401B (zh) 源同步系统的重新校准
US9843332B1 (en) Clock grid for integrated circuit
US8205180B1 (en) Method of and system for generating a logic configuration for an integrated circuit
US7023252B2 (en) Chip level clock tree deskew circuit
US10262096B2 (en) Component placement with repacking for programmable logic devices
EP1697867A1 (en) Template-based domain-specific reconfigurable logic
US9658822B1 (en) Rate controlled buffer for output at either a first or second rate responsive to a fill level
US7761830B1 (en) Method and system for providing placement based configurations in integrated circuits
US10541686B1 (en) Circuit and method for ensuring a stable IO interface during partial reconfiguration of a reprogrammable integrated circuit device
US7684278B1 (en) Method and apparatus for implementing FIFOs using time-multiplexed memory in an integrated circuit
US7502433B1 (en) Bimodal source synchronous interface
US10128851B1 (en) Techniques for programming circuits using mode decoding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant