用于可编程逻辑器件中高速串行接口的与协议无关的自动速率协商的制作方法

文档序号:7513302阅读:180来源:国知局

专利名称::用于可编程逻辑器件中高速串行接口的与协议无关的自动速率协商的制作方法用于可编程逻辑器件中高速串行接口的与协议无关的自动速率协商
技术领域
0001本发明涉及具体在可编程逻辑器件(PLD)中的高速串行接口,其可以不同数据速率运行。技术背景0002对于PLD来说,包含高速串行接口以适应高速(即大于l千兆比特每秒)串行输入/输出(I/O)标准已经变得很普遍。许多这些标准可以不止一个时钟速率运行。而且,对于任何给定的时钟速率,该时钟速率可能等于数据速率(这被称为"全速率"运行,其中数据只在时钟信号的上跃变进行时控(clocked)),或时钟速率可能是数据速率的一半(这被称为"半速率"运行,其中数据在时钟信号的上跃变和下跃变被时控,使得该时钟速率是有效数据速率的一半)。但是,时钟和与时钟有关的信息都不与数据一起被发送是大多数(即使不是全部)高速串行数据协议的共同特征。相反,时钟必须从数据中恢复。0003为了这个目的,在高速串行数据中使用"时钟数据恢复"技术是大家所熟知的。此技术使用包括诸如锁相环或延迟锁相环的闭环反馈系统从串行数据中恢复时钟。0004在时钟已被恢复后,确定数据速率是必要的,例如,该数据速率可能等于时钟速率("半速率"模式)或是时钟速率的两倍("全速率"模式),但速率的其它组合是可能的。该确定常常由PLD中的逻辑完成,该逻辑不管在PLD的可编程逻辑中还是在接口电路中都针对具体的协议。例如,2006年7月19日提交的、共同待决的普通转让的美国专利申请号11/490,406介绍了一种自动速率协商机构,其对于一些速率变化取决于来自指示速率变化是必要的PLD逻辑的信号。这种系统需要逻辑(硬逻辑或用户可编程逻辑)器件中的规定,这可能依赖于使用的协议(例如,千兆以太网,串行ATA,1G、2G、4G、或8G光纤信道,串行RapidIO,PCI-Express或PCI-Express2.0,InfiniBand,SerialLite等),以辅助速率协商。0005能够在PLD收发器中提供独立于使用的协议且可独立于PLD其它电路(remainder)运行的速率协商将是令人期望的。
发明内容0006本发明利用PLD收发器中现有的时钟数据恢复(CDR)电路和多转换(transition-rich)的编码方案,诸如不论什么协议通常使用的8位/10位(8B/10B)编码方案来编码高速串行数据。0007本发明可能用来分辨全速率模式下数据信道的运行和半速率模式下的运行。这可以通过确定单位(single-bit)转换(即从"0"到"1"到"0"或从"1"到"0"到"1"的数据转换)的两次出现是否发生在预定时间间隔内来完成。该间隔优选被选择使得单位转换的两次出现意味着数据信道运行在全速率模式下。0008本发明可能与彼此互为倍数的其它成对速率一起被使用。这样,如果一个速率是另一个的n倍,则该系统将在链路训练序列内的预定间隔期间寻求n次转换。0009因此,根据本发明,提供了一种确定以时钟速率运行的可编程逻辑器件串行接口信道内的数据速率的方法。该方法包括监控信道是否出现单位转换;和在预定持续时间内检测到多个所述单位转换时,断定所述数据速率基本是所述时钟速率的倍数。0010本发明还提供了适合执行所述方法的串行接口和包含该串行接口的可编程逻辑器件。0011参看以下详细说明及后面的附图,本发明的上述和其它优点将是显而易见的,附图中相同的参考标记指代文中相同的部件,其中0012图1是包含本发明的收发器信道的优选实施例的结构方块图;0013图2是根据本发明的优选实施例的速率协商电路的结构方块图;0014图3是根据本发明的优选实施例的开关式(bang-bang)相位检测器的结构方块图;0015图4-8是图解说明根据本发明的优选实施例的速率判定逻辑的运行的时序图;及0016图9是根据本发明,使用可编程逻辑器件的说明性系统的简化方块图,该器件包括使用速率协商的收发器。具体实施方式0017如上所述,本发明优选用来通过确定该数据信道上单位转换(即从"0"到"1"到"0"或从"1"到"0"到"1"的数据转换)的两次出现是否发生在预定的时间间隔内,检测高速串行接口的数据信道是否在全速率模式或半速率模式下运行。该间隔优选被选成使得单位转换的两次出现意味着数据信道运行在全速率模式下。0018但是,为了确定在训练期间的预定间隔内不足两次出现意味着信道运行在半速率模式下,系统优选在半速率模式下开始。如果考虑到在全速率模式下开始和在半速率模式下开始的可能性,这一点是明确的。0019首先,如果系统在全速率模式下开始,则预定间隔内不足两次出现将是不确定的。它可以意味着信道在半速率模式下运行,且系统应当转换到半速率模式,但它还可意味着信道处在全速率模式下,然而被接收的特定数据碰巧缺少单位转换并且系统不应当转换到半速率模式。0020其次,如果系统在半速率模式下开始,而信道运行在全速率模式下,则最终在预定间隔内足够接近的一对单位转换将被检测,这意味着信道不可能在半速率模式下运行,并将致使系统转换到全速率模式。0021这样,在半速率模式下开始是优选的。0022尽管本发明的方法可与任何多转换编码方案一起使用,只要链路训练序列包括单位转换,但在优选实施例中本发明和8B/10B编码方案一起使用,在该编码方案中每八位数据和两个控制位被编码,且该方案具有多个单位转换是大家所熟知的。0023优选地,收发器的时钟数据恢复(CDR)电路内的开关式相位检测器(BBPD)与速率协商电路共享。该相位检测器被CDR电路用来适当地集中时钟-数据相位关系。这优选在速率协商电路内建立己知相位关系以确保有关数据速率是什么的适当逻辑判决。0024根据本发明,BBPD优选包括常规BBPD中不存在的附加特征,以发现并输出输入串行数据中的转换信息。下面更加详细地描述常规BBPD的修改的优选实施例。0025本发明将参照图l-8进行描述。0026图1是根据本发明包括速率协商电路20的收发器信道10的优选实施例的结构方块图。如图1所示,信道10优选包括含有BBPD12的CDR电路11,后面有速率协商电路20、串并转换器或串进并出(SIPO)模块13和并行时钟合成器14。0027串行数据在101接收且优选输入到CDR电路11和串并转换器13。以基本传统的方式利用BBPD12,CDR电路11恢复时钟110并将其连同优选信号111(如下面详细讨论的)一起传递给速率协商电路20以供速率协商电路20使用。速率协商电路20优选将恢复的时钟110传递给串并转换器13和并行时钟合成器14(它本质上是一个除m电路,其中m是每个字或字节的位/比特数目),二者优选将接收的串行数据101转换成并行数据130,且输出并行时钟131供信道10为其部件的PLD使用。根据本发明,速率协商电路20还优选确定信道10是否运行在全速率模式下或半速率模式下(或为特定实施例设计的任何速率组合,如上所述),输出速率判决信号201以供PLD逻辑使用。0028图2示出了速率协商电路20的优选实施例。BBPD12与图l所示的BBPD相同。尽管BBPD12通常被置于CDR电路11中或处在CDR电路11和速率协商电路20的外部,但出于方便考虑,在这里将其显示为速率协商电路20的部件。0029除BBPD12夕卜,速率协商电路20包括线速率时钟合成器21和速率判决逻辑22。恢复的时钟110被输入到BBPD12和线速率时钟合成器21。如下面更详细的讨论,BBPD12根据恢复的时钟IIO和数据101进行操作以提供信号111。如下所述,速率判决逻辑22用信号111来确定信道10是处于全速率模式还是半速率模式。速率判决逻辑22输出速率判决信号201供PLD逻辑使用(如上所述),还供线速率时钟合成器21用于输出线速率23,该线速率23是基于全速率/半速率判决从恢复的时钟合成的全速率或半速率时钟。合成的时钟将具有准确的数据-时钟相位关系以确保适当的定时余量。重新初始化的输入信号202被提供以允许用户或PLD逻辑复位速率判决逻辑22,以便如下所述重新开始速率判决过程。0030BBPD12的具体细节如图3所示。第一列触发器31由相位为0、90、180和270的四相时钟时控,以半数据速率运行。这些触发器31采样数据并产生输出DEVEN、DMQ、DODD和DMQB,其分别表示图4的时序图中的数据样本点A、ATB(A到B的转换)、B禾卩BTC(B至UC的转换)。产生输出D0、DM01和Dl(六个信号111中的三个)的触发器32由CLK90时控。这些触发器的目的是将A、ATB和B合成到一个时钟域。类似地,产生DIO、DM12禾nD2(六个信号111中的三个)的触发器33将B、BTC和C合成到CLK270时钟域。0031图4-8的时序解说明速率判决逻辑22的运行。0032速率判决逻辑22依赖于输入数据中单位转换的存在。在8B/10B编码的情况下,可能假设标准协议(例如,千兆以太网,串行ATA,1G、2G、4G、或8G光纤信道,串行RapidIO,PCI-Express或PCI-Express2.0,InfiniBand,SerialLite等)使用K28.58B/10B控制字符,其在链路初始化过程中包括单位转换。当不需要K28.5控制字符时,带有单位转换的控制字符或数据字符是需要的。十二个有效8B/10B控制字符中的九个包括这一转换。当缺少单位转换的控制字符中的三分之一被使用时,包括单位转换的数据字符可能被嵌入到训练序列中。0033图4示出了8个数据位A-H通过BBPD的传送。由于BBPD基于半速率结构,所以单位转换可能发生在两个位置之一即时钟的上升沿或时钟的下降沿。图5和6图解说明在只有一个单位转换发生的情况下BBPD的运行。图5图解说明当转换在偶数位下降的情形,而图6图解说明当转换在奇数位下降的情形。从图5和图6可以看出,如果数据在CLKO和CLK180的上升沿被采样,则两组寄存器DATAREG1和DATAREG2(包括DO、DMOl、Dl、DIO、DM12、D2)中的一组寄存器对于全速率模式下运行的单位转换将包括两次转换。在半速率模式下,在任一组寄存器中将进行至多只有一次转换。0034在图7和图8中,分别图解了说明偶数和奇数的情况。判决逻辑基于对出现在链路初始化期间数据寄存器(DATAREG)1或数据寄存器2中的两次转换的检测。只有信道运行在全速率模式下时,数据寄存器中的一个内出现两次转换才会发生。否则,如果在链路初始化过程中该条件不被满足,则可以断定信道运行在半速率模式下。0035如上所述,未检测到转换将是不确定的,因为它可能意味着信道运行在半速率模式下,或它也可能意味着信道运行在全速率模式下但没有单位转换发生。因此,系统优选开始于半速率模式,且当检测到一个寄存器组内的两次转换时转换成全速率模式,而不是开始于全速率模式且尝试使用未检测到两次转换来触发向半速率模式的转换。此外,通过确定重新初始化信号202,速率判决逻辑22可被复位至半速率模式以重新开始速率判决过程。这可以由用户手动完成,或更可能由PLD逻辑在检测到表明速率还未被适当检测的条件时完成,或倘若PLD逻辑已经重新启动需要速率判决过程以重新开始的一些其它过程时完成。速率判决逻辑22还可能根据接收信号的损失或由CDR电路11恢复的时钟的损失而复位。0036判决逻辑的逻辑真值表如下<table>tableseeoriginaldocumentpage11</column></row><table>其中X表示"不需要考虑"。该表意味着如果条件A或条件B得到确认即DO、Dl、D10禾QD2是0、1、1、0或1、0、0、1而不考虑DM01和DM12的状态,则可以确定信道运行在全速率模式下。如果任何其他条件得到确认,或更正准确地说,如果在初始化过程中条件A和条件B均未得到确认,则可以确定信道正运行在半速率模式下。0037尽管如上所述已经详细描述了本发明在数据速率可能等于时钟速率或为时钟速率两倍的情形,但本发明还可以用来确定在数据速率是其它整数倍时钟速率的情况下的数据速率。例如,要确定数据速率是否等于时钟速率的四倍,应当将在数据寄存器1或数据寄存器2跨越的持续时间内寻找四次单位转换。0038根据本发明的速率协商是基于与协议无关的编码方案的特性。此外,它消除了使用PLD的逻辑资源作出速率判决的必要。0039本发明还因为至少两个原因减少了速率收集时间。第一,该判决基于串行时钟而不是并行化的并行时钟,且本质上运行的速度可以和BBPD—样快。第二,CDR电路运行在全速率模式下而不考虑信道运行的速率模式,消除了再训练CDR电路的必要。这也允许CDR电路更有效地运行。大多数CDR电路被调谐以便与压控振荡器(VCO)和电荷泵(CP)—起高数据速率运行,这些VCO和CP被设计以最佳运行在更高数据速率。在较低数据速率时,这些VCO和CP不可能在其最佳区域内运行。但是,根据本发明,即使当信道运行在半速率模式下,CDR电路始终也运行在全速率模式下。这改善了信道的抖动性能。0040因此,可以看出已经提供了具有硬件速度协商模块的串行接口,该模块允许较快处理数据速率变化以响应误差信号。在每个信道基础上实现此特征使系统性能最优化,且使每个独立信道以其自身可靠性最高的数据速率运行。0041包含本发明的PLD90可能被用在多种电子器件中。一个可能的使用是在图9所示的数据处理系统900中。数据处理系统900可能包括一个或一个以上的以下组件处理器901;存储器902;输入/输出(I/O)电路903;和外围器件904。这些元件由系统总线905连接在一起,且组装在包含于终端用户系统907中的电路板906上。0042系统900可用在多种应用中,例如计算机网络、数据网络、仪表设备、图像处理、数字信号处理或期望使用可编程或可重编程逻辑的优点的任何其它应用中。PLD90可用于执行多种不同的逻辑功能。例如,PLD90可被配置为与处理器901合作的处理器或控制器。PLD90还可被用作对系统900中共享资源的访问进行仲裁的仲裁器。在另一示例中,PLD90可被配置为处理器901和系统900中其它元件之一之间的接口。应当注意,系统900只是示例性的,且本发明的真实范围和精神应当由所附权利要求指示。0043各种技术可用来实现如上所述且包含本发明的PLD90。0044应当理解以上只是本发明的原理的示例,本领域的技术人员可以进行各种更改,而不偏离本发明的范围和精神,且本发明只受所附权利要求的限制。权利要求1.一种用于确定以时钟速率运行的可编程逻辑器件串行接口信道中数据速率的方法,所述方法包括监控所述信道是否出现单位转换;和在预定持续时间内检测到复数数量的所述单位转换时,断定所述数据速率基本是所述时钟速率的倍数。2.根据权利要求1所述的方法,其进一步包括最初假设所述数据速率基本等于所述时钟速率;和没有检测到所述复数数量的所述单位转换时,断定所述最初假设正确。3.根据权利要求1所述的方法,其中所述倍数基本等于所述复数数4.根据权利要求3所述的方法,其中所述倍数和所述复数数量各自等于2。5.根据权利要求1所述的方法,其中所述预定持续时间等于预定数目的时钟周期。6.根据权利要求1所述的方法,其中所述检测基于相位转换。7.—种用于可编程逻辑器件的串行接口,所述串行接口具有以时钟速率运行的信道,且包括可操作在第一模式和第二模式下的接收器部分,在所述第一模式下数据以基本等于所述时钟速率的数据速率被接收,而在所述第二模式下数据以基本等于所述时钟速率整数倍的数据速率被接收;和速率协商电路,其基于预定持续时间内在接收数据中检测到的单位转换的数目确定所述接收器部分在所述第一模式和所述第二模式中的哪个模式下运行。8.根据权利要求7所述的串行接口,其进一步包括时钟数据恢复电路,其以所述时钟速率从所述接收数据中提取时钟;其中所述时钟数据恢复电路与所述速率协商电路合作以确定所述接收器部分在哪个所述模式下运行。9.根据权利要求8所述的串行接口,其中所述时钟数据恢复电路包括相位检测器;并且所述相位检测器检测所述单位转换。10.根据权利要求9所述的串行接口,其中所述相位检测器是开关式相位检测器。11.根据权利要求IO所述的串行接口,其中所述开关式相位检测器包括四个第一级寄存器,其每个分别由各自正交相位移的恢复时钟进行时控,所述四个第一级寄存器输出四个各自的第一级信号,该信号表示所述接收数据的延迟相位;和六个第二级寄存器,所述六个第二级寄存器包括由第二(90°)正交相位移的所述恢复时钟时控的第一组三个寄存器和由第四(270°)正交相位移的所述恢复时钟时控的第二组三个寄存器;所述第一组中的所述寄存器接收所述接收数据的所述延迟相位的第一、第二和第三相位;所述第二组中的所述寄存器接收所述接收数据的所述延迟相位的第三、第四和第一相位;及在两个连续时钟周期中的一个周期内,所述六个第二级寄存器的预定状态向所述速率协商电路表示所述接收器部分运行在所述第一和第二模式中的一个特定模式中。12.—种包括权利要求7所述的串行接口的可编程逻辑器件。13.—种数字处理系统,其包括处理电路;连接到所述处理电路的存储器;和如权利要求12所述的可编程逻辑器件,其被连接到所述处理电路和所述存储器。14.一种印刷电路板,在其上安装如权利要求12所述的可编程逻辑器件。15.根据权利要求14定义的所述印刷电路板,其进一步包括被安装在所述印刷电路板上且被连接到所述可编程逻辑器件的存储器电路。16.根据权利要求15定义的所述印刷电路板,其进一步包括处理电路,其被安装在印刷电路板上且被连接到所述存储器电路。17.—种用于可编程逻辑器件的专用收发器中的自动速率协商引擎,所述收发器在8B/10B编码方案下运行且包括时钟数据恢复电路,所述时钟数据恢复电路包括相位检测器,所述自动速率协商引擎包括所述相位检测器,所述相位检测器接收输入数据和由所述时钟数据恢复电路恢复的时钟;速率判决逻辑,其从所述相位检测器接收表示所述输入数据中的转换的信号,所述速率判决逻辑从表示转换的所述信号中确定所述收发器的数据速率并且输出判决信号;和线速率时钟合成器,其接收所恢复的时钟和所述判决信号并且由此综合所述收发器的线速率。18.根据权利要求17所述的自动速率协商引擎,其中所述相位检测器是开关式相位检测器。19.根据权利要求17所述的自动速率协商引擎,其中所述输入数据在特定协议下被接收;且所述自动速率协商引擎基于所述转换运行而不考虑所述协议。全文摘要可编程逻辑器件中用于高速串行接口的自动速率协商逻辑确定单位转换(即从“0”到“1”到“0”或从“1”到“0”到“1”的数据转换)的多次出现是否发生在高速串行接口的数据信道上的预定时间间隔内。所述间隔优选被选成使得单位转换的多次出现意味着所述数据信道运行在全速率模式下。所述速率协商逻辑可能与接口中的时钟数据恢复电路共享相位检测器。所述相位检测器可能是具体适于检测单位转换的开关式相位检测器。文档编号H03K19/173GK101267204SQ200810085449公开日2008年9月17日申请日期2008年3月17日优先权日2007年3月16日发明者A·尚,S·舒马拉耶夫,W·翁申请人:阿尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1