用于高速串行接收器电路的中央对准电路的制作方法

文档序号:6551401阅读:133来源:国知局
用于高速串行接收器电路的中央对准电路的制作方法
【专利摘要】串行传输协议的实施通常涉及经由多个串行通信链路并行传输串行数据流形式的数据。在接收后,将串行数据流聚集以实施等效于经由单一串行通信链路传输该数据的行为。提供具有中央对准控制电路的高速串行通信接收器,其执行每个串行数据流内的字边界的识别、所有串行数据流的对准以及串行通信链路以给定次序的布置。使用单一中央对准控制电路减少了用于执行这些操作所需的电路面积,有利于减少延时,并且可以容易地控制简化的切换网络。
【专利说明】用于高速串行接收器电路的中央对准电路
[0001]本申请案主张2013年6月28日提交的第13/931,720号美国专利申请案的优先权,所述专利申请案全文以引用的方式并入本文中。

【技术领域】
[0002]本发明涉及高速串行接收器电路,且更具体地涉及处理经由多个串行通信链路接收的串行数据流的对准。

【背景技术】
[0003]集成电路经由例如输入-输出(I/O)总线等通信路径彼此通信。越来越重要的通信类型是经由串行通信链路的串行数据流形式的数据通信。
[0004]例如100G以太网或Interlaken等新近的串行传输协议的实施通常涉及经由多个串行通信链路并行传输串行数据流形式的数据。在接收后,将串行数据流聚集以实施等效于经由单一串行通信链路的数据的传输的行为。串行数据流的聚集可以涉及以串行通信链路的给定次序接收经同步串行数据流。
[0005]可能出现多个串行通信链路之间的传输延迟的变化致使串行数据流变得不对准的情形。一些串行传输协议还允许串行通信链路在传输期间重新排序。因此,需要用以执行处理步骤来确保所接收的串行数据流的对准的电路。这些处理步骤包含每个串行数据流内的字边界的识别、所有串行数据流的对准以及串行通信链路以给定次序的布置。通常向每个处理步骤指派单独、独立的状态机电路。


【发明内容】

[0006]根据本文描述的一些实施例,一种用于操作串行接收器电路的方法可以包含以下步骤:经由多个串行通道接收串行数据,以及使用中央对准电路识别串行通道的当前次序并基于当前次序配置多级切换网络以按照期望次序布置串行通道。中央对准电路可以识别为每个串行通道的串行数据中的字划定界限的成帧位,并基于该成帧位使每个串行通道的串行数据中的字对准。
[0007]应了解,本发明能够以许多方式实施,例如在可编程处理器上执行的过程、设备、系统、装置或指令。下文描述本发明的若干创造性实施例。
[0008]在某些实施例中,上文提及的中央对准电路可以识别串行通道中的串行数据之间的相对延迟,并通过校正串行通道之间的相对延迟而使串行通道对准。
[0009]根据需要,中央对准电路可以监视串行通道的对准以检测未对准,而且在检测到未对准的情况下,可以识别串行通道中的串行数据之间的相对延迟并使串行通道对准以补偿相对延迟。
[0010]从附图和优选实施例的以下详细描述将更加了解本发明的进一步特征、其性质和各个优点。

【专利附图】

【附图说明】
[0011]图1是根据本发明的实施例可使用串行数据流通信的互连电子装置的示意图。
[0012]图2是根据本发明的实施例可使用串行数据流经由高速串行通信链路进行通信的互连集成电路的示意图。
[0013]图3是根据本发明的实施例用于执行由中央对准控制电路控制的字对准、通道重新排序和通道对准的高速串行接收器电路的示意图。
[0014]图4是根据本发明的实施例可由串行接收器电路执行的通道再排序的示意图。
[0015]图5是根据本发明的实施例可由串行接收器电路在串行流上执行的字对准的示意图。
[0016]图6是根据本发明的实施例可由串行接收器电路执行的串行流之间的通道对准的示意图。
[0017]图7是根据本发明的实施例具有多个高速串行通信链路的高速串行接收器电路、用于通道重新排序的Clos网络、用于通道对准和字对准的多个延迟级、对准俘获电路和对准控制电路的示意图。
[0018]图8是根据本发明的实施例用于配置多级切换网络以便执行通道重新排序的说明性步骤的流程图。
[0019]图9是根据本发明的实施例用于俘获和控制高速串行收发器电路中的字对准和通道对准以及通道重新排序的对准俘获和控制电路的示意图。
[0020]图10是根据本发明的实施例用于在高速串行接收器电路中使用对准电路执行通道重新排序、字对准和通道对准的说明性步骤的流程图。

