CN101536313B - 用于在fpga上的ddr3应用的读取对准实现 - Google Patents
用于在fpga上的ddr3应用的读取对准实现 Download PDFInfo
- Publication number
- CN101536313B CN101536313B CN2007800411365A CN200780041136A CN101536313B CN 101536313 B CN101536313 B CN 101536313B CN 2007800411365 A CN2007800411365 A CN 2007800411365A CN 200780041136 A CN200780041136 A CN 200780041136A CN 101536313 B CN101536313 B CN 101536313B
- Authority
- CN
- China
- Prior art keywords
- signal
- data
- group
- clock
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 claims abstract description 29
- 230000010363 phase shift Effects 0.000 claims description 37
- 230000001934 delay Effects 0.000 abstract description 7
- 230000003111 delayed effect Effects 0.000 abstract description 6
- 238000010408 sweeping Methods 0.000 abstract 1
- 230000015654 memory Effects 0.000 description 54
- 230000009471 action Effects 0.000 description 28
- 230000001360 synchronised effect Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 22
- 230000000630 rising effect Effects 0.000 description 12
- 238000012360 testing method Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000007689 inspection Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 4
- 239000013078 crystal Substances 0.000 description 3
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000132028 Bellis Species 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
- H03L7/0814—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
- H03L7/0816—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the controlled phase shifter and the frequency- or phase-detection arrangement being connected to a common input
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION, OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
Abstract
用于从装置的输入时钟域传送数据到核心时钟域的电路、方法和设备。实现此的一个实例通过在输入和核心电路之间使用重新定时元件。通过递增地掠过延迟和在每个增量接收数据来校准重新定时测量元件。将其中没有错误地接收数据的最小和最大延迟平均。该平均随后可以用于调整插入在由输入选通信号时钟控制的输入寄存器和由核心时钟信号时钟控制的输出寄存器之间的输入路径中的电路元件的时序。在一个实例中,可以将输入信号延迟对应于延迟设置的量。在其他实例中,使用在输入寄存器和输出寄存器之间的中间寄存器寄存每个输入信号,其中将时钟信号延迟对应于延迟设置的量。
Description
相关申请的交叉引用
本申请要求于2006年11月6日提交的美国临时申请60/857,249的权益,将其完全包括于此作为参考。背景技术[0020]在计算机系统中的装置之间传送的数据量以惊人的速度增加,且没有显示出减缓的迹象。具体来说,在存储器装置及其他装置,例如使用现场可编程门阵列(FPGA)实现的装置,之间传送的数据量惊人地增长。不幸地是,这些装置处理数据的速率增长得比存储器装置提供数据的能力要快。为此,正在开发更快的存储器接口协议。
一个这种更快的协议是双倍数据速率3(DDR3)接口标准。在该标准中,若干个存储器装置与FPGA或者其他装置上的存储器接口电路通信。每个存储器装置使用多个数据或者DQ信号以及选通或者DQS信号通信。当FPGA接收数据时,FPGA向存储器装置提供系统时钟信号,每个存储器装置向存储器接口电路提供DQS和多个DQ信号。存储器装置使用系统时钟来调整DQS和DQ信号的频率。然而,使用飞越(fly-by)拓扑将系统时钟路由到存储器装置。因此,向存储器接口异步地提供DQ和DQS信号,即,每个存储器装置可提供与系统时钟具有任何相位关系的DQS和DQ信号。
使用相应的DQS信号的相移版本来重新定时由存储器接口接收的DQ信号。这些重新定时的信号需要再次被重新定时到内部时钟,以将该信号传送到装置的核心,该内部时钟可能是系统时钟或者第二时钟信号。不幸地,如果在相移的DQS信号和系统时钟之间的时序不是最优的,则可能会产生数据恢复错误。现有技术包括使用先入先出存储器,但是这些是相对大型和复杂的电路。
由此,需要的是为了从装置的输入到其核心电路高效地传送数据的电路、方法和设备。
发明内容
因此,本发明的实施例提供用于从输入时钟域到装置的核心时钟域的数据传送的电路、方法和设备。本发明的示例性实施例通过使用装置的输入和核心电路之间的对准元件来实现上述目的。一个实施例通过递增地扫过(sweep)延迟和以每个增量接收数据来校准对准元件。记录并对其中无错误地接收数据的最小和最大延迟取平均以产生延迟设置。随后该延迟能够用于调整插入在由输入选通信号时钟控制的输入寄存器和由核心时钟信号时钟控制的输出寄存器之间的输入路径中的对准元件。在本发明的各种实施例中,可以直接使用延迟,即,可以将输入信号延迟对应于延迟设置的量。在本发明的其他实施例中,对准元件是设置在输入寄存器和输出寄存器之间的中间寄存器,其中使用中间寄存器重新定时每个输入信号,且其中将用于中间寄存器的时钟信号延迟对应于延迟设置的量。在本发明的一个这种实施例中,向中间寄存器提供多个时钟,将每个提供给一组数据输入,其中独立地调整每个时钟信号的延迟或者相位。在本发明的另一实施例中,向数据输入的每个组提供多个时钟,其中选择多个时钟之一并用于该组中的中间寄存器的时钟控制。在本发明的其他实施例中,例如锁存器的其他电路可以用作对准元件。
本发明的另一示例性实施例提供与例如在双列直插存储器模块(DIMM)上布置的多个存储器装置接口连接的存储器接口电路。每个存储器装置使用被称为DQS信号的选通信号和被称为DQ信号的若干数据线与存储器接口电路通信。存储器接口向每一个存储器装置提供系统时钟。存储器装置使用系统时钟以使得DQS和DQ信号具有正确的基频,且由每个存储器装置提供的选通和数据信号彼此对准。然而,最近的例如DDR3的存储器接口标准使用飞越拓扑路由系统时钟。该拓扑使得由存储器装置在不同的时间接收系统时钟。因此,每个存储器装置在相互之间偏斜的时间提供DQ和DQS信号。结果,接收的DQS选通信号与系统时钟不同相。
存储器接口从存储器装置接收数据信号,并使用由相应的选通信号时钟控制的输入寄存器对它们重新定时。然而,因为选通信号与存储器控制器中的系统时钟不同相,因此使用由系统时钟时钟控制的输出寄存器重新寄存输入数据信号,或者利用从连接到存储器接口的核心电路使用的系统时钟导出的第二时钟重新寄存输入数据信号。不幸地是,如果选通信号与系统时钟不正确地对准,则可能不恰当地从输入寄存器向输出寄存器传送了数据,且可能发生数据接收错误。
因此,本发明的特定实施例提供被实现为输入和输出寄存器之间的延迟元件的对准元件,以使得将数据适当地传送到核心电路。为校准延迟元件,由延迟元件提供的延迟在一定值的范围上递增。在该特定实施例中,该值的范围大约覆盖一个时钟周期时间段,然而在其他实施例中,该值的范围可以大于或者小于一个时钟周期。在每个递增处,由每个存储器装置向存储器接口提供已知的数据样本。对于在组中的每个DQ信号检查数据的接收错误。注意到其中对于组中的DQ信号发生无错误接收的最小和最大延迟。可以平均这些延迟且平均的延迟用于延迟输入信号。每个DQ/DQS组典型地被延迟一独立地确定的延迟,然而,典型地将在组中每个DQ信号延迟相同的量。在其他实施例中,可以将DQ/DQS组中的每个DQ延迟独立的量。
本发明的另一实施例提供实现为输入和输出寄存器之间的中间寄存器的对准元件。由系统时钟的延迟的版本对中间寄存器进行时钟控制,其中校准延迟用于无错误数据接收。在该实施例中,锁相环(PLL)产生系统时钟和系统时钟的若干个延迟的版本。对于一个组的DQ输入向中间寄存器提供系统时钟的每一个延迟的版本。同样,系统时钟的这些版本的延迟逐渐地增加(或者减小)且在每个增量接收已知的数据样本。对于每个DQ组,对其中对于在组中的DQ信号发生无错误接收的最小和最大延迟取平均,且将延迟了该量的时钟提供给用于DQ组的中间寄存器。典型地,具有一个延迟的一个时钟线用于DQ组中的每个中间寄存器,同时每个DQ组具有不同延迟的时钟,其具有独立地校准的延迟。
本发明的另一实施例还提供实现为输入和输出寄存器之间的中间寄存器的对准元件。由系统时钟的延迟的版本对这些中间寄存器进行时钟控制,其中校准延迟用于无错误数据接收。在该实施例中,多个延迟元件用于产生多个延迟的时钟,又使用时钟多路复用器多路复用该多个延迟的时钟。具体地说,由产生多个延迟的时钟信号的多个延迟元件接收例如对输出同步寄存器时钟控制的同步时钟或者从系统时钟导出的第二时钟的一个时钟。将延迟的时钟信号路由到每个DQ组。将时钟多路复用器与每个DQ组相关,其中时钟多路复用器选择延迟的时钟信号之一,且将其提供给DQ组中的中间寄存器。在校准期间,时钟多路复用器通过选择不同的输入时钟信号逐渐地调整其输出的时钟信号的延迟。再一次,在每个增量接收已知的数据样本。对于每个DQ组,平均其中对于在组中的DQ信号发生无错误接收的最小和最大延迟,且由时钟多路复用器选择延迟了该量的时钟,并提供给用于DQ组的中间寄存器。典型地,对于每个DQ组独立地选择所选的多路复用器输入。
本发明的各种实施例可包括在这里描述的这些或者其他特征的一个或多个。参考以下详细说明和附图可以更好地理解本发明的特征和优点。
附图说明
图1是通过并入本发明的实施例改进的可编程逻辑器件的简化框图;
图2是通过并入本发明的实施例改进的电子系统的框图;
图3是通过并入本发明的实施例改进的存储器接口的框图;
图4是更详细地示出图3的存储器接口的一部分的框图;
图5是通过并入本发明的实施例改进的存储器接口的输入路径的一部分的简化框图;
图6示出了用于图5的电路的可能的时序,其可能导致数据接收期间的亚态(metastate)及其他不稳定性;
图7是示出了包括符合本发明的实施例的对准元件的存储器接口电路的一部分的框图;
图8示出了图7示出的电路的时序;
图9是根据本发明的实施例的其中对准元件被实现为延迟线的存储器接口的一部分的框图;
图10示出了可以用作图9或者本发明的其他实施例中的延迟线940和942的延迟线;
图11是示出了用于通过图9中的延迟940和942设置延迟的校准处理的流程图;
图12是符合本发明的实施例的其中对准元件是寄存器的存储器接口的一部分的框图;
图13是示出了根据本发明的实施例的调整对准时钟的相位的方法的流程图;
图14是根据本发明的实施例的存储器接口电路的一部分的框图;
图15是示出了由本发明的实施例采用的校准逻辑的操作的流程图;
图16是可以用于实现图14中,或者本发明的其他实施例中的延迟锁定环路1460、延迟1420和延迟1440的延迟锁定环路、延迟元件、多个延迟元件和时钟多路复用器的框图;和
图17示出了图16的电路的一个可能的简化。
具体实施方式
图1是其中能够使用根据本发明的技术的示例性高密度可编程逻辑器件或者FPGA 100的简化的部分框图。PLD 100包括由变化长度和速度的列和行互连的网络互连的可编程逻辑阵列块(或者LAB)102的二维阵列。LAB 102包括多个(例如,10个)逻辑元件(或者LE),LE是提供用于高效实现用户定义的逻辑功能的小的逻辑单元。
PLD 100还包括分布存储器结构,其包括在整个阵列中提供的尺寸变动的RAM块。RAM块包括,例如,512个位块104,4K块106,和提供RAM的512个位的M-块108。这些存储器块还可以包括移位寄存器和FIFO缓存器。PLD 100进一步包括数字信号处理(DSP)块110,其能够实现,例如,具有加法或者减法特征的乘法器。
将要理解在这里描述的PLD 100仅用于说明性的目的,而能够以许多不同类型的PLD、FPGA和其他类型的数字集成电路来实现本发明。
图1示出的类型的PLD或者FPGA提供了实现系统齐平解决方案需要的许多资源,同时,本发明还可以有益于其中PLD是几个组件中的一个的系统。
图2示出了在其中可以实现本发明的示例性数字系统200的框图。系统200可以是编程的数字计算机系统、数字信号处理系统、专用数字交换网或者其他处理系统。此外,这种系统可以设计用于多种的应用,例如电信系统、汽车系统、控制系统、消费者电子设备、个人计算机、因特网通信和网络连接等。进一步,系统200可以被设置在单板上、设置在多个板上、或设置在多个包封物内。
系统200包括由一个或多个总线互连在一起的处理单元202、存储器单元204和输入/输出单元206。根据该示例性实施例,将可编程逻辑器件(PLD)208嵌入在处理单元202中。PLD 208可在图2的系统内用作许多不同目的。例如,PLD 208可以是支持其内部和外部操作的处理单元202的逻辑构建块。PLD 208被编程用于实现在系统操作中执行其具体的角色所需的罗辑功能。PLD 208可以通过连接210特别耦合到存储器204且通过连接212耦合到输入/输出单元206。
处理单元202可将数据引导到适当的系统组件用于处理或者存储,执行存储在存储器204中的程序,或者经由输入/输出单元206接收和发送数据,或者其他类似的功能。处理单元202可以是中央处理单元(CPU)、微处理器、浮点协处理器、图形协处理器、硬件控制器、微控制器、编程以用作控制器的可编程逻辑器件、网络控制器等。此外,在许多实施例中,通常不需要CPU。
例如,代替CPU,一个或多个PLD 208能够控制系统的逻辑操作。在实施例中,PLD 208用作可重构的处理器,能够按照需要重新编程以处理具体的计算任务。可选的,可编程逻辑器件208本身可包括嵌入式微处理器。存储器单元204可以是随机存取存储器(RAM)、只读存储器(ROM)、固定或者软盘介质、PC卡闪存盘存储器、磁带、或任意其他存储器装置,或者这些存储器装置的任何组合。
图3是通过并入本发明的实施例改进的存储器接口的框图。该图包括多个存储器,在该实例中以双列直插式存储器模块(DIMM)300布置,且包括集成电路,在该实例中是FPGA 340。DIMM 300包括多个存储器装置310、320到330。FPGA 340包括存储器控制器350和核心电路360。存储器控制器350使用多个DQS/DQ组312、322和332读和写数据,并从核心电路360接收数据和向核心电路360提供数据。从系统时钟352获得用于DQS和DQ信号的时序,从存储器控制器350向存储器装置310、320和330提供系统时钟352。
在DDR3系统中,使用飞越拓扑路由系统时钟352。也就是说,存储器装置310到330以串行方式接收系统时钟352。还可以用这种方法路由其他信号,例如控制信号(未示出)。该拓扑提供了与更常规的路由相比更大的信号完整性。使用该拓扑的结果是存储器装置310首先接收系统时钟352,且其他存储器装置在稍晚的时间接收系统时钟,存储器装置330最后接收系统时钟。在系统时钟352到达存储器装置之间的时滞可以与时钟周期类似。因为用于由存储器装置提供的DQ和DQS信号的时序基于系统时钟352,因此由存储器控制器350接收的DQ和DQS信号还可以时滞一时钟周期。
因此,来自存储器装置的DDQS和DQ信号组的每一个都在相同频率操作,但是具有彼此不相关的相位关系。如下所示,不需要更多,由于在从捕捉寄存器到同步寄存器的数据传送期间发生的时序错误,这些相移能够引起存储器控制器350接收数据的错误。因此,本发明的实施例提供了用于例如存储器控制器350的存储器控制器的一致和精确数据接收的电路、方法和设备。
图4更详细地示出了图3的存储器接口的一部分的框图。该图包括进一步包括存储器核心402、多用途寄存器404和存储器输入和输出接口406的存储器装置400以及集成电路460,该集成电路460例如是FPGA,其包括延迟元件410、捕捉寄存器420到424、同步寄存器430到434、锁相环440和核心电路450。
在该实例实施例中,锁相环440将系统时钟提供给存储器装置400。由此,存储器装置提供数据选通DQS信号和数据信号DQ1、DQ2和DQN。数据选通信号由延迟电路410相移以产生延迟的DQS信号,DDQS。延迟的选通信号DDQS为分别捕捉输入数据信号DQ1、DQ2和DQN的捕捉寄存器420、422和424提供时钟控制(clock)。将捕捉寄存器的输出提供给由系统时钟时钟控制的同步寄存器430、432和434。将同步寄存器的输出提供给核心电路450。
在典型系统中,当由存储器接口406提供数据选通信号DQS时,该数据选通信号DQS与数据信号DQ1、DQ2和DQN对准。一旦由FPGA 460接收,延迟DQS信号,典型地延迟大约90度(虽然可能需要其他相移),以使得延迟的DQS信号DDQS的边沿位于输入(income)的DQ数据的位的中心。这使得捕捉寄存器能够时钟控制引入的DQ数据。
再一次,DQS信号可具有与系统时钟的任何相位关系。由此,DDQS信号也可以具有与系统时钟的任何可能的相位关系。这意味着当数据从捕捉寄存器传递到同步寄存器时,可能发生亚态或者其他不稳定性。这在下面的附图中进一步示出。
图5是通过并入本发明的实施例改进的存储器接口的输入路径的一部分的简化框图。该图包括延迟元件510、捕捉寄存器520、和同步寄存器530。由捕捉寄存器520在DQ线上接收数据。从存储器装置接收DQS信号且由延迟电路510延迟或者相移以产生延迟的DQS信号DDQS。DDQS信号时钟控制捕捉寄存器,捕捉寄存器向同步寄存器530提供重新定时的数据输出CQ。该同步寄存器530由同步时钟时钟控制,且向核心电路或者其他电路提供输出DATAOUT。
如果在系统时钟的有效边沿附近发生信号CQ的数据转变,可能在同步寄存器中出现亚态或者其他不稳定性,导致在DATAOUT的接收数据的错误。在下面实例,同步寄存器530的有效边沿被显示为上升沿,然而在本发明的其他实施例中,同步寄存器530的有效边沿可以是下降沿。
图6示出了用于图5的电路的可能的时序,其可能导致数据接收期间的亚态及其他不稳定性。这些亚态或者其他不稳定性通常会导致数据接收中的错误。在该实例中,时序图示出了用于数据信号DQ 610、数据选通信号DQS 620、延迟的DQS信号DDQS 630、重新定时的数据信号CQ 640、同步时钟SYNC CLOCK 650和数据输出信号DATAOUT 660的时序。
信号DQ 610和DQS 620是由例如FPGA的集成电路从存储器装置接收的。将数据选通信号DQS 620相移量632,以产生DDQS 630。DDQS 630时钟控制DQ 610信号以产生CQ 640。CQ640的边沿在DQS上升沿之后时钟-到-Q延迟642。再一次,SYNCCLOCK 650可具有和DDQS 630的任意时序关系。如果SYNCCLOCK 650的上升沿以小于建立时间652的量接近数据边沿644,则可能出现亚态或者数据不稳定性。类似地,如果SYNC CLOCK650的上升沿接近于数据边沿646,则可能违反(violate)保持时间656。如果这些条件之一发生,即,违反了建立时间652或者保持时间656,则可能出现输出信号DATAOUT 660的不稳定性。因此,本发明的实施例提供了对准元件,以使得信号CQ 640保持与SYNCCLOCK 650的关系以使得这些寄存器不会变得亚稳定且不出现不稳定性。在下面的图中示出实例。
图7是示出了包括符合本发明的实施例的对准元件的存储器接口电路的一部分的框图。该图包括捕捉寄存器720、对准元件725、同步寄存器730、延迟710、延迟锁定环路740和锁相环750。由捕捉寄存器720接收数据信号DQ。由延迟710接收数据选通信号DQS且移相以产生时钟控制捕捉寄存器720的延迟的DQS信号DDQS。捕捉寄存器720的输出由对准元件725接收,该对准元件725依次向同步寄存器730提供输出。由锁相环750提供的同步时钟对同步寄存器730进行时钟控制。同步寄存器730向其他电路(未示出),例如FPGA的核心电路提供输出DATAOUT。延迟锁定环路740同步到由锁相环750产生的本地时钟,且向延迟710提供控制信号COUNT,以使得适当地移相DDQS信号以时钟控制引入的数据DQ。
在不存在对准元件725的情况下,可以在同步时钟的有效边沿附近向同步寄存器730提供由捕捉寄存器720提供的数据CQ。在这种条件下,同步寄存器可能变得不稳定,且在DATAOUT线上提供不正确的数据。因此,对准元件725重新定时来自捕捉寄存器720的输出CQ为信号LQ,该信号LQ具有与同步时钟更期望的时序关系。在本发明的各种实施例中,对准元件725可包括各种电路。在本发明的特定实施例中,对准元件是改变其延迟以避免同步寄存器730中的亚稳定性的延迟线。在本发明的其他实施例中,对准元件720包括由其相位能够被改变的时钟定时的寄存器。在本发明的其他实施例中,可以使用其他电路,例如锁存器。在下面图中示出说明图7的电路的时序的时序图。
图8说明图7示出的电路的时序。该图包括用于信号DQ810、DQS 820、DDQS 830、CQ 840、LQ 850、同步(SYNC)CLOCK 860、和DATAOUT 870的时序。数据选通信号DQS 820被相移了量832以产生DDQS信号830。DDQS信号用于捕捉数据信号DQ。捕捉寄存器的输出,CQ 840在时钟边沿之后时钟-到-Q延迟842。
对准元件725将数据信号CQ 840相移了量846以产生LQ 850,以使得LQ 850的数据边沿852远离SYNC CLOCK 860的上升沿862和864。DATAOUT信号870在SYNC CLOCK 860的上升沿864之后时钟-到-Q延迟872改变状态。再一次,在本发明的各种实施例中,可以使用各种类型的电路实现对准元件。在本发明的特定实施例中,对准元件725是延迟线。在以下图中示出实例。
图9是根据本发明的实施例的其中对准元件被实现为延迟线的存储器接口的一部分的框图。该图包括被实现为触发器FF1、FF2和FF3的捕捉寄存器、在此处被实现为延迟940和942的对准元件、和同步寄存器触发器FF4和FF5。还包括延迟920、延迟锁定环路960、锁相环970和校准逻辑980。
由捕捉寄存器触发器FF1和FF3在DDQS信号的交替边沿上接收数据DQ。FF1的输出由触发器FF2重新定时,以使得由捕捉寄存器在DDQS的上升沿提供数据输出CQ和CQ1。延迟数据选通信号DQS以产生DDQS信号。捕捉寄存器CQ和CQ1的输出由延迟元件940和942延迟以产生信号LQ和LQ1。信号LQ和LQ1由提供数据输出DATAOUT和DATAOUT1的再同步寄存器FF4和FF5重新定时。调整由延迟线940和942提供的延迟,以使得在再同步寄存器FF4和FF5处避免不稳定性。
由锁相环970从晶体振荡器或者其他周期源接收到系统时钟,该锁相环970以此产生本地时钟和同步时钟。同步时钟由延迟锁定环路960跟踪,该延迟锁定环路960提供控制信号COUNT到延迟920、940、942。这在延迟线中通过各个延迟元件设置延迟。以这种方式,当温度、处理和电压改变时,能够调整COUNT的值,由此保持延迟至少相对恒定。
因此,COUNT信号随着改变的温度、电压和处理递增或者递减,以使得通过延迟940和942的延迟保持相当的恒定。再一次,如果LQ和LQ1信号的数据边沿接近于同步时钟的有效边沿,在同步寄存器中可能有亚稳定情况。因此,调整延迟元件940和942的延迟以避免这些情况。具体地说,由校准逻辑980提供的一个或多个SELECT信号调整通过延迟940和延迟942的延迟。以这种方式,由COUNT信号和SELECT信号控制由延迟940和942提供的延迟,COUNT信号调整以补偿温度和电源改变,以及该SELECT信号调整延迟,以适当地传送数据。在以下图中示出了以这种方式调整的延迟元件的实例。
图10示出了可以用作图9中的延迟线940和942,或者本发明的其他实施例中的延迟线的延迟线。该图包括多个延迟元件DE1、DE2、DE3和DE4,由多路复用器1020在由校准逻辑电路提供的一个或多个选择信号的控制下选择其输出。在本发明的其他实施例中,可以使用许多其他延迟元件。例如,需要更高分辨率时,能够使用更多的延迟元件。具有“N”个元件的延迟线将提供360/N的分辨率。
具体地说,在线1004上向延迟元件DE1、DE2、DE3和DE4提供控制信号COUNT。其控制通过每个延迟元件的延迟,以使得由它们提供的延迟具有对于温度、处理和电压的减小的变化性。具体地说,每个延迟元件可以被实现为一个或多个单独的延迟电路,其中延迟取决于COUNT信号的值。例如,每个延迟元件可以是具有将电容器两端的电压放电的电流的一个或多个电路。另一方面,每个延迟元件可以包括一个或多个电流饥饿(current starved)的反向器,其中将电流饥饿的反向器实现为向反相级提供可变电流的电流源。电流的值可以取决于COUNT信号的值,以使得较低的COUNT值向反向器提供较少的电流,增加通过反向器的延迟。在本发明的其他实施例中,可以实现其他类型的延迟元件。
将由多路复用器1020选择的信号作为数据信号提供给同步寄存器之一。选择信号或者多个选择信号1006是由校准逻辑电路产生的,以使得避免同步寄存器中的亚态或者不稳定性。在以下图中示出校准逻辑怎样实现该任务的实例。
图11是说明用于设置通过图9中的延迟940和942的延迟或者本发明的其他实施例中的延迟的校准处理的流程图。在该方法中,以多个可能的延迟设置接收数据。确定以每个延迟设置的数据接收的有效性,且由此找到最优延迟设置。
具体地说,在动作1110,设置初始延迟。在动作1120,接收测试样本。在本发明的典型实施例中,该测试样本是从位于存储器装置上的板上测试寄存器接收到的,例如,从多用途寄存器404。
在动作1130,确定是否已经正确地接收该测试样本。在本发明的典型实施例中,检查来自每个双倍数据速率路径的仅一侧的数据以确定是否已经正确地接收了数据。例如,在图9中,检查在DATAOUT输出处的数据,同时在DATAOUT1处的数据是冗余的且因此未进行检查以加快校准处理。在本发明的其他实施例中,仅检查DATAOUT1输出,而在其它实施例中,检查两个输出。另外,在本发明的各种实施例中,检查由在DQ/DQS组中的每个DQ路径接收的数据以确定是否正确地接收了数据,即,需要由每个DQ路径正确地接收数据以被认为是正确的接收。在其他实施例中,仅检查一个DQ路径,同样加快校准处理。在其他实施例中,可以混合这些及其他技术。例如,可以使用DQ/DQS组中的每个DQ路径执行初始校准,而仅使用一个DQ路径进行后来的调整。
在动作1140,改变延迟。例如,可以由图10中的多路复用器1020选择新的多路复用器输入。在动作1150,再次接收测试样本,而在动作1160,确定是否正确地接收了该样本。在动作1170,确定是否已经测试了最后的延迟。如果不,在动作1140再次改变延迟。如果已经测试了最后的延迟,则在动作1180,对其中正确地接收了样本的最小和最大延迟取平均,且该延迟用作用于延迟元件940和942的延迟。在本发明的其中延迟单调地递增或者递减的实施例中,延迟被设置为其中正确地接收样本的第一和最后延迟的平均。
图12是符合本发明的实施例的存储器接口的一部分的框图。在该实施例中,对准元件是寄存器。该图包括使用触发器FF1、FF2和FF3实现的双倍数据速率捕捉寄存器,使用触发器FF4和FF5实现的对准元件,同步寄存器FF6和FF7,延迟元件1220,延迟锁定环路1260,和锁相环1270。
由触发器FF1和FF3在延迟的DQS信号DDQS的交替边沿上在DQ线上接收数据。在DDQS信号的上升沿将捕捉寄存器的输出作为CQ和CQ1提供给对准元件FF4和FF5。对准元件重新定时该数据并将输出LQ和LQ1提供给同步寄存器FF6和FF7。这些寄存器随后将数据输出DATAOUT和DATAOUT1提供给核心或其他电路。
由延迟元件1220接收数据选通信号DQS,该延迟元件1220对数据选通信号DQS移相以产生延迟的DQS信号DDQS。例如,由晶体振荡器或者其他源产生的系统时钟由锁相环1270接收。锁相环1270产生用于延迟锁定环路1260的本地时钟,用于对准元件FF4和FF5的对准时钟,和用于同步寄存器FF6和FF7的同步时钟。该延迟锁定环路1260同步到本地时钟并产生数字控制信号COUNT,其将数字控制信号COUNT提供给延迟元件1220。
在这些电路中,从捕捉寄存器触发器FF2和FF3向对准元件FF4和FF5传送数据,且再次从对准元件FF4和FF5向同步寄存器FF6和FF7传送数据。因此,当对准元件FF4和FF5从捕捉寄存器触发器FF2和FF3接收数据时,且再次当对准元件FF4和FF5将数据提供到同步寄存器FF6和FF7时,应该定时对准时钟以使得避免亚态和不稳定性。因此,在本发明的实施例中,由锁相环1270调整关于同步时钟的对准时钟的延迟,以使得正确地接收数据并将数据提供到核心电路。
在本发明的一个实施例中,锁相环1270对于由存储器接口接收的信号的每个DQ/DQS组提供一个对准时钟信号。在本发明的其他实施例中,可以向其他组信号路径提供其他多个对准时钟。在以下图中示出调整对准时钟时序的一个方法。
图13是示出了根据本发明的实施例的调整对准时钟的相位的方法的流程图。在该方法中,调整对准时钟信号和同步时钟信号之间的相位关系,以优化存储器接口的数据接收。在本发明的其他实施例中,可以关于其他时钟信号调整对准时钟的相位。
具体地说,在动作1310中,将锁相环产生的时钟的相位设置为初始值。在动作1320,接收测试样本。在动作1330,确定是否正确地接收了该样本。在动作1340,改变由锁相环提供的时钟的相位。再一次,在动作1350,接收测试样本。在动作1360确定是否正确地接收了该样本。在动作1370,确定是否已经测试了最后相位。如果没有,则在动作1340再次改变由锁相环提供的时钟的相位。如果已经测试了最后的相位,在动作1380将锁相环延迟提供的对准时钟的相位设置为其中正确地接收了样本的最小和最大延迟的平均。在其中延迟单调地递增或者递减的情形中,锁相环被设置为其中正确地接收样本的第一和最后延迟的平均。
图14是根据本发明的实施例的存储器接口电路的一部分的框图。该图包括使用触发器FF1、FF2和FF3实现的捕捉寄存器,实现为触发器FF4和FF5的对准元件,同步寄存器FF6和FF7,延迟元件1420,时钟多路复用器1430,延迟元件1440,校准逻辑1450,延迟锁定环路1460,和锁相环1470。
由捕捉寄存器触发器FF1和FF3接收数据信号DQ,其由DDQS信号的交替边沿时钟控制。触发器FF1的输出由触发器FF2重新定时,以使得捕捉寄存器在DDQS信号的上升沿提供输出CQ和CQ1。由对准元件寄存器FF4和FF5在对准时钟的上升沿接收这些输出信号,该对准元件寄存器FF4和FF5在对准时钟的上升沿提供输出LQ和LQ1。同步寄存器FF6和FF7在同步时钟的上升沿接收该数据,且由此提供输出DATAOUT和DATAOUT1到其他电路,例如到FPGA上的核心电路(未示出)。延迟元件1420延迟DQS信号以产生延迟的DQS信号DDQS。锁相环1470从晶体振荡器或者其他周期信号源接收系统时钟信号,产生本地时钟,且将其提供给延迟锁定环路1460。延迟锁定环路1460将控制信号COUNT提供给延迟元件1420和1440。锁相环1470还将同步时钟提供给同步寄存器FF6和FF7。
同步时钟被延迟元件1440延迟,其产生多个时钟信号CLK[1:n]。这些时钟信号的相位彼此分开,以使得时钟多路复用器可选择具有不同相位的多个时钟中的一个。在本发明的特定实施例中,向时钟多路复用器提供具有不同相位的八个时钟信号,选择其中之一并作为对准时钟提供,然而在本发明的其他实施例中,可以提供其他数目的时钟并从中进行选择。这些时钟信号由时钟多路复用器1430多路复用,以将对准时钟信号提供给对准寄存器FF4和FF5。由校准逻辑1450控制时钟多路复用器选择。
在本发明的特定实施例中,将多个时钟信号CLK[1:n]提供给每个DQ/DQS组。每个DQ/DQS组包括选择这些时钟之一作为用于该组的对准时钟的时钟多路复用器1430。该布置限制了需要的延迟元件1440的数目,但是在向每个DQ/DQS组传递时钟信号CLK[1:n]时耗费了路由资源。在其他实施例中,将同步时钟路由到每个DQ/DQS组,每个DQ/DQS组具有延迟元件1440和时钟多路复用器1430。这些实施例减少了耗费的路由资源,但是需要大量的延迟元件1440。
再一次,对准时钟应该被定时以避免当对准元件寄存器FF4和FF5从捕捉寄存器接收数据时,和当同步寄存器FF6和FF7从对准寄存器FF4和FF5接收数据时的亚态和不稳定性。再一次,在每个信号传送时,所提供的数据应该被提供为不违反寄存器建立和保持时间。典型地,这意味着应该调整对准时钟以使得其边沿远离数据信号CQ和CQ1的边沿,且应该调整在对准时钟信号之后时钟-到-Q延迟的数据信号LQ和LQ1,以使得它们的边沿远离同步时钟的有效边沿。通过使用校准逻辑1450选择时钟信号CLK[1:n]之一来控制该调整。在以下图中示出怎样进行该示例。能够实现另外的保护以同样帮助从寄存器到寄存器的数据传送。例如,能够选择性地插入延迟元件。另外,能够在信号路径中选择性地插入负边沿触发寄存器,其中在需要提供适当的建立和保持时间的位置插入负边沿触发寄存器。并且,因为由用于系统时钟的飞越拓扑引起了偏斜,因此可以选择性地插入或者除去附加的寄存器,以使得在相同的时钟周期上从存储器控制器将从存储器装置接收到的每个组的DQ信号传送到核心电路。在Bellis等人的标题为“I/O BLOCK FOR HIGHPERFORMANCE MEMORY INTERFACES”的于20076年11月5日提交的共同未决共有专利申请号11/__,__中说明了可以并入本发明的实施例的这些及其他电路技术,其代理人案号为015114-085010US,将其通过引用完全包括在此。
图15是示出了由本发明的实施例采用的校准逻辑的操作的流程图。在该方法中,将具有不同相位的多个时钟信号提供到多路复用器。使用这些相位的每一个作为对准时钟来接收测试样本数据。在每个相位,确定是否正确地接收了数据,且由此,确定用于对准时钟的最优相位。
具体地说,在动作1510,将具有不同相位的多个时钟信号作为输入提供到时钟多路复用器。选择初始的多路复用器输入。在动作1520,例如,从多用途寄存器404接收测试样本。在动作1530,确定是否正确地接收了样本。在动作1540中,选择新的时钟多路复用器输入。再一次,在动作1550接收测试样本,而在动作1560确定是否正确地接收了样本。在动作1570,确定是否已经检查了最后的时钟多路复用器输入。如果没有,则在动作1540选择新的时钟多路复用器输入。
如果在动作1570已经检查了最后的多路复用器输入,则在动作1580将具有如下相位的时钟相位选为对准时钟,所述相位等于其中正确地接收测试样本的最小和最大相位的平均。在本发明的各种实施例中,选择时钟多路复用器输入以使得时钟相位单调地递增或者递减。在这种情况下,具有如下相位的时钟相位可以被用作对准时钟,所述相位等于用于其中正确地接收到测试样本数据的第一和最后时钟输入的相位的平均。
再一次,在例如这里示出的实例的本发明的典型实施例中,仅检查来自一个数据路径的数据以确定是否已经正确地接收了数据。例如,在图14中,检查在DATAOUT输出处的数据,同时在DATAOUT1处的数据是冗余的且因此未检查以加快校准处理。在本发明的其他实施例中,仅检查DATAOUT1输出,而在其它实施例中,检查两个输出。另外,在本发明的各种实施例中,检查由在DQ/DQS组中的每个DQ路径接收的数据以确定是否正确地接收了数据,即,数据需要被每个DQ路径正确地接收以被认为被正确地接收了。在其他实施例中,仅检查一个DQ路径,同样加快了校准处理。在其他实施例中,可以混合这些及其他技术。例如,可以使用DQ/DQS组中的每个DQ路径执行初始校准,而仅使用一个DQ路径进行后来的调整。
在上述实例中,延迟锁定环路产生控制信号COUNT,其被用于控制由各种延迟元件提供的延迟。例如,在图15中,延迟锁定环路1560产生COUNT信号,其由延迟元件1420使用以产生相移的DQS信号,且由延迟元件1440使用以产生多个时钟信号。在以下图中示出了可以使用的实例电路。
图16是可以用于实现图14中,或者本发明的其他实施例中的延迟锁定环路1460、延迟1420和延迟1440的延迟锁定环路、延迟元件、多个延迟元件和时钟多路复用器的框图。该图包括由延迟元件DE1、DE2、DE3和DE4,相位检测器1640,计数器1650,延迟元件DE5、DE6和DE7(其输出由时钟多路复用器1610选择以提供对准时钟)和延迟元件DE8(其用于对数据选通DQS信号进行移相以产生时钟控制输入数据捕捉寄存器的DDQS信号)构成的延迟锁定环路。
在该实例中,延迟元件DE1到DE8中的每一个提供等于本地时钟周期的90度的相移。在本发明的其他实施例中,能够使用其他多个延迟元件,且每个延迟元件可提供不同于90度的相移。本地时钟由延迟元件DE1接收,延迟元件DE1相移该本地时钟且将其连续地提供给DE2、DE3和DE4。将该链的输出提供到也接收本地时钟信号的相位检测器1640。该相位检测器1640提供递增或者递减由计数器1650提供的COUNT的信号,计数器1650将控制信号COUNT提供到延迟元件DE1到DE4。当锁定延迟锁定环路时,同步本地时钟和延迟元件DE4的输出。在此,每个延迟元件DE1到DE4提供90度相移,360相移,或者总计一个完整的周期。相同的COUNT信号用于调整由延迟元件DE5、DE6和DE7提供的延迟。由时钟多路复用器1610在由校准逻辑(未示出)提供的选择信号的控制之下,多路复用本地时钟和延迟元件的输出。将多路复用器1610的输出作为对准时钟提供到对准寄存器(未示出)。还将相同的COUNT信号提供到延迟元件DE8,以使得延迟元件向DQS信号提供90度相移以产生DDQS。
该图在延迟锁定环路中包括四个延迟元件DE 1、DE2、DE3和DE4。在其他实施例中,可以使用其他许多延迟元件。典型地,延迟元件将时钟信号相移360度,或者一个时钟周期。然而,可以反相延迟线的输出,而在这样情况下延迟元件将时钟周期相移180度,且通过由信号反转实现另外的180度相移。其中四个延迟元件用于将时钟延迟一个周期,每个延迟元件将时钟信号相移90度。在使用“N”个延迟元件的情况下,每个延迟元件将时钟信号相移360/N,或者如果使用信号反相,则相移180/N。并且,为简单起见,仅一个延迟元件DE8用于延迟DQS信号。在实际的电路中,更多延迟元件可以用于向用户提供更大的灵活性。另外,每个延迟元件可以由多个子元件构成,其中可以改变子元件的数目以提供更大的灵活性。例如,可以使用选择或者多路复用器电路来旁路一个或多个这种子元件。
图17说明可以在本发明的某些实施例中期望的图16的电路的可能的简化。在图16中,可以看出延迟元件DE1、DE2和DE3的功能由延迟元件DE5,DE6和DE7重复。因此,在本发明的某些实施例中,可以如图17所示简化电路。例如,在本发明的一个实施例中,延迟元件DE5,DE6和DE7被放置在存储器接口中一次,且将它们的输出路由到位于每个DQ/DQS组中的时钟多路复用器,同时也将延迟元件DE1,DE2和DE3放置在存储器接口中一次。在该实施例中,可以期望合并延迟元件DE1,DE2和DE3的功能与延迟元件DE5,DE6和DE7的功能。在本发明的其他实施例中,由于布局近似或者其他原因,这种简化可能是不期望的。例如,在本发明的一个实施例中,延迟元件DE5,DE6和DE7重复一次,且与时钟多路复用器一起被放置在每个DQ/DQS组附近,而对于存储器接口仅实现延迟元件DE1,DE2和DE3一次。
已经为了说明和描述的目的呈现了本发明的示例性实施例的上述描述。其不意在是穷举的或限制本发明到所述的确切形式,且在上述教导下可作出许多修改和变化。选择和描述实施例以最好地解释本发明的原理和其实际应用以由此使得本领域技术人员能够以各种实施例最好地利用本发明,且做出适于考虑的具体的使用的各种修改。
Claims (23)
1.一种接收数据的方法,包括:
接收多个选通信号;
接收多组数据信号,其中每组数据信号与选通信号相关联;
对于每组数据信号:
使用相关联的选通信号重新定时组中的每个数据信号以产生第一重新定时的数据信号组;和
对每个第一重新定时的数据信号移相以产生第二重新定时的数据信号组,其中,对组中的第一重新定时的数据信号移相被校准的量以减少数据接收错误;和
使用第一时钟信号重新定时多个第二重新定时的数据信号组。
2.如权利要求1所述的方法,其中,使用延迟元件对每个第一重新定时的信号移相。
3.如权利要求1所述的方法,进一步包括:
在重新定时组中的每个数据信号之前,对相关联的选通信号移相。
4.如权利要求3所述的方法,其中,对选通信号移相包括将相关联的选通信号移相大约90度。
5.如权利要求3所述的方法,其中,使用相关联的选通信号重新定时组中的每个数据信号包括使用由相关联的选通信号时钟控制的双倍数据速率寄存器接收每个数据信号。
6.如权利要求3所述的方法,其中,通过下面步骤校准所述量:
将所述量从第一值递增到第二值;
在每次递增时,接收已知的数据样本并确定是否正确地接收了组中的每个数据信号;和
利用是否正确地接收了数据的每个确定来设置所述量。
7.一种集成电路,包括:
多组输入单元,每组输入单元包括:
选通信号输入缓存器;
数据输入缓存器组;
输入寄存器组,其每个被耦合为接收来自数据输入缓存器组中的一个数据输入缓存器的输出;
延迟元件组,其每个被耦合为接收来自输入寄存器组中的一个输入寄存器的输出,其中延迟元件提供第一延迟以使得输入单元组正确地接收数据;
输出寄存器组,其每个被耦合为接收来自延迟元件组中的一个延迟元件的输出。
8.如权利要求7所述的集成电路,其中,通过第一时钟信号时钟控制多组输入单元中的输出寄存器组。
9.如权利要求8所述的集成电路,其中,使用锁相环产生第一时钟信号。
10.如权利要求7所述的集成电路,其中,每个输入寄存器包括:
耦合到数据输入缓存器的输出的第一触发器;
耦合到数据输入缓存器的输出的第二触发器;和
耦合到第一触发器的输出的第三触发器。
11.如权利要求7所述的集成电路,进一步包括:
耦合到选通信号输入缓存器的输出的移相电路,其中,该移相电路对在选通信号输入缓存器处接收的选通信号移相大约90度。
12.如权利要求7所述的集成电路,进一步包括提供计数的延迟锁定环路,其中,调整该计数以设置通过延迟元件组的第一延迟。
13.一种接收数据的方法,包括:
接收多个选通信号;
接收多组数据信号,其中每组数据信号与选通信号相关联;
对于每组数据信号:
使用相关联的选通信号重新定时组中的每个数据信号以产生第一重新定时的数据信号组;
接收多个时钟信号;
在多个时钟信号中选择第一时钟;和
使用第一时钟信号重新定时组中的每个第一重新定时的数据信号,以产生第二重新定时的数据信号组,其中,选择第一时钟信号以减少数据接收错误;和
使用第二时钟信号重新定时多个第二重新定时的数据信号组。
14.如权利要求13所述的方法,其中,使用触发器重新定时每个第一重新定时的信号。
15.如权利要求13所述的方法,进一步包括:
在重新定时组中的每个数据信号之前,对相关联的选通信号移相。
16.如权利要求15所述的方法,其中,对选通信号移相包括将相关联的选通信号移相大约90度。
17.如权利要求15所述的方法,其中,使用相关联的选通信号重新定时组中的每个数据信号包括使用由该相关联的选通信号时钟控制的双倍数据速率寄存器接收每个数据信号。
18.如权利要求15所述的方法,其中,通过下面步骤校准所述量:
选择多个时钟信号的每一个;
对于每个选择的时钟信号,接收已知的数据样本和确定是否正确地接收了组中的每个数据信号;和
利用是否正确地接收了数据的每个确定来选择第一时钟信号。
19.一种集成电路,包括:
多组输入单元,每组输入单元包括:
选通信号输入缓存器;
数据输入缓存器组;
输入寄存器组,每个输入寄存器被耦合为接收来自数据输入缓存器组中的一个数据输入缓存器的输出;
再同步寄存器组,每个再同步寄存器被耦合为接收来自输入寄存器组中的一个输入寄存器的输出;
时钟多路复用器,其被耦合为接收多个时钟信号并向再同步寄存器组提供第一时钟信号,其中选择第一时钟信号以使得输入单元组正确地接收数据;以及
输出寄存器组,每个输出寄存器被耦合为接收来自延迟元件组中的一个延迟元件的输出。
20.如权利要求19所述的集成电路,其中,通过第二时钟信号时钟控制多组输入单元中的输出寄存器组。
21.如权利要求19所述的集成电路,其中,使用多个延迟元件产生多个时钟信号。
22.如权利要求19所述的集成电路,其中,每个输入寄存器包括:
耦合到数据输入缓存器的输出的第一触发器;
耦合到数据输入缓存器的输出的第二触发器;和
耦合到第一触发器的输出的第三触发器。
23.如权利要求19所述的集成电路,进一步包括:
耦合到选通信号输入缓存器的输出的移相电路,其中,该移相电路对在选通信号输入缓存器处接收的选通信号移相大约90度。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85724906P | 2006-11-06 | 2006-11-06 | |
US60/857,249 | 2006-11-06 | ||
US11/935,310 | 2007-11-05 | ||
US11/935,310 US7593273B2 (en) | 2006-11-06 | 2007-11-05 | Read-leveling implementations for DDR3 applications on an FPGA |
PCT/US2007/083809 WO2008058141A2 (en) | 2006-11-06 | 2007-11-06 | Read-leveling implementations for ddr3 applications on an fpga |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101536313A CN101536313A (zh) | 2009-09-16 |
CN101536313B true CN101536313B (zh) | 2012-11-21 |
Family
ID=39365322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800411365A Expired - Fee Related CN101536313B (zh) | 2006-11-06 | 2007-11-06 | 用于在fpga上的ddr3应用的读取对准实现 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7593273B2 (zh) |
CN (1) | CN101536313B (zh) |
WO (1) | WO2008058141A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104505116A (zh) * | 2014-12-11 | 2015-04-08 | 深圳市国微电子有限公司 | 一种用于高速动态存储器的相位调制电路及相位调制方法 |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8250295B2 (en) | 2004-01-05 | 2012-08-21 | Smart Modular Technologies, Inc. | Multi-rank memory module that emulates a memory module having a different number of ranks |
US7716510B2 (en) | 2006-12-19 | 2010-05-11 | Micron Technology, Inc. | Timing synchronization circuit with loop counter |
US7656745B2 (en) | 2007-03-15 | 2010-02-02 | Micron Technology, Inc. | Circuit, system and method for controlling read latency |
US8516185B2 (en) | 2009-07-16 | 2013-08-20 | Netlist, Inc. | System and method utilizing distributed byte-wise buffers on a memory module |
US8154901B1 (en) | 2008-04-14 | 2012-04-10 | Netlist, Inc. | Circuit providing load isolation and noise reduction |
US9431091B2 (en) | 2008-06-06 | 2016-08-30 | Uniquify, Inc. | Multiple gating modes and half-frequency dynamic calibration for DDR memory controllers |
US8661285B2 (en) | 2008-06-06 | 2014-02-25 | Uniquify, Incorporated | Dynamically calibrated DDR memory controller |
KR100956782B1 (ko) * | 2008-09-24 | 2010-05-12 | 주식회사 하이닉스반도체 | 셋업/홀드 타임 테스트 장치 및 방법 |
US7969813B2 (en) | 2009-04-01 | 2011-06-28 | Micron Technology, Inc. | Write command and write data timing circuit and methods for timing the same |
US8223584B1 (en) * | 2009-04-29 | 2012-07-17 | Altera Corporation | Apparatus for memory interface configuration |
US7791375B1 (en) | 2009-07-10 | 2010-09-07 | Altera Corporation | DQS re sync calibration |
US9128632B2 (en) | 2009-07-16 | 2015-09-08 | Netlist, Inc. | Memory module with distributed data buffers and method of operation |
KR101132799B1 (ko) | 2010-04-01 | 2012-04-02 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 시스템 |
KR20110131765A (ko) * | 2010-05-31 | 2011-12-07 | 주식회사 하이닉스반도체 | 위상 보정 회로 및 이를 이용한 데이터 정렬 회로 |
WO2012061633A2 (en) | 2010-11-03 | 2012-05-10 | Netlist, Inc. | Method and apparatus for optimizing driver load in a memory package |
JP5743063B2 (ja) * | 2011-02-09 | 2015-07-01 | ラピスセミコンダクタ株式会社 | 半導体集積回路、半導体チップ、及び半導体集積回路の設計手法 |
US8499265B2 (en) * | 2011-02-14 | 2013-07-30 | Nanya Technology Corporation | Circuit for detecting and preventing setup fails and the method thereof |
US8984320B2 (en) | 2011-03-29 | 2015-03-17 | Micron Technology, Inc. | Command paths, apparatuses and methods for providing a command to a data block |
US8509011B2 (en) | 2011-04-25 | 2013-08-13 | Micron Technology, Inc. | Command paths, apparatuses, memories, and methods for providing internal commands to a data path |
US8588014B1 (en) * | 2011-05-31 | 2013-11-19 | Altera Corporation | Methods for memory interface calibration |
US8552776B2 (en) | 2012-02-01 | 2013-10-08 | Micron Technology, Inc. | Apparatuses and methods for altering a forward path delay of a signal path |
US8699550B2 (en) * | 2012-03-21 | 2014-04-15 | Lsi Corporation | Phase alignment between phase-skewed clock domains |
US9166579B2 (en) * | 2012-06-01 | 2015-10-20 | Micron Technology, Inc. | Methods and apparatuses for shifting data signals to match command signal delay |
US9054675B2 (en) | 2012-06-22 | 2015-06-09 | Micron Technology, Inc. | Apparatuses and methods for adjusting a minimum forward path delay of a signal path |
US9001594B2 (en) | 2012-07-06 | 2015-04-07 | Micron Technology, Inc. | Apparatuses and methods for adjusting a path delay of a command path |
KR101929983B1 (ko) * | 2012-07-18 | 2018-12-17 | 삼성전자주식회사 | 저항성 메모리 셀을 갖는 반도체 메모리 장치 및 그 테스트 방법 |
US9329623B2 (en) | 2012-08-22 | 2016-05-03 | Micron Technology, Inc. | Apparatuses, integrated circuits, and methods for synchronizing data signals with a command signal |
US8913448B2 (en) | 2012-10-25 | 2014-12-16 | Micron Technology, Inc. | Apparatuses and methods for capturing data in a memory |
US9734097B2 (en) | 2013-03-15 | 2017-08-15 | Micron Technology, Inc. | Apparatuses and methods for variable latency memory operations |
US9123408B2 (en) * | 2013-05-24 | 2015-09-01 | Qualcomm Incorporated | Low latency synchronization scheme for mesochronous DDR system |
CN110428855B (zh) | 2013-07-27 | 2023-09-22 | 奈特力斯股份有限公司 | 具有本地分别同步的内存模块 |
US9727493B2 (en) | 2013-08-14 | 2017-08-08 | Micron Technology, Inc. | Apparatuses and methods for providing data to a configurable storage area |
US20150109034A1 (en) * | 2013-10-17 | 2015-04-23 | Qualcomm Incorporated | Delay architecture for reducing downtime during frequency switching |
US9183904B2 (en) | 2014-02-07 | 2015-11-10 | Micron Technology, Inc. | Apparatuses, memories, and methods for facilitating splitting of internal commands using a shared signal path |
US9508417B2 (en) | 2014-02-20 | 2016-11-29 | Micron Technology, Inc. | Methods and apparatuses for controlling timing paths and latency based on a loop delay |
CN104932832A (zh) * | 2014-03-20 | 2015-09-23 | 上海华虹集成电路有限责任公司 | Fifo电路 |
CN104978288B (zh) * | 2014-04-08 | 2018-09-14 | 扬智科技股份有限公司 | 去除扭斜的方法及电子装置 |
TWI516946B (zh) * | 2014-04-10 | 2016-01-11 | 智原科技股份有限公司 | 用來進行去偏斜控制之方法與裝置 |
US9530473B2 (en) | 2014-05-22 | 2016-12-27 | Micron Technology, Inc. | Apparatuses and methods for timing provision of a command to input circuitry |
KR101878528B1 (ko) * | 2014-09-17 | 2018-07-13 | 서울대학교산학협력단 | 현장 프로그래머블 아날로그 어레이 및 이를 이용한 현장 프로그래머블 혼성신호 어레이 |
US9330749B1 (en) * | 2014-10-21 | 2016-05-03 | Xilinx, Inc. | Dynamic selection of output delay in a memory control device |
KR102042858B1 (ko) | 2014-11-20 | 2019-11-11 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 동작 방법 |
US9531363B2 (en) | 2015-04-28 | 2016-12-27 | Micron Technology, Inc. | Methods and apparatuses including command latency control circuit |
US9813067B2 (en) | 2015-06-10 | 2017-11-07 | Micron Technology, Inc. | Clock signal and supply voltage variation tracking |
US9553594B1 (en) * | 2015-12-15 | 2017-01-24 | Freescale Semiconductor, Inc. | Delay-locked loop with false-lock detection and recovery circuit |
CN105677594B (zh) * | 2016-01-20 | 2018-08-10 | 中国人民解放军国防科学技术大学 | Ddr3接口中的fpga设备的复位、读写校准方法及设备 |
US9865317B2 (en) | 2016-04-26 | 2018-01-09 | Micron Technology, Inc. | Methods and apparatuses including command delay adjustment circuit |
US9601170B1 (en) | 2016-04-26 | 2017-03-21 | Micron Technology, Inc. | Apparatuses and methods for adjusting a delay of a command signal path |
US9997220B2 (en) | 2016-08-22 | 2018-06-12 | Micron Technology, Inc. | Apparatuses and methods for adjusting delay of command signal path |
US10057869B2 (en) * | 2016-11-17 | 2018-08-21 | Electronics And Telecommunications Research Institute | Network synchronization apparatus and method of time division multiple access (TDMA)-based mesh network satellite communication system |
US10224938B2 (en) | 2017-07-26 | 2019-03-05 | Micron Technology, Inc. | Apparatuses and methods for indirectly detecting phase variations |
US10418073B1 (en) * | 2018-10-18 | 2019-09-17 | Micron Technology, Inc. | Power noise reduction technique for high density memory with frequency adjustments |
KR20200077077A (ko) * | 2018-12-20 | 2020-06-30 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 시스템의 동작 방법 및 메모리 콘트롤러 |
CN111812619B (zh) * | 2020-06-23 | 2023-03-21 | 深圳市精嘉微电子有限公司 | 一种皮秒级分辨率电信号边沿到达时间测量的装置与方法 |
US11727968B2 (en) | 2021-10-13 | 2023-08-15 | Elite Semiconductor Microelectronics Technology Inc. | Method for self-calibrating tDQSCK that is skew between rising edge of memory clock signal and rising edge of DQS signal during read operation and associated signal processing circuit |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1717643A (zh) * | 2002-11-28 | 2006-01-04 | 印芬龙科技股份有限公司 | 时钟同步电路 |
US7123051B1 (en) * | 2004-06-21 | 2006-10-17 | Altera Corporation | Soft core control of dedicated memory interface hardware in a programmable logic device |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247138B1 (en) | 1997-06-12 | 2001-06-12 | Fujitsu Limited | Timing signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system |
US6377575B1 (en) | 1998-08-05 | 2002-04-23 | Vitesse Semiconductor Corporation | High speed cross point switch routing circuit with word-synchronous serial back plane |
US6484258B1 (en) * | 1998-08-12 | 2002-11-19 | Kyber Pass Corporation | Access control using attributes contained within public key certificates |
JP2003068077A (ja) * | 2001-08-28 | 2003-03-07 | Mitsubishi Electric Corp | 半導体記憶装置 |
KR100403635B1 (ko) * | 2001-11-06 | 2003-10-30 | 삼성전자주식회사 | 동기식 반도체 메모리 장치의 데이터 입력 회로 및 데이터입력 방법 |
KR100520178B1 (ko) * | 2003-03-28 | 2005-10-10 | 주식회사 하이닉스반도체 | 반도체 메모리 장치의 입력 버퍼 |
KR100515073B1 (ko) * | 2003-12-29 | 2005-09-16 | 주식회사 하이닉스반도체 | 효율적으로 데이터 셋업타임을 조정할 수 있는 반도체메모리 장치 및 그 구동 방법 |
KR100624261B1 (ko) * | 2004-04-20 | 2006-09-18 | 주식회사 하이닉스반도체 | 디디알 에스디램의 데이터 입력 장치 및 방법 |
KR100745402B1 (ko) * | 2006-02-24 | 2007-08-02 | 삼성전자주식회사 | 반도체 메모리 장치의 입력회로 및 그 제어 방법 |
KR100822578B1 (ko) * | 2006-04-18 | 2008-04-15 | 주식회사 하이닉스반도체 | 반도체 메모리 소자의 쓰기 장치 |
KR100942942B1 (ko) * | 2008-04-30 | 2010-02-22 | 주식회사 하이닉스반도체 | 다양한 입/출력 모드를 갖는 반도체장치 |
-
2007
- 2007-11-05 US US11/935,310 patent/US7593273B2/en active Active
- 2007-11-06 WO PCT/US2007/083809 patent/WO2008058141A2/en active Application Filing
- 2007-11-06 CN CN2007800411365A patent/CN101536313B/zh not_active Expired - Fee Related
-
2009
- 2009-08-11 US US12/539,582 patent/US7990786B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1717643A (zh) * | 2002-11-28 | 2006-01-04 | 印芬龙科技股份有限公司 | 时钟同步电路 |
US7123051B1 (en) * | 2004-06-21 | 2006-10-17 | Altera Corporation | Soft core control of dedicated memory interface hardware in a programmable logic device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104505116A (zh) * | 2014-12-11 | 2015-04-08 | 深圳市国微电子有限公司 | 一种用于高速动态存储器的相位调制电路及相位调制方法 |
CN104505116B (zh) * | 2014-12-11 | 2018-01-19 | 深圳市国微电子有限公司 | 一种用于高速动态存储器的相位调制电路及相位调制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2008058141A2 (en) | 2008-05-15 |
US7593273B2 (en) | 2009-09-22 |
US20090296503A1 (en) | 2009-12-03 |
US7990786B2 (en) | 2011-08-02 |
WO2008058141A3 (en) | 2008-09-12 |
US20080291758A1 (en) | 2008-11-27 |
CN101536313A (zh) | 2009-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101536313B (zh) | 用于在fpga上的ddr3应用的读取对准实现 | |
US10755764B2 (en) | Memory component that enables calibrated command- and data-timing signal arrival | |
US7590008B1 (en) | PVT compensated auto-calibration scheme for DDR3 | |
JP6113215B2 (ja) | プログラマブルロジックデバイスにおける書き込みレベリングインプリメンテーション | |
US6530006B1 (en) | System and method for providing reliable transmission in a buffered memory system | |
CN101467115B (zh) | 集成电路及其上的存储器接口电路和使用集成电路从存储器读取数据的方法 | |
TWI538405B (zh) | 晶載內連線的時序校正 | |
US7509223B2 (en) | Read-side calibration for data interface | |
US7198197B2 (en) | Method and apparatus for data acquisition | |
US7706996B2 (en) | Write-side calibration for data interface | |
US7590879B1 (en) | Clock edge de-skew | |
US20130057318A1 (en) | Clocking architectures in high-speed signaling systems | |
US7791375B1 (en) | DQS re sync calibration | |
US7178048B2 (en) | System and method for signal synchronization based on plural clock signals | |
US7398333B2 (en) | Integrated circuit input/output interface with empirically determined delay matching | |
US6604203B1 (en) | Arrangement and method for self-synchronization data to a local clock |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121121 |