测量接收器电路的运行时间期间的比特误差率的制作方法

文档序号:11162018阅读:475来源:国知局
测量接收器电路的运行时间期间的比特误差率的制造方法与工艺

实施例涉及电路中的比特误差率测量。



背景技术:

随着计算设备中的数据速率增长以及功率预算降低,各种设计目标是对立的。例如,在高速互连(用于传送一个或多个系统中的集成电路和其它组件内的数据、以及传送去往和来自一个或多个系统中的集成电路和其它组件的数据)的设计和实现中,电压和时序眼图裕度变得更紧。因此,产生的互连是更敏感的,并且可能由于制造过程中的变化或操作条件(温度梯度、电磁噪声、老化等)中的变化而遭受数据损坏。

针对该原因,在设计、开发以及测试期间执行比特误差率(BER)测量,以确保互连是完全可操作的并且最终调谐发送器/接收器设置,以便保证良好的误差性能。然而,在线BER测量(在产品的正常操作期间)通常在目前是不可用的(尤其是在高速互连中),这是由于这类在线技术要求高功率消耗、计算复杂度、或发送器和接收器之间的回送路径,所有这些都妨碍互连的有效操作。

附图说明

图1是针对包括多核处理器的计算系统的框图的实施例。

图2是由将一组组件互连的点到点链路组成的结构的实施例。

图3是分层协议栈的实施例。

图4是PCIe事务描述符的实施例。

图5是PCIe串行点到点结构的实施例。

图6是根据实施例的SoC设计的框图。

图7A是根据本发明的实施例的概率密度函数的图解说明。

图7B是根据本发明的实施例的BER估计器电路的一部分的框图。

图8A是根据本发明的实施例的接收器的一部分的框图。

图8B是根据本发明的另一实施例的接收器的一部分的框图。

图9是根据实施例的BER估计器控制器的框图。

图10是根据本发明的实施例的方法的流程图。

图11是根据另一实施例的BER估计电路的一部分的框图。

图12是根据本发明的实施例的高速接口电路的框图。

具体实施方式

在以下的描述中,提出了许多具体细节,例如处理器和系统配置的具体类型、具体硬件结构、具体架构和微架构细节、具体注册器配置、具体指令类型、具体系统组件、具体测量/高度、具体处理器流水线阶段和操作等的示例,以便提供对本发明的透彻理解。然而,对本领域技术人员将显而易见的是,不需要采用这些具体细节来实现本发明。在其它实例中,为了避免不必要地模糊本发明,未详细描述熟知的组件或方法,例如具体和替代处理器架构、针对所描述的算法的具体逻辑电路/代码、具体固件代码、具体互连操作、具体逻辑配置、具体制造技术和材料、具体编译器实现方式、用代码对算法的具体表达、具体断电和门控技术/逻辑以及计算机系统的其它具体操作细节。

尽管可以参照特定集成电路中(例如,计算平台或微处理器中)的能量节约和能量效率来描述以下实施例,但是其它实施例可适用于其它类型的集成电路和逻辑设备。本文所述的实施例的类似技术和教导可以被应用到其它类型的电路或半导体设备,这些电路或半导体设备还可以受益于更好的能量效率和能量节约。例如,所公开的实施例不限于台式计算机系统或UltrabooksIM(超级本TM)。并且所公开的实施例还可以用于其它设备中,例如手持设备、平板电脑、其它薄笔记本电脑、片上系统(SOC)设备、以及嵌入式应用。手持设备的一些示例包括蜂窝电话、互联网协议设备、数字相机、个人数字助理(PDA)、以及手持PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、片上系统、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机、或任意其它可以执行下面所教导的功能和操作的系统。此外,本文所述的装置、方法和系统不限于物理计算设备,而是还可以涉及针对能量节约和效率的软件优化。如在下面的描述中将变得很显而易见的,本文所描述的方法、装置和系统的实施例(不论参照硬件、固件、软件,还是参照其组合)对于与性能考虑平衡的‘绿色技术’未来是至关重要的。

随着计算系统在发展,其中的组件正变得越来越复杂。因此,用于在组件之间耦合和通信的互连架构的复杂度也在增大,以确保满足针对优化组件操作的带宽要求。此外,不同的细分市场需要互连架构的不同方面以适应市场的需求。例如,服务器要求较高的性能,而移动生态系统有时能够为了节省功率而牺牲总体性能。然而,提供具有最大功率节省的最高可能性能是大多数结构的单一目标。在下面,讨论了若干互连,这些互连将潜在受益于本文所描述的发明的各方面。

参照图1,描绘了针对包括多核处理器的计算系统的框图的实施例。处理器100包括任意处理器或处理设备,例如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、片上系统(SOC)、或用于执行代码的其它设备。在一个实施例中,处理器包括至少两个核-核101和102,这些核可以包括不对称核或对称核(所示出的实施例)。然而,处理器100可以包括任意数目的处理元件,这些处理元件可以是对称的或不对称的。

在一个实施例中,处理元件指代支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、处理单元、上下文、上下文单元、逻辑处理器、硬件线程、核、和/或任意其它能够拥有处理器的状态(例如,执行状态或架构状态)的元件。换言之,在一个实施例中,处理元件指代任意能够与代码(例如,软件线程、操作系统、应用或其它代码)独立相关联的硬件。物理处理器(或处理器插座)通常指代集成电路,集成电路通常包括任意数目的其它处理元件,例如核或硬件线程。

核通常指代位于能够维护独立架构状态的集成电路上的逻辑,其中每个独立维护的架构状态与至少一些专用执行资源相关联。与核相比,硬件线程通常指代位于能够维护独立架构状态的集成电路上的任意逻辑,其中,独立维护的架构状态共享对执行资源的访问。可以看出,当某些资源被共享而其它资源专用于架构状态时,术语硬件线程和核之间的界线重叠。然而通常,核和硬件线程被操作系统视为单独的逻辑处理器,其中操作系统能够单独地调度每个逻辑处理器上的操作。

如图1中所示的物理处理器100包括两个核-核101和102。在此,核101和102被视为对称核,即具有相同配置、功能单元和/或逻辑的核。在另一实施例中,核101包括无序处理器核,而核102包括有序处理器核。然而,可以从任意类型的核(例如,本地核、软件管理核、适用于执行本地指令集架构(ISA)的核、适用于执行转换指令集架构(ISA)的核、协同设计的核、或其它已知的核)中分别选择核101和102。在异构核环境(即,不对称核)中,可以利用某些形式的转换(例如,二进制转换)来调度或执行一个核或两个核上的代码。尚待进一步讨论的,下面会进一步详细描述核101中所示的功能单元,核102中的单元在所描绘的实施例中以类似的方式进行操作。

