Serdes接收器过采样速率的制作方法

文档序号:9925388阅读:1152来源:国知局
Serdes接收器过采样速率的制作方法
【技术领域】
[0001 ]以下描述涉及集成电路器件(“1C”)。更具体的,以下描述涉及用于IC的串行一解串器(“SERDES”)的过采样速率。
【背景技术】
[0002]存在着一些应用,在这些应用中串行一解串器接收器被锁定到基准模式(reference mode)来处理过采样的数据。然而,随着对线路速率和过采样速率要求的提高,以这种较高速率来过采样数据的成本和复杂度也随之增加。这意味着,为提高过采样线路速率,电路资源和/或复杂度方面的成本大幅增加。因此,提高过采样线路速率、而不显著增加额外的资源和/或使用复杂电路,是所希望的并且有用的。

【发明内容】

[0003]—种设备大体涉及串行一解串器。在该设备中,第一串行一解串器具有第一数据路径和数据眼路径。该第一数据路径耦接到第一串行一解串器的第一数据输出接口。第二串行一解串器具有第二数据路径。该第二数据路径耦接到第二串行一解串器的第二数据输出接口。第一串行一解串器的数据眼路径耦接到第二串行一解串器的第二数据路径。
[0004]—种方法大体涉及串行一解串器。第一串行信息被第一串行一解串器以线路速率接收。在该第一串行一解串器的第一数据路径和数据眼路径的每一个上对第一串行信息进行过采样,以分别提供第一并行信息和第二并行信息。第一数据路径耦接到第一串行一解串器的第一数据输出接口。经由第一数据输出接口输出第一并行信息。将第二并行信息由第一串行一解串器的数据眼路径提供至第二串行一解串器的第二数据路径。第二数据路径耦接至第二串行一解串器的第二数据输出接口。经由第二数据输出接口输出第二并行信息。
【附图说明】
[0005]附图示出了示例性的设备和/或方法。然而,附图不应当用于限制权利要求的范围,而仅用于解释和理解。
[0006]图1是示出一个示例性的列式现场可编程逻辑门阵列(“FPGA”)架构的简要框图;
[0007]图2是示出一个示例性串行一解串器(“SERDES”)系统的框图;
[0008]图3是示出一个示例性偏移校正器(deskewer)的框图;
[0009]图4是示出示例性信号的信号图;
[0010]图5是示出一个示例性的过采样过程的流程图。
【具体实施方式】
[0011]以下描述中,列举了多个具体细节,从而提供对具体实施例的详尽描述。然而本领域技术人员应当理解,可以在没有以下给定的所有具体细节的情况下实施一个或多个其他实施例和/或实施例的变化例。在一些情形下,未详细描述众所周知的特征,以免影响对文本实施例的描述。为了便于说明,在不同图示中使用相同的编号来指代相同的项;然而,这些项在替代实施例中可能不同。
[0012]在描述被示意性地表示在若干附图中的实施例之前,先进行大体介绍以加深理解。
[0013]串行一解串器(“SERDES”)用于通信,例如用于高速串行链路。用于提供SERDES的收发器可以具有数据眼(data eye)路径。在加利福尼亚圣何塞的Xilinx,Inc.( “Xilinx” )于2012年11月30号发表的白皮书(WP428,版本1.0)中,Harry Fu和Romi Mayder所著的“用于低成本、高容量FPGA收发器的基于IBIS—AMI模拟的串行链路信号完整性分析和片上眼扫描,,(“Serial Link Signal Integrity Analysis with IBIS-AMI Simulat1n and On-Chip Eye Scan for Low-Cost,High-Volum FPGA Transceivers”)一文中可以找到这种数据眼路径的描述。此外,可以使用由FPGA的可编程资源构成的微处理器进行的眼扫描,例如Xilinx在2012年 10月18号发表的Xilinx Applicat1n Note(XAPP743版本I.0)中,MikeJenkins和David Hahashin所著的“利用MicroBlaze处理器MCS的眼扫描”(“Eye Scan withMicroBlaze Processor MCS”)一文中所描述的。与这样一个收发器一起构成的SERDES的这样的数据眼或眼扫描路径没有延用到FPGA可编程构造中,FPGA可编程构造有时被称为FPGA可编程资源或者FPGA逻辑。
[0014]然而,如下文更具体描述的,通过将一个收发器的数据眼路径,或者更具体地说是其中的一个接收器部分,耦接至另一个收发器的另一个接收器部分的输出路径,一个SERDES的这种数据眼路径可以经由另一个SERDES的接口而有效耦接到这种FPGA构造。这可以被用于增加有效过采样速率,其使用一个实际时钟频率来进行过采样,该过采样仅为有效过采样速率的分数(fract1n)。
[0015]基于以上大体的认识,以下总体地描述用于SERDES系统的各种配置。
[0016]由于一个或多个上述实施例在本文中的描述使用了一个具体类型的1C,因此以下提供了该IC的详细描述。然而应当理解,其他类型的IC也可以从本文描述的一个或多个技术中获益。
[0017]可编程逻辑器件(“PLD”)是一种常见的集成电路,其可编程以用于执行指定的逻辑功能。一种PLD,现场可编程逻辑门阵列(“FPGA”),通常包含可编程单元块(tile)阵列。这些可编程单元块可包含例如输入/输出模块(“Ι0Β”)、可配置逻辑模块(“CLB”)、专用随机存取存储器模块(“BRAM”)、乘法器、数字信号处理模块(“DSP”)、处理器、时钟管理器、延迟锁定环(“DLL”)等等。本文中使用的“包含”和“包括”是指包括但不限于。
[0018]每个可编程单元块通常既包含可编程互连也包含可编程逻辑。可编程互连通常包含许多个不同长度的互连线,其通过可编程互连点(“PIP”)相互连接。可编程逻辑使用可编程元件来实现用户设计的逻辑,可编程元件可包含例如函数发生器、寄存器、算术逻辑等。
[0019]通常通过将配置数据流加载到内部配置存储器单元中来编程可编程互连件及可编程逻辑,所述内部配置存储器单元界定如何配置可编程元件。可从存储器(例如从外部PR0M)读取配置数据,或者通过外部器件将配置数据写入FPGA中。于是,各个存储器单元的总和状态决定FPGA的功能。
[0020]另一种类型的PLD是复杂可编程逻辑器件,或CPLDXPLD包含两个或两个以上“功能块”,其通过互连开关矩阵连接在一起并连接到输入/输出(“I/O”)资源。CPLD的每一功能块包含类似于可编程逻辑阵列(“PLA”)及可编程阵列逻辑(“PAL”)器件中使用的两级与/或(AND/OR)结构。在CPLD中,通常将配置数据片上地(on-chip)存储在非易失性存储器中。在一些CPLD中,配置数据被片上地存储在非易失性存储器中,然后其被作为初始配置(编程)序列的一部分下载到易失性存储器。
[0021 ]对于所有这些可编程逻辑器件(“PLD”),通过出于该目的而被提供给器件的多位数据比特来控制该器件的功能。可将这些数据比特存储于易失性存储器(例如,静态存储器单元,如在FPGA及一些CPLD)中、非易失性存储器(例如,快闪存储器,如在一些CPLD中)中,或者任何其它类型的存储器单元中。
[0022]通过应用处理层,例如金属层,来编程其它PLD,该处理层以可编程的方式使器件上的多个元件互连。这些PLD被称为掩模可编程器件。还可用其它方式来实现PLD,例如使用熔丝或反熔丝技术。术语“PLD”及“可编程逻辑器件”包含但不限于这些示范性器件,也涵盖仅部分可编程的器件。例如,一种类型的PLD包含硬编码(hard-coded)晶体管逻辑与可编程开关结构的组合,该可编程开关结构以可编程的方式使硬编码晶体管逻辑互连。
[0023]如以上指出的,高级FPGA可以包含成阵列的若干不同类型的可编程逻辑模块。例如,图1示出的FPGA架构100包含多个不同的可编程单元块,这些不同的可编程单元块包括千兆位收发器(“MGT” ) 101、可配置逻辑模块(“CLB” ) 102、随机存取存储器模块(“BRAM” )103、输入/输出模块(“Ι0Β”)104、配置及时钟逻辑(“CONFIG/CLOCK”)105、数字信号处理模块(“DSP”)106、专用输入/输出模块(“1/0”)107(例如,配置端口及时钟端口),以及其它可编程逻辑108,例如数字时钟管理器、模/数转换器、系统监视逻辑等。一些FPGA还包含专用处理器模块彳卞肋^丨^)。
[0024]在一些FPGA中,每个可编程单元块包含可编程互连元件(“INT”)111,其具有连向及来自每个邻近单元块中的对应互连元件的标准化连接。因此,这些可编程互连元件共同实现所示出的FPGA的可编程互连结构。可编程互连元件111还包含连向及来自同一单元块内的可编程逻辑元件的连接,如图1上部所包含的示例所示。
[0025]例如,CLB 102可包含可配置逻辑元件(“CLE”)112,其中CLE 112和可编程互连元件(“INT”)111可被编程以实现用户逻辑。除了一个或一个以上可编程互连元件之外,BRAM103还可包含BRAM逻辑元件(“BRL”)113。通常,一个单元块中包含的互连元件的数量取决于单元块的高度。在图示的实施例中,BRAM单元块的高度与五个CLB的高度相同,但也可使用其它数目(例如四个)。除了适当数量的可编程互连元件之外,DSP单元块106还可包含DSP逻辑元件(“DSPL”)114。除了包含一个可编程互连元件111外,1B 104还可包含例如两个输入/输出逻辑元件(“10L”)115。本领域技术人员将容易了解,连接到例如1/0逻辑元件115的实际1/0垫通常并不局限于输入/输出逻辑元件115的区域。
[0026]在图示实施例中,邻近裸片的水平区域(示出于图1)用于配置、时钟和其他逻辑控制。延伸自该水平区域的多个纵列109或者一个纵列用于在整个FPGA宽度上分配时钟和配置信
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1