【具体实施方式】
[0021]本发明的实施例涉及高速串行接收器电路,并且更具体地涉及处理经由多个串行通信链路接收的串行数据流的对准,所述串行通信链路有时也被称为信道、串行通道或通道。根据需要,每一个串行通信链路可以按时间分割为多个虚拟串行通信链路,其有时也被称为虚拟信道或虚拟通道。
[0022]新近的串行传输协议的实施通常涉及经由多个串行通信链路并行传输串行数据流形式的数据。多个串行通信链路之间的传输延迟的变化可能致使串行数据流变得不对准。一些串行传输协议还允许串行通信链路在传输期间被再排序。因此,需要用以在接收到串行数据流后执行常见处理步骤的电路。这些处理步骤可以包含识别每一串行数据流内的字边界(有时也称为字对准、字锁定、块锁定或成帧锁定)、所有串行数据流的对准(有时也称为信道对准、通道对准或通道解除歪斜)以及串行通信链路以给定次序的对准(有时也称为通道重新排序、多通道分布或重新排序)。
[0023]可以使用中央对准控制电路(例如代替单独状态机电路)来控制关于串行数据流的对准和串行通信链路的重新排序的一些或所有处理步骤的执行。中央对准控制电路的使用与多个单独状态机电路的使用相比可以提供若干优点。举例来说,中央对准控制电路可以使用较少电路资源,并行执行一些或所有处理步骤,由此减少对准和重新排序操作的等待时间,并且与状态机电路可控制的网络相比控制更复杂的切换网络,由此进一步减少所需的电路资源。
[0024]本领域技术人员将认识到,当前示范性实施例可以在没有这些特定细节中的一些或全部的情况下实践。在其它示例中,未详细描述众所周知的操作以免不必要地混淆当前实施例。
[0025]图1中示出互连电子装置的说明性系统100。该互连电子装置的系统可以具有多个电子装置,例如装置A (显示为图1中的110)、装置B (显示为图1中的130)、装置C,以及互连资源160。电子装置可以是与其它电子装置通信的任何合适类型的电子装置。此类电子装置的示例包含在印刷电路板(PCB)上互连的例如模拟电路、数字电路、混合信号电路和集成电路等基本电子组件和电路。此类电子装置的示例还包含经由有线或无线网络彼此通信的例如网络路由器和蜂窝式电话基站或其部分等复杂电子系统。
[0026]互连资源160(例如导电线和总线、光学互连基础设施或者具有任选中间开关的有线和无线网络)可以用于将信号从一个电子装置发送到另一电子装置,或者将信息从一个电子装置广播到多个其它电子装置。
[0027]图2示出电子装置290 (例如装置290A、290B和290C)的系统200的说明性实施例。在图2的示例中,电子装置290是集成电路。示范性集成电路(IC)包含可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、现场可编程逻辑阵列(FPLA)、电可编程集成电路(EPLD)、电可擦除可编程集成电路(EEPLD)、逻辑单元阵列(LCA)、现场可编程门阵列(FPGA)、专用标准产品(ASSP)、微处理器、微控制器以及专用集成电路(ASIC)。集成电路290A、290B和290C可以按照不同方式组装。举例来说,集成电路290可以在不同封装中,在同一封装中,以电线键合连接堆叠,或者使用穿硅通孔(TSV)组装,仅举几例。
[0028]集成电路290可以包含处理和存储电路210,例如随机存取存储器(RAM)、先进先出(FIFO)电路、堆栈或后进先出(LIFO)电路、只读存储器(ROM)或其它存储器元件、嵌入式微处理器、数字信号处理器(DSP)、微控制器或其它处理电路,以及互连资源260 (例如导电线和总线)。互连资源260可以用于将信号从一个组件发送到另一组件或者将信号从一个组件广播到一个或更多个其它组件。集成电路可以包含输入/输出电路270,该输入/输出电路可以包含并行输入/输出电路、差分输入/输出电路、具有一个或更多个串行发射器电路(例如发射器电路240A和240B)和一个或更多个串行接收器电路(例如接收器电路250A和250B)的串行数据收发器电路或者任何其它期望的输入/输出电路。输入/输出电路270可以经由互连资源280(例如当使用并行输入/输出电路与其它装置通信时)或者当使用串行数据收发器电路与其它装置通信时经由串行通信链路(例如串行通信链路285)发射和接收信号。
[0029]举例来说,集成电路290B的输入/输出电路270中的发射器240可以经由串行通信链路285以给定发射速率将串行化数据信号作为数据流发射到集成电路290C,在集成电路290C处串行数据由接收器电路245接收。类似地,集成电路290C可以使用发射器255A经由串行通信链路285将串行化数据信号作为数据流发射到集成电路290B。
[0030]根据需要,可以使用多个串行通信链路来传输数据。举例来说,多个发射器(例如集成电路290C的发射器255A和255B)可以各自经由多个串行通信链路将数据的一部分作为串行数据流传输到多个接收器(例如集成电路290B的接收器250A和250B)。在接收后,接收器电路可以通过聚集在多个接收器处接收的数据部分来恢复数据。数据部分的聚集可能需要串行数据流对准且呈现给定的次序(例如用以根据所分割的数据流正确地重建原始数据)。
[0031]作为一个示例,100G以太网链路的实施可以使用四个串行通信链路285,其中每个都以25Gbps的速率操作并且每个都携载五个虚拟信道(总共20个虚拟信道)。作为替代,100G以太网链路可以使用十个串行通信链路,其中每个都以1Gbps的速率操作并且每个都携载两个虚拟信道。
[0032]数据经由多个串行通信链路的并行传输可能使得经由这些链路传输的数据易受外部影响(例如缆线长度或电学特性的差异),这可能导致链路之间的传输延迟的变化。串行通信链路之间的传输延迟的此类变化可能致使串行数据流变得不对准。以太网协议还允许串行通信链路在传输期间被重新排序。因此,需要用以在接收到串行数据流后执行同步处理步骤的电路。这些处理步骤可以包含识别每个串行数据流中的字边界、串行数据流的对准以及串行通信链路以给定次序的布置。
[0033]图3示出高速串行接收器300的实施例,其包含对准电路310,该对准电路310在通道重新排序电路320中执行通道重新排序并且在字和通道对准电路330中执行字对准和通道对准(由对准控制电路340控制)。如图所示,对准电路310可以经由四个串行通信链路接收四个串行数据流。
[0034]通道重新排序电路320可以对串行数据流重新排序。图4示出用于使用通道重新排序电路410执行通道重新排序的实施例。考虑以通道3、通道1、通道0,之后是通道2的次序接收串行数据流(即通道3耦合到输入端口 O (IPO)、通道I耦合到IP1、通道O耦合到IP2,且通道2耦合到IP3)并且通道重新排序电路410的输出端上的期望次序为通道O、通道1、通道2,之后是通道3 (即通道O耦合到输出端口 O (OPO)、通道I耦合到OP1、通道2耦合到0P2,且通道3耦合到0P3)的情境。在此情境中,图3的对准控制电路340需要配置通道排序电路410以将输入端口 IPO耦合到输出端口 0P3,将输入端口 IPl耦合到输出端口0P1,将输入端口 IP2耦合到输出端口 0P0,并且将输入端口 IP3耦合到输出端口 0P2。
[0035]通道重新排序电路410可以包含交叉开关,其有时也称为纵横开关、矩阵开关、交叉点开关或全纵横开关。交叉开关具有给定数目的输入端口和输出端口,以及可经配置以将输出端口的每一个连接到输入端口的任一个的可编程互连件。举例来说,通道重新排序电路410可以包含连接到输入端口的串行通信链路和连接到输出端口的串行通信链路,以及允许任何输出端口与任何输入端口连接的可编程开关(例如传递晶体管)。作为替代,通道重新排序电路410可以包含四个4:1多路复用器。每个多路复用器可以耦合到所有四个输入端口并驱动不同输出端口。在此情境中,配置纵横开关可以包含配置多路复用器的选择位以选择性地将输出端口耦合到输入端口。
[0036]对准电路310中的字和通道对准电路330可以接收串行数据流并通过识别相应串行数据流中的字边界而执行字对准。图5示出用于在单一串行数据流中执行字对准500的实施例。字对准可能需要识别内嵌在串行数据流中的同步数据(例如成帧位)并且对组成字的位数进行计数。举例来说,以太网中的字可以是66位宽,并且每个字的最后两位(即成帧位)是相反的(例如具有反转的逻辑值)。作为另一示例,成帧位可以具有相同数值,例如“11”。因此,字对准可能需要成帧位的重复识别。对于每个经识别的成帧位集合,字对准可以接收另外66位并校验最后两个位同样是成帧位。
[0037]考虑每个字具有24位且成帧位是“II”的情境。字和通道对准电路可检查串行数据流530的成帧位(例如使用比较器或模式匹配电路)。在图5的示例中,字和通道对准电路可以逐位移位串行数据流530并寻找跟随有另一位“I”的位“1”,并且找到位14之后、位22之后、位23之后、位24之后、位25之后、位26之后和位48之后的潜在字边界。仅位24之后和位48之后的潜在字边界分开24位且因此形成使串行数据流的字分离的实际字边界510 和 520。
[0038]图3的字和通道对准电路330可以通过使经由不同串行通信链路接收的串行数据流彼此对准而执行通道对准。图6示出通道对准电路330可以对未对准通道620执行对准操作以产生已对准通道630的情境。通道对准可能需要识别同步数据,例如内嵌在串行数据流中的对准标签或特定码字。在图6的示例中,对准标签可以是字“A”610。可以监视通道620的每个通道以检测对准标签“A”。当在通道的一个中检测到对准标签“A”时,该通道可以被中止或延迟(例如使用延迟电路),直到在每个通道中接收到对准标签“A”为止。在图6的示例中,线640表示对准标签通过每个通道的进程。首先在时间TO检测到通道O的对准标签“A”。通道O可以被延迟时间D直到在时间Tl在通道I中检测到最后对准标签“A”为止。一旦通道I的对准标签到达640处,所有通道就如630中所示对准。
[0039]可以如先前描述在单独步骤中执行字对准和通道对准。也可以在单一处理步骤中执行字对准和通道对准。举例来说,图3中的字和通道对准电路330可以在无先前字对准的情况下检查每个通道的对准标签。对准标签的识别可实现通道对准并且还提供用于字对准的字边界。
[0040]对准电路310可以按照任何次序执行通道重新排序以及字和通道对准。举例来说,对准电路310可以在执行通道重新排序之后执行字和通道对准,或者在执行字和通道对准之后执行通道重新排序。
[0041]图7是具有十个高速串行通信链路710的高速串行接收器电路的示意图。十个高速串行通信链路携载的数据可以分布在20个串行信道720上。举例来说,来自十个高速串行通信链路中的一个710A的每个偶数位可以由串行信道中的一个720A传递,而来自相同高速串行通信链路710A的每个奇数位可以由串行信道中的另一个720F传递。
[0042]串行信道720在此阶段可以具有任意次序。举例来说,最顶部串行信道可以传递具有期望位置19的串行数据流,而从顶部起第二串行信道传递具有期望位置15的串行数据流,等等。因此,切换网络例如多级切换网络730可以将串行信道720重新排序以按照串行信道740所显示的期望次序布置串行信道。在图7的示例中,期望次序为从位置O循序到位置19。然而,切换网络730可用于以任何期望次序对所接收数据流重新排序。
[0043]在图7的示例中,多级切换网络730被实现为三级Clos网络。三级Clos网络可以具有拥有五个4X4纵横开关的输入级、拥有四个5X5纵横开关的中间级以及拥有五个4X4纵横开关的输出级。根据需要,Clos网络可以在输入级、中间级和输出级中具有不同的纵横开关布置。举例来说,输入级和输出级可以各自具有十个2X2纵横开关,并且中间级具有两个1X 10纵横开关。更一般来说,考虑Clos网络具有k个输入端口和k个输出端口且其中k = r*n的情境。在此情境中,输入级可以具有r个nXm(即,η乘以m)纵横开关,输出级可以具有r个mXn纵横开关,且中间级可以具有m个rXr纵横开关。
[0044]根据需要,多级切换网络可以被实现为具有任何奇数级的Clos网络(例如五级Clos网络)或任何其它多级切换网络,例如折叠式Clos网络、Benes网络或Omega网络,仅举几例。作为替代,单级切换网络(例如20X20交叉开关)可替代多级切换网络。20X20交叉开关的实施方式可能比Clos网络的实施方式具有更多的开关并因此需要更多的电路面积。然而,20 X 20交叉开关可以始终将未使用的输入端口连接到任何未使用的输出端口,而无需重新布置现有连接。因此,单一 20X20纵横开关有时也被称为严格无阻塞。相比之下,如果m大于或等于n,如先前描述的三级Clos网络可以始终将未使用的输入端口连接到任何未使用的输出端口。然而,Clos网络可能需要重新布置一些现有连接。仅当m大于或等于(2n-l)时,如先前描述的三级Clos网络才严格无阻塞。因此,如关于图7的实施例所描述,配置多级切换网络730的对准控制760可能需要在配置多级切换网络730时重新配置一些现有连接。
[0045]图8是对准控制电路(例如对准控制760)可执行以基于耦合到多级切换网络的通道的当前次序和期望次序配置多级切换网络730的说明性步骤的流程图800。在步骤810期间,对准控制可以确定通道处理次序。举例来说,处理耦合到多级切换网络的输入端口的串行信道的次序可以被随机化。在步骤820期间,对准控制可以通过删除输入端口与输出端口之间的任何先前建立的连接来复位切换网络。在步骤830期间,对准控制可以按照先前建立的处理次序选择第一通道。
[0046]通道耦合到的输入端口确定由所述通道使用的输入开关块。举例来说,通道19 (显示为图7中的720A)通过最顶部输入端口进入多级切换块730并且因此在多级切换块730的输入级中使用4X4纵横开关730A。类似地,通道离开多级切换网络所经过的期望输出端口确定所述通道使用的输出开关块。举例来说,图7的多级切换网络730的最底部输出端口是通道19 740A的期望输出端口。因此,通道19在多级切换网络730的输出级中使用4X4纵横开关730B。
[0047]在步骤840期间,对准控制可以选择中间开关块,用于以从预定输入开关块到预定输出开关块的处理次序路由第一通道。在步骤845期间,对准控制可以检查该通道是否可经由选定块来路由。如果中间开关块不能从预定输入开关块到达或者如果中间开关块不能到达预定输出开关块,那么通道无法通过选定中间开关块来路由。考虑Clos网络的情境,其中每个中间开关块可以由每个输入开关块到达一次,并且每个中间开关块可以到达每个输出开关块一次。进一步考虑仅通道19仍然被路由并且输入开关块730A仅可到达中间开关块730C,而仅中间开关块730D可到达输出开关块730B。在此情境中,通道19无法通过中间开关块来路由。
[0048]响应于确定该通道不能通过选定开关块来路由,对准控制可以在步骤850期间改变处理次序。举例来说,对准控制可以将不能通过选定开关块来路由的通道放置在当前处理次序的顶部上。在改变通道处理次序之后,对准控制可以返回到步骤820。
[0049]在步骤850期间修改通道处理次序的图8的示例仅为说明性的。根据需要,对准控制可以按照不同方式重新布置多级切换网络(例如代替在步骤850期间改变通道处理次序并返回到步骤820)。举例来说,对准控制可以选择性地移除和重新路由输入与输出端口之间的先前建立的连接以实现以所述处理次序路由当前选择的通道。
[0050]响应于确定该通道可以通过选定开关块来路由,对准控制可以在步骤855期间检查所述处理次序中的剩余通道。如果所述处理次序中存在剩余通道,那么对准控制可以返回到步骤830以选择所述处理次序中的下一通道。如果处理次序中的所有通道都已被成功地从输入端口路由到期望的输出端口,那么对准控制已找到多级切换网络的配置。
[0051]在由图7的多级切换网络730处理之后,串行信道可以呈现期望的次序。字和通道对准电路740可以延迟如先前结合图3-6描述的信道中的每一个以辨识字边界并实现所有串行信道之间的对准。举例来说,字和通道对准可以具有每通道两个延迟块。第一延迟块可以将串行数据流延迟给定位数的倍数(例如以16位的群组),而第二块可以将串行数据流一次延迟一位。举例来说,在每个位分接的移位寄存器(分接头对多路复用器进行馈送)可以实施单一位延迟级。因此,单一位延迟级的大小可以随位数线性增加。相比之下,存储电路可以实施16位延迟级的先进先出(FIFO)块,其中读取指针确定16位延迟群组的数目。在此实施方案中,16位延迟块的大小独立于16位延迟群组的数目。
[0052]根据需要,字和通道对准电路740可以具有更多或更少的延迟级,并且更多或更少延迟级的选择可以取决于每个延迟级的实施方式以及电路面积的对应折衷。举例来说,字和通道对准电路740可以针对每个通道具有单一延迟块,或者针对每个通道具有两个以上延迟块。延迟块可以按照任何次序布置。举例来说,延迟块可以从最大数目延迟位到最小数目延迟位布置或从最小数目延迟位到最大数目延迟位布置或以任何其它任意次序布置。
[0053]对准控制760可以为每个通道中的每个延迟块确定相应延迟块需要将对应的串行数据流延迟多少。举例来说,具有16位延迟块和单一位延迟块的配置可以通过使用16位延迟块的一个16位群组和单一位延迟块的四个单一位延迟而将通道延迟20位。
[0054]在字和通道对准通道需要重新排序的情况下,对准控制可以对从当前通道位置到新通道位置的相应延迟块重新指派所确定的延迟。
[0055]在图7的示例中,通道重新排序730之后是字和通道对准740。根据需要,处理次序可以改变,并且字和通道对准740可以在通道重新排序730之前。
[0056]在字和通道对准740之后,串行信道可横越变速箱750 (例如五向16位/66位变速箱),其将串行数据转换为并行数据,并行数据从该处传递到其它电路以供进一步处理(例如传递到图2的处理和存储电路210),并且传递到对准俘获770。对准俘获770可以检查串行数据流以搜索对准标签和其它同步数据(例如成帧位)。对准俘获770还可以通过搜索不同串行数据流中的期望通道分配(例如通道标签)来监视通道的期望次序。对准俘获770可以将所提取的信息转发到对准控制760以调整对多级切换网络730和延迟块740的控制。
[0057]图9中示出对准俘获和控制电路900的实施例。如图所示,对准俘获和控制电路900可以包含数据通道接收器910、成帧错误检测电路920、标签识别加速器930、通道标签存储电路940以及调整电路950。对准俘获和控制电路900的一部分或全部可以由微控制器或微处理器实施。在此情境中,除了执行通道对准和通道排序以及在正常操作期间监视通道对准和通道排序以外,微控制器或微处理器还可以执行和控制其它任务。作为一个示例,微控制器或微处理器可以收集关于经由串行通信链路接收的数据的统计信息(例如针对特定电信运营商或用户发送的包的数目),并且产生相关报告(例如可靠性统计、使用情况、记账信息等)。
[0058]数据通道接收器910可以接收串行数据流(例如来自图7的五向16位/66位变速箱750)。成帧错误检测电路920可以搜索同步数据(例如成帧位),并且在检测到此同步数据后记录调整电路950为实现通道对准所需要延迟每个通道的位数。在识别每个通道的延迟之后,调整电路950可以基于每个通道需要延迟的所记录位数来配置字和通道对准电路(例如图7的字和通道对准电路740中的延迟块)。
[0059]对准俘获和控制电路900中的标签识别加速器930可以搜索串行数据流中的通道标签(即搜索指定每个给定通道的期望通道分配的所述给定通道内的信息)。通道标签存储电路940可以存储所识别的通道标签以供调整电路950进一步处理。
[0060]对准俘获和控制电路900可以一次处理串行数据流的一部分。举例来说,对准俘获和控制电路900可以迭代进行并且识别同步数据,记录延迟的位数,并且识别并存储每个迭代步骤期间四个串行数据流的通道标签。因此,需要五个迭代步骤来识别所有20个通道标签,并记录所有20个通道的延迟位数。在每次迭代中处理通道的子集可以简化对准俘获和控制电路900并且因此以实现通道对准和通道重新排序(其仅很少执行(例如当实际切换缆线时))所需的最小时间开销为代价导致较小电路面积。
[0061]在已将所有通道标签存储在通道标签存储电路940中之后,调整电路950可以配置通道重新排序电路(例如图7的多级切换网络730)以使得通道重新排序电路的输入端口和输出端口根据如通道标签表明的当前通道分配和期望通道分配耦合在一起。
[0062]图10是根据本发明的实施例用于使用对准电路(例如图7的电路)执行通道重新排序、字对准和通道对准的说明性步骤的流程图1000。
[0063]在步骤1005期间,对准电路可以在释放复位信号之后初始化字对准、通道歪斜和通道次序的状态。在步骤1010期间,对准电路可以通过识别串行数据流的每一个中的字边界而找到字对准。在步骤1020期间,对准电路可以检查位于串行数据流中的对准标签。基于检查的结果,对准电路可以在步骤1030期间将通道位置标签标识符保存在存储器中,并且在步骤1040期间识别个别通道延迟(例如通道之间的相对通道延迟)以调整通道与通道的歪斜。
[0064]如果任何通道具有尚未识别的标签或通道尚未全部对准(例如,解除歪斜),那么该过程可以在步骤1045处返回到步骤1020。否则,该过程可以移动到步骤1050以确定产生期望通道排序的切换网络设置。在步骤1060期间,对准电路可以根据切换网络设置值对通道重新排序。同时,对准电路可以从重新排序之前的位置向重新排序之后的位置重新指派先前识别的通道延迟和对应的通道。
[0065]在试图检查切换网络的完整配置以及通道歪斜时,对准电路可以在步骤1070期间俘获对准标签的完整集合并且在步骤1075期间检查是否所有通道均有序且解除歪斜。响应于确定并非所有通道均有序且解除歪斜,该过程可以返回到步骤1005以重新开始对准过程。对准电路可以在所有通道均有序且解除歪斜的情况下在步骤1080期间向接收器电路指示开始正常操作。
[0066]任选地,对准电路可以转变到监督模式,其中在装置的正常操作期间监视通道的对准。举例来说,对准电路可以在步骤1085期间再次检查是否所有通道均有序且解除歪斜。如果所有通道均有序且解除歪斜,那么对准电路可以返回到步骤1070以俘获对准标签的另一完整集合。响应于确定并非所有通道均有序且解除歪斜,对准电路可以返回到步骤1005以再次开始对准过程。
[0067]本文描述的方法和设备可以并入任何合适的电子装置或电子装置系统中。举例来说,所述方法和设备可以并入许多类型的装置例如微处理器或其它IC中。示范性IC包含可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)、现场可编程逻辑阵列(FPLA)、电可编程逻辑装置(EPLD)、电可擦除可编程逻辑装置(EEPLD)、逻辑单元阵列(LCA)、现场可编程门阵列(FPGA)、专用标准产品(ASSP)、专用集成电路(ASIC),仅举几例。
[0068]本文描述的集成电路可以是包含以下组件中的一个或更多个的数据处理系统的一部分:处理器、存储器、I/o电路和外围装置。集成电路可以在多种应用中使用,例如计算机联网、数据联网、仪表化、视频处理、数字信号处理,或需要使用高速串行接口电路的优点的任何其他合适的应用。
[0069]尽管以特定次序描述了方法操作,但应了解,可以在所描述操作之间执行其它操作,可以调整所描述操作以使其在稍许不同的时间发生,或者所描述操作可以分布在允许处理操作以与处理相关联的各种间隔发生的系统中(只要交叠操作的处理以期望方式执行即可)。
[0070]额外实施例1.一种用于操作串行接收器电路的方法,其包含:经由多个串行通道接收串行数据;通过控制所述串行通道的对准的对准电路识别所述串行通道的当前次序;以及通过所述对准电路基于所述当前次序配置多级切换网络以按照期望次序布置所述串行通道。
[0071]额外实施例2.如额外实施例1所述的方法,其进一步包含:通过所述对准电路识别为每个串行通道的所述串行数据中的字划定界限的成帧位。
[0072]额外实施例3.如额外实施例2所述的方法,其进一步包含:基于所述成帧位使每个串行通道的所述串行数据中的字对准。
[0073]额外实施例4.如额外实施例1所述的方法,其进一步包含:通过所述对准电路识别所述串行通道之间的相对延迟;以及使所述串行通道对准以减少所述相对延迟。
[0074]额外实施例5.如额外实施例4所述的方法,其中配置所述多级切换网络进一步包含:基于所述串行通道的布置将所述串行通道之间的所述相对延迟从所述当前次序切换到所述期望次序。
[0075]额外实施例6.如额外实施例4所述的方法,其进一步包含:监视所述串行通道的所述对准以检测所述串行通道之间的不对准。
[0076]额外实施例7.如额外实施例6所述的方法,其中识别所述串行通道之间的所述相对延迟包含:响应于检测到所述串行通道之间的所述不对准,识别所述串行通道之间的所述相对延迟。
[0077]额外实施例8.如额外实施例1所述的方法,其进一步包含:监视所述串行通道的次序;以及响应于检测到所述串行通道的所监视次序与所述期望次序的偏离,配置所述多级切换网络以基于所监视次序以所述期望次序重新布置所述串行通道。
[0078]额外实施例9.如额外实施例1所述的方法,其中识别所述多个串行通道的所述当前次序进一步包含:检查每个串行通道的所述串行数据中的通道位置标签标识符。
[0079]额外实施例10.如额外实施例9所述的方法,其中识别所述多个串行通道的所述当前次序进一步包含:将通道位置标签标识符保存到存储器。
[0080]额外实施例11.如额外实施例1所述的方法,其中所述多级切换网络包含第一、第二和第三切换级。
[0081]额外实施例12.如额外实施例11所述的方法,其中所述第一和第三切换级各自具有相同数目的交叉开关。
[0082]额外实施例13.—种用于配置多级切换网络的方法,所述多级切换网络具有输入端和输出端、包含耦合到所述输入端的输入开关块的输入级、包含耦合到所述输出端的输出开关块的输出级,以及耦合在所述输入级与输出级之间的至少一个中间级,其中每个中间级包含至少一个中间开关块,所述方法包含:通过耦合到所述多级切换网络的对应输入端的串行链路通道,接收串行数据流;检查每个串行数据流以识别所述多级切换网络的对应期望输出端;针对每个串行链路通道,基于所述多级切换网络的所述对应输入端选择输入开关块;针对每个串行链路通道,基于所述多级切换网络的所述对应期望输出端选择输出开关块;针对每个串行链路通道,选择将所选定的输入开关块耦合到所选定的输出开关块的中间开关块。
[0083]额外实施例14.如额外实施例13所述的方法,其中所述多级切换网络包含Clos网络。
[0084]额外实施例15.如额外实施例13所述的方法,其中选择中间开关块进一步包含:确定包含第一串行链路通道和后续串行链路通道的所述串行链路通道的处理次序;以及针对所述处理次序中的所述第一串行链路通道,选择将所选定的输入开关块耦合到所选定的输出开关块的中间开关块。
[0085]额外实施例16.如额外实施例15所述的方法,其进一步包含:确定所选定的中间开关块是否允许将所选定的输入开关块耦合到所选定的输出开关块。
[0086]额外实施例17.如额外实施例16所述的方法,其进一步包含:响应于确定所选定的中间开关块允许将所选定的输入开关块耦合到所选定的输出开关块,将所选定的中间开关块记录为将所选定的输入开关块耦合到所选定的输出开关块;以及针对所述处理次序中的后续串行链路通道,选择将所选定的输入开关块耦合到所选定的输出开关块的中间开关块。
[0087]额外实施例18.如额外实施例17所述的方法,其进一步包含:响应于确定所选定的中间开关块不允许将所选定的输入开关块耦合到所选定的输出开关块,将所述处理次序重新排序;复位所记录的中间开关块;以及针对所改变的处理次序中的所述第一串行链路通道,选择将所选定的输入开关块耦合到所选定的输出开关块的中间开关块。
[0088]额外实施例19.一种用于使经由串行链路通道接收的串行数据对准的对准电路,所述对准电路包含:多级开关网络,其耦合到所述串行链路通道并从所述串行链路通道接收所述串行数据且基于期望的串行链路通道次序对所述串行链路通道重新排序;延迟电路,其耦合到所述多级开关网络并从所述多级开关网络接收所重新排序的串行数据且延迟所重新排序的串行链路通道的选定通道上的所述串行数据;以及控制电路,其监视经过所述多级开关网络和所述延迟电路的所述串行数据,其中所述控制电路基于所监视的串行数据控制所述多级开关网络和所述延迟电路。
[0089]额外实施例20.如额外实施例19所述的对准电路,其中所述多级开关网络包含Clos网络。
[0090]额外实施例21.如额外实施例19所述的对准电路,其进一步包含:字对准检测电路,其耦合到所述多级开关网络并从所述多级网络接收所述串行数据且识别所述串行数据中的字边界。
[0091]额外实施例22.如额外实施例19所述的对准电路,其中所述控制电路进一步包含:加速器电路,其接收所述串行数据并检查所接收的串行数据以识别对准标签;以及存储电路,其耦合到所述加速器电路并从所述加速器电路接收所识别的对准标签且存储所接收的对准标签以供所述控制电路进一步处理。
[0092]额外实施例23.如额外实施例22所述的对准电路,其中所述加速器电路在第一时间检查所述串行链路通道的第一子集并在第二时间检查所述串行链路通道的不同的第二子集。
[0093]额外实施例24.—种用于使经由串行链路通道接收的串行数据对准的对准电路,所述对准电路包含:延迟电路,其耦合到所述串行链路通道并从所述串行链路通道接收所述串行数据且延迟所述串行链路通道的选定通道上的所述串行数据;以及多级开关网络,其耦合到所述延迟电路并从所述延迟电路接收所述串行数据且对所述串行链路通道重新排序;以及控制电路,其监视经过所述延迟电路和所述多级开关网络的所述串行数据,其中所述控制电路基于所监视的串行数据控制所述延迟电路和所述多级开关网络。
[0094]额外实施例25.如额外实施例24所述的对准电路,其中所述多级开关网络包含Clos网络。
[0095]额外实施例26.如额外实施例24所述的对准电路,其进一步包含:字对准检测电路,其耦合到所述延迟电路并从所述延迟电路接收所述串行数据且识别所述串行数据中的字边界。
[0096]额外实施例27.如额外实施例24所述的对准电路,其中所述控制电路进一步包含:加速器电路,其接收所述串行数据并检查所接收的串行数据以识别对准标签;以及存储电路,其耦合到所述加速器电路并从所述加速器电路接收所识别的对准标签且存储所接收的对准标签以供所述控制电路进一步处理。
[0097]额外实施例28.如额外实施例27所述的对准电路,其中所述加速器电路在第一时间检查所述串行链路通道的第一子集并在第二时间检查所述串行链路通道的不同的第二子集。
[0098]额外实施例29.—种用于操作串行接收器电路的方法,其包含:经由串行通道接收串行数据;通过控制所述串行通道的对准的对准电路识别每个串行通道的所述串行数据中的同步数据;通过所述对准电路基于所识别的同步数据识别所述串行通道之间的相对延迟;以及通过所述对准电路使所述串行通道对准以减少所述相对延迟。
[0099]额外实施例30.如额外实施例29所述的方法,其进一步包含:监视所述串行通道的对准以检测所述串行通道之间的不对准;以及响应于检测到所述串行通道之间的不对准,识别所述串行通道之间的所述相对延迟。
[0100]额外实施例31.如额外实施例29所述的方法,其进一步包含:通过所述对准电路识别所述串行通道的当前次序;以及通过所述对准电路基于所述当前次序配置多级切换网络以便按照期望次序布置所述串行通道。
[0101]额外实施例32.如额外实施例31所述的方法,其中配置所述多级切换网络进一步包含:基于所述串行通道的所述布置将所述串行通道之间的所述相对延迟从所述当前次序切换到所述期望次序。
[0102]以上内容仅说明本发明的原理,且所属领域的技术人员可在不脱离本发明的范围和精神的情况下做出各种修改。
【权利要求】
1.一种用于操作串行接收器电路的方法,其包括: 经由多个串行通道接收串行数据; 通过控制所述多个串行通道的对准的对准电路来识别所述串行通道的当前次序;以及通过所述对准电路基于所述当前次序来配置多级切换网络以按照期望次序布置所述串行通道。
2.根据权利要求1所述的方法,其进一步包括: 通过所述对准电路来识别为每个串行通道的所述串行数据中的字划定界限的成帧位。
3.根据权利要求2所述的方法,其进一步包括: 基于所述成帧位使每个串行通道的所述串行数据中的字对准。
4.根据权利要求1所述的方法,其进一步包括: 通过所述对准电路来识别所述串行通道之间的相对延迟;以及 使所述串行通道对准以减少所述相对延迟。
5.根据权利要求4所述的方法,其中配置所述多级切换网络进一步包括: 基于所述串行通道的布置将所述串行通道之间的所述相对延迟从所述当前次序切换到所述期望次序。
6.根据权利要求4所述的方法,其进一步包括: 监视所述串行通道的对准以检测所述串行通道之间的不对准,其中识别所述串行通道之间的所述相对延迟包括: 响应于检测到所述串行通道之间的不对准,识别所述串行通道之间的所述相对延迟。
7.根据权利要求1所述的方法,其进一步包括: 监视所述串行通道的次序;以及 响应于检测到所述串行通道的所监视次序与所述期望次序的偏离,配置所述多级切换网络以便基于所监视次序以所述期望次序重新布置所述串行通道。
8.根据权利要求1所述的方法,其中识别所述多个串行通道的所述当前次序进一步包括: 检查每个串行通道的所述串行数据中的通道位置标签标识符。
9.根据权利要求8所述的方法,其中识别所述多个串行通道的所述当前次序进一步包括: 将通道位置标签标识符保存到存储器。
10.根据权利要求1所述的方法,其中所述多级切换网络包含第一切换级、第二切换级和第三切换级,每个切换级具有相同数目的交叉开关。
11.一种用于配置多级切换网络的方法,所述多级切换网络具有输入端和输出端、包含耦合到所述输入端的输入开关块的输入级、包含耦合到所述输出端的输出开关块的输出级以及耦合在所述输入级与所述输出级之间的至少一个中间级,其中每个中间级包含至少一个中间开关块,所述方法包括: 通过耦合到所述多级切换网络的对应输入端的多个串行链路通道来接收多个串行数据流; 检查每个串行数据流以识别所述多级切换网络的对应期望输出; 针对每个串行链路通道,基于所述多级切换网络的所述对应输入端选择输入开关块;针对每个串行链路通道,基于所述多级切换网络的所述对应期望输出端选择输出开关块; 针对每个串行链路通道,选择将所选定的输入开关块耦合到所选定的输出开关块的中间开关块。
12.根据权利要求11所述的方法,其中所述多级切换网络包括Clos网络。
13.根据权利要求11所述的方法,其中选择中间开关块进一步包括: 确定包含第一串行链路通道和后续串行链路通道的所述串行链路通道的处理次序;以及 针对处于所述处理次序的所述第一串行链路通道,选择将所选定的输入开关块耦合到所选定的输出开关块的中间开关块。
14.根据权利要求13所述的方法,其进一步包括: 确定所选定的中间开关块是否允许将所选定的输入开关块耦合到所选定的输出开关块。
15.根据权利要求14所述的方法,其进一步包括: 响应于确定所选定的中间开关块允许将所选定的输入开关块耦合到所选定的输出开关块,将所选定的中间开关块记录为将所选定的输入开关块耦合到所选定的输出开关块;以及 针对处于所述处理次序的后续串行链路通道,选择将所选定的输入开关块耦合到所选定的输出开关块的中间开关块。
16.根据权利要求15所述的方法,其进一步包括: 响应于确定所选定的中间开关块不允许将所选定的输入开关块耦合到所选定的输出开关块,将所述处理次序重新排序; 复位所记录的中间开关块;以及 针对处于所改变的处理次序的所述第一串行链路通道,选择将所选定的输入开关块耦合到所选定的输出开关块的中间开关块。
17.一种用于使经由多个串行链路通道接收的串行数据对准的对准电路,其包括: 多级开关网络,其耦合到所述串行链路通道并从所述串行链路通道接收所述串行数据且基于期望串行链路通道次序对所述串行链路通道重新排序; 延迟电路,其耦合到所述多级开关网络并从所述多级开关网络接收所重新排序的串行数据且延迟所重新排序的串行链路通道中的选定通道上的所述串行数据;以及 控制电路,其监视穿过所述多级开关网络和所述延迟电路的所述串行数据,其中所述控制电路基于所监视的串行数据控制所述多级开关网络和所述延迟电路。
18.根据权利要求17所述的对准电路,其中所述多级开关网络包括Clos网络。
19.根据权利要求17所述的对准电路,其进一步包括: 字对准检测电路,其耦合到所述多级开关网络并从所述多级网络接收所述串行数据且识别所述串行数据中的字边界。
20.根据权利要求17所述的对准电路,其中所述控制电路进一步包括: 加速器电路,其接收所述串行数据并检查所接收的串行数据以识别对准标签,其中所述加速器电路在第一时间检查所述串行链路通道的第一子集并在第二时间检查所述串行链路通道的不同的第二子集;以及 存储电路,其耦合到所述加速器电路并从所述加速器电路接收所识别的对准标签且存储所接收的对准标签以供所述控制电路进一步处理。
【文档编号】G06F13/38GK104252434SQ201410302564
【公开日】2014年12月31日 申请日期:2014年6月27日 优先权日:2013年6月28日
【发明者】G·W·巴克勒尔 申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1