如所描绘的,核101包括两个硬件线程101a和101b,这些硬件线程还可以被称为硬件线程槽101a和101b。因此,在一个实施例中,软件实体(例如操作系统)潜在地将处理器100视为四个独立的处理器,即能够同时执行四个软件线程的四个逻辑处理器或处理元件。如上面所暗示的,第一线程与架构状态寄存器101a相关联,第二线程与架构状态寄存器101b相关联,第三线程可以与架构状态寄存器102a相关联,并且第四线程可以与架构状态寄存器102b相关联。在此,每个架构状态寄存器(101a、101b、102a和102b)可以被称为如上所述的处理元件、线程槽、或线程单元。如所示出的,架构状态寄存器101a被复制在架构状态寄存器101b中,因此单独的架构状态/上下文能够被存储用于逻辑处理器101a和逻辑处理器101b。在核101中,还可以复制其它更小的资源(例如,分配器和重命名器块130中的指令指针和重命名逻辑)用于线程101a和101b。可以通过划分来共享某些资源,例如重排序/引退单元135中的重排序缓冲器、ILTB 120、加载/存储缓存器、以及队列。可以潜在完全共享其它资源,例如通用内部寄存器、(一个或多个)页表基寄存器、低级数据缓存和数据TLB 115、(一个或多个)执行单元140、以及无序单元135的各部分。

处理器100通常包括其它资源,这些资源可以完全被共享、通过划分被共享、或由处理元件专用/专用于处理元件。在图1中,示出了具有说明性处理器逻辑单元/资源的纯示例性处理器的实施例。注意,处理器可以包括或省略这些功能单元中的任意功能单元、以及包括未描绘的任意其它已知的功能单元、逻辑或固件。如所示出的,核101包括简化的代表性无序(OOO)处理器核。但是可以在不同的实施例中利用有序处理器。OOO核包括分支目标缓冲器120和指令转换缓冲器(I-TLB)120,其中,分支目标缓冲器120用于预测要被执行/采取的分支,指令转换缓冲器(I-TLB)120用于存储指令的地址转换条目。

核101还包括与提取单元120耦合的解码模块125,用于解码所提取的元素。在一个实施例中,提取逻辑包括分别与线程槽101a、101b相关联的单独的定序器。通常核101与第一ISA相关联,第一ISA定义/指定处理器100上可执行的指令。通常机器代码指令(是第一ISA的一部分)包括指令的一部分(称为操作码),该部分指令参照/指定要被执行的指令或操作。解码逻辑125包括执行下述操作的电路:从其操作码中识别这些指令,并且在流水线中传递经解码的指令,用于进行由第一ISA所定义的处理。例如,如下面更详细讨论的,在一个实施例中,解码器125包括被设计为或适用于识别具体指令(例如,事务指令)的逻辑。作为解码器125识别的结果,架构或核101采取具体的预定义动作来执行与适当的指令相关联的任务。重要的是要注意,本文所述的任意任务、块、操作和方法可以响应于单个或多个指令来被执行;这些指令中的一些指令可以是新指令或旧指令。注意,在一个实施例中,解码器126识别同一ISA(或其子集)。替代地,在异构核环境中,解码器126识别第二ISA(第一ISA的子集或不同的ISA)。

在一个示例中,分配器和重命名器块130包括用于预留资源的分配器,资源例如为用于存储指令处理结果的寄存器文件。然而,线程101a和101b潜在地能够无序执行,其中,分配器和重命名器块130还预留其它资源,例如用于追踪指令结果的重排序缓冲器。单元130还可以包括寄存器重命名器,用于将程序/指令参考寄存器重命名到处理器100内部的其它寄存器。重排序/引退单元135包括支持无序执行以及之后对无序执行指令的有序引退的组件,例如上面提到的重排序缓冲器、加载缓冲器、以及存储缓冲器。

在一个实施例中,调度器和(一个或多个)执行单元块140包括用于调度执行单元上的指令/操作的调度器单元。例如,浮点指令在具有可用浮点执行单元的执行单元的端口上被调度。还包括与执行单元相关联的寄存器文件,以存储信息指令处理结果。示例性执行单元包括浮点执行单元、整数执行单元、跳转执行单元、加载执行单元、存储执行单元、以及其它已知的执行单元。

较低级数据缓存和数据转换缓冲器(D-TLB)150被耦合到(一个或多个)执行单元140。数据缓存将存储最近使用/操作的元素,例如潜在以存储器一致状态保存的数据操作数。D-TLB将存储最近的虚拟/线性物理地址转换。作为具体的示例,处理器可以包括页表结构,用于将物理存储器分为多个虚拟页。

在此,核101和102共享对更高级或更远(further-out)的缓存(例如,与片上接口110相关联的第二级缓存)的访问。注意,更高级或更远指缓存级别增大或进一步远离(一个或多个)执行单元。在一个实施例中,更高级缓存是最后一级数据缓存(处理器100上的存储器层级中的最后一个缓存),例如第二或第三级数据缓存。然而,更高级缓存不限于此,因为更高级缓存可以与指令缓存相关联或包括指令缓存。追踪缓存(一种指令缓存)可以替代地在解码器125之后被耦合以存储最近解码的追踪。在此,指令潜在地指代宏指令(即,由解码器识别的通用指令),宏指令可以解码为若干微指令(微操作)。

在所描绘的配置中,处理器100还包括片上接口模块110。历史上,下面更详细描述的存储控制器已经被包括在处理器100外部的计算系统中。在该情境中,片上接口110将与处理器100外部的设备(例如,系统存储器175、芯片组(通常包括存储控制器集线器和I/O控制器集线器,其中,存储控制器集线器用于连接到存储器175,I/O控制器集线器用于连接外围设备)、存储控制器集线器、北桥、或其它集成电路)进行通信。并且在该情境中,总线105可以包括任意已知的互连,例如多点总线、点到点互连、串行互连、并行总线、一致(例如,缓存一致)总线、分层协议架构、差分总线、以及GTL总线。

存储器175可以专用于处理器100或可以由处理器100与系统中的其它设备共享。存储器175的类型的通用示例包括DRAM、SRAM、非易失性存储器(NV存储器)、以及其它已知的存储设备。注意,设备180可以包括图形加速器、耦合到存储控制器集线器的处理器或卡、耦合到I/O控制器集线器的数据存储装置、无线收发器、闪存设备、音频控制器、网络控制器、或其它已知设备。

然而近来,随着更多逻辑和设备被集成在单一管芯(例如,SOC)上,这些设备中的每个设备可以被合并在处理器100上。例如在一个实施例中,存储控制器集线器与处理器100是在同一封装和/或管芯上。在此,核的一部分(核上部分)110包括一个或多个控制器,用于与其它设备(例如,存储器175或图形设备180)接合。包括互连和用于与这类设备接合的控制器的配置通常被称为核上(或非核)配置。作为示例,片上接口110包括用于片上通信的环互连和用于片下通信的高速串行点到点链路105。然而,在SOC环境中,甚至可以在单一管芯或集成电路上集成更多的设备,例如网络接口、协处理器、存储器175、图形处理器180和任意其它已知的计算机设备/接口,以提供具有高功能和低功耗的小形状因子。

