CN107735836B - 采用可编程跟踪斜率的数字相位控制 - Google Patents

采用可编程跟踪斜率的数字相位控制 Download PDF

Info

Publication number
CN107735836B
CN107735836B CN201680035935.0A CN201680035935A CN107735836B CN 107735836 B CN107735836 B CN 107735836B CN 201680035935 A CN201680035935 A CN 201680035935A CN 107735836 B CN107735836 B CN 107735836B
Authority
CN
China
Prior art keywords
phase
code
coarse
fine
input signal
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.)
Active
Application number
CN201680035935.0A
Other languages
English (en)
Other versions
CN107735836A (zh
Inventor
韦方兴
S.M.沙
M.J.阿伦
K.N.钱丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN107735836A publication Critical patent/CN107735836A/zh
Application granted granted Critical
Publication of CN107735836B publication Critical patent/CN107735836B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0814Details 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0816Details 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0818Details 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 comprising coarse and fine delay or phase-shifting means

Landscapes

  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

I/O(输入/输出)电路中的相位补偿包括可变的可编程斜率。相位补偿电路可以施加一个斜率的相位补偿并动态地改变相位补偿的斜率以允许更好地跟踪环境条件。相位补偿电路可生成线性代码以施加相位补偿来将I/O信号的相位锁定到时序信号的相位。该电路通过可变的可编程斜率选择性地调整线性代码,其中斜率定义线性代码中每单位改变施加多少相位补偿。该电路将调整的线性代码施加到锁定环,以将I/O信号的相位锁定到时序信号的相位。

Description

采用可编程跟踪斜率的数字相位控制
技术领域
本发明的实施例一般涉及数字输入/输出(I/O)电路,并且更具体地涉及采用可编程跟踪斜率的相位控制环。
版权公告/许可
此专利文档的公开部分可包含受到版权保护的资料。版权拥有人不反对任何人复制该专利文档或专利公开,因为它出现在专利和商标局专利文件或记录中,但否则无论什么都保留所有版权权利。版权公告施加于如下面以及在所附的附图中所描述的所有数据,以及施加于下面描述的任何软件:版权©2015,英特尔公司,保留所有权利。
背景技术
装置间I/O(输入/输出)允许不同的系统组件彼此通信以用于计算系统的操作。计算系统在很宽范围的消费者和商业装置中的任何一种中使用。计算系统包括存储器子系统以存储和提供对由计算系统的处理器执行的代码和数据的访问。I/O在存储器子系统中非常重要,以允许在处理器和存储代码和数据的存储器资源之间传输数据。
特定的存储器技术具有施加于与I/O关联的时序的标准,装置必须满足该标准以被认为是符合的。DDR(双数据速率)存储器I/O系统提供相位补偿,以通过时钟或时序信号锁定数据信号。DDR I/O相位补偿的一个示例是使用DLL(延迟锁定环),其将可变量的延迟提供到时钟边缘以调整时钟信号的时序。每调整的相位补偿量(在工业中通常称为“步长”)控制DLL可以多快或多慢在正确的相位时序上锁定。在一个DDR实现中,存在要求DLL在指定数量的时钟循环内锁定的DLL锁定规范。
每调整的相位补偿量存在折衷:更精细的调整允许更精确的锁定,这改进了信号质量,而较粗略的调整允许DLL在规范时序要求内锁定。在由具有很多噪声的功率源供电的存储器子系统中,较精细的调整可能会在噪声中丢失,这可以防止DLL甚至“赶上(catchingup)”适当的相位并获得锁定。因此,较粗略的相位调整大小和较精细的相位调整大小都存在优点和缺点。
除了相位调整大小的限制之外,传统存储器子系统I/O设计也经历由锁定位置搜索机制引入的误差。大多数当前数字DLL设计使用移位寄存器设计作为相位控制器,并使用二进制搜索来确定锁定位置。基于移位寄存器设计的二进制搜索可以引起谐波锁定(对谐波进行锁定而不是对时钟信号的主相位进行锁定)。移位寄存器状态机控制器设计非常复杂,这增加了总体系统复杂性和成本。在嘈杂的条件下,二进制搜索对于跟踪通常不灵活。
附图说明
以下描述包括具有作为本发明的实施例的实现的示例给出的说明的图形的讨论。附图应该作为示例而不是作为限制来理解。如本文所使用的,对一个或多个“实施例”的引用要被理解为描述包括在本发明的至少一个实现中的具体特征、结构和/或特性。因此,本文出现的诸如“在一个实施例中”或“在备选实施例中”的短语描述了本发明的各种实施例和实现,并不一定都指相同的实施例。然而,它们也不一定是相互排斥的。
图1是对两个装置之间交换的I/O信号施加相位控制(包括相位斜率控制)的系统的框图的实施例。
图2是生成采用可编程斜率的相位补偿控制的系统的框图的实施例。
图3是基于可编程斜率的相位锁定的实施例的图形表示。
图4是相位控制包括粗略控制和精细控制的系统的框图的实施例,其被异或以生成三角控制特征,该三角控制特征可以提供可变斜率的相位控制。
图5是用于生成具有可变补偿斜率的线性相位控制的过程的实施例的流程图。
图6是可以实现具有可变斜率的I/O相位延迟控制的计算系统的实施例的框图。
图7是可以实现具有可变斜率的I/O相位延迟控制的移动装置的实施例的框图。
以下描述了某些细节和实现,包括附图的描述,其可以描绘下面描述的一些或所有实施例,以及讨论本文呈现的本发明概念的其它潜在实施例或实现。
具体实施方式
如本文所描述的,I/O(输入/输出)电路中的相位补偿包括可变的可编程斜率。相位补偿从线性控制器施加,线性控制器可施加一个斜率的相位补偿,并动态改变相位补偿的斜率,以允许更好地跟踪环境条件。相位补偿电路可生成线性代码以施加相位补偿来将I/O信号的相位锁定到时序信号的相位。该电路通过可变的可编程斜率选择性地调整线性代码,其中该斜率定义了相位补偿大小或在线性代码中每单位改变施加多少相位补偿。该电路将调整的线性代码施加到锁定环,以将I/O信号的相位锁定到时序信号的相位。
通过可变的可编程相位调整斜率,锁定电路可以提供更快的锁定以快速提供粗略相位补偿,以及更慢的跟踪以改进锁定精确度并减少跟踪抖动。通过采用此类相位补偿,DLL可以在某些DDR(双数据速率)I/O要求的特定数量的时钟循环内锁定。因为相位调整是可编程的,所以DLL或其它相位补偿电路可以对于不同的环境条件(例如功率源噪声或处于不同的幅度和频率的其它噪声)来调整操作。因此,在一个实施例中,相位补偿可以通过改变跟踪斜率对改变的环境条件做出反应。
在一个实施例中,相位补偿电路采用具有粗略锁定和精细锁定的并行相位补偿系统。相位补偿可以生成单独粗略代码和精细代码以控制不同的锁定/跟踪机制。相位补偿电路可以通过扫描粗略代码直到反馈信号指示调整的时钟边沿穿过参考时钟边沿来找到粗略锁定。在一个实施例中,相位补偿电路将粗略锁定代码保存到存储装置,并且然后通过更精细的相位调整大小触发慢跟踪。通过精细的相位调整对相位进行锁定之后,系统可以继续通过精细的相位调整跟踪环境条件中的改变(例如,温度改变、功率源噪声引发的改变)。如果反馈指示锁定正在丢失,则系统可以恢复到粗略相位调整。
对存储器装置的引用可以施加于不同的存储器类型。存储器装置一般指易失性存储器技术。易失性存储器是存储器,如果到装置的功率中断,则存储器的状态(并且因此存储在其上的数据)是不确定的。非易失性存储器指存储器,即使到装置的功率中断,存储器的状态也是确定的。动态易失性存储器要求刷新存储在装置中的数据以保持状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器),或者某一变型(例如同步DRAM(SDRAM))。如本文所描述的存储器子系统可以与多种存储器技术兼容,DDR4(DDR版本4,由JEDEC于2012年9月发布的初始规范)、LPDDR4(低功率双数据速率(LPDDR)版本4,JESD209-4,由JEDEC于2014年8月最初发布)、WIO2(宽I/O 2(WideIO2),JESD229-2,由JEDEC于2014年8月最初发布)、HBM(高带宽存储器DRAM,JESD235,由JEDEC于2013年10月最初发布)、DDR5(DDR版本5,由JEDEC当前讨论中)、LPDDR5(由JEDEC当前讨论中)、WIO3(宽I/O 3,由JEDEC当前讨论中)、HBM2(HBM版本2)由JEDEC当前讨论中)和/或其它,以及基于此类规范的衍生或扩展的技术。除了存储器装置的I/O之外,相位补偿技术可以施加于其它装置间通信,其中可以使用相位补偿来将命令或数据信号与时钟信号对齐。
图1是对两个装置之间交换的I/O信号施加相位控制(包括相位斜率控制)的系统的框图的实施例。系统100提供具有I/O相位控制的存储器子系统的一个示例,其提供用于相位补偿的可编程可变斜率控制。存储器130表示系统100中的存储器资源。例如,每个存储器装置可以是DRAM装置。存储器阵列134包括存储数据的位的单元或可寻址位置。存储器阵列134表示存储器资源,其中响应于写命令而存储数据,并响应于读命令而访问。存储器130和阵列134中的存储位置可以被组织为通道、排(rank)、库、DIMM(双列直插式存储器模块)和/或管理存储器寻址和访问的其它方式。
存储器控制器110表示控制对存储器130的访问的电路或控制逻辑。存储器控制器110可以被实现为分立装置,实现为作为主处理器的一部分的电路,或实现为集成到芯片上的系统中的芯片。在一个实施例中,存储器控制器110是提供计算系统(系统100是其中一部分)的主机处理控制的中央处理单元(未示出)的一部分。每存储器通道通常存在一个存储器控制器;因此在主机系统中可以存在一个或多个独立的存储器控制器。
存储器控制器110包括I/O 120以与存储器控制器装置外部的芯片或其它装置进行通信。例如,存储器控制器110经由I/O 120与存储器130通信。存储器130包括I/O 140以连接到提供存储器控制器110和存储器130之间的电或信令接口的信号线。I/O 120可以包括命令/地址(C/A)接口(未具体示出)以使存储器控制器110能够向存储器130提供命令和控制信号。存储器130的I/O 140可以包括对应的C/A接口以接收命令并且控制信号。
在一个实施例中,I/O 120包括时钟(CLK)接口122和数据接口124。I/O 140包括对应的接口时钟142和数据144。时钟接口可以使存储器控制器能够对于存储器130提供时序信号或时钟信号来接收和发送数据。因此,存储器130可以与传送到存储器控制器110和从存储器控制器110传送的数据的时序对齐,所以两个装置都可以同步I/O。数据接口使存储器控制器110能够将数据发送到存储器130以用于写事务,并且使存储器130能够将数据发送到存储器控制器以用于读事务。在一个实施例中,存储器控制器110和存储器130基于需要相位补偿的信号来交换数据以确保适当的信令界限。在一个实施例中,存储器控制器110包括相位控制(未具体示出)。
在一个实施例中,存储器130包括一个或多个寄存器132,其可以表示存储相对于I/O的配置设置或操作设置的其它存储装置的模式寄存器。在一个实施例中,寄存器132存储与I/O相位补偿斜率相关的一个或多个代码。在一个实施例中,寄存器132确定将使用相位补偿的什么斜率来锁定I/O相位。在一个实施例中,存储器130包括相位控制器146,以将数据接口144上的信号与时钟142上的时钟信号对齐。相位控制器146基于存储在寄存器132中的值或等效物进行操作。
因此,相位控制146表示存储器130内的逻辑,以提供相位调整来将经由数据接口144的通信与时钟信号对齐。在一个实施例中,相位控制146包括存储器130的内部控制器内的逻辑。存储器130内部的控制器控制时序和内部命令以执行操作来执行由存储器控制器110提供的命令。在一个实施例中,相位控制146包括诸如数字延迟锁定环(DLL)或锁相环(PLL)的锁定环,以提供相位补偿。相位控制146可以调整噪声的时序和漂移以及可以引起数据边缘和时钟边缘之间的偏移的其它条件。相位控制146可以根据本文描述的相位控制的任何实施例来操作。相位控制146包括斜率控制148,以使相位控制能够通过不同的相位调整大小对相位补偿进行编程。
在一个实施例中,相位控制146可以通过扫描用于粗略延迟链的DLL粗略代码直到DLL反馈时钟边缘穿过DLL基参考时钟边缘来找到粗略锁定。在一个实施例中,相位控制146然后可以将粗略锁定代码保存到存储装置(诸如寄存器132或存储器130内的其它存储装置),并且然后将DLL置于慢跟踪模式中。在一个实施例中,相位控制器146重新加载所保存的DLL粗略锁定代码,并且经由斜率控制器148触发DLL来通过不同的相位调整大小(不同的斜率)以精细跟踪操作。
图2是生成采用可编程斜率的相位补偿控制的系统的框图的实施例。电路200提供了根据系统100的相位控制146的实施例的相位补偿电路的一个示例。电路200也可以被称为I/O控制电路,因为它控制用于I/O的时钟的相位。电路200接收标识为PAD_CLK或焊盘(pad)时钟的时钟输入。焊盘时钟信号是提供给包括电路200的存储器子系统的时钟或同步信号。将理解的是,尽管关于存储器装置或存储器子系统进行描述,但电路200可以被包括在装置之间的任何I/O接口中,其中时钟信号伴随着数据或信息信号的交换。因此,本发明的实施例不限于存储器装置。
焊盘时钟是到I/O电路的输入,并且在RX缓冲器212处缓冲。例如,可以在电路200的引脚或焊盘或其它输入硬件处接收该输入。接收时钟信号存在延迟D1。电路200通过可变延迟214来调整输入时钟信号。在一个实施例中,可变延迟214由相位补偿电路提供,或表示相位补偿电路的一部分。在一个实施例中,电路200为可变延迟提供并行类型相位补偿、粗略延迟链和精细延迟混合器。此类电路可以根据共同提交的美国专利申请No. TBD(P82402)(具有共同的发明权)中描述的并且同此同时提交的任何实施例。下面关于图4和5提供状态机和延迟电路的某些细节。
可变延迟214将可变的可编程延迟量引入到输入时钟中以通过时钟锁定数据信号。延迟时钟提供输入以分别为DQS_OUT和DQ_OUT传送缓冲器216和218。延迟的时钟在电路200中被标识为DLL_CLK。DQS_OUT和DQ_OUT信号用于数据选通和数据信号。可以在连接到电路200的信号线上接收焊盘时钟。在216和218处的DQ输出可以用于也通过I/O信号线传送的数据信号。在I/O输入时钟处接收到的数据信号可以经由电路200被相位锁定到时钟信号,其施加相位补偿以将I/O信号的相位锁定到时序或时钟信号的相位。
输出的延迟是D2。通过可变延迟的时间被示为N * tCLK-(D1+D2),或者时钟循环的数量减去RX和TX延迟。在一个实施例中,可变延迟214不改变输入时钟的周期,而是改变时钟信号的触发沿(例如,上升沿),以考虑噪声、温度改变和/或可能引起信号漂移的其它环境条件。可变延迟214的输出可以被反馈回到TX + RX虚拟230,其将匹配的或延迟等效的路径表示为从缓冲器212到缓冲器216和218的路径。因此,虚拟路由230具有N * tCLK-(DL+D2)的相同的延迟。因此,信号可以作为反馈(FBCLK)反馈回相位检测器220中,连同最初接收的时钟(REFCLK或参考时钟),以确时序钟信号之间的偏移。
如已经提到的,相位检测220可以接收输入时钟作为参考时钟,并且具有可变延迟214的先前循环被施加为反馈时钟。相位检测220可以检测时钟之间的偏移,并向状态机240提供输入以确定系统处于什么状态,以及如何将相位补偿施加于时钟。状态机240表示相位补偿的控制逻辑。状态机240可以是装置上的单独控制器,或者可以是现有控制器的一部分。在一个实施例中,管理芯片或装置内的I/O的时序和操作的控制器包括电路200的控制元件。
在一个实施例中,状态机240包括线性向上/向下计数器。在一个实施例中,状态机240可以包括可加载计数器。状态机240提供线性控制以生成可变延迟214。线性控制从用于控制可变延迟214的代码生成。在一个实施例中,状态机240包括线性计数器,其生成用于产生控制代码以控制可变延迟214的计数。在并行相位补偿电路中,电路200可以包括具有用于粗略延迟补偿的较高部分和用于精细延迟混合的较低部分的DLL延迟链。此类补偿电路可以被包括在状态机240中。
状态机240可以接收初始条件输入(INIT_CONDITION)。初始条件输入表示为通过电路200的相位补偿操作设置起始点的一个或多个设置。在一个实施例中,可以通过将一个或多个值写到寄存器(诸如系统100的寄存器132)来配置初始条件。在一个实施例中,可以配置初始条件以将状态机的操作置于其操作范围的“中间”。因此,状态机可以开始具有偏移,以允许空间取决于检测到的环境条件向上或向下调整。电路200可以从对于相位补偿的标识的预设值起始点发起锁定操作,并且基于初始条件调整用于执行锁定的线性代码。
状态机240可以接收标识为DLL_RESET的重置输入。重置输入触发电路200的操作的发起。如果电路已经在操作,则可以重置当前值,并且电路将返回到初始状态。重置条件可以在加电时发生,从功率节省模式退出,或在I/O紧跟断电或低功率状态而被供电的其它时间。在一个实施例中,在重置信号去断言(de-assert)之后(在备选实施例中它可能在断言时发生),电路200开始快锁定过程。在快锁定期间,计数器可以对粗略代码进行计数向上,直到获得粗略锁定。在一个实施例中,当反馈时钟沿(FBCLK)穿过参考时钟沿(REFCLK)时,标识粗略锁定。在一个实施例中,相位检测220包括比较器,其在反馈时钟边沿穿过参考时钟时输出信号。当粗略代码第一次“赶上”时钟信号时,将发生此类时钟交叉。
在一个实施例中,一旦获得粗略锁定,状态机240触发精细延迟锁定以获得对信号更精确固定。在一个实施例中,电路200包括影响线性锁定代码的斜率的一个或多个代码移位块252、254。在一个实施例中,代码移位252、254可以被认为对每单位相位调整的相位补偿量或斜率进行编程。在一个实施例中,代码移位252、254作为对粗略代码的调整而操作。例如,它们可以根本不移位(即,保持与粗略代码相同的斜率),或者执行粗略代码的二进制除法以生成不同的斜率(例如,将粗略代码除以1、2、4、8、...)。移位的量或二进制除法(例如,通过从粗略代码中移位出LSB以将其划分变小)可以通过被标识为SEL_BIT_SHIFT的选择位来编程或选择。在一个实施例中,选择位被存储在寄存器中,并且从验证序列确定。在验证序列中,系统可以执行一个或多个I/O测试以确定可能影响I/O的环境条件(例如,电压、温度、噪声)。基于环境条件,系统可以确定(例如,经由计算启发式算法的处理器)多少斜率将允许电路200跟踪噪声,同时提供期望的精确度(例如,如通过确定误差性能测量的)。
在一个实施例中,代码移位254位于状态机240的计数器与可变延迟214中的延迟链之间。因此,代码移位254可将计数器输出(CODE OUT)移位到适当的总线位置以控制粗略延迟。在一个实施例中,在快速锁定期间,精细延迟混合代码来自初始条件(诸如从先前精细延迟混合搜索存储或保存的值)。在一个实施例中,在通过相位检测220标记粗略锁定之后,电路200将导致锁定的粗略代码存储在保存代码242中。保存代码242表示保持粗略锁定代码的存储装置(例如存储器中的寄存器或位置)。
在获得粗略锁定之后,状态机240可以退出快锁定并执行慢跟踪模式。慢跟踪可以通过保存的代码242的移位版本来完成,其被反馈到代码移位252、244中。为了通过每环路1次精细调整来跟踪,电路200可以将整个保存的粗略锁定延迟代码(保存的代码242)加载到状态机240的计数器中(经由代码移位252)以执行单个精细向上/向下跟踪。为了通过每环路两次精细调整来跟踪,SEL_BIT_SHIFT可以将保存的代码242移位一个位,丢弃LSB,并将剩余的保存的粗略锁定延迟代码重新加载到计数器中用于向上/向下跟踪。类似地,通过从粗略锁定延迟代码中丢弃更多的位(经由代码移位252、254),可以实现4个精细调整和8个精细调整。在一个实施例中,输入到状态机240的重新加载信号触发来自代码移位254和/或来自初始条件的代码的重新加载(取决于状态机240的状态)。
将理解的是,电路200示出调整用于跟踪的线性延迟代码的斜率的一种方式。将理解的是,通过较大的斜率(每单位改变较多相位调整),电路200可以更快地锁定,并且通过较小的斜率(每单位改变较少的相位调整),电路200将锁定较慢但通过较小的跟踪抖动进行跟踪。通过可编程斜率,电路200可以跟踪不同的环境条件,诸如具有不同噪声幅度和噪声频率的嘈杂功率源。
电路200的简单线性状态机和控制与典型的DLL设计(其使用移位寄存器作为控制器并使用二进制搜索来确定锁定位置)形成对比。此类传统的方法可能引起谐波锁定。电路200包括状态机240,其使用来自最小代码的线性锁定搜索,这可以避免谐波锁定。电路200还允许可编程斜率,这可以提供如由传统设计提供的快锁定,但是在嘈杂条件下提供更好的灵活性来跟踪。此外,状态机240可以比现有的DLL状态机简单得多。由于更简单的电路,电路200可以相对于传统的DLL设计提供减少的功耗。
图3是基于可编程斜率的相位锁定的实施例的图形表示。图300提供了施加可编程斜率如何使状态机循环通过更多延迟代码以读相同的延迟量的说明。延迟轴302相对于代码轴304绘制。延迟302表示引入多少延迟到相位补偿中。代码304表示会要求多少代码或通过代码多少循环来实现轴302的延迟。在快锁定或粗略锁定中,通过更少的控制代码可以更快地提供延迟链延迟,并且然后通过更精细的延迟更慢地调整。
初始条件312表示相位补偿电路的起始点,其可以是系统预期的最小延迟。因此,初始条件通过时间T0来标识。当PVT(工艺、电压、温度)改变时,DLL或其它相位补偿电路具有足够的延迟界限来向上向下跟踪。相位补偿电路开始操作,并开始粗略锁定或快锁定(在初始条件312和粗略锁定314之间)。在粗略锁定中,在一个实施例中,DLL计数器向上扫描DLL延迟链的粗略代码,直到DLL反馈时钟边沿穿过DLL参考时钟边沿。当在时间T1达到粗略锁定314时,相位补偿可以改变为由阴影区域表示的锁定和跟踪340。
慢锁定和跟踪340在粗略锁定314和最大达到(最大)316之间。在一个实施例中,在慢锁定和跟踪340中,DLL计数器可以向上向下扫描全部或部分精细延迟混合控制以跟踪DLL延迟变化。例如,可以根据DLL相位检测器的向上/向下检测来跟踪延迟变化。在一个实施例中,取决于编程的跟踪斜率,相位补偿可以使DLL计数器计数全部DLL精细延迟混合代码或部分代码。最大点316表示何时达到T2的延迟。将观察到,不同的斜率332、334、336和338用更多的代码来达到相同的延迟量。将观察到斜率332匹配粗略锁定的斜率。在一个实施例中,斜率332、334、336和338中的每个是粗略延迟码的二进制除法,其中斜率332是粗略延迟代码除以1。因此,每个精细延迟相位调整可以是粗略延迟相位调整的细分。
图4是系统的框图的实施例,在该系统中相位控制包括被异或以生成三角控制特征的精细控制和粗略控制,该三角控制特征可以提供可变斜率的相位控制。在一个实施例中,系统400是系统200的状态机和/或系统100的相位控制的一个示例。系统400可以为DLL或PLL提供相位控制以用于装置间I/O。在一个实施例中,图300的不同斜率由向DLL提供相位补偿控制的状态机提供。在一个实施例中,系统400表示此类状态机。在一个实施例中,系统400可以为相位补偿提供可变的可编程斜率。
在一个实施例中,系统400从焊盘410接收时钟进入信号(CLK IN)。焊盘410表示到外部接口的任何类型的物理连接器。在一个实施例中,CLK IN是从发送信号(诸如数据信号)用于处理的装置接收的输入时钟信号。相位调整420表示提供对CLK IN信号的相位的一个或多个调整以生成时钟出信号(CLK OUT)的逻辑和/或电路。当数据信号最可能被正确处理时,CLK OUT被相位调整为数据以定时采样和信令。在一个实施例中,相位调整420表示多个调整电路,诸如粗略延迟调整和精细延迟调整。
在一个实施例中,系统400为相位调整420的至少一些部分提供三角延迟控制。在一个实施例中,系统400提供用于精细延迟混合的三角相位控制。计数器430表示简单的线性向上/向下计数器。为了示例的目的,计数器430被具体示出为9位计数器,但是可能是将提供相位控制的特定实现所期望的控制的任何数量(N)的位。如所示的,来自计数器430的部分计数被路由以控制粗略相位调整,并且部分计数被路由以控制精细相位调整。将理解的是,对计数的“较低部分”的参考指最频繁改变的计数部分或者最低有效位(最低有效M位[(M-1):0])。计数的“较高部分”指计数的其它部分,或者是更有效的位(最高有效位(N-M)位[(N-1):M])。
系统400将较低部分路由到计数器输出位以控制精细延迟混合。如所示的,在一个实施例中,计数器430的输出的较高6位,计数[8:3]被路由以控制粗略延迟。作为线性解码器450的输入,计数[8:3]变成粗略代码[5:0]。在一个实施例中,粗略代码[5:0]提供对粗略延迟链偶数/奇数输出选择的控制。将理解的是,取决于控制系统和延迟电路的设计,不同数量的位可以用于精细延迟混合。在一个实施例中,线性解码器450执行两位热二进制解码操作以从作为相位调整420的一部分的粗略延迟链中选择偶数/奇数时钟。
在一个实施例中,计数器430的输出的较低三位,计数[2:0]被路由以控制精细延迟混合。较低位不直接通过以用于精细延迟控制。相反,系统400提供计数[2:0]与粗略延迟控制的LSB的按位异或。可将理解的是,粗略代码延迟控制的LSB可以被称为粗略代码[0],其与计数[3]相同。异或电路440执行按位异或操作并且将计数[2:0]改变成精细代码[2:0]或精细延迟代码。在一个实施例中,线性解码器450接收精细代码[2:0]以控制相位调整420的相位内插器单元中的精细延迟混合。将理解的是,线性解码器450可以包括多于一个电路,并且不一定对精细延迟代码和粗略延迟代码执行相同的解码操作。将理解的是,系统400基于异或的精细代码延迟位的应用提供对延迟混合的更直接的控制,如与传统上通过复杂状态机施加的间接控形成对比的。
较高和较低部分不一定是相同数量的位,尽管它们可能是。在一个实施例中,异或电路440执行粗略延迟代码的LSB(最低有效位)的按位异或操作,以控制精细延迟代码。因此,异或电路可以包括多个异或门。当粗略代码的LSB为0时,按位异或操作将导致计数的较低部分按原样通过,生成当计数器递增时计数向上的精细代码。将理解的是,当精细代码达到其上限并溢出时,粗略代码的LSB将转换为1,因为粗略代码的LSB是精细代码的溢出位。当粗略代码的LSB为1时,按位异或操作将导致反转计数的较低部分,导致精细代码(该代码在其峰值开始,并且当计数器递增时递减)。将理解的是,通过使用递减计数器可以实现相同的结果。因此,整个时间从计数器的计数可以沿相同的方向继续,但将重复导致精细代码,继续从零到其最大值
Figure DEST_PATH_IMAGE002
从其最大值到零计数,并返回到其最大值而计数。
在一个实施例中,解码器450生成精细延迟混合控制作为3到7解码。因此,三位精细代码[2:0]被转换为7位控制(例如,如下面关于图5所解释的)。在一个实施例中,如所示的系统400的精细延迟控制以重复的循环从0到7到0连续地计数。在二进制中,计数在'000xB'开始并计数向上,直到其达到“111xB”,并且然后其从“111xB”计数回减小到“000xB”。在一个实施例中,解码器450从6位粗略代码[5:0](即,6-到-64解码)生成64位粗略延迟控制。将理解的是,粗略控制所需的位数取决于粗略延迟链的长度,并且可以使用不同于64的二进制长度的链。
在一个实施例中,线性解码器450包括来自系统400中所示内容的附加输入。此类附加输入可以使线性解码器450能够基于代码移位块(其可以被理解成在线性解码器450内,为了系统400的目的)生成不同斜率的代码。此类代码移位块可以使系统400能够执行粗略代码[5:0]的二进制除法以减少每单位改变的相位调整的斜率。可以响应系统中检测到的各种环境条件来执行斜率控制。在一个实施例中,线性解码器450根从划分变小的粗略代码而不是单独输入提供精细延迟混合控制。此类精细延迟代码可以提供可变的可编程斜率来锁定时钟的相位。
图5是用于生成具有可变补偿斜率的线性相位控制的过程的实施例的流程图。过程500提供了通过相位补偿的可变的可编程斜率针对I/O传输执行相位补偿的实施例的示例。在一个实施例中,具有I/O相位补偿的装置执行系统初始化以确定系统实现中存在什么环境条件(例如,PVT),并确定I/O相位控制的什么设置将提供最佳性能和相位匹配,502。系统可以预设与条件相关的一个或多个设置作为I/O相位控制操作的初始条件。
在一个实施例中,装置与另一装置请求I/O,并确定I/O信号的操作条件,504。此类确定可以是间接的,诸如经由反馈机制或从存储装置读设置。在一个实施例中,I/O相位补偿设置初始条件并确定什么设置用于粗略延迟锁定和精细延迟锁定,506。精细延迟锁定可以被设置成多个不同斜率中的一个。
装置或接收或生成用以通过另一装置执行I/O的命令,508。该I/O可以正接收输入信号或者生成输出信号。该装置包括I/O控制电路,例如管理I/O的微控制器。控制器配置I/O用于与其它装置交换。在一个实施例中,配置I/O包括触发延迟控制以调整I/O信号的相位来与时钟信号对齐。在一个实施例中,相位控制跟踪具有粗略相位补偿的I/O信号的相位,510。在一个实施例中,控制相位补偿的状态机或控制器确定粗略调整是否已经达到参考相位,512。
如果没有达到粗略锁定,514否分支,则继续粗略锁定。如果达到粗略锁定,514是分支,则在一个实施例中,相位控制进入慢锁定模式,并针对精细延迟调整设置精细延迟相位调整斜率,516。在一个实施例中,相位控制通过可变的可编程斜率选择性地调整线性代码以用于精确延迟跟踪。斜率定义了在线性代码中每单位改变施加多少相位补偿。在一个实施例中,相位控制可以初始地施加粗略代码用于相位调整,并且从粗略代码改变斜率来将粗略代码调整细分成更精细的调整。
控制电路可以通过反馈跟踪慢跟踪中的I/O信号的相位,518,并且确定是否达到了精细锁定,520。如果尚未达到精细锁定,522否分支,则相位控制继续通过精细延迟跟踪和锁定。当达到精确锁定时序,522是分支,装置可以执行I/O,524。
图6是可实现具有可变斜率的I/O相位延迟控制的计算系统的实施例的框图。系统600表示根据本文描述的任何实施例的计算装置,并且可以是膝上型计算机、桌上型计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、路由或交换装置或其它电子装置。系统600包括处理器620,其提供系统600的处理、操作管理和指令执行。处理器620可包括任何类型的微处理器、中央处理单元(CPU)、处理核或其它处理硬件以提供系统600的处理。处理器620控制系统600的总体操作,并且可以是或包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑装置(PLD)等等或此类装置的组合。
存储器子系统630表示系统600的主存储器,并且提供要由处理器620执行的代码或者在执行例程时要使用的数据值的暂时存储。存储器子系统630可包括一个或多个存储器装置,诸如只读存储器(ROM)、闪存、一种或多种随机存取存储器(RAM)或其它存储器装置或此类装置的组合。存储器子系统630除了其它事项外还存储和托管操作系统(OS)636,以提供软件平台以便在系统600中执行指令。此外,从存储器子系统630存储和执行其它指令638以提供系统600的逻辑和处理。OS 636和指令638由处理器620执行。存储器子系统630包括存储器装置632,其中它存储数据、指令、程序或其它项目。在一个实施例中,存储器子系统包括存储器控制器634,其是生成命令并向存储器装置632发出命令的存储器控制器。将理解到,存储器控制器634可能是处理器620的物理部分。
处理器620和存储器子系统630耦合到总线/总线系统610。总线610是表示任何一个或多个单独物理总线、通信线/接口和/或通过合适桥、适配器和/或控制器连接的点对点连接的抽象。因此,总线610例如可包括系统总线、外设组件互连(PCI)总线、超传输或工业标准架构(ISA)总线、小计算机系统接口(SCSI)总线、通用串行总线(USB)或电气与电子工程师协会(IEEE)标准1394总线(共同称为“火线”)中的一个或多个。总线610的总线也可对应于网络接口650中的接口。
系统600进一步包括一个或多个输入/输出(I/O)接口640、网络接口650、一个或多个内部大容量存储装置660以及耦合到总线610的外设接口670。I/O接口640可包括一个或多个接口组件,通过其用户与系统600交互(例如视频、音频和/或字母数字接口)。网络接口650给系统600提供通过一个或多个网络与远程装置(例如服务器、其它计算装置)通信的能力。网络接口650可包括以太网适配器、无线互连组件、USB(通用串行总线)或其它基于有线或无线标准的接口或专有接口。
存储装置660可以是或包括用于以非易失性方式存储大量数据的任何常规介质,诸如一个或多个基于磁、固态或光的盘或组合。存储装置660以永久状态保有代码或指令和数据662(即,该值被保留,不管是否对系统600中断功率)。存储装置660通常可被认为是“存储器”,尽管存储器630是向处理器620提供指令的执行或操作存储器。鉴于存储装置660是非易失性的,存储器630可包括易失性存储器(即,如果对系统600中断功率,则数据的值或状态是不确定的)。
外设接口670可包括上面未明确提到的任何硬件接口。外设一般指相关地连接到系统600的装置。相关连接是系统600提供在其上执行操作并且用户与其交互的软件和/或硬件平台的连接。
在一个实施例中,系统600包括相位控制680。相位控制680可以包括在I/O相位补偿电路中(例如存储器子系统630中)以通过时钟信号锁定I/O。在一个实施例中,相位控制680提供用于I/O相位补偿的可变的可编程延迟。在一个实施例中,可编程斜率通过划分粗略锁定代码并通过更精细的相位调整跟踪且锁定来提供。在一个实施例中,相位控制包括具有线性代码控制的状态机以控制相位补偿的操作。
图7是可实现具有可变斜率的I/O相位延迟的控制的移动装置的实施例的框图。装置700表示移动计算装置,诸如计算平板、移动电话或智能电话、无线使能的e-阅读器、可穿戴计算装置或其它移动装置。将理解到,一般示出了某些组件,并且在装置700中并未示出此类装置的所有组件。
装置700包括处理器710,其执行装置700的主要处理操作。处理器710可包括一个或多个物理装置,诸如微处理器、应用处理器、微控制器、可编程逻辑装置或其它处理部件。由处理器710执行的处理操作包括操作平台或操作系统(在其上执行应用和/或装置功能)的执行。处理操作包括与和人类用户或与其它装置的I/O(输入/输出)相关的操作、与功率管理相关的操作和/或与将装置700连接到另一装置相关的操作。处理操作还可包括与音频I/O和/或显示器I/O相关的操作。
在一个实施例中,装置700包括音频子系统720,其表示与向计算装置提供音频功能关联的硬件(例如音频硬件和音频电路)和软件(例如驱动、编解码器)组件。音频功能可包括扬声器和/或耳麦输出,以及麦克风输入。用于此类功能的装置可被集成到装置700中,或连接到装置700。在一个实施例中,用户通过提供由处理器710接收和处理的音频命令与装置700交互。
显示器子系统730表示为用户提供视觉和/或触觉显示以与计算装置交互的硬件(例如显示器装置)和软件(例如驱动)。显示器子系统730包括显示器接口732,其包括用于向用户提供显示的具体屏幕或硬件装置。在一个实施例中,显示器接口732包括与处理器710分开的逻辑,以执行与显示器相关的至少某一处理。在一个实施例中,显示器子系统730包括向用户提供输出和输入的触摸屏装置。在一个实施例中,显示器子系统730包括向用户提供输出的高清(HD)显示器。高清可指显示器,其具有大约100 PPI(每英寸像素)或更大的像素密度并且可以包括诸如全HD(例如,1080P)、retina显示、4K(超高清或UHD)等等的格式。
I/O控制器740表示与和用户交互相关的硬件装置和软件组件。I/O控制器740可操作以管理是音频子系统720和/或显示器子系统730的一部分的硬件。此外,I/O控制器740示出了连接到装置700的附加装置的连接点,通过其用户可能与系统交互。例如,可附连到装置700的装置可包括麦克风装置、扬声器或立体声系统、视频系统或其它显示装置、键盘或键区装置或用于特定应用的其它I/O装置(诸如读卡器或其它装置)。
如上面所提到的,I/O控制器740可与音频子系统720和/或显示器子系统730交互。例如,通过麦克风或其它音频装置的输入可为装置700的一个或多个应用或功能提供输入或命令。此外,代替显示输出或除了显示输出,可提供音频输出。在另一示例中,如果显示器子系统包括触摸屏,则显示装置还充当输入装置,其可至少部分由I/O控制器740管理。可能在装置700上还存在附加按钮或开关以提供由I/O控制器740管理的I/O功能。
在一个实施例中,I/O控制器740管理诸如加速计、相机、光传感器或其它环境传感器、陀螺仪、全球定位系统(GPS)或可包括在装置700中的其它硬件的装置。输入可以是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(诸如对于噪声滤波、对于亮度检测调整显示器、施加相机的闪光灯或其它特征)。在一个实施例中,装置700包括管理电池功率使用、电池充电的功率管理750,以及与功率节省操作相关的特征。
存储器子系统760包括用于将信息存储在装置700中的一个或多个存储器装置762。存储器子系统760可包括非易失性(如果到存储器装置的功率被中断则状态不改变)和/或易失性(如果到存储器装置的功率被中断则状态不确定)存储器装置。存储器760可存储应用数据、用户数据、音乐、照片、文档或其它数据,以及与系统700的应用和功能的执行相关的系统数据(不管是长期的还是暂时的)。在一个实施例中,存储器子系统760包括存储器控制器764(其也可被视为系统700的控制的一部分,并且可潜在地被视为处理器710的一部分)。存储器控制器764包括调度器以生成命令并向存储器装置762发出命令。
连接性770包括硬件装置(例如无线和/或有线连接器和通信硬件)和软件组件(例如驱动、协议栈),以使装置700能够与外部装置通信。外部装置可以是单独装置,诸如其它计算装置、无线接入点或基站以及诸如耳麦、打印机或其它装置的外设。
连接性770可包括多个不同类型连接性。概括地说,装置700被示出具有蜂窝连接性772和无线连接性774。蜂窝连接性772一般指由无线载波提供的蜂窝网络连接性,诸如经由GSM(全球移动通信系统)或变形或衍生、CDMA(码分多址)或变形或衍生、TDM(时分复用)或变形或衍生、LTE(长期演进-也称为“4G”)或其它蜂窝蜂窝标准提供的连接性。无线连接性774指非蜂窝的无线连接性,并且可包括个域网(诸如蓝牙)、局域网(诸如WiFi)和/或广域网(诸如WiMax)或其它无线通信。无线通信指通过非固态介质通过使用调制电磁辐射传输数据。有线通信通过固态通信介质发生。
外设连接780包括硬件接口和连接器以及软件组件(例如驱动、协议栈)以进行外设连接。将理解到,装置700可能是到其它计算装置的外设装置(“到”782),以及将外设装置(“从”784)连接到它。装置700通常具有“扩展坞(docking)”连接器以连接到其它计算装置,诸如为了管理(例如下载和/或上载、改变、同步)装置700上内容的目的。此外,对接连接器可允许装置700连接到某些外设,这些外设允许装置700控制例如到试听系统或其它系统的内容输出。
除了专有对接连接器或其它专有连接硬件,装置700可经由公共连接器或基于标准的连接器进行外设连接780。公共类型可包括通用串行总线(USB)连接器(其可包括任何数量的不同硬件接口),显示端口包括迷你显示端口(MDP)、高清多媒体接口(HDMI)、火线或其它类型。
在一个实施例中,系统700包括相位控制790。相位控制790可以包括在I/O相位补偿电路中(例如在存储器子系统760中)以通过时钟信号锁定I/O。在一个实施例中,相位控制680提供用于I/O相位补偿的可变可编程延迟。在一个实施例中,可变斜率通过划分粗略锁定码并通过更精细的相位调整跟踪且锁定来提供。在一个实施例中,相位控制包括具有线性码控制的状态机以控制相位补偿的操作。
在一个方面,一种用于相位补偿的方法包括:生成线性代码以施加相位补偿来将I/O(输入/输出)信号的相位锁定到时序信号的相位;通过可变的可编程斜率选择性地调整线性代码,其中斜率定义在线性代码中每单位改变施加多少相位补偿;并且将调整的线性代码施加到锁定环以将I/O信号的相位锁定到时序信号的相位。
在一个实施例中,生成线性代码包括从线性数字计数器生成代码。在一个实施例中,通过可变的可编程斜率选择性地调整线性代码进一步包括:基于初始条件从预设值调整线性代码。在一个实施例中,通过可变的可编程斜率选择性地调整线性代码进一步包括:初始地施加粗略代码用于相位调整;并从粗略代码中改变斜率以将粗略代码调整细分成更精细的调整。在一个实施例中,通过可变的可编程斜率选择性地调整线性代码进一步包括:初始地施加的粗略代码用于相位调整;并通过对粗略代码进行位移位来从粗略代码改变斜率。在一个实施例中,锁定环包括数字延迟锁定环(DLL)。在一个实施例中,DLL包括用于存储器装置的数据I/O接口的DLL。在一个实施例中,锁定环包括锁相环(PLL)。
在一个方面,I/O(输入/输出)控制电路包括:用以接收I/O信号的I/O信号线;状态机,用以生成线性代码以施加相位补偿来将I/O信号的相位锁定到时序信号的相位,以通过可变的可编程斜率来选择性地调整线性代码,其中该斜率定义在线性代码中每单位改变施加多少相位补偿,并且将调整的线性代码施加到锁定环以将I/O信号的相位锁定到时序信号的相位。
在一个实施例中,状态机包括线性数字计数器以生成代码。在一个实施例中,状态机要进一步:接收初始条件输入以标识对于相位补偿的预设值起始点;并基于初始条件调整线性代码。在一个实施例中,状态机要进一步:初始地施加粗略代码用于相位调整;并从粗略代码改变斜率以将粗略代码调整细分成更精细的调整。在一个实施例中,状态机要进一步初始地施加粗略代码用于相位调整,并且进一步包括位移位器以位移位粗略代码来改变斜率。在一个实施例中,锁定环包括数字延迟锁定环(DLL)。在一个实施例中,DLL包括用于存储器装置的数据I/O接口的DLL。在一个实施例中,锁定环包括锁相环(PLL)。
在一个方面,一种存储器装置包括:I/O(输入/输出)硬件,其配置成与I/O信号线对接以在与关联的存储器控制器耦合时交换数据;以及I/O(输入/输出)控制电路,用以生成线性代码以施加相位补偿来将要发送到存储器控制器的I/O信号的相位锁定到时序信号的相位,以选通过可变的可编程斜率择性地调整线性代码,其中斜率定义在线性代码中每单位改变施加多少相位补偿,并将调整的线性代码施加到锁定环以将I/O信号的相位锁定到时序信号的相位。
在一个实施例中,状态机包括线性数字计数器以生成代码。在一个实施例中,I/O控制电路要进一步:接收初始条件输入以标识对于相位补偿的预设值起始点;并基于初始条件调整线性代码。在一个实施例中,I/O控制电路要进一步:初始地施加粗略代码用于相位调整;并从粗略代码改变斜率以将粗略代码调整细分成更精细的调整。在一个实施例中,I/O控制电路要进一步初始地施加粗略代码用于相位调整,并且其中I/O控制电路进一步包括用以位移位粗略调代码以改变斜率的位移位器。在一个实施例中,锁定环包括数字延迟锁定环(DLL)。
在一个方面,具有带有I/O(输入/输出)相位补偿的存储器子系统的系统包括:用于存储器控制器和存储器装置之间的数据接口的I/O(输入/输出)控制电路,包括:用以接收I/O信号的I/O信号线;状态机,用以生成线性代码以施加相位补偿来将输入时钟信号的相位锁定到数据信号,以通过可变的可编程斜率来选择性地调整线性代码,其中斜率定义在线性代码中每单位改变施加多少相位补偿,并将调整的线性代码施加到锁定环,以将I/O信号的相位锁定到时序信号的相位;以及触摸屏显示器,其被耦合以基于从存储器装置访问的数据来生成显示。该系统可以包括根据上述I/O控制电路或存储器装置的任何实施例的I/O控制电路。
在一个方面,一种包括计算机可读存储介质的制品,所述计算机可读存储介质具有存储在其上的内容,所述计算机可读存储介质在被访问时使机器执行用于相位补偿的操作,包括:生成线性代码以施加相位补偿来将I/O(输入/输出)信号的相位锁定到时序信号的相位;通过可变的可编程斜率选择性地调整线性代码,其中斜率定义在线性代码中每单位改变施加多少相位补偿;并且将调整的线性代码施加到锁定环以将I/O信号的相位锁定到时序信号的相位。制品可以使机器执行操作以执行根据上述方法的任何实施例的方法。
在一个方面,一种用于相位补偿的设备包括:用于生成线性代码以施加相位补偿来将I/O(输入/输出)信号的相位锁定到时序信号的相位的部件;用于通过可变的可编程斜率选择性地调整线性代码的部件,其中斜率定义在线性代码中每单位改变施加多少相位补偿;以及用于将调整的线性代码施加到锁定环以将I/O信号的相位锁定到时序信号的相位的部件。该设备可以包括用于执行操作以执行根据上述方法的任何实施例的方法的部件。
在一个方面,一种用于相位补偿的方法包括:施加粗略相位调整到I/O(输入/输出)同步信号,直到同步信号的相位超过参考相位;以及在超过所述参考相位之后施加精细的相位调整到所述I/O同步信号,其中所述精细相位调整是粗略相位调整的细分,其中精细相位调整的每个相位偏移小于粗略相位调整的相位偏移调整;其中精细相位调整的相位偏移的大小是可编程地调整的。
在一个实施例中,施加粗略相位调整进一步包括生成线性代码以施加相位补偿来将I/O(输入/输出)信号的相位锁定到时序信号的相位。在一个实施例中,施加粗略的相位调整进一步包括从线性数字计数器生成线性代码。在一个实施例中,相位偏移的大小定义在线性代码中每单位改变施加多少相位补偿。在一个实施例中,施加精细相位调整包括通过可变的可编程相位偏移选择性地调整路线调整。在一个实施例中,通过可变的可编程相位偏移来选择性地调整路线调整进一步包括:基于初始条件从从预设值调整相位偏移。在一个实施例中,施加精细相位调整进一步包括通过对控制路线相位调整的相位偏移的代码进行位移位而改变相位偏移的大小。在一个实施例中,施加路线相位调整和精细相位调整包括在数字延迟锁定环(DLL)中提供相位控制。在一个实施例中,DLL包括用于存储器装置的数据I/O接口的DLL。在一个实施例中,施加路线相位调整和精细相位调整包括在锁相环(PLL)中提供相位控制。
在一个方面,一种包括计算机可读存储介质的制品,所述计算机可读存储介质具有存储在其上的内容,所述计算机可读存储介质在被访问时使机器执行操作以执行根据直接在前的方法的任何实施例的用于相位补偿的方法。在一个方面,用于相位补偿的设备包括用于执行操作以执行根据直接在前的方法的任何实施例的用于相位补偿的方法的部件。
本文所示出的流程图提供了各种过程动作顺序的示例。流程图可指示要由软件或固件例程执行的操作以及物理操作。在一个实施例中,流程图可示出有限状态机(FSM)的状态,其可用硬件和/或软件实现。尽管按具体顺序或次序示出了,但是除非以其它方式规定,否则可以修改动作的次序。从而,所示出的实施例应该仅作为示例理解,并且过程可按不同次序执行,并且一些动作可并行执行。此外,在各种实施例中可省略一个或多个动作;从而,并不是在每个实施例中都要求所有动作。其它过程流程是可能的。
某种程度上,本文描述了各种操作或功能,它们可描述或者定义为软件代码、指令、配置和/或数据。内容可以是直接可执行的(“对象”或“可执行”形式)源代码或差异代码(“Δ”或“补丁”代码)。本文描述的实施例的软件内容可经由制品(具有内容存储在其上)或经由操作通信接口以经由通信接口发送数据的方法提供。机器可读存储介质可使机器执行所描述的功能或操作,并且包括存储以机器(例如计算装置、电子系统等)可访问形式的信息的任何机制,诸如可记录/不可记录媒体(例如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储媒体、光存储媒体、闪存装置等)。通信接口包括与任何硬连线、无线、光等介质对接以与另一装置(诸如存储器总线接口、处理器总线接口、因特网连接、盘控制器等)通信的任何机制。通信接口可通过提供配置参数和/或发送信号来配置以准备通信接口提供描述软件内容的数据信号。通信接口可经由发送到通信接口的一个或多个命令或信号访问。
本文描述的各种组件可以是用于执行所描述的操作或功能的部件。本文描述的每个组件都包括软件、硬件或这些的组合。组件可实现为软件模块、硬件模块、专用硬件(例如应用特定硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路等。
除了本文所描述的内容,可对所公开的本发明的实施例和实现进行各种修改,而不脱离它们的范围。因此,本文的说明和示例应该以说明性的而非约束性意义来解释。本发明的范围应该仅参考如下权利要求进行度量。

Claims (34)

1.一种I/O(输入/输出)控制电路,包括:
I/O(输入/输出)信号线,用以接收输入信号;以及
相位控制电路,用以将所述输入信号与内部参考信号的相位对齐,其中所述相位控制电路要基于可编程的线性解码器,通过可变的斜率调整所述输入信号的相位,所述线性解码器施加粗略代码以生成对所述输入信号的所述相位的粗略延迟调整,并且然后施加精细代码以生成对所述输入信号的所述相位的精细延迟调整,其中所述精细代码提供所述粗略代码的细分,其中每个精细延迟调整要将所述输入信号的所述相位调整比粗略延迟调整更小的量,其中所述精细相位调整是编程可调整的。
2.如权利要求1所述的I/O控制电路,其中,所述相位控制电路要:
接收初始条件输入以标识对于相位调整的预设值起始点;以及
基于所述初始条件调整所述可变的斜率。
3.如权利要求1所述的I/O控制电路,其中所述相位控制电路要设置所述粗略代码并且对所设置粗略代码施加所述精细代码以将所述粗略延迟调整细分成更精细的调整。
4.如权利要求3所述的I/O控制电路,其中所述相位控制电路要首先通过粗略延迟调整来移位所述输入信号的所述相位,以及随后基于所述精细代码通过所述精细延迟调整来移位所述输入信号的所述相位作为施加到所述粗略代码的最低有效位(LSB)。
5.如权利要求1所述的I/O控制电路,其中所述相位控制电路包括按位XOR(异或)电路,用以将数字计数器的M个最低有效位(LSB)与数字计数器位M按位异或以生成精细代码值,所述精细代码值连续地增加到它的最大值,并且然后缩减到零,并且然后重复。
6.如权利要求1所述的I/O控制电路,其中所述相位控制电路要位移位所述线性解码器的所述粗略代码以调整所述输入信号的所述相位,直到所述输入信号的边沿跨过所述内部参考信号的边沿。
7.如权利要求1所述的I/O控制电路,其中所述相位控制电路包括数字延迟锁定环(DLL)。
8.如权利要求7所述的I/O控制电路,其中所述DLL包括用于存储器装置的数据I/O接口的DLL。
9.一种存储器装置,包括:
存储器阵列;
I/O(输入/输出)信号线接口,用以接收用于对所述存储器阵列的访问的输入信号;以及
耦合到所述输入信号线接口的相位控制电路,用以将所述输入信号与内部参考信号的相位对齐,其中所述相位控制电路要基于可编程的线性解码器,通过可变的斜率调整所述输入信号的相位,所述线性解码器施加粗略代码以生成对所述输入信号的所述相位的粗略延迟调整,并且然后施加精细代码以生成对所述输入信号的所述相位的精细延迟调整,其中所述精细代码提供所述粗略代码的细分,其中每个精细延迟调整要将所述输入信号的所述相位调整比粗略延迟调整更小的量,其中所述精细相位调整是编程可调整的。
10.如权利要求9所述的存储器装置,其中所述相位控制电路要:
接收初始条件输入以标识对于相位调整的预设值起始点;以及
基于所述初始条件调整所述可变的斜率。
11.如权利要求9所述的存储器装置,其中所述相位控制电路要设置所述粗略代码并且对所设置粗略代码施加所述精细代码以将所述粗略延迟调整细分成更精细的调整。
12.如权利要求11所述的存储器装置,其中所述相位控制电路要首先通过粗略延迟调整来移位所述输入信号的所述相位,以及随后基于所述精细代码通过所述精细延迟调整来移位所述输入信号的所述相位作为施加到所述粗略代码的最低有效位(LSB)。
13.如权利要求9所述的存储器装置,其中所述相位控制电路包括按位XOR(异或)电路,用以将数字计数器的M个最低有效位(LSB)与数字计数器位M按位异或以生成精细代码值,所述精细代码值连续地增加到它的最大值,并且然后缩减到零,并且然后重复。
14.如权利要求9所述的存储器装置,其中所述相位控制电路要位移位所述线性解码器的所述粗略代码以调整所述输入信号的所述相位,直到所述输入信号的边沿跨过所述内部参考信号的边沿。
15.如权利要求9所述的存储器装置,其中所述相位控制电路包括数字延迟锁定环(DLL)。
16.一种用于相位补偿的方法,包括:
将粗略代码施加到线性解码器以生成对I/O(输入/输出)输入信号的相位的粗略延迟调整,直到所述输入信号的边沿跨过参考信号的边沿;以及
在所述输入信号的所述边沿跨过所述参考信号的所述边沿之后,将精细代码施加到线性解码器以生成对所述I/O输入信号的精细延迟调整,其中所述精细代码提供所述粗略代码的细分,其中每个精细延迟调整比粗略延迟调整更小;
其中,所述精细延迟调整是编程可调整的。
17.如权利要求16所述的方法,其中施加所述粗略代码还包括从线性数字计数器生成线性代码。
18.如权利要求17所述的方法,其中所述粗略代码和所述精细代码提供不同大小的相位偏移,所述相位偏移定义在所述线性代码中每单位改变施加多少相位补偿。
19.如权利要求16所述的方法,其中施加所述精细代码包括通过可变的可编程相位偏移来选择性地调整所述粗略延迟调整。
20.如权利要求19所述的方法,其中通过可变的可编程相位偏移来选择性地调整所述粗略延迟调整还包括:
基于初始条件从预设值调整所述相位偏移。
21.如权利要求19所述的方法,其中施加所述精细代码还包括通过对控制用于所述粗略延迟调整的所述相位偏移的代码进行位移位来改变所述相位偏移的大小。
22.如权利要求16所述的方法,其中施加所述粗略代码和所述精细代码包括在数字延迟锁定环(DLL)中提供相位控制。
23.如权利要求22所述的方法,其中所述DLL包括用于存储器装置的数据I/O接口的DLL。
24.如权利要求16所述的方法,其中施加所述粗略代码和所述精细代码包括在锁相环(PLL)中提供相位控制。
25.一种计算机可读介质,所述计算机可读介质具有存储在其上的指令,所述指令当被执行时促使计算装置执行根据权利要求16-24中的任一项所述的方法。
26.一种用于相位补偿的设备,包括:
用于将粗略代码施加到线性解码器以生成对I/O(输入/输出)输入信号的相位的粗略延迟调整直到所述输入信号的边沿跨过参考信号的边沿的部件;以及
用于在所述输入信号的所述边沿跨过所述参考信号的所述边沿之后,将精细代码施加到线性解码器以生成对所述I/O输入信号的精细延迟调整的部件,其中所述精细代码提供所述粗略代码的细分,其中每个精细延迟调整比粗略延迟调整小;
其中,所述精细延迟调整是编程可调整的。
27.如权利要求26所述的设备,其中用于施加所述粗略代码的部件还包括用于从线性数字计数器生成线性代码的部件。
28.如权利要求27所述的设备,其中所述粗略代码和所述精细代码提供不同大小的相位偏移,所述相位偏移定义在所述线性代码中每单位改变施加多少相位补偿。
29.如权利要求26所述的设备,其中用于施加所述精细代码的部件包括用于通过可变的可编程相位偏移来选择性地调整所述粗略延迟调整的部件。
30.如权利要求29所述的设备,其中用于通过可变的可编程相位偏移来选择性地调整所述粗略延迟调整的部件还包括:
用于基于初始条件从预设值调整所述相位偏移的部件。
31.如权利要求29所述的设备,其中用于施加所述精细代码的部件还包括用于通过对控制用于所述粗略延迟调整的所述相位偏移的代码进行位移位来改变所述相位偏移的大小的部件。
32.如权利要求26所述的设备,其中用于施加所述粗略代码和所述精细代码的部件包括用于在数字延迟锁定环(DLL)中提供相位控制的部件。
33.如权利要求32所述的设备,其中所述DLL包括用于存储器装置的数据I/O接口的DLL。
34.如权利要求26所述的设备,其中用于施加所述粗略代码和所述精细代码的部件包括用于在锁相环(PLL)中提供相位控制的部件。
CN201680035935.0A 2015-06-19 2016-05-27 采用可编程跟踪斜率的数字相位控制 Active CN107735836B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/745,326 US9614533B2 (en) 2015-06-19 2015-06-19 Digital phase control with programmable tracking slope
US14/745326 2015-06-19
PCT/US2016/034862 WO2016204962A1 (en) 2015-06-19 2016-05-27 Digital phase control with programmable tracking slope

Publications (2)

Publication Number Publication Date
CN107735836A CN107735836A (zh) 2018-02-23
CN107735836B true CN107735836B (zh) 2021-08-24

Family

ID=57467320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680035935.0A Active CN107735836B (zh) 2015-06-19 2016-05-27 采用可编程跟踪斜率的数字相位控制

Country Status (6)

Country Link
US (2) US9614533B2 (zh)
EP (1) EP3311386A4 (zh)
CN (1) CN107735836B (zh)
DE (1) DE102016108890B4 (zh)
TW (1) TWI679852B (zh)
WO (1) WO2016204962A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180063396A (ko) * 2016-12-01 2018-06-12 에스케이하이닉스 주식회사 지연 고정 루프(dll)를 구비하는 반도체 장치 및 반도체 시스템
US9954542B1 (en) * 2017-02-01 2018-04-24 Apple Inc. Digital linearization technique for charge pump based fractional phased-locked loop
US9893878B1 (en) * 2017-03-15 2018-02-13 Oracle International Corporation On-chip jitter measurement for clock circuits
WO2018194616A1 (en) * 2017-04-20 2018-10-25 Hewlett-Packard Development Company, L.P. Calibrating communication lines
US10217497B2 (en) * 2017-06-07 2019-02-26 Winbond Electronics Corporation Delay locked loop circuit and method of controlling same
KR102598913B1 (ko) * 2018-06-14 2023-11-07 에스케이하이닉스 주식회사 반도체장치
CN110719090A (zh) * 2018-07-12 2020-01-21 新港海岸(北京)科技有限公司 一种相位插值器的自动校准电路及方法
KR20200052562A (ko) 2018-11-07 2020-05-15 삼성전자주식회사 스토리지 장치
US11133806B1 (en) * 2019-05-14 2021-09-28 Space Exploration Technologies Corp. Phase lock loop (PLL) synchronization
US11153067B2 (en) 2019-05-14 2021-10-19 Space Exploration Technologies Corp. Chip to chip time synchronization
CN110535575B (zh) * 2019-08-01 2021-05-14 电子科技大学 一种计算并补偿i/q信号线性相位失衡的方法
KR20210140875A (ko) * 2020-05-14 2021-11-23 삼성전자주식회사 멀티 위상 클록 생성기, 그것을 포함하는 메모리 장치, 및 그것의 멀티 위상클록 생성 방법
KR20220003712A (ko) 2020-07-02 2022-01-11 삼성전자주식회사 지연 고정 루프 회로의 지연 회로 및 지연 고정 루프 회로
EP4195510A4 (en) * 2020-08-11 2024-02-14 Changxin Memory Tech Inc LATCHED LOOP CIRCUIT WITH DELAY
KR20220021505A (ko) 2020-08-14 2022-02-22 삼성전자주식회사 듀티 조절 회로, 이를 포함하는 지연 동기 루프 회로 및 반도체 메모리 장치
US11705429B2 (en) 2020-09-04 2023-07-18 Micron Technology, Inc. Redundant through-silicon vias
US11380395B2 (en) 2020-09-04 2022-07-05 Micron Technology, Inc. Access command delay using delay locked loop (DLL) circuitry
KR20220036175A (ko) 2020-09-15 2022-03-22 삼성전자주식회사 메모리 장치 및 그것의 클록 라킹 방법
US11392163B1 (en) * 2021-09-23 2022-07-19 Apple Inc. On-chip supply ripple tolerant clock distribution
CN115987275A (zh) * 2021-10-14 2023-04-18 澜起科技股份有限公司 校准方法、校准装置及多相时钟电路
CN114665908B (zh) * 2022-03-21 2023-05-12 中国电子科技集团公司第三十八研究所 一种幅相精度可调节的衰减移相系统
EP4318474A4 (en) * 2022-06-06 2024-06-19 Changxin Memory Tech Inc PHASE ADJUSTMENT CIRCUIT, DELAY LOCK CIRCUIT AND MEMORY

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1941173A (zh) * 2005-09-29 2007-04-04 海力士半导体有限公司 延迟锁相回路电路
US7271634B1 (en) * 2005-09-16 2007-09-18 Advanced Micro Devices, Inc. Delay-locked loop having a plurality of lock modes

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295098A (en) 1979-12-19 1981-10-13 Rca Corporation Digitally adjustable phase shifting circuit
US6417714B1 (en) * 2000-03-30 2002-07-09 Inter Corporation Method and apparatus for obtaining linear code-delay response from area-efficient delay cells
JP4592179B2 (ja) * 2000-12-19 2010-12-01 ルネサスエレクトロニクス株式会社 ディレイロックドループ、当該ディレイロックドループを含む半導体装置およびクロック同期により動作するシステムのための制御方法
US6549046B1 (en) * 2000-12-29 2003-04-15 Cisco Technology, Inc. Method and apparatus for phase aligning two clock signals utilizing a programmable phase adjustment circuit
US7242229B1 (en) 2001-05-06 2007-07-10 Altera Corporation Phase locked loop (PLL) and delay locked loop (DLL) counter and delay element programming in user mode
KR100500925B1 (ko) 2002-11-27 2005-07-14 주식회사 하이닉스반도체 디지털 위상 혼합기를 갖는 2 코스 하프 딜레이 라인을이용한로우 지터 dll
US7336752B2 (en) 2002-12-31 2008-02-26 Mosaid Technologies Inc. Wide frequency range delay locked loop
US7400690B2 (en) * 2003-10-14 2008-07-15 Agere Systems Inc. Adaptive phase controller, method of controlling a phase and transmitter employing the same
US7218158B2 (en) * 2004-08-27 2007-05-15 Micron Technology, Inc. Self-timed fine tuning control
US7227395B1 (en) * 2005-02-09 2007-06-05 Altera Corporation High-performance memory interface circuit architecture
US7629819B2 (en) 2005-07-21 2009-12-08 Micron Technology, Inc. Seamless coarse and fine delay structure for high performance DLL
JP5198166B2 (ja) 2008-06-27 2013-05-15 富士通セミコンダクター株式会社 デジタルdll回路及び半導体装置
JP5451012B2 (ja) 2008-09-04 2014-03-26 ピーエスフォー ルクスコ エスエイアールエル Dll回路及びその制御方法
WO2010080172A1 (en) * 2009-01-12 2010-07-15 Rambus Inc. Clock-forwarding low-power signaling system
JP2011009922A (ja) 2009-06-24 2011-01-13 Elpida Memory Inc Dll回路及びこれを備える半導体装置
JP2011176615A (ja) * 2010-02-24 2011-09-08 Elpida Memory Inc クロック制御回路及びこれを備える半導体装置
WO2012027080A1 (en) 2010-08-25 2012-03-01 Rambus Inc. Memory controller with fast reacquisition of read timing to support rank switching
US8611163B2 (en) 2011-03-21 2013-12-17 Taiwan Semiconductor Manufacturing Co., Ltd. Digital DLL for timing control in semiconductor memory
US8564345B2 (en) 2011-04-01 2013-10-22 Intel Corporation Digitally controlled delay lines with fine grain and coarse grain delay elements, and methods and systems to adjust in fine grain increments
JP2013183415A (ja) * 2012-03-05 2013-09-12 Elpida Memory Inc 半導体装置及びクロック信号の位相調整方法
JP6007676B2 (ja) * 2012-08-29 2016-10-12 富士通株式会社 判定支援装置、判定装置、メモリコントローラ、システム、および判定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7271634B1 (en) * 2005-09-16 2007-09-18 Advanced Micro Devices, Inc. Delay-locked loop having a plurality of lock modes
CN1941173A (zh) * 2005-09-29 2007-04-04 海力士半导体有限公司 延迟锁相回路电路

Also Published As

Publication number Publication date
DE102016108890A1 (de) 2016-12-22
US20160373119A1 (en) 2016-12-22
EP3311386A4 (en) 2019-03-27
TWI679852B (zh) 2019-12-11
US20170237444A1 (en) 2017-08-17
US10574241B2 (en) 2020-02-25
DE102016108890B4 (de) 2018-04-05
TW201711395A (zh) 2017-03-16
US9614533B2 (en) 2017-04-04
EP3311386A1 (en) 2018-04-25
CN107735836A (zh) 2018-02-23
WO2016204962A1 (en) 2016-12-22

Similar Documents

Publication Publication Date Title
CN107735836B (zh) 采用可编程跟踪斜率的数字相位控制
US10600458B2 (en) Memory device and method of operating the same for latency control
US9461656B2 (en) Injection-locked phase locked loop circuits using delay locked loops
US9876491B2 (en) Apparatus, system, and method for re-synthesizing a clock signal
US7936196B2 (en) First delay locking method, delay-locked loop, and semiconductor memory device including the same
US8520455B2 (en) Method and apparatus for training a DLL in a memory subsystem
KR20160040140A (ko) 메조크로너스 ddr 시스템을 위한 저 레이턴시 동기화 스킴
US8269534B2 (en) Delay locked loop circuit and semiconductor device having the delay locked loop circuit
CN108475524B (zh) 可重配置时钟控制装置和系统
TW201729186A (zh) 彈性dll(延遲鎖定迴路)校準技術
KR20120037190A (ko) 위상 보간기 및 그를 포함하는 반도체 장치 및 위상 보간 방법
US11916554B2 (en) Techniques for duty cycle correction
US10347347B1 (en) Link training mechanism by controlling delay in data path
US9455726B1 (en) XOR (exclusive or) based triangular mixing for digital phase control
EP2939238B1 (en) Clock generation and delay architecture
KR20150084135A (ko) 반도체장치 및 반도체시스템
US9209961B1 (en) Method and apparatus for delay compensation in data transmission
US9190991B2 (en) Apparatus, system, and method for re-synthesizing a clock signal
US8842490B2 (en) Apparatus and method for selectively using a memory command clock as a reference clock
US9916881B2 (en) Semiconductor system
US20220358061A1 (en) Unmatched architecture compensation via digital component delay

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant