CN109992548A - 跨多个重定时器设备的链路宽度缩放 - Google Patents
跨多个重定时器设备的链路宽度缩放 Download PDFInfo
- Publication number
- CN109992548A CN109992548A CN201811608795.9A CN201811608795A CN109992548A CN 109992548 A CN109992548 A CN 109992548A CN 201811608795 A CN201811608795 A CN 201811608795A CN 109992548 A CN109992548 A CN 109992548A
- Authority
- CN
- China
- Prior art keywords
- state machine
- serial bus
- retimer
- processing element
- universal serial
- 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
Links
- 230000001360 synchronised effect Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 56
- 238000000034 method Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 9
- 230000000630 rising effect Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000017525 heat dissipation Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4295—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Information Transfer Systems (AREA)
Abstract
本申请公开跨多个重定时器设备的链路宽度缩放。重定时器的不同宽度(图4,重定时器元件302A‑302D)是使用组合在一起的不同数量的各个重定时器元件开发的。为了保持同步操作,在各个重定时器元件之间提供各种信号以允许各种操作的同步。第一信号是用于事件和操作同步的线或信号。第二组信号形成串行总线,其用于将适当的状态信息和操作校正数据从主重定时器元件传送到从定时器元件。线或信号和串行总线的组合允许每个重定时器元件内的各种状态机和操作被同步,从而使链路的整个宽度被适当地同步。
Description
技术领域
本领域涉及高速通信设备。
背景技术
当今,外设部件互连快速(PCIe)链路用于互连许多不同的设备和计算机系统。PCIe链路的一个特性是它们可以具有不同的宽度,诸如一个通道、两个通道、四个通道、八个通道或16个通道。通过使用额外的通道,通信的总数据吞吐量成比例地增加。使用PCIe链路的一个缺点是PCIe链路具有相对有限的长度,因为它们具有高速度和传输它们的材料的各种特性。为了达到更长的距离,已经开发了重定时器(retimer),以允许PCIe链路的各个通道上的信号被重新定时或重新同步并且然后被重新驱动。这允许有效增加可允许的PCIe链路的长度。
由于PCIe链路可以支持各种数量的通道,因此通常使用针对给定宽度的指定设备。例如,16通道PCIe链路使用16通道重定时器设备,而4通道PCIe链路使用4通道重定时器设备。这需要针对PCIe链路使用的每个通道数量使用不同的部件,这导致盘存(inventory)问题等。此外,对于非常宽的重定时器设备,诸如16通道,由特定的重定时器设备产生的热量变得非常大,需要热沉和其他耗散工作。此外,更宽的重定时器设备所需的大空间在空间受限的应用中是有问题的。此外,由于需要将如此多的高速信号,诸如用于16通道重定时器(16通道中的每个的差分发送和接收信号)的64个信号路由到重定时器设备以及从重定时器设备路由如此多的高速信号,所以印刷电路板变得更复杂。
发明内容
重定时器的不同宽度是使用组合在一起的不同数量的各个重定时器元件开发的。为了保持同步操作,在各个重定时器元件之间提供各种信号以允许重定时器元件中的各种操作的同步。第一信号是用于事件和操作同步的线或信号。第二组信号形成串行总线,其用于将适当的状态信息和操作校正数据从主重定时器元件传送到从定时器元件。线或信号和串行总线的组合允许每个重定时器元件内的各种状态机和操作被同步,从而使链路的整个宽度被适当地同步,就好像它是由单片重定时器设备完成的一样。通过利用重定时器元件,更少的部件需要被盘存。此外,每个个体重定时器元件具有较低的功耗,并且更容易分布在电路板上,以简化热耗散和信号路由问题。
附图说明
对于各种示例的详细的描述,现在将参考附图,其中:
图1是计算机系统中的重定时器的示例使用的框图。
图2是单片重定时器的框图。
图3是使用较窄宽度重定时器元件来开发更宽的重定时器的示例的框图。
图4是说明使用较窄的重定时器元件开发各种宽度重定时器的框图。
图5是图3的多个重定时器元件的更详细的框图。
图6是在两个定时器元件之间的通信信号和电路的详细的框图。
图7是说明图6的CAL_IN_OUT通信信号的操作的时序图。
图8是结合利用图6的CAL_IN_OUT通信信号的状态机的CAL_IN_OUT通信信号的时序图。
图9是图6的SCLK和SDIO通信信号的时序图。
图10是使用图6的CAL_IN_OUT通信信号的时钟电路的框图。
图11是两个重定时器元件和用于控制重定时器元件的各种状态机的框图。
图12是在重定时器元件中使用的主状态机。
图13是在重定时器元件中使用的去偏斜(de-skew)状态机。
图14是串行总线帧。
图15是在重定时器元件中使用的RTSM状态机。
具体实施方式
现在参考图1,示出了重定时器的示例使用。CPU板102通过背板104和I/O板106连接。CPU板102上的CPU 108使用PCIe的16个通道作为连接到重定时器设备112的16通道PCIe链路110。重定时器设备112连接到背板104上的连接器114。PCIe链路116的16个通道从重定时器设备112的连接器114穿过(traverse)背板104到连接到I/O板106的连接器118。PCIe链路116的16个通道连接到重定时器120。重定时器120通过16通道PCIe链路124连接到I/OCPU 122。由于CPU 108和I/O CPU 122之间的距离和穿过两个连接器114和118的需要,直接从CPU 108到I/O CPU 122的PCIe链路会是不可行的。通过利用重定时器设备112和120,减小了每个个体PCIe链路的距离,并且重定时器解决由连接器114和118产生的任何反射问题以及其他信号问题。这允许在更广泛的环境中使用高速PCIe链路,其中各种组件分布在通常由PCIe链路穿过的链路之外。
如上所述,通常使用单片重定时器。现在参考图2,说明了16通道宽的单片重定时器202。单片重定时器202连接系统元件1 204和系统元件2 206。如可以参见图2,系统元件1204和系统元件2 206的印刷电路板上的迹线必须被压缩和缩窄以与单片重定时器202一起工作。
图3说明了使用可以被堆叠或链接在一起的较窄的重定时器元件以提供更宽的PCIe链路,重定时器元件302A-302D各自处理系统元件1 204和系统元件2 206之间的四个通道。重定时器元件302A-302D被互连并且如下文所描述的进行操作。由于使用的较小的重定时器元件,因此简化了布线并且还扩散和简化了热耗散。
图4说明了使用不同数量的重定时器元件来形成不同宽度PCIe链路。单个重定时器元件302A在系统元件1 204和系统元件2 206之间形成四通道PCIe链路。两个重定时器元件302A、302B用于形成八通道PCIe链路,而四个重定时器元件302A-302D被一起使用以形成16通道链路。因此,仅使用单个组件开发了不同宽度的PCIe链路,从而减少了盘存问题。
现在参考图5,提供了重定时器元件302A-302D的更多细节。由于PCIe链路是双向的,因此每个特定的重定时器元件302A-302D需要包括用于在每个方向上发送和接收信号的规则(provision)。使用重定时器元件302A作为示例,重定时器元件302A包括用于A侧接收器的四个输入和用于A侧发送器的四个输出。此外,重定时器元件302A包含用于B侧接收器的四个输入和用于B侧发送器的四个输出。时钟信号被提供给重定时器元件302A-302D中的每个以提供重定时器元件302A-302D的基本时钟信号。下面提供了关于重定时器元件302A-302D的内部时钟的细节。
每个重定时器元件302A-302D包括主引脚。如果主引脚被连接为高,则该特定的重定时器元件作为主元件操作,而如果主引脚与接地关联,则该特定的重定时器元件用作从元件。在图5中,将重定时器元件302A作为主元件连接,并且将重定时器元件302B-302D作为从元件连接。由于每个重定时器元件302A-302D包括必须保持同步以作为适当的16通道PCIe链路操作的各种状态机和操作,所以在四个重定时器元件302A-302D之间连接各种信号。第一信号、CAL_IN_OUT或者校准输入和输出信号(其为校准信号)被用于指示每个特定重定时器元件302A-302D何时完成特定操作并被用于同步下一个状态或操作的开始。CAL_IN_OUT引脚以线或方式连接,使得每个重定时器元件302A-302D可以指示其时序信息。每个重定时器元件302A-302D包括SCLK或串行总线时钟引脚和SDIO或串行数据输入输出引脚。重定时器元件302A-302D中的每个的SCLK和SDIO引脚被连接在一起,其中SDIO引脚以线或方式连接,使得各种重定时器元件302A-302D可以指示条件等。这形成了主设备使用的串行总线504以向从重定时器元件提供更详细的状态信息以维持设备的同步操作,并且允许重定时器元件指示如下所述的错误条件等。CAL_IN_OUT线或校准线、SCLK串行总线时钟和SDIO串行数据线一起形成芯片间通信(ICC)链路502。
图6更详细地说明了CAL_IN_OUT信号和SCLK和SDIO信号以及相关电路。为简单起见,示出了两个不同的重定时器元件302A和302B。每个重定时器元件302A、302B包括驱动器602A、602B,其用于驱动CAL_IN_OUT线或校准线,基本上产生CAL_OUT信号。驱动器602A、602B从各种命令发生器604A、604B(诸如状态机)接收它们的输入,各种命令发生器中的一些在下文更详细的描述。当重定时器元件302B在从模式下操作时,命令发生器604B被禁用。为了提供期望的时序信息,提供状态指示器606A、606B信号作为或门608A、608B的一个输入。状态指示器表示在重定时器元件302A、302B中的各种状态机的操作状态。或门608A、608B的第二输入由命令发生器604A、604B提供,表示重定时器元件302A、302B中的各种状态机的输出。或门608A、608B的输出控制驱动器602A、602B的使能输出。
参考重定时器元件302B,因为命令发生器604B被禁用,所以将零的命令值提供给驱动器602B的输入。以这种方式,当状态指示器606B指示特定操作尚未完成时,将高信号提供给或门608B,其反过来使驱动器602B能够将零值驱动到CAL_IN_OUT线上以指示重定时器元件尚未完成操作。当操作完成时,状态指示器606B变为低状态,使得驱动器602B被禁用并且CAL_IN_OUT线不再由驱动器602B驱动,使得如果没有其他的重定时器元件在驱动CAL_IN_OUT线,则CAL_IN_OUT线将变为高电平。驱动器602A的操作是类似的,例外的是因为命令发生器604A是活动的,将从命令发生器604A以及状态指示器606A提供信号。
接收器610A、610B连接到CAL_IN_OUT线以接收CAL_IN信号。接收器610A、610B的输出被提供给各种解释电路612A、612B,表示下面描述的各种状态机的输入等。
图7说明了CAL_IN_OUT线的操作。在图7的示例时序图中,四个重定时器元件被连接在一起。最初,定时器元件中的每个都未准备就绪,因此,启用驱动器602的输出使能信号,并将零驱动到CAL_IN_OUT线。这由四个重定时器元件中的每个指示,指示未准备就绪并且将零驱动到CAL_IN_OUT线上。这由图7的底部处所示的CAL_IN_OUT线中的矩形所示,指示由所有芯片或重定时器元件驱动到零。这一直持续到时间T1。在时间T1处,第二和第四重定时器元件在所期望的状态下完成它们的操作并且现在准备就绪。第二和第四重定时器元件然后将低信号提供给驱动器602的使能输入,使得驱动器602停止驱动CAL_IN_OUT线信号。这由CAL_IN_OUT线中所示的矩形所指示,显示仅由第一和第三重定时器元件驱动到零。在时间T2处,第一重定时器元件准备就绪,使得第一重定时器元件将其输出书使能设置为零并停止驱动CAL_IN_OUT线。这导致仅第三重定时器元件将CAL_IN_OUT线驱动为低。最后,在时间T3处,第三重定时器元件已完成操作,并且禁用驱动器602的输出使能。这导致CAL_IN_OUT线变为高状态,因此它是线或线并且没有重定时器元件在驱动。然后,这个上升边缘用于指示所有重定时器元件都准备就绪,并且然后重定时器元件基于上升边缘一起进行到操作中的下一步骤。
图8中示出了交替格式。如上所述,CAL_IN_OUT线的部分使用是用于同步状态机。在图8中,四个重定时器元件被示出为在给定状态机的步骤A 802中。在步骤A 802期间,状态机中的每个向重定时器元件指示启用输出驱动器602以将CAL_IN_OUT线驱动到低状态以指示状态操作未完成。这导致状态机在等待状态804下保持循环。随着时间的推移,各种状态机中的每个在各种重定时器元件中完成并且停止驱动CAL_IN_OUT线,指示状态操作的完成。在说明中,最终第三状态机完成状态机的步骤A 802,并停止驱动CAL_IN_OUT线。这导致图7和图8中所示的CAL_IN_OUT线的上升边缘指示状态机从等待状态804到步骤B状态806的转换。如所示,然后每个重定时器元件中的所有状态机一起同步推进到步骤B状态806。
现在回到图6,还更详细地示出了串行总线接口。重定时器元件302A、302B包括SCLK驱动器640A、640B以及SDIO驱动器642A、642B。每个重定时器元件302A、302B包括SCLK接收器644A、644B和SDIO接收器646A、646B。SCLK驱动器640A、640B,SDIO驱动器642A、642B,SCLK接收器644A、644B和SDIO接收器646A、646B形成串行总线端点647A、647B。重定时器元件302A作为主设备包括主逻辑块648,其总是通过SCLK驱动器640A驱动SCLK信号,并且在写操作时通过SDIO驱动器642A驱动SDIO信号。重定时器元件302A包括输入块650,其接收来自SCLK接收器644A的SCLK信号,并使用该时钟和从SDIO接收器646A接收的SDIO信号来收集数据。以这种方式,重定时器元件302A基于在SDIO信号上接收的输入来同步其自己的操作。
重定时器元件302B作为从设备包括从逻辑块652,其在读取或条件指示操作时驱动SDIO驱动器642B的输出使能。重定时器元件302B包括输入输出块654,其使用SCLK信号来对SDIO线上的值进行计时(clock)以获得写操作上的输入值,并在读取或条件指示操作时将SDIO值驱动到SDIO驱动器642B。SDIO读取或条件指示的时序是基于SCLK信号。
图9说明串行总线504的操作。主设备(诸如重定时器元件302A)如所说明地驱动SCLK信号,提供常规时钟模式。在所说明的帧中,SDIO信号由主设备驱动,因为这是条件向量或命令(诸如各种状态机的状态指示)的规则。主逻辑块648基于SCLK信号的上升边缘提供串行信息的特定位。用作从设备的重定时器元件在SCLK信号的下一个上升边缘的上升时读取SDIO线上的值。这以期望的方式继续,直到已经发送了必要数量的位。如果期望读取操作,则在指示读取操作和地址的命令位的数量以及周转时间之后,从重定时器元件开始将数据值驱动到SDIO线上。如果需要指示重定时器元件的内部条件,如下所述,则重定时器元件在适当的位时间期间将SDIO线驱动为低。SDIO线的线或特性允许重定时器元件在不需要读取操作的情况下根据需要指示内部条件。
在条件向量或命令中提供的实际值是特定应用所需的设计选择。在一些情况下,如果仅需要给定有限数量的状态来操作感兴趣的特定的设备,则条件向量可以是相对短的,然而在其他情况下,可能需要和提供更长的值。在某些其他情况下,一些位用于编码的条件向量,而其他位用作条件状态位位置,以允许任何重定时器元件在适当的位时间期间将SDIO线驱动为低,以指示呈现指定条件,其中该位为高,指示条件已结束或已满足。
使用CAL_IN_OUT信号的一个示例是在各种设备中使用的时钟的同步。在图10中,说明了两个不同的重定时器元件302A、302B的时钟驱动器逻辑。每个重定时器元件302A、302B包括锁相环1002A、1002B,其基于输入CLK信号,并且被根据需要划分以产生期望的内部时钟信号。PLL输出作为时钟被提供给分频器1004A、1004B,该分频器1004A、1004B提供内部时钟信号。分频器1004A、1004B具有由触发器(flip-flop)1006A、1006B提供的使能输入。触发器1006A、1006B被清除,使得在内部没有提供时钟时,不启用分频器。触发器1006A、1006B的D输入与高关联。时钟输入由CAL_IN_OUT信号提供。以这种方式,当CAL_IN_OUT信号具有上升边缘时,两个分频器1004A、1004B的使能同时被设置为一。这允许时钟与重定时器元件302A、302B中的分频器1004A、1004B同步。然而,这是不够的,因为每个重定时器元件302A、302B将基于集成电路的温度、过程参数等略微不同。因此,分频器1004A、1004B的输出作为参考时钟被发送到延迟锁定环(DLL)1008A、1008B的输入。延迟锁定环1008A、1008B用于提供相位相关性以补偿用于各个组件的特定时钟树中的各种延迟。每个延迟锁定环1008A、1008B从期望的时钟位置接收反馈位置时钟信号以进行同步,并被锁相到参考时钟。基于反馈位置时钟信号,延迟锁定环1008A、1008B同步时钟信号的相位,使得反馈位置时钟相对于参考时钟同步。DLL 1008A、1008B的输出基于传统时钟驱动器树经过时钟延迟树1010A、1010B,以提供在反馈位置处接收时将是正确的所需时钟。在反馈位置处的时钟信号将与来自分频器1004A、1004B的时钟信号同相。
现在参考图11,提供两个示例性重定时器元件302A、302B的简化框图。所说明的是与特定状态机有关的重定时器元件的各种块,这些状态机用于控制那些块的部分的操作。每个重定时器元件302A、302B包括各种必需的PHY,诸如A侧接收PHY 1102A、1102B,A侧发送器PHY 1104A、1104B,B侧接收PHY 1106A、1106B以及B侧发送器PHY 1108A、1108B。重定时器元件302A、302B包括A侧和B侧的接收器上的百万分率(PPM)补偿块1110A、1110B、1112A、1112B。在A侧输出上提供发送FIFO 1114A、1114B,而在B侧发送器上提供发送FIFO 1116A、1116B。在每个重定时器元件302A、302B中提供MAC块1118A、1118B,以执行MAC元件的必要功能。ICC块1119A、119B将重定时器元件302A、302B互连。
各种状态机与这些特定块交互。主状态机1120A、1120B提供初始控制直到在重定时器元件302A、302B上启动时钟。在A侧接收器上提供去偏斜状态机1121A和1121B,而在B侧接收器上提供去偏斜状态机1122A、1122B。去偏斜状态机1121A、1121B、1122A、1122B用于确保特定方向的偏斜在重定时器元件之间被同步。堆叠状态机1124A、1124B用于进一步保证各种重定时器元件被同步。PPM补偿逻辑用于确保缓冲器不会欠载(underrun)或溢出(overrun)。重定时器状态机(RTSM)1126A、1126B用于管理通道的均衡并控制通道的关闭。下文更详细地描述各种状态机和PPM逻辑。在状态机的描述中,删除A、B、C或D后缀以更一般地描述状态机,而不与特定的重定时器元件关联。
图12说明了主状态机1120。初始状态1202是加电复位状态。一旦完成加电复位,下一个状态是NVM(非易失性存储器)初始化状态1204。在状态1204中,重定时器元件将CAL_IN_OUT信号驱动为低。当NVM初始化完成时,主状态机1120进行到状态1206。在状态1206中,重定时器元件停止驱动CAL_IN_OUT线,并且主状态机1120A等待CAL_IN_OUT信号不为零,指示所有其他重定时器元件已经完成非易失性存储器初始化。当CAL_IN_OUT线变为高时,指示所有重定时器元件已完成NVM初始化,下一个状态是EEPROM加载状态1208。在状态1208中,重定时器元件将CAL_IN_OUT信号驱动为低。当EEPROM加载完成时,操作进行到状态1210,其中重定时器元件停止驱动CAL_IN_OUT信号,并且等待CAL_IN_OUT线为高,指示所有其他的重定时器元件也完成了EEPROM加载。当所有重定时器元件已经完成EEPROM加载时,锁相环(PLL)在状态1212下启动,并且重定时器元件将CAL_IN_OUT信号驱动为零,以指示正进行的操作。当PLL被锁定时,控制进行到状态1214,其中重定时器元件停止驱动CAL_IN_OUT线并等待直到CAL_IN_OUT信号等于一,指示所有重定时器元件已经完成启动PLL。当所有的重定时器元件已经完成PLL启动时,操作进行到状态1216,其中内部时钟在重定时器元件中启动。出于本说明书的目的,这是主状态机1120的完成。在实践中,主状态机1120执行与重新启动重定时器元件相关的其他项目,但是为了简单起见省略了那些操作。
图13说明了堆叠状态机1124与去偏斜状态机1121和去偏斜状态机1122组合的操作。操作开始于状态1302,其中堆叠状态机1124正等待接收高速信号。一旦接收到高速信号,操作进行到首先初始化到哪个侧,A侧还是B侧的状态1304。一种情况操作进行到A侧时钟和数据恢复(CDR)锁定状态1306。在A侧CDR锁定状态1306中,重定时器元件正等待用于PCLe通道中的每个的A侧接收PLL以进行同步和锁定。当未锁定通道PLL时,重定时器元件驱动CAL_IN_OUT信号为低。当所有重定时器元件已经将所有PLL锁定在其通道上时,操作进行到状态1308。进入状态1308触发去偏斜状态机1121的开始。去偏斜状态机1121开始于状态1310,其中开始物理编码子层(PCS)的对准。重定时器元件将CAL_IN_OUT信号驱动为低,以指示PCS未对准,所有其他重定时器元件也如此。当PCS被对准时,重定时器元件停止将CAL_IN_OUT信号驱动为低,并且当所有重定时器元件对准时,操作进行到状态1312。
在状态1312之后,操作进行到状态1314,其中开始去偏斜。在状态1314中,重定时器元件将CAL_IN_OUT信号驱动为低。操作进行到状态1316,其中去偏斜状态机1121A等待,直到重定时器元件已经去偏斜,并且将CAL_IN_OUT信号驱动为高,并且所有剩余的重定时器元件类似地已经停止驱动CAL_IN_OUT信号,因此,指示重定时器元件已经全部去偏斜。操作进行到状态1318以指示完成了去偏斜。操作进行到状态1320,其中加载发送缓冲器。当足够的数据在发送缓冲器中时,操作进行到状态1322以用于发送。在此状态下,主设备在CAL_IN_OUT线上发出上升边缘,以启动时钟来读取所有芯片上的TX缓冲器。上面参考图10描述了时钟开始。进入状态1322向状态机1124A状态1308提供发送已经开始的指示。如果B侧已经完成去偏斜操作,并且A侧现在正在发送,则操作从状态1308进行到状态1310,其中堆叠被指示为完成。
如果B侧尚未在状态1308处开始去偏斜操作,则操作进行到步骤1336,等待B侧CDR锁定。当所有B侧是CDR锁定时,如CAL_IN_OUT信号为高所指示,操作进行到状态1338,以等待由B侧发送。进入状态1338触发去偏斜状态机1122,其与去偏斜状态机1121类似地操作。最终在状态1352中,当在B侧发送器上开始发送时,向状态1338提供B侧正在发送的指示。如果A侧已经完成并且B侧现在正在发送,则操作进行到状态1310。如果A侧没有开始去偏斜,则操作返回到状态1306。
图14说明串行总线504上的帧1402。帧的开始由SDIO信号变成低而SCLK信号为低来指示。两位前导码开始实际帧1402。接下来提供两个PPM或百万分率补偿数据位的第一实例。众所周知,必须进行PPM补偿以阻止缓冲器下溢(underflow)或溢出。PPM补偿数据位指示哪个方向,A还是B需要补偿或操作校正,以及是否应该在SKP有序集中插入或移除SKP符号。RTSM条件向量的第一部分是接下来的五个位,随后是第二个出现的两个PPM补偿数据位。接下来是RTSM条件向量的剩余六个位。帧数据以两个PPM补偿数据位的第三组结束。在某些情况下,条件向量具有两个部分,一个部分,其中状态机指示由主重定时器元件编码,并且第二部分,其中各个条件位表示重定时器元件的内部条件。由于SDIO线是线或连接,因此具有指定指示条件的任何重定时器元件都可以将相关的条件向量位驱动为低。重定时器元件监视这些各个位以确定是否应该完成状态机转换。该操作如下文所述。由SDIO信号上升而SCLK信号为低来示意(signal)帧的结束。所说明的帧1402之后紧接着是另一个帧,因为SCLK和SDIO信号在操作期间不断地运行。
PPM补偿信息通过串行总线504被发送,因为每个通道必须一起延长或缩短SKP有序集。使用串行总线504允许这有效地发生。当在给定的通道处接收下一个SKP有序集时,执行实际的SKP有序集添加或者减少。PCIe规范要求定期发送SKP有序集以允许由下游元件进行该PPM补偿。通过在每帧中发送三次PPM补偿位,基于SCLK信号的速度和传统SKP有序集发布速率,每次接收SKP有序集时,都呈现PPM补偿值。
图15说明了RTSM或重定时器状态机1126。一旦在方向A和B两者上都完成去偏斜时,则RTSM 1126开始于状态1504,其中每个重定时器元件在两个方向上转发数据。不使用信号CAL_IN_OUT,并且状态机同步依赖于串行总线504。每个重定时器元件主动地检查正被接收的有序集,其中每个重定时器元件更新或驱动条件向量中的相应位,如上所述。当在重定时器元件中的一个中的所有通道都接收EC=2(其是训练序列有序集中的字段)时,重定时器元件停止驱动用于条件向量中的相应位的SDIO线。由于它是开-漏(opening-drain)信令,所以如果在所有其他重定时器元件中的通道也看到EC=2,则该位是‘1’,导致在每个重定时器元件上的RTSM 1126转换到链路EQ状态1502。否则,该位保持被驱动为‘0’。换言之,所有重定时器元件都对条件向量位有贡献,使得所有重定时器元件的RTSM 1126响应于条件向量上的组合的结果。RTSM 1126保持在链路EQ状态1502处,直到每个重定时器元件上的所有通道已经完成EQ操作,如由通过如上所述的开-漏信令的条件向量中的另一个位所指示的。该所有完成条件由串行总线帧条件向量位携带,使得所有重定时器元件的RTSM 1126返回到转发状态1504。
从转发状态1504,它还可能是任何一个重定时器元件中的通道之一突然丢失高速信号。该事件通常称为推断电气空闲。如果在任何一个重定时器元件中的任何一个通道发生这种事件,则重定时器元件通过将相应位驱动为‘0’而不是不驱动它来在条件向量中提供该事件。换言之,如果所有通道都在接收高速信号,则没有重定时器元件将电气空闲位驱动为‘0’,并且条件向量中的位保持为‘1’。当条件向量在相应位上显示‘0’时,在所有重定时器元件中的RTSM 1126知道链路中的至少一个通道已经丢失高速信号,使得RTSM 1126全部进入电气空闲状态1506,其中针对两个方向的发送器被优雅地(gracefully)关闭。
关闭通道的不太引人注意的条件是通过训练序列TS1中的禁用位。当RTSM 1126在状态1504中并且通道中的任何一个检测到来自TS1的禁用命令时,重定时器元件将通过将条件向量中的相应位驱动为‘0’来指示该改变。因为它是开-漏信令,所以条件向量中的相应位是‘0’,只要重定时器元件中的一个将它驱动为‘0’即可。所有RTSM 1126都看到条件向量已经改变并且转换到状态1508,其中发送器被优雅地关闭。从状态1506或状态1508,当再次检测到高速信号时,每个重定时器元件中的RTSM 1126退出该状态,这触发堆叠状态机1124和去偏斜状态机1121、1122。在堆叠状态机1124和去偏斜状态机1121、1122完成后,RTSM 1126最终返回转发状态1504。
来自转发状态1504的下一个选项是进行到合规(compliance)状态1510,其与禁用状态1508类似地被触发,例外的是在TS1中设置合规位。重定时器元件中的所有通道进入合规模式,并生成或转发所需要的模式。在完成合规模式操作后,RTSM 1126从合规状态1510进行到电气空闲状态1506。
如上所述,CAL_IN_OUT或校准线用于同步重定时器元件之间的操作,使得重定时器元件一致地转换状态。当下一次转换可能是几种不同状态之一时,串行总线用于提供下一个状态信息。串行总线还用于提供所有重定时器元件上的所需数据,以用于一致的操作。串行总线还用于将来自重定时器元件的状态信息返回到所有重定时器元件,使得即使只有一个重定时器元件可具有触发条件,所有重定时器元件也可以一起进行。校准线和串行总线的使用允许将单片重定时器分成多于一个片或元件,并且使所有各种状态机和其他参数维持所需的同步,使得元件的组合起到单片重定时器的作用。
应当理解,上面仅讨论了示例状态机、状态和数据以提供解释。在实际的重定时器设计中可以使用许多更多的状态机、状态和数据,但是可以使用本文讨论的技术和项目来执行所需的同步等。
虽然已经示出了每个重定时器元件具有相同的宽度,但是如果需要,不同的元件可以是不同的宽度。
还应该理解,重定时器仅是处理设备的一个示例,该处理设备使用状态机来控制操作并且可以被分成多于一个处理片或处理元件,并且使组合与较宽的单一设备执行相同的操作。相关的示例是在PCIe链路的端部处和PCIe交换机中使用的发送器和接收器PHY和MAC模块。还应理解,操作不限于PCIe,而是其他串行链路格式,诸如无线带宽技术(InfiniBand)等。甚至进一步理解,操作不限于串行设备,而是可以应用于可以使用多个宽度并且必须在操作中同步各种项目的许多设备。
上面的说明书意为说明性的而非限制性的。例如,上述示例可以在与彼此的组合中使用。参照上面说明书有许多其他示例。因此,该范围应该参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。在所附权利要求中,术语“包括(including)”和“其中(in which)”用作相应术语“包含(comprising)”和“其中(wherein)”的通俗英语等同物。
Claims (20)
1.一种处理设备,其包含:
给定宽度并包含多个状态机的处理元件,所述多个状态机控制所述处理元件的操作;
校准输入/输出,其用于连接到线或校准线;以及
串行总线端点,其用于连接到串行总线,所述串行总线包括串行总线时钟和用于提供状态数据的串行数据线,
其中所述校准输入/输出接收来自所述多个状态机的指示,并且将指示提供给所述多个状态机,并且所述串行总线端点将指示提供给所述多个状态机,
其中所述多个状态机中的至少一些将所述状态机在指定状态下操作的指示提供给所述校准输入/输出,以及
其中所述多个状态机中的至少一个基于来自所述校准输入/输出的指示进行转换,并且所述多个状态机中的至少一个基于在所述串行总线上提供的状态数据进行转换。
2.根据权利要求1所述的处理设备,其中所述处理元件是主元件,并且其中所述串行总线端点提供所述串行总线时钟和所述串行数据线上的所述状态数据。
3.根据权利要求1所述的处理设备,其中所述处理元件是从元件,并且其中所述串行总线端点接收所述串行总线时钟和所述串行数据线上的所述状态数据。
4.根据权利要求1所述的处理设备,其中所述处理设备是链路重定时器。
5.根据权利要求4所述的处理设备,其中所述串行数据线进一步提供条件数据,并且
其中所述处理元件使用所述条件数据来执行操作。
6.根据权利要求1所述的处理设备,其中所述串行数据线进一步提供操作校正数据,并且其中所述处理元件使用所述操作校正数据来校正操作。
7.根据权利要求1所述的处理设备,其中所述处理元件包括时钟驱动器,所述时钟驱动器提供时钟信号,并且其中所述校准输入/输出同步由所述时钟驱动器提供的所述时钟信号。
8.一种处理设备,其包含:
第一处理元件,其具有第一给定宽度并且包含多个第一状态机,所述多个第一状态机控制所述第一处理元件的操作,并且所述第一处理元件包括:
第一校准输入/输出,其用于连接到线或校准线;以及
第一串行总线端点,其用于连接到串行总线,所述串行总线包括串行总线时钟和用于提供状态数据的串行数据线,
其中所述第一校准输入/输出接收来自所述多个第一状态机的指示,并且将指示提供给所述多个第一状态机,并且所述第一串行总线端点将指示提供给所述多个第一状态机,
其中所述多个第一状态机中的至少一个将所述第一状态机在指定状态下操作的指示提供给所述第一校准输入/输出,以及
其中所述多个第一状态机中的至少一个基于来自所述第一校准输入/输出的指示进行转换,并且所述多个第一状态机中的至少一个基于在所述串行总线上提供的状态数据进行转换;以及
第二处理元件,其具有第二给定宽度并且包含多个第二状态机,所述多个第二状态机控制所述第二处理元件的操作,并且所述第二处理元件包括:
第二校准输入/输出,其用于连接到线或校准线;以及
第二串行总线端点,其用于连接到串行总线,所述串行总线包括串行总线时钟和用于提供状态数据的串行数据线,
其中所述第二校准输入/输出接收来自所述多个第二状态机的指示,并且将指示提供给所述多个第二状态机,并且所述第二串行总线端点将指示提供给所述多个第二状态机,
其中所述多个第二状态机的至少一个将所述第二状态机在指定状态下操作的指示提供给所述第二校准输入/输出,以及
其中所述多个第二状态机中的至少一个基于来自所述第二校准输入/输出的指示进行转换,并且所述多个第二状态机中的至少一个基于所述串行总线上提供的状态数据进行转换;
线或校准线,其连接到所述第一校准输入/输出和所述第二校准输入/输出;以及
串行总线,其包括串行总线时钟和串行数据线,所述串行总线连接到所述第一串行总线端点和所述第二串行总线端点,
其中所述多个第一状态机和所述多个第二状态机是相应第一处理元件和第二处理元件中的相同状态机的实例,
其中所述多个第一状态机中的所述至少一个和所述多个第二状态机中的所述至少一个是相应第一处理元件和第二处理元件中的相同状态机的实例,以及
其中所述多个第一状态机中的所述至少一个和所述多个第二状态机中的所述至少一个一起进行转换。
9.根据权利要求8所述的处理设备,其中所述第一处理元件是主元件,
其中所述第一串行总线端点提供所述串行总线时钟和所述串行数据线上的所述状态数据,
其中所述第二处理元件是从元件,并且其中所述第二串行总线端点接收所述串行总线时钟和所述串行数据线上的所述状态数据。
10.根据权利要求8所述的处理设备,其中所述第一处理元件和所述第二处理元件是链路重定时器。
11.根据权利要求10所述的处理设备,其中所述串行数据线进一步提供条件数据,并且
其中所述第一处理元件和所述第二处理元件中的一个使用所述条件数据来执行操作。
12.根据权利要求8所述的处理设备,其中所述串行数据线进一步提供操作校正数据,并且其中所述第一处理元件和所述第二处理元件中的一个使用所述操作校正数据来校正操作。
13.根据权利要求8所述的处理设备,其中所述第一处理元件包括提供时钟信号的第一时钟驱动器,
其中所述第一校准输入/输出同步由所述第一时钟驱动器提供的所述时钟信号,
其中所述第二处理元件包括提供时钟信号的第二时钟驱动器,以及
其中所述第二校准输入/输出同步由所述第二时钟驱动器提供的所述时钟信号。
14.一种操作处理设备的方法,所述处理设备包括给定宽度并包含多个状态机的处理元件,所述多个状态机控制所述处理元件的操作,所述处理元件包括:用于连接到线或校准线的校准输入/输出;以及用于连接到串行总线的串行总线端点,所述串行总线包括串行总线时钟和用于提供状态数据的串行数据线,所述方法包含:
所述校准输入/输出接收来自所述多个状态机的指示,并将指示提供给所述多个状态机;
所述串行总线端点将指示提供给所述多个状态机;
所述多个状态机中的至少一个将所述状态机在指定状态下操作的指示提供给所述校准输入/输出;
所述多个状态机中的至少一个基于来自所述校准输入/输出的指示进行转换;以及
所述多个状态机中的至少一个基于所述串行总线上提供的状态数据进行转换。
15.根据权利要求14所述的方法,其中所述处理元件是主元件,并且其中所述串行总线端点提供所述串行总线时钟和所述串行数据线上的所述状态数据。
16.根据权利要求14所述的方法,其中所述处理元件是从元件,并且其中所述串行总线端点接收所述串行总线时钟和所述串行数据线上的所述状态数据。
17.根据权利要求14所述的方法,其中所述处理设备是链路重定时器。
18.根据权利要求17所述的方法,其中所述串行数据线进一步提供条件数据,并且
其中所述处理元件使用所述条件数据来执行操作。
19.根据权利要求14所述的方法,其中所述串行数据线进一步提供操作校正数据,并且其中所述处理元件使用所述操作校正数据来校正操作。
20.根据权利要求14所述的方法,其中所述处理元件包括时钟驱动器,所述时钟驱动器提供时钟信号,并且其中所述校准输入/输出同步由所述时钟驱动器提供的所述时钟信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/858,366 | 2017-12-29 | ||
US15/858,366 US10671553B2 (en) | 2017-12-29 | 2017-12-29 | Link width scaling across multiple retimer devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109992548A true CN109992548A (zh) | 2019-07-09 |
CN109992548B CN109992548B (zh) | 2024-07-19 |
Family
ID=67059621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811608795.9A Active CN109992548B (zh) | 2017-12-29 | 2018-12-27 | 跨多个重定时器设备的链路宽度缩放 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10671553B2 (zh) |
CN (1) | CN109992548B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021102688A1 (zh) * | 2019-11-26 | 2021-06-03 | 华为技术有限公司 | 一种数据同步的方法以及装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200019477A1 (en) * | 2018-07-10 | 2020-01-16 | Qualcomm Incorporated | Diverse redundant processing modules for error detection |
CN110737625B (zh) * | 2019-10-12 | 2021-03-23 | 浪潮集团有限公司 | 实现PXIe测控板卡模块中DAC同步的系统及方法 |
US11424621B2 (en) | 2020-01-28 | 2022-08-23 | Qualcomm Incorporated | Configurable redundant systems for safety critical applications |
US20210311895A1 (en) * | 2020-11-16 | 2021-10-07 | Intel Corporation | Disaggregation of computing devices using enhanced retimers with circuit switching |
US11907151B2 (en) * | 2021-11-11 | 2024-02-20 | Drut Technologies Inc. | Reconfigurable peripheral component interconnect express (PCIe) data path transport to remote computing assets |
WO2024086639A1 (en) * | 2022-10-18 | 2024-04-25 | Kandou Labs SA | Pcie retimer providing failover to redundant endpoint and multiple endpoint switching using synchronized multi-tile data interface |
WO2024086641A1 (en) * | 2022-10-18 | 2024-04-25 | Kandou Labs SA | Data lane deskew and rate adaptation in a package containing multiple circuit dies |
WO2024103015A1 (en) * | 2022-11-10 | 2024-05-16 | Kandou Labs SA | Retimer training and status state machine synchronization across multiple integrated circuit dies |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030215041A1 (en) * | 2002-05-17 | 2003-11-20 | Gauthier Claude R. | Method and apparatus to store delay locked loop biasing parameters |
US7012956B1 (en) * | 2005-02-11 | 2006-03-14 | International Business Machines Corporation | Circuit for optimizing a delay line used to de-skew received data signals relative to a received clock signal |
US20110205433A1 (en) * | 2010-02-25 | 2011-08-25 | William Conrad Altmann | Video frame synchronization |
CN102457285A (zh) * | 2010-10-27 | 2012-05-16 | 国际商业机器公司 | 用于多个并行数据通信线路的校准的通信接口和方法 |
CN104765706A (zh) * | 2014-01-07 | 2015-07-08 | 全视技术有限公司 | 基于数字校准的长距离mipi d-phy串行链路的偏斜消除 |
-
2017
- 2017-12-29 US US15/858,366 patent/US10671553B2/en active Active
-
2018
- 2018-12-27 CN CN201811608795.9A patent/CN109992548B/zh active Active
-
2020
- 2020-04-23 US US16/856,174 patent/US11151066B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030215041A1 (en) * | 2002-05-17 | 2003-11-20 | Gauthier Claude R. | Method and apparatus to store delay locked loop biasing parameters |
US7012956B1 (en) * | 2005-02-11 | 2006-03-14 | International Business Machines Corporation | Circuit for optimizing a delay line used to de-skew received data signals relative to a received clock signal |
US20110205433A1 (en) * | 2010-02-25 | 2011-08-25 | William Conrad Altmann | Video frame synchronization |
CN102457285A (zh) * | 2010-10-27 | 2012-05-16 | 国际商业机器公司 | 用于多个并行数据通信线路的校准的通信接口和方法 |
CN104765706A (zh) * | 2014-01-07 | 2015-07-08 | 全视技术有限公司 | 基于数字校准的长距离mipi d-phy串行链路的偏斜消除 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021102688A1 (zh) * | 2019-11-26 | 2021-06-03 | 华为技术有限公司 | 一种数据同步的方法以及装置 |
CN114556870A (zh) * | 2019-11-26 | 2022-05-27 | 华为技术有限公司 | 一种数据同步的方法以及装置 |
CN114556870B (zh) * | 2019-11-26 | 2023-04-04 | 华为技术有限公司 | 一种数据同步的方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190205270A1 (en) | 2019-07-04 |
US10671553B2 (en) | 2020-06-02 |
US20200250114A1 (en) | 2020-08-06 |
US11151066B2 (en) | 2021-10-19 |
CN109992548B (zh) | 2024-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992548A (zh) | 跨多个重定时器设备的链路宽度缩放 | |
US7512201B2 (en) | Multi-channel synchronization architecture | |
US7865756B2 (en) | Methods and apparatus for clock signal synchronization in a configuration of series-connected semiconductor devices | |
CN100446456C (zh) | 发送时钟信号相位与接收时钟信号相位锁相的系统及方法 | |
CN106249807B (zh) | 用于集成电路时钟分配的系统和方法 | |
CN103227638B (zh) | 方法和布置 | |
US20120331326A1 (en) | Apparatus and method for advanced synchronous strobe transmission | |
US8205110B2 (en) | Synchronous operation of a system with asynchronous clock domains | |
US7894537B2 (en) | Adaptive data alignment | |
US20070300099A1 (en) | Programmable Bus Driver Launch Delay/Cycle Delay to Reduce Elastic Interface Elasticity Requirements | |
US20120331330A1 (en) | Programmable mechanism for optimizing a synchronous data bus | |
JP2016529844A (ja) | 構成可能なクロックツリー | |
US8683253B2 (en) | Optimized synchronous strobe transmission mechanism | |
US8751851B2 (en) | Programmable mechanism for synchronous strobe advance | |
EP1476800B1 (en) | Seamless clock | |
US7593498B2 (en) | Method and apparatus for automatic rate identification and channel synchronization in a master-slave setting for high data throughput applications | |
US8782460B2 (en) | Apparatus and method for delayed synchronous data reception | |
US20040193931A1 (en) | System and method for transferring data from a first clock domain to a second clock domain | |
US20220221893A1 (en) | Circuit for providing clock to de-serializer in communication physical layer | |
CN110706674B (zh) | 时钟恢复装置和源极驱动器 | |
US7219251B2 (en) | Programmable clock synchronizer | |
US8751852B2 (en) | Programmable mechanism for delayed synchronous data reception | |
US8751850B2 (en) | Optimized synchronous data reception mechanism | |
US7464284B2 (en) | Systems and methods for driving data over a bus where the systems employ a bus clock that is derived from a system clock and a data clock designed to lead the bus clock | |
US20080159454A1 (en) | Network on chip device and on-chip data transmission device |
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 |