在一个实施例中,处理器100能够执行编译器、优化、和/或转换器代码177,以编译、转换和/或优化应用代码176,从而支持本文所述的装置和方法或与其接合。编译器通常包括用于将源文本/代码转换为目标文本/代码的程序或程序集合。通常,利用编译器对程序/应用代码的编译是在多个阶段和多遍中完成的,以将高级编程语言代码转换为低级机器或汇编语言代码。然而,单遍编译器仍可以被用于简单编译。编译器可以利用任意已知的编译技术并且执行任意已知的编译器操作,例如词汇分析、预处理、解析、语义分析、代码生成、代码转换、以及代码优化。

较大的编译器通常包括多个阶段,但通常这些阶段被包括在两个通用阶段内:(1)前端,即通常语法处理、语义处理、以及某些转换/优化可以发生的阶段;以及(2)后端,即通常分析、转换、优化、以及代码生成发生的阶段。一些编译器涉及中间件,中间件示出对编译器的前端和后端之间的描述的模糊。因此,对编译器的插入、关联、生成或其它操作的提及可以在任意前述阶段或遍、以及编译器的任意其它已知的阶段或遍中发生。作为说明性示例,编译器潜在地在编译的一个或多个阶段中插入操作、调用、函数等,例如在编译的前端阶段中插入调用/操作,然后在转换阶段期间将调用/操作转换为低级代码。注意,在动态编译期间,编译器代码或动态优化代码可以插入这类操作/调用,以及在运行时间期间优化用于执行的代码。作为具体的说明性示例,二进制代码(已经编译的代码)可以在运行时间期间被动态优化。在此,程序代码可以包括动态优化代码、二进制代码或其组合。

与编译器类似,转换器(例如二进制转换器)静态或动态地转换代码以优化和/或转换代码。因此,对执行代码、应用代码、程序代码、或其它软件环境的提及可以指:(1)动态或静态地执行(一个或多个)编译器程序、优化代码优化器、或转换器,用以编译程序代码、用以维护软件结构、用以执行其它操作、用以优化代码、或用以转换代码;(2)执行包括操作/调用的主程序代码,例如已经被优化/编译的应用代码;(3)执行其它程序代码,例如与主程序代码相关联的库,用以维护软件结构、用以执行其它软件相关操作、或用以优化代码;或(4)其组合。

一个互连结构架构包括PCIe架构。PCIe的主要目标是使得来自不同供应商的组件和设备能够在开放架构中互操作,从而跨多个市场细分;客户端(台式客户端和移动客户端)、服务器(标准服务器和企业服务器)、以及嵌入式和通信设备。PCI Express是针对各种未来的计算和通信平台定义的高性能通用I/O互连。某些PCI属性(例如,其使用模型、加载存储架构、以及软件接口)已经通过其修订得以维护,而之前的并行总线实现方式已经被高可扩展的、完全串行的接口替代。PCI Express的最新版本利用点到点互连、基于交换机的技术、以及分组化协议中的进步来传递新等级的性能和特征。功率管理、服务质量(QoS)、热插拔/热交换支持、数据集成、以及误差处理是由PCI Express所支持的高级特征中的一些。

参照图2,示出了由将一组组件互连的点到点链路构成的结构的实施例。系统200包括耦合于控制器集线器215的处理器205和系统存储器210。处理器205包括任意处理元件,例如微处理器、主机处理器、嵌入式处理器、协处理器、以及其它处理器。处理器205通过前侧总线(FSB)206被耦合到控制器集线器215。在一个实施例中,FSB 206是如下所述的串行点到点互连。在另一实施例中,链路206包括与不同互连标准兼容的串行差分互连架构。

系统存储器210包括任意存储器设备,例如随机访问存储器(RAM)、非易失性(NV)存储器、或系统200中的设备可访问的其它存储器。系统存储器210通过存储器接口216被耦合到控制器集线器215。存储器接口的示例包括双数据速率(DDR)存储器接口、双信道DDR存储器接口、以及动态RAM(DRAM)存储器接口。

在一个实施例中,控制器集线器215是快速外设组件互连(PCIe或PCIE)互连层级中的根集线器、根复合体、或根控制器。控制器集线器215的示例包括芯片组、存储控制器集线器(MCH)、北桥、互连控制器集线器(ICH)南桥、以及根控制器/集线器。通常术语芯片组指两个物理上分离的控制器集线器,即被耦合到互连控制器集线器(ICH)的存储控制器集线器(MCH)。注意,当前系统通常包括与处理器205集成的MCH,而控制器215将以类似的方式与I/O设备进行通信,如下所述。在一些实施例中,对等路由通过根复合体215被可选地支持。

在此,控制器集线器215通过串行链路219被耦合到交换机/桥220。输入/输出模块217和221(还可以称为接口/端口217和221)包括/实现分层协议栈以在控制器集线器215和交换机220之间提供通信。在一个实施例中,多个设备能够被耦合到交换机220。

交换机/桥220将分组/消息从设备225上行(即,朝向根复合体层级上升)路由到控制器集线器215,以及将分组/消息从处理器205或系统存储器210下行(即,远离根控制器层级下降)路由到设备225。在一个实施例中,交换机220被称为多个虚拟PCI到PCI桥设备的逻辑装配。设备225包括要被耦合到电子系统的任意内部或外部设备或组件,例如I/O设备、网络接口控制器(NIC)、插入卡、音频处理器、网络处理器、硬驱动、存储设备、CD/DVD ROM、监测器、指针、鼠标、键盘、路由器、便携式存储设备、火线设备、通用串行总线(USB)设备、扫描器、以及其它输入/输出设备。通常在PCIe语术中,这类设备被称为端点。尽管未具体示出,但设备225可以包括PCIe到PCI/PCI-X桥,以支持传统或其它版本PCI设备。PCIe中的端点设备通常被分类为传统端点、PCIe端点或根复合体集成端点。

图形加速器230还通过串行链路232被耦合到控制器集线器215。在一个实施例中,图形加速器230被耦合到MCH,MCH被耦合到ICH。交换机220然后被耦合到ICH,并且因此I/O设备225被耦合到ICH。I/O模块231和218还将实现分层协议栈,以在图形加速器230和控制器集线器215之间通信。类似于上面关于MCH的讨论,图形控制器或图形加速器230它本身可以被集成在处理器205中。

转向图3,示出了分层协议栈的实施例。分层协议栈300包括任意形式的分层通信栈,例如快速路径互连(QPI)栈、PCIe栈、下一代高性能计算互连栈、或其它分层栈。尽管随后参照图2-5的讨论是关于PCIe栈的,但同样的概念可以被应用到其它互连栈。在一个实施例中,协议栈300是PCIe协议栈,包括事务层305、链路层310、以及物理层320。接口可以被表示为通信协议栈300。表示为通信协议栈还可以被称为实现/包括协议栈的模块或接口。

PCI Express使用分组来在组件之间传送信息。分组在事务层305和数据链路层310中被形成,以将信息从发送组件运载到接收组件。随着所发送的分组流经其它层,所发送的分组被扩展具有处理那些层处的分组所必需的额外信息。在接收侧处,反向过程发生,并且分组从其物理层320表示转换到数据链路层310表示,并且最终(针对事务层分组)转换到可以由接收设备的事务层305处理的形式。

在一个实施例中,事务层305将提供设备的处理核与互连架构(例如,数据链路层310和物理层320)之间的接口。就此而言,事务层305的主要责任是对分组(即,事务层分组或TLP)进行装配和解装配。事务层305通常管理针对TLP的基于信用的流控制。PCIe实现分离事务,即请求和响应通过时间分离的事务,这允许链路在目标设备收集针对响应的数据时运载其它流量。

此外PCIe利用基于信用的流控制。在该方案中,设备通告针对事务层305中的每个接收缓冲器的初始信用量。链路另一端处的外部设备(例如控制器集线器)对由每个TLP消耗的信用数目进行计数。如果事务未超过信用界限,则事务可以被发送。一旦接收到响应,信用量就被恢复。信用方案的优势在于:如果不遇到信用界限,则信用返回的延迟不影响性能。

在一个实施例中,四个事务地址空间包括配置地址空间、存储器地址空间、输入/输出地址空间、以及消息地址空间。存储器空间事务包括一个或多个传送去往/来自存储器映射位置的数据的读请求和写请求。在一个实施例中,存储器空间事务能够使用两个不同的地址格式,例如,短地址格式(例如32位地址)或长地址格式(例如64位地址)。配置空间事务被用于访问PCIe设备的配置空间。到配置空间的事务包括读请求和写请求。消息空间事务(或简单地说消息)被定义为支持PCIe代理之间的带内通信。

因此,在一个实施例中,事务层305装配分组头部/有效载荷306。当前分组头部/有效载荷的格式可以在PCIe规范网站处的PCIe规范中找到。

快速参照图4,示出了PCIe事务描述符的实施例。在一个实施例中,事务描述符400是用于运载事务信息的机制。就此而言,事务描述符400支持对系统中的事务的标识。其它潜在使用包括追踪对默认事务排序的修改和事务与信道的关联。

事务描述符400包括全局标识符字段402、属性字段404和信道标识符字段406。在所示出的示例中,描绘了全局标识符字段402,全局标识符字段402包括本地事务标识符字段408和源标识符字段410。在一个实施例中,针对所有待完成的请求,全局事务标识符402是唯一的。

根据一个实现方式,本地事务标识符字段408是由做出请求的代理生成的字段,并且对于需要针对该做出请求的代理而被完成的所有待完成的请求而言是唯一的。此外,在该示例中,源标识符410唯一地标识PCIe层级内的请求者代理。因此,本地事务标识符字段408连同源ID 410提供了对层级域内的事务的全局标识。

属性字段404指定了事务的特性和关系。就此而言,属性字段404潜在地被用于提供附加信息,该附加信息允许修改对事务的默认处理。在一个实施例中,属性字段404包括优先级字段412、预留字段414、排序字段416、以及无监听(no-snoop)字段418。在此,优先级子字段412可以由向事务分配优先级的发起者修改。预留属性字段414被预留用于未来使用或供应商定义的使用。使用优先级或安全性属性的可能的使用模型可以使用预留属性字段被实现。

在该示例中,排序属性字段416被用于供应可选信息,该可选信息传送可以修改默认排序规则的排序的类型。根据一个示例实现方式,排序属性为“0”表示将应用默认排序规则,其中,排序属性为“1”表示放松排序,其中,写可以在同一方向传递写,并且读完成可以在同一方向传递写。监听属性字段418被用于确定事务是否被监听。如所示出的,信道ID字段406标识与事务相关联的信道。

链路层310(也被称为数据链路层310)用作事务层305和物理层320之间的中间阶段。在一个实施例中,数据链路层310的责任是提供一种用于在链路的两个组件之间交换事务层分组(TLP)的可靠机制。数据链路层310的一侧接收由事务层305装配的TLP,应用分组序列标识符311(即标识号或分组号),计算和应用误差检测代码(即CRC 312),并且向物理层320提交经修改的TLP以供跨物理层传输到外部设备。

在一个实施例中,物理层320包括逻辑子块321和电气子块322,用于物理地向外部设备传送分组。在此,逻辑子块321负责物理层321的“数字”功能。就此而言,逻辑子块包括发送部分和接收器部分,发送部分用于准备传出信息以供由物理子块322传输,接收器部分用于在向链路层310传送接收到的信息之前对其进行标识和准备。

物理块322包括发送器和接收器。由逻辑子块321向发送器供应符号,发送器将符号串行化并且发送到外部设备。接收器被供应有来自外部设备的经串行化的符号,并且将接收到的信号转换为比特流。比特流是经解串行化的,并且被供应到逻辑子块321。在一个实施例中,采用8b/10b传输模式,其中,发送/接收十位符号。在此,特殊符号被用于将分组构造有帧323。此外,在一个示例中,接收器还提供从传入串行流中恢复的符号时钟。

如上所述,尽管参照PCIe协议栈的具体实施例讨论了事务层305、链路层310、以及物理层320,但是分层协议栈不限于此。事实上,可以包括/实现任意分层协议。作为示例,被表示为分层协议的端口/接口包括:(1)第一层(即事务层),用于装配分组;(2)第二层(即链路层),用于对分组进行排序;以及(3)第三层(即物理层),用于发送分组。作为具体示例,利用了QPI分层协议。

下面参照图5,示出了PCIe串行点到点结构的实施例。尽管示出了PCIe串行点到点链路的实施例,但是串行点到点链路不限于此,而是串行点到点链路包括任意用于发送串行数据的传输路径。在所示出的实施例中,基本PCIe链路包括两个低电压差分驱动信号对:发送对506/511和接收对512/507。因此,设备505包括发送逻辑506和接收逻辑507,发送逻辑506用于向设备510发送数据,接收逻辑507用于从设备510接收数据。换言之,PCIe链路中包括两个发送路径(即路径516和517)和两个接收路径(即路径518和519)。

发送路径指代任意用于发送数据的路径,例如传输线、铜线、光线、无线通信信道、红外通信链路、或其它通信路径。两个设备(例如设备505和设备51O)之间的连接被称为链路,例如链路515。链路可以支持一个道一每个道表示一组差分信号对(一对用于发送,一对用于接收)。为了缩放带宽,链路可以聚合由xN表示的多个道,其中N是任意支持的链路宽度,例如1、2、4、8、12、16、32、64或更宽。

差分对指代用于发送差分信号的两个发送路径,例如线516和517。作为示例,当线516从低电压电平切换到高电压电平(即上升沿)时,线517从高逻辑电平驱动到低逻辑电平(即下降沿)。差分信号潜在地示出更好的电气特性,例如更好的信号完整性,即交叉耦合、电压过冲/下冲、振铃等。这允许更好的时序窗口,这实现了更快的发送频率。

下面转向图6,描绘了根据实施例的SoC设计的实施例。作为具体的说明性示例,SoC 2000被包括在用户设备(UE)中。在一个实施例中,UE指代任意要由终端用户用于进行通信的设备,例如手持电话、智能电话、平板计算机、超薄笔记本、具有宽带适配器的笔记本、或任意其它类似的通信设备。通常UE连接到基站或节点,基站或节点本质上潜在地与GSM网络中的移动站(MS)相对应。

在此,SoC 2000包括2个核-2006和2007。与上面的讨论类似,核2006和2007可以符合指令集架构,例如基于架构核TM的处理器、先进微型设备公司(AMD)处理器、基于MIPS的处理器、基于ARM的处理器设计、或其客户、以及其被许可方或采纳者。核2006和2007被耦合到缓存控制2008,缓存控制2008与总线接口单元2009和L2缓存2010相关联,以与系统2000的其它部分进行通信。互连2012包括片上互连,例如IOSF、AMBA、或上面讨论的潜在地实现本文所述的一个或多个方面的其它互连。

互连2012提供到其它组件的通信信道,其它组件例如为与SIM卡接合的订户身份模块(SIM)2030、用于容纳引导代码(用于由核2006和2007执行以初始化和引导SOC 2000)的引导ROM 2035、与外部存储器(例如,DRAM 2060)接合的SDRAM控制器2040、与非易失性存储器(例如,闪存2065)接合的闪存控制器2045、与外设接合的外设控制器2050(例如,串行外设接口)、用于显示和接收输入(例如,触摸使能的输入)的视频编解码器2020和视频界面2025、用于执行图形相关计算的GPU 2015等。任意这些接口可以包含本文所述的各方面。

此外,系统示出了用于通信的外设,例如蓝牙模块2070、3G调制解调器2075、GPS 2080、以及WiFi 2085。系统中还包括功率控制器2055。注意如上面所示出的,UE包括用于通信的无线电装置。因此,并非需要全部这些外设通信模块。然而,在UE中,将包括用于外部通信的某些形式的无线电装置。

在各个实施例中,基于硬件的比特误差率(BER)估计器被提供在接收器电路内,例如被提供在接收器前端电路内。更具体地,估计器是盲估计器,其中用于估计BER的误差在无需知道所发送的(和所接收的)数据的情况下被确定。用另一种方式来说,可以用盲方式来估计BER,而不使用发送器和接收器之间的回送路径,并且无需关于正在分析的数据模式的先验知识。使用该BER估计器,当高速互连是可操作的时,可以执行BER测量,这允许对接收器和/或发送器的一个或多个组件的自适应控制和误差性能监测,正如本文将描述的。

在实施例中,多个并行比较器或硬判决单元(在本文也被称为裁剪器)各自可以被用于接收和生成比特流。尽管一些实施例预期使用两个并行裁剪器,但是将理解的是,本发明的范围不限于此,而是在其它情况下可以呈现不止两个并行裁剪器。

现在参照图7A,示出了概率密度函数的图解说明,其中,当特定参考电压电平用于两个裁剪器或一个裁剪器时,阴影区域指示错误比特指示的位置。使用第二裁剪器的目标是以盲方式估计与第一裁剪器相对应的BER。为了理解盲BER估计的基本原理,考虑电压信号Vin表示裁剪器输入处的采样电压,并且该信号具有条件概率密度函数(PDF),该PDF包括两个单独的PDF,一个与比特0相对应,一个与比特1相对应,即分别为V0和V1(如图7A所示)。图7A中的阴影区域示出了将被错误地标识为逻辑1的所发送的逻辑0,以及将被错误地标识为逻辑0的逻辑1。为了测量BER,将被错误地分类为逻辑0的所发送的逻辑1的数目被添加到这类错误分类的逻辑1。按这样分析,针对生成恢复比特流的裁剪器的阈值电压(将该电压与传入电压进行比较,以确定传入信号是逻辑0还是逻辑1)被示出为Vref1/Vref2。因此,假设裁剪器分别具有参考电压Vref1/Vref2,则基于错误比特和裁剪器输出的无误差比特来计算输出处的恢复比特流中的BER。

图7B是BER估计器电路的一部分的框图,BER估计器电路具有两个并行比较器或裁剪器710和720。可以看出,这两个裁剪器都被配置为接收传入模拟信号(Vin)和不同参考电压电平(Vref1/Vref2),将传入模拟信号与Vref1/Vref2进行比较以确定从信号中恢复的比特是逻辑0还是逻辑1。由裁剪器710和720产生的判决被提供给逻辑单元730,逻辑单元730在实施例中可以被配置为异或门。因此当两个单元的判决一致时,没有生成的误差,并且逻辑单元730的输出是为零的值(任意地),替代地,当两个单元的输出不同时,逻辑单元730的输出是逻辑1,指示生成的误差。

因此在图7A和7B中可以看出,从并行裁剪器获得的比特流被用于生成人为误差,并且通过计算错误比特(从逻辑单元730的输出得到)和无误差比特(从裁剪器710、720的输出得到)之间的比率,针对特定参考电压电平Vref2的BER得以测量。

注意,参考电压可以适配(例如,扫描)第二裁剪器,以随着参考电压Vref2从眼图的上半部分转到下半部分而获得不同的BER测量。利用图7A中所示的参考电压Vref1,相比与以阈值电压Vref2操作的第二裁剪器相关联的流,第一裁剪器产生更低的BER。现在考虑在使用Vref2执行BER测量后(当参考电压Vref1比Vreff2给出更低的BER时),参考电压Vref1被改变为Vref2。在该情况下,在Vref1被选择以生成更低的BER时由第二裁剪器生成的人为误差变成实际误差,因而使用第二裁剪器测量的BER将是与以Vref2操作的第一裁剪器相对应的实际BER。用另一种方式来说,在Vref1比Vref2产生更低的BER时执行的BER测量与对应于第一裁剪器的、使用任意类别的监督技术(回送、模式的先验知识等)执行的BER测量相同。然而,随着Vref2接近Vref1,所测量的BER变得接近零。然而,在Vref2<Vref1(针对眼图的上半部分)和Vref2>Vref1(针对眼图的下半部分)时,可以通过推断所测量的数据来估计该区域中的BER。记住,高斯噪声负责低BER区域,可以通过下述操作来估计BER:将所测量的数据点转换到Q尺度(Q-scale),在所测量的数据中找到线性趋势,推断线性点,然后将经推断的数据转换为BER尺度。注意,Q尺度转换是将高斯PDF的累积密度函数(CDF)表示为线性函数的方式。具体地,标准偏差是斜率的倒数,并且在Q=0的拦截点处估计高斯函数的平均值。按这种方式,通过使用具有可变参考电压的第二裁剪器,可以以盲方式来估计与第一裁剪器相关联的BER。如果与本文所述的原理相同的原理被应用于不同的采样相位,则可以执行全眼图扫描。

使用本发明的实施例,可以在任意高速互连的物理层处使用BER估计器来执行全眼图扫描,用于监测误差性能和/或用于管理功率消耗同时维护可接受的误差性能。此外,BER估计器还可以用作使用外部设备(例如经由联合测试行动小组(JTAG)接口被耦合)访问BER数据的验证工具,以便量化电压和时间裕度。此外,实施例可用于高速链路中的组件优化和设计(例如,均衡器分接头)。

注意,根据互连中所使用的信令方案,裁剪器可以是单端型或差分型。在单端的情况下,裁剪器将Vref用作判决阈值,并且差分裁剪器使用Voffset来补偿隐含零判决阈值。

在比特流dk中接收到错误比特的概率是关于发送器和接收器设置/噪声、以及互连信道特征的函数。所有那些设置和噪声将确定电压和时间眼图裕度。

现在参照图8A,图8A示出了根据本发明的实施例的接收器的一部分的框图。在实施例中,接收器800是高速接收器,例如与高速链路(例如,给定输入/输出(I/O)互连)相关联。

通常,接收器800包括具有自动增益控制(AGC)电路810的数据路径,AGC电路810可以被配置为一个或多个放大器,用于接收传入模拟信号Rx并且适当调整(condition)该信号,并将该信号提供给均衡器820。在不同实现方式中,均衡器820可以是判决反馈均衡器。产生的均衡信号被提供给第一裁剪器830,第一裁剪器830可以是主数据路径裁剪器。可以看出,除接收均衡信号之外,裁剪器830还接收参考电压电平(Vref/Voffset)和时钟信号,以使得其采样判决是根据时钟信号且基于参考电压电平的。注意,在图8A的实施例中,该接收器800被配置为嵌入式时钟架构,以使得时钟恢复电路825从均衡数据(从均衡器820接收到的)中恢复采样时钟,并且将该时钟信号提供给裁剪器830。

因此裁剪器830进行操作以确定传入信号的采样部分是逻辑0还是逻辑1,并且将该输出作为恢复比特流dk(c1k,Vref/Voffset)提供给消费逻辑,例如处理器或SoC的一个或多个知识产权(IP)逻辑块(未在图8A中示出)。

如在图8A中进一步示出的,此外,裁剪器830将其比特判决提供给BER估计器控制器850。控制器850还被耦合到第二或辅助裁剪器840,第二或辅助裁剪器840还被配置为接收均衡器输出。此外,控制器850向裁剪器840提供不同的扫描参考电压电平(Vref1/Voffset1)。此外,如本文所述,裁剪器840响应于不同的时钟信号而执行其采样,该不同的时钟信号即从控制器850接收到的相位信号(可以是扫描时钟信号)。进而,裁剪器840的判决比特被提供给BER估计器控制器850。基于来自两个裁剪器的判决比特,控制器850确定相应的BER。要理解的是,尽管图8A的实施例中以该高电平示出,但是本发明的范围不限于此。

例如,接收器可以类似地适配转发时钟架构。在这类实施例中,注意,在接收器内提供了附加时钟路径。这在图8B中示出,图8B是根据本发明的另一实施例的接收器的框图。在图8B中可以看出,接收器800总体可以配置为与接收器800相同。然而,注意存在并行时钟路径,包括被配置为接收传入时钟信号的第二AGC电路860、第二均衡器870、以及延迟锁定环/锁相环(DLL/PLL)875(因而生成针对裁剪器830和控制器850的适当时钟信号)。

在图8A和图8B这二者的架构中,裁剪器840被用于生成比特流dk(Vref1/Voffset1)。该比特流通过下述操作产生:在时钟相位处对传入模拟波形RX进行采样,并且将RX与判决阈值Vref1/Voffsetl进行比较。时钟相位是由控制器850使用相位插值器(未在图8A和图8B中示出)产生的,以便在BER估计器控制器850中实现全眼图扫描操作模式的情况下扫描采样时间。另一方面,比特流dk(clk,Vref/Voffset)是在静态参考电压电平和时钟相位处使用Vref/Voffset和时钟(恢复的或转发的)从互连中恢复的数据。

现在参照图9,示出了根据实施例的BER估计器控制器的另外的细节的框图。在图9中,控制器850与图8A和图8B的控制器850相对应。在图9中可以看出,控制器850包括XOR逻辑852,XOR逻辑852被配置为从两个裁剪器接收比特判决以检测生成的误差。进而,从第一裁剪器恢复的比特和XOR逻辑852的输出被提供给包括多个计数器的计数器电路854。计数器电路854由控制单元855控制,控制单元还被配置为控制相位插值器856并且从误差阈值检测器858接收信息,正如本文所进一步描述的。

考虑clk和Vref/Voffset被选择以产生具有非常低的BER(现今通过大多数接收器中实现的时间/电压眼图裕度方法来实现)的比特流,控制器850产生Vref1/Voffset1(针对眼图的下半部分其大于Vref/Voffset,针对眼图的上半部分其小于Vref/Voffset)和初始时钟相位计数器电路854包括多个可重置计数器,以对从XOR逻辑852生成的误差和无误差比特的数目(图9中分别为误差(Errors)和Nb)进行计数。当达到由误差阈值检测器858所确定的误差预定数目Ne时,控制器850将BER测量为Ne/Nb,将该测量结果转换为Q尺度,并且将该测量结果与之前的测量点集合在一起。然后信号被发送到计数器电路854,以将其计数器重置为零。在该同一点处,参考电压被更新(扫描)到Vref1/Voffset1±△以测量新BER点。

该处理一直被执行到控制器850在Q测量数据中检测到线性趋势为止(针对眼图的上半部分和下半部分这二者)。然后,控制器850在Q尺度中执行线性推断,以在给定时钟相位处完成BER测量。在推断后,控制器850产生针对相位插值器856的控制信号以产生新时钟相位并且,如果全眼图扫描操作模式被启用,则再次选择初始Vref1/Voffset1值,如果全眼图扫描操作模式未被启用,则BER估计结束。针对全眼图扫描操作模式,本文所述的处理被重复到所有可能的采样相位都被使用为止。在一个示例中,可以根据相位插值器电路的架构/技术使用32到128个不同的相位。在全眼图扫描被执行后,Tx/Rx前端可以被重新调整以优化BER性能。然而,如果BER非常低,则可以基于具体眼图扫描结果来选择不同的操作点以降低功率、优化误差性能、增加速度等。按这种方式,可以测量眼图的上半部分和下半部分,并且可以根据电压和采样时间来确定BER,而无需中断互连服务。

