专利名称:对高速gpu存储器接口的数据采样时钟边缘布置训练的利记博彩app
技术领域:
本发明大体而言涉及高速数据接口,且更具体而言涉及对用于高速接口中的移相电路进行训练。
背景技术:
在一些高速接口电路(例如双倍数据速率存储器接口)中,使用选通信号来对多个数据信号进行定时及恢复。换句话说,一发射电路向一接收电路提供多个数据信号及一数据选通信号。所述选通信号的发射方式可使其边缘与数据信号的边缘或跃迁对齐。
然而,为正确地恢复数据,需使选通脉冲相对于所接收的数据相移例如九十度。还需精确地实施此相移以改进数据恢复。进一步需(例如)在装置加电时或在其它适当的时刻自动实施此种相移。通过自动实施,与手动调整相关的问题(例如操作者或其它误差)会得以减少或消除。
因此,需要提供用于在一高速接口电路中调整相移的电路、方法及设备。还期望使此种调整或训练自动实施。
发明内容
因此,本发明的各实施例提供用于训练一相移电路以提供一对应于得到改进的数据恢复的相移的电路、方法及设备。本发明的一具体实施例提供一种可变延迟单元。在训练模式由一集成电路接收到的同时,改变所述可变延迟单元的延迟。跟踪误差的存在,并根据误差存在与否来选择一较佳延迟并将其用于接收数据。
参照下文详细说明及附图可更好地了解本发明的性质及优点。
图1为一得益于包含本发明实施例的计算系统的一方块图;
图2为一得益于包含本发明实施例的经改进的计算机系统的一方块图;图3为一显示在一根据本发明一实施例的高速接口的发射与接收端处的数据信号与相关选通信号之间的关系的简化方块图;图4图解说明在一根据本发明一实施例的集成电路中可用于自动调整选通信号与接收信号之间的相移的定时序列;图5为一包含本发明一实施例的集成电路500的一方块图;图6为一更详细地显示图5所示主DLL及延迟线路的示意图;图7为一图解说明一主DLL的方块图,所述主DLL可用作图6所示主DLL 610或用作本发明其它实施例中的主DLL图8为一根据本发明一实施例的集成电路的一部分的方块图;及图9为一以一种根据本发明一实施例的方式使用一训练序列来调整一可变延迟的方法的流程图。
具体实施例方式
图1为一得益于包含本发明实施例的计算系统100的一方块图。此计算系统100包括一北桥(Northbridge)110、图形加速器120、南桥(Southbridge)130、帧缓冲器140、中央处理器(CPU)150、音频卡160、以太网卡162、调制解调器164、USB卡166、图形卡168、PCI插槽170、及存储器105。如同所有所含图式一样,显示此图式仪是出于例示目的,且其并不限定本发明的可能的实施例或权利要求书。
北桥110传送来往于CPU 150与存储器105、图形加速器120及南桥130之间的信息。南桥130通过诸如通用串行总线(USB)卡166及以太网卡162等连接介接至外部通信系统。图形加速器120通过北桥110在加速图形端口(AGP)总线125上自CPU150并直接自存储器或帧缓冲器140接收图形信息。图形加速器120介接帧缓冲器140。帧缓冲器140可包括一存储所要显示的像素的显示缓冲器。
在此架构中,CPU 150实施此计算系统所需的成批处理任务。具体而言,图形加速器120依靠CPU 150来设置计算及计算几何值。而且,音频或声卡160依靠CPU 150来同时处理音频数据、位置计算及诸如合唱、混响、障碍、堵塞等各种效果。此外,CPU 150仍负责与可能正在运行的应用程序相关的其它指令并负责对连接至南桥130的各种外围装置进行控制。
图2为一得益于包含本发明实施例的经改进的计算机系统200的一方块图。经改进的计算机系统200包括一NVIDIA nForceTM2集成图形处理器(IGP)210、一nForce2媒体通信处理器(MCP2)220、存储器212及214、CPU 216、可选图形处理器218及帧缓冲器240、监视器222、扫描仪或照像机234、鼠标、键盘及打印机236、硬盘驱动器238、软调制解调器242、以太网网络或LAN 246、及音频系统248。
已围绕一分布式处理平台设计出此种革命性的系统构架,从而腾出CPU来执行最适于CPU的任务。具体而言,nForce2 IGP 210包括一能够执行图形计算的图形处理单元(GPU)(未显示),而以前所述图形计算是留给CPU 216执行的。或者,nForce2 IGP210可介接至一执行这些计算的可选的GPU 218。此外,nForce2 MCP2 220包括一音频处理单元(APU),所述音频处理单元(APU)能够执行许多以前是由CPU 216完成的音频计算。通过此种方式,CPU便能够更有效地自由执行其任务。此外,通过包含一套联网及通信技术(例如USB及以太网),nForce2 MCP2 220能够执行许多以前由CPU216负责的通信任务。
在此种架构中,nForce2 IGP 210通过总线213及215与存储器212及214通信。nForce2 IGP 210还通过一高级AGP总线217介接至一可选图形处理器218。在各种计算机系统中,可去除可选处理器218,且监视器222可直接由nForce2 IGP 210驱动。在其它系统中,可存在多于一个监视器222,其中某些或所有监视器222耦接至可选图形处理器218或直接耦接至nForce2 IGP 210。nForce2 IGP 210通过一HyperTransportTM链路221与nForce2 MCP2 220通信。可选图形处理器218也可介接外部存储器(在此实例中未示出)。
本发明的各实施可用于在通往储器212及214的接口、自可选图形处理器218至其外部存储器(未显示)的接口、或通往其它可选存储器(此处未显示)的接口、或其它存储器接口或其它数字系统中的其它电路处改善时钟信号频率的变化。
nForce2 MCP2 220包含用于以太网连接246及软调制解调器242的控制器。nForce2 MCP 220还包括用于鼠标、键盘及打印机236的接口及用于照像机及扫描仪234及硬盘驱动器238的USB端口。
此种布置使CPU 216、nForce2 IGP 210及nForce2 MCP2 220能够、以并行方式同时地独立实施处理。
本发明的各实施例可用于改进各装置之间的高速接口,例如图1中的图形处理器120与帧缓冲器140之间或北桥110与存储器105之间、或图2中的集成图形处理器210与存储器212及214之间的接口。
图3为一显示在一根据本发明一实施例的高速接口的发射与接收端处的数据信号与相关选通信号之间的关系的简化方块图。所述发射机与接收机可包含于图形处理器、存储器或其它集成电路中。通常,每一芯片均发射及接收几个数据信号及至少一个选通信号。发射机310通过通道320将数据信号及选通信号提供至接收机330。在发射机或源端处,DQ 312与WDQS选通信号314对齐。这意味着数据信号与选通信号边缘同时双态切换,因此这些信号会经历类似的耦合噪声。由于这些信号对齐,因此其易遭受相似的同时切换噪声,此会引起推进、推出及信号完整性失真,从而引起数据信号与相关联选通信号之间的偏斜。此外,数据信号及相关联选通信号通常会因其它通道及噪声源在数据通道320中的耦合而经历类似的失真。
接口(例如图3中的接口)的理想相移并非总是正好为90度。具体而言,最佳延迟可因数据信号312及其选通脉冲314在数据通道320中的失配而不同于90度。同样地,数据信号312及选通脉冲314可经历不同的噪声及耦合。更确切地说,并非这些信号所经历的所有噪声均可为共模的-其中一些可为差动的。同样地,数据模式的变化会引起符号间干扰(ISI),此会在数据信号312的边缘中产生一与数据相关的偏斜。因此,需在制造过程期间(例如在相关电路已布置于一印刷电路板上后)使相移最佳化。同样,传统上,此种调整(如果进行的话)通常以手动方式完成。这会因操作者及其它类型的误差而致使制造成本增加且可靠性降低。
通道320通常由印刷电路板上的迹线连同集成电路焊线及引线框架引脚组成。
在接收端处,选通信号相移一大约等于90度的量Tl 340。通过此种方式,使选通信号在DQ数据位332中居中,从而提供对DQ 332数据的恢复。
训练序列可在装置加电时、在低压掉电状态后、在装置退出低功率模式后、或在其它时刻实施。
图4图解说明一可在根据本发明一实施例的集成电路中用于自动调整选通信号与接收信号之间的相移的定时序列。接收一训练或测试数据模式410。使选通信号在一窗口中以离散步长自一最小延迟向一最大延迟偏移。例如,可使选通延迟从60度变至120度。或者,可使用其它窗口。在本发明的一实施例中,以大约1GHz的数据速率接收数据。每一步长均大约为10ps,但有些步长可更大,特别是那些不接近于90度相移的步长。
在窗口中的每一步长420处,判定训练序列是否被正确接收到。如果未正确接收到数据,则使一失败状态与该步长相关联。如果正确接收到数据,则使一成功状态与该步长相关联。在本发明的一具体实施例中,所测试的第一步长是在DQS信号位于显示为420的步长处时,且按次序测试后继步长。
存储所成功进行的第一步长,在此实例中是存储步长450。还存储所成功进行的最后步长,在此实例中是步长460。对步长450与460进行平均,在此实例中得到步长430,且在该位置处使选通信号对齐。在此特定实例中,“理想”步长430不同于90度相移步长440。
图5为一包含本发明一实施例的集成电路500的一方块图。其中包括延迟单元或电路520、522、524及526、及主延迟锁定环(DLL)530。一主时钟信号在线路550上由主DLL 530接收到。主DLL将线路540、542、544及546上的参考电流提供至延迟单元520、522、524及526。延迟单元520、522、524及526对在线路510、512、514及516上所接收的选通信号进行延迟。
图6为一更详细地显示图5所示主DLL及延迟线路的示意图。主DLL 610中包括一鉴相器612、电荷泵614及延迟线路616。延迟线路616包括延迟单元630、632、634及636,这些延迟单元630、632、634及636由电流源640、642、644及646所提供的参考电流施加偏压。这些参考电流被提供至延迟单元650,由延迟单元650对选通信号进行延迟。
线路620上的主时钟信号由鉴相器612接收到,鉴相器612将其与线路622上的延迟线路输出相比较。鉴相器使用电荷泵614来增大或减小延迟线路616中的电流。延迟线路616为线路620上的主时钟信号提供一360度相移。因此,电流源640、642、644及646所提供的每一参考电流均使延迟元件630、632、634及636分别提供90度的相移。
延迟元件630、632、634及636可为由电流源640、642、644及646提供电流的差动对,或者其可为另一适当类型的电路。
对电流源640、642、644及646所提供的参考电流加以镜像并将其提供至延迟单元650。延迟单元650相应地为选通信号提供一90度相移。根据本文中所述的训练序列来调整此90度相移。
图7为一图解说明一主DLL的方块图,该主DLL可用作图6中的主DLL 610或用作本发明其它实施例中的主DLL。其中包括一鉴相器710、电荷泵720、参考电流源730及延迟单元740。电荷泵720包括充电电流源722、放电电流源724及电容器726。
主时钟信号在线路750上由鉴相器710及延迟线路或延迟单元740接收到。当此电路被锁定时,延迟单元使主时钟信号延迟360度并将一输出提供至线路760上的鉴相器。如果在线路750与760上的信号之间存在一相位差或误差,则鉴相器710产生通至电流源722及724的充电或放电信号。这些电流源的变化会在电容器726两端提供一变化的电压,所述变化的电压又对电流源730所提供的电流加以调整。同样,对由这些电流源730提供的电流加以镜像并将其提供至用于为选通信号提供90度相移的各个延迟单元。
图8为一根据本发明一实施例的集成电路的一部分的方块图。其中包括一延迟锁定环810、一线路接收机820、可变延迟830、状态机840、再定时电路850、存储器860、测试模式存储器870及比较电路880。
数据在线路825上由接收机820接收到,接收机820又在线路827上将一输出提供至再定时电路850。再定时电路850可为一触发器、FIFO或其它适当结构。在本发明各实施例中,再定时电路850为一深度介于10与20位之间的FIFO。或者,可使用不同深度的FIFO。
一选通信号DQS在线路835上由可变延迟电路830接收到。可变延迟电路延迟所述选通信号并在线路837上将一时钟信号提供至再定时电路850。再定时电路850在线路855上将所接收的信号提供至存储器860。存储器860存储若干个位以形成一接收数据模式。
测试模式存储器870将正确模式-其为发送至接收机820的模式-提供至比较电路880。测试模式存储器可与集成电路分开,或者其可包括在集成电路上。比较电路880将线路865上的所接收数据模式与线路875上的已知较佳测试数据模式相比较。如果这两种模式相匹配,则将一成功信号在线路885上提供至状态机840。而如果所述模式不匹配,则将一失败信号在线路885上提供至状态机840。
状态机840对提供至可变延迟元件830的电流进行调整。在本发明的一具体实施例中,电流调整线路845上的电流始于一最大值并以离散步长减小。相应地,可变延迟元件所提供的延迟始于一最小值并增加至一最大持续时间。
在本发明的一具体实施例中,以离散步长改变线路845上的电流调整量。在每一离散步长处,接收机820均在线路825上接收到一测试或训练模式。在每一步长处,均判定是已正确地还是错误地接收到测试或训练模式。如上所述,使训练模式被正确接收到的第一及最后步长由状态机840保持。在一具体实施例中,对这两个步长进行平均,且在电流调整线路845上将对应电流提供至可变延迟元件830。在其它实施例中,可使用除平均以外的算法,例如可使用加权平均。
如前面一样,一主时钟信号在线路805上由DLL 810接收到,DLL 810在线路815上将一参考电流提供至可变延迟元件830。线路815上的参考电流是使可变延迟元件830提供一90度相移所需的电流。线路845上的电流调整量使此电流相应地改变。
图9为一以一种根据本发明一实施例的方式使用一训练序列来调整可变延迟的方法的流程图。在步骤910中,将一用于对选通信号进行延迟的可变延迟元件中的延迟设定成一最小值。在步骤920中,在一数据输入端处接收一测试模式或训练序列。在步骤930中,将所接收测试模式与一预期接收测试模式相比较,并在步骤940中,存储一成功或失败标记。
在步骤950中,判定所述延迟是否处于其最大值。如果不处于其最大值,则递增所述延迟,并在步骤920中接收另一测试模式。而如果已达到最大延迟,则在步骤970中对具有一与其相关联的成功标记的最小与最大延迟进行平均,并在步骤980中使用此平均值来设定可变延迟元件的延迟。
所属领域的技术人员将了解,可根据本发明的各实施例对该流程作出修改。例如,可在每次递增所述延迟时改变步长。例如,远离90度的步长可大于靠近90度的步长,因为正确的延迟可能靠近90度,且因此在此处需要更高的分辨率。而且,位数或训练序列数可根据步长位置改变。而且,对成功或者失败构成要素的判定也可改变。例如,可能要求100%成功,或者所述测试可只是简单多数或绝大多数。
一具体实施例所使用的训练模式是下文所给定模式的一级联形式。所述模式涵盖因单个1、单个0、数据速率的高频及分谐波频率而产生的最差情形ISI中的大部分。本发明其它实施例可使用其它训练模式,且训练模式中的位数可有所不同。
01 01011 0110111 011101111 01111001 0010011 001100111 00111
001111 0011110001 000100011 00011000111 0001110001111 000111100001 00001000011 0000上文对本发明各实例性实施例的说明是出于例示及说明目的而提供。其并非旨在作为穷尽性说明或将本发明限定为所述的确切形式,且根据上述教示可作出诸多修改及变化。选择并阐述所述实施例是为了最好地解释本发明的原理及其实际应用,从而使所属领域的其他技术人员能够以适合于所涵盖的特定应用的各种实施例及各种修改形式来最好地利用本发明。
权利要求
1.一种用于对一选通信号进行相移的方法,其包括将一可变延迟设定为一第一持续时间;接收所述选通信号;使所述选通信号延迟所述第一持续时间;接收一第一测试模式;将所述所接收的第一测试模式与一预期测试模式相比较以判定误差的存在;及将所述可变延迟改变成一第二持续时间。
2.如权利要求1所述的方法,其进一步包括接收所述选通信号;使所述选通信号延迟所述第二持续时间;接收一第二测试模式;将所述所接收的第二测试模式与一预期测试模式相比较以判定误差的存在。
3.如权利要求2所述的方法,其进一步包括在一延迟范围内以离散增量来改变所述可变延迟;在每一增量处,接收所述选通信号并使其延迟所述延迟;接收一测试模式;及将所述所接收测试模式与一预期测试模式相比较以确定误差的存在。
4.如权利要求3所述的方法,其进一步包括确定其中判定没有误差的最小延迟;及确定其中判定没有误差的最大延迟,其中使用所述其中判定没有误差的最小延迟及所述其中判定没有误差的最大延迟来为所述选通信号确定一延迟。
5.如权利要求4所述的方法,其中对所述其中判定没有误差的最小延迟与所述其中判定没有误差的最大延迟进行平均,并使用所述平均值来延迟所述选通信号以便恢复数据。
6.如权利要求5所述的方法,其中通过一双倍数据速率存储器接口来使用所述方法。
7.一种用于对一选通信号进行相移的方法,其包括以复数个步长来改变一用于对所述选通信号进行相移的延迟;在每一步长处,接收一训练模式;在每一步长处,判定所述训练模式是否被正确接收到;确定一其中所述训练模式被正确接收到的最小及最大延迟;及通过所述其中所述训练模式被正确接收到的最小及最大延迟,设定所述延迟。
8.如权利要求7所述的方法,其中对所述其中所述训练模式被正确接收到的最小与最大延迟进行平均。
9.如权利要求7所述的方法,其中通过将所述所接收的训练模式与一存储于存储器中的预期所接收训练模式相比较来做出所述训练模式是否被正确接收到的所述判定。
10.一种集成电路,其包括一接收缓冲器,其经配置以接收一数据信号;一延迟电路,其经配置以延迟一选通信号;一再定时电路,其经配置以对所述经延迟的选通信号的所述所接收的数据信号进行再定时;及一逻辑块,其经配置以判定所述数据信号是否被正确地接收到;及一状态机,其经配置以根据对所述数据信号是否被正确接收到的所述判定来设定所述延迟电路的一延迟。
11.如权利要求10所述的集成电路,其中所述延迟电路提供一可变延迟,所述延迟由所述状态机确定。
12.如权利要求11所述的集成电路,其进一步包括一用于存储一预期所接收测试模式的存储器。
13.如权利要求12所述的集成电路,其进一步包括一比较电路,所述比较电路经配置以将一所接收测试模式与所存储的预期所接收测试模式相比较。
14.如权利要求11所述的集成电路,其中所述集成电路为一图形处理器。
15.如权利要求11所述的集成电路,其中所述状态机通过复数个离散延迟来改变所述延迟电路的所述延迟,且在每一延迟处均接收到一测试模式。
16.如权利要求15所述的集成电路,其中对于每一离散延迟,均将一所接收测试模式与一存储于一存储器中的预期所接收测试模式相比较。
17.如权利要求16所述的集成电路,其中所述可变延迟在一最小值与一最大值之间变化,且使用所述所接收测试模式与预期所接收测试模式之间的所述比较来判定每一离散延迟处的误差的存在。
18.如权利要求17所述的集成电路,其中所述状态机存储所述其中未检测到误差的最小及最大延迟。
19.如权利要求18所述的集成电路,其中所述状态机对所述其中未检测到误差的最小与最大延迟进行平均。
20.如权利要求19所述的集成电路,其中所述平均值用于对所接收的数据进行再定时。
全文摘要
本发明揭示用于训练一相移电路以提供一用于改进数据恢复的相移的电路、方法及设备。本发明的一具体实施例提供一可变延迟单元。在接收训练模式的同时改变所述可变延迟单元中的延迟。跟踪所接收数据模式中的误差的存在,并根据所述误差存在与否来选择一较佳延迟并将其用于接收数据。
文档编号H04L7/00GK1930559SQ200580006990
公开日2007年3月14日 申请日期2005年1月26日 优先权日2004年1月27日
发明者顾庭盛, 阿什法克·R·谢赫 申请人:辉达公司