现在参照图10,示出了根据本发明的实施例的方法的流程图。如图10中所示,方法900可以由BER估计器控制器或接收器的其它控制器执行,在各个实施例中这些控制器可以由一个或多个硬件、软件和/或固件的适当组合来实现。作为另一示例,这类逻辑可以被配置为一个或多个微控制器。

如图10中所示,方法900通过选择针对辅助裁剪器的参考电压电平和初始时钟相位clk(块910)而开始。接下来,在针对评估时间分析传入模拟信号后,确定误差的数目是否超过误差阈值(菱形920)。如果误差的数目未超过误差阈值,则在块925处,以当前参考电压电平进行继续采样。

替代地,当误差的数目超过误差阈值时,控制传到块930,在块930中,BER被测量并且被转换为Q尺度。此后,确定Q尺度测量点的线性趋势是否可以被确定。如果不可以确定,则调整参考电压电平(在块945处)并且控制再次传到菱形920。

替代地,当可以确定线性趋势时,控制传到块950,在块950中执行线性推断过程,此后,如果全眼图扫描操作模式被启用(在菱形960处),则可以调整辅助采样器进行操作所处的相位,以使得针对眼图的另一半完成相同操作(在块965和970处),直到已经采用所有这类期望的采样相位从而使得方法结束为止。通过对量Q=斜率*Vref1+截距采取逆Q尺度转换,执行与参考电压Vref1相对应的BER估计,其中斜率和截距是从对Q测量点执行的线性推断中产生的量。要理解的是,尽管图10的实施例中以该高电平示出,但是本发明的范围不限于此。

由于BER测量是随机变量,因此测量的置信区间由估计中所使用的误差的数目来确定,因而该估计由估计中所使用的误差的数目来确定。尽管可以观测更多误差以更精确地估计BER,但估计时间变得更长。在实施例中,通过增加更多辅助裁剪器来降低扫描整个眼图所招致的时间是可能的。现在参照图11,示出了根据另一实施例的BER估计电路的一部分的框图。如图11中所示,电路801包括控制器850(可以按如上所述被配置)和多个辅助裁剪器840和845。注意,为了便于说明,图11中未示出主数据路径。然而,注意,从主裁剪器恢复的比特流与时钟信号(无论是如何获得的)一起被提供给控制器850。此外,传入模拟信号Vin与两个裁剪器的不同参考电压电平、以及从控制器850接收到的同一相位信号一起被提供给两个裁剪器。例如,相比于使用单个辅助裁剪器,具有图11中所示的两个辅助裁剪器的BER估计器消耗少于2倍的时间来执行全扫描。在图11的实施例中,VUp被用作裁剪器840的参考电压,以扫描眼图的上半部分,而VLo被用作裁剪器845的参考电压,以扫描下半部分。

现在参照图12,图12示出了发送器1010和接收器1020之间的高速IO接口电路1000的框图。可以看出,发送器1010经由数据链路1015被耦合到接收器1020。尽管本发明的范围不限于此,电路1000可以是任意类型的高速接口电路,例如基于串行的串行解串行器(SERDES)电路。

如图12中所示,接收器1020向BER估计器1030提供信息(例如,来自多个裁剪器路径),正如上面所讨论的。该BER估计信息可以被提供给接收器控制逻辑1040,以及经由命令链路1055(在实施例中其可以是不同的互连)被提供给发送器控制逻辑1050。基于这类信息,发送器1010和接收器1020中的一个或多个可以使得其组件设置中的一个或多个得到适当控制,例如用于降低功率消耗和/或用于改善性能。具体地,可以完成对均衡器设置的重调整(禁用一些分接头或禁用判决反馈均衡器(DFE)、改变连续时间线性均衡器(CTLE)特性等)、或对发送器设置的重调整(减少摆动、禁用发送器线性均衡(TXLE)分接头),以降低功率。替代地,如果在线测量示出不可接受的误差率,则可以执行对均衡方案/发送器特性的重调整以实现更好的BER性能。尽管未示出,但要理解的是,BER估计器1030中所确定的BER估计信息被提供给外部设备(例如,经由JTAG接口)也是可能的。要理解的是,尽管图12的视图中以该高电平示出,但是很多变体和替代形式是可能的。

因此,根据本发明的实施例的BER估计器可以被用于探索发送器/接收器设置对互连误差性能的影响。因此,BER估计器可以被用作自适应解决方案的一部分,以优化设置,例如DFE中的分接头、TXLE、CTLE中的带宽、发送器长度等。

尽管本发明的范围不限于此,但是实施例可以被用于测量各种高速互连的性能,高速互连包括但不限于快速外设组件互连(PCIe)、通用串行总线(USB)、以及双数据速率(DDR)互连。因此,实施例确保互连在产品生命周期中处于保证误差性能内和/或有更好的功率消耗。此外,根据本发明的实施例的BER估计器可以减少针对高速设备的验证工作,并且还提供针对这类互连的自适应引擎,以确保可接受的误差性能,以便避免静默数据破坏问题,并且还有助于降低移动设备中的功率消耗,这是因为对发送器/接收器设置的自适应调谐可以被执行以恢复由于制造过程中的变化或操作条件中的变化而引起的裕度损失。

相比于例如基于回送的BER测试(用于验证或调试目的),实施例可以被用于在互连是可操作的时监测误差性能。因此,如同回送被建立时一样,链路无法被用于传送非测试信息,这是由于接收器处的数据将被转发返回发送器。实施例还提供在线BER测量,而无需外部设备,外部设备可能是非常复杂、昂贵的,并且还可能引入难以消除或量化的扰动。

下面的示例涉及进一步的实施例。

在一个示例中,一种装置包括:数据路径,该数据路径包括第一裁剪器,用于接收和采样传入模拟信号并且确定针对传入模拟信号的比特等级,所述第一裁剪器用于向消费逻辑提供比特判决;分析路径,该分析路径包括第二裁剪器,用于接收和采样传入模拟信号并且确定针对传入模拟信号的第二比特等级;以及控制器,该控制器被耦合以接收第一裁剪器的输出和第二裁剪器的输出,从而基于第一裁剪器输出和第二裁剪器输出来确定针对数据路径的BER。

在示例中,控制器将确定比特误差率而无需关于传入模拟信号的先验信息。

在示例中,控制器将动态扫描针对第二裁剪器的参考电压电平,其中,针对第一裁剪器的参考电压电平将是静态的,控制器还动态扫描针对第二裁剪器的参考相位,其中,针对第一裁剪器的参考时钟将是静态的。

在示例中,控制器包括:第一计数器,用于针对评估区间维护对传入模拟信号的传入比特的数目的第一计数;第二计数器,用于针对评估区间维护对传入模拟信号的传入比特中的误差的数目的第二计数;以及逻辑,用于至少部分基于第一计数和第二计数来确定BER。

在示例中,控制器包括控制单元,用于执行下述操作:将针对第二裁剪器的相位迭代调整为多个相位;以及针对多个相位,迭代调整针对第二裁剪器的参考电压电平并且根据参考电压电平估计BER,直到关于BER的线性趋势被确定为止,并且在此后,对线性趋势进行推断以确定针对相应相位的BER。

在示例中,控制器将向被耦合到装置的发送器传送BER,发送器向装置发送传入模拟信号。

在示例中,在传送BER后,装置将接收幅度降低的传入模拟信号,发送器降低传入模拟信号的幅度以降低发送器的功率消耗。

在示例中,装置包括要被配置在电路板上的第一集成电路(IC),并且发送器包括第二IC,第二IC要被配置在电路板上并且经由电路板的互连被耦合到装置。

在示例中,数据路径还包括:一个或多个增益控制电路,用于接收和放大传入模拟信号;均衡器,该均衡器被耦合到一个或多个增益控制电路,该均衡器用于均衡经放大的传入模拟信号并且向第一裁剪器和第二裁剪器提供经均衡和经放大的传入模拟信号。

在示例中,控制逻辑将至少部分基于BER来控制一个或多个增益控制电路和均衡器中的至少一个。

在示例中,当BER小于阈值等级时,控制逻辑将禁用均衡器的至少一部分。

在示例中,分析路径还包括第三裁剪器,第三裁剪器用于接收和采样传入模拟信号并且确定针对传入模拟信号的第三比特等级,控制器用于还基于第三裁剪器输出来确定针对数据路径的BER。

注意,上述装置可以是使用各种方式实现的处理器的一部分。

在示例中,装置可以是用户设备触摸使能的设备中包含的片上系统的一部分。

在另一示例中,系统包括显示器和存储器,并且包括处理器,该处理器具有上述示例中的一个或多个示例的装置。

在又一示例中,一种用于估计误差比特率的方法包括:使得接收器的并行路径的第二裁剪器能够接收传入模拟信号并且在针对第二裁剪器的多个参考电压电平处根据该传入模拟信号生成第二比特流,接收器还包括数据路径,该数据路径具有第一裁剪器,用于接收传入模拟信号和生成第一比特流;在控制器中至少部分基于下述操作来在多个参考电压电平处估计BER:将第二比特流与第一比特流的相应部分进行比较,以在多个参考电压电平处确定第一比特流和第二比特流之一中的误差的数目;以及由控制器响应于在多个参考电压电平中的一个或多个参考电压电平处估计的BER来控制数据路径的至少一个组件。

在示例中,方法还包括:估计BER而无需关于传入模拟信号的先验信息。

在示例中,方法还包括:在针对第二裁剪器的多个相位处动态扫描通过多个参考电压电平中的至少一些参考电压电平,其中针对第一裁剪器的参考电压电平和参考时钟将是静态的。

在示例中,方法还包括:将针对第二裁剪器的相位迭代调整为多个相位;以及针对多个相位,将针对第二裁剪器的参考电压电平迭代调整为多个参考电压电平中的一个参考电压电平,并且根据参考电压电平估计BER,直到关于BER的线性趋势被确定为止,并且在此后,对线性趋势进行推断以确定针对相应相位的BER。

在另一示例中,一种机器可读存储介质包括机器可读指令,当机器可读指令被执行时,实现上述示例中任意示例的方法。

在另一示例中,一种设备包括用于执行上述示例中任意一个示例的方法的装置。

在另一示例中,一种系统包括:发送器,用于发送模拟信号;以及接收器,该接收器通过互连被耦合到发送器,该接收器用于接收模拟信号并且在系统的运行时间期间确定针对从模拟信号中恢复的比特流的BER,而无需关于模拟信号的数据模式的先验知识。

在示例中,接收器包括:第一比较器,用于对模拟信号进行采样以根据第一参考电平生成针对模拟信号的第一比特判决;第二比较器,用于对模拟信号进行采样以根据第二参考电平生成针对模拟信号的第二比特判决;以及控制器,该控制器被耦合以接收第一比特判决和第二比特判决,从而至少部分基于第一比特判决和第二比特判决来确定BER。

在示例中,控制器包括:第一计数器,用于针对评估区间维护对比特流的比特数目的第一计数;第二计数器,用于针对评估区间维护对比特流中的误差的数目的第二计数;以及逻辑,用于至少部分基于第一计数和第二计数来确定BER。

在示例中,控制器包括控制单元,用于执行下述操作:将针对第二比较器的相位迭代调整为多个相位;以及针对多个相位,迭代调整第二参考电平并且根据第二参考电平估计BER,直到关于BER的线性趋势被确定为止,并且在此后,对线性趋势进行推断以确定针对相应相位的BER。

在示例中,接收器将向发送器传送BER,并且发送器将基于对BER与阈值的比较来降低模拟信号的幅度,降低幅度是用于降低发送器的功率消耗。

在示例中,接收器包括:一个或多个增益控制电路,用于接收和放大模拟信号;均衡器,该均衡器被耦合到一个或多个增益控制电路,该均衡器用于均衡经放大的模拟信号并且向第一比较器和第二比较器提供经均衡和经放大的模拟信号。

在示例中,控制逻辑将至少部分基于BER来控制一个或多个增益控制电路或均衡器中的至少一个。

要理解的是,上述示例的各种组合是可能的。

实施例可用于许多不同类型的系统中。例如,在一个实施例中,通信设备可以被安排为执行本文所述的各种方法和技术。当然,本发明的范围不限于通信设备,而是其它实施例可以针对其它类型的用于处理指令的装置,或一个或多个包括指令的机器可读介质,响应于指令在计算设备上被执行,使得设备执行本文所述的方法和技术中的一个或多个。

实施例可以用代码来实现并且可以被存储在其上存储有指令的非暂态存储介质上,指令可用于对系统进行编程以执行指令。存储介质可以包括但不限于,任意类型的磁盘(包括软盘、光盘、固态设备(SSD)、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)、以及磁光盘)、半导体设备(例如,只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪速存储器、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡)、或任意其它类型的适用于存储电子指令的介质。

尽管已经参照有限数目的实施例描述了本发明,但是本领域技术人员将理解其中的若干修改和变体。旨在所附权利要求覆盖落入本发明的真正精神和范围内的所有这类修改和变体。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1