使用组进行自适应存储器校准的制作方法

文档序号:6759135阅读:293来源:国知局
专利名称:使用组进行自适应存储器校准的制作方法
技术领域
本揭示案涉及用于使集成电路与电子组件校准的系统和技术。
背景技术
集成电路已通过实现对离散装置来说不可能的新应用而使电子产业发生巨大变化。集成允许由数百万电子组件组成的复杂电路封装到单个半导体材料芯片中。另外,集成提供在单个硅片上制造数百个芯片的优势,这大大降低了成本且增加了完成的电路的每一者的可靠性。
如今,集成电路在电子装置中广泛使用以实施例如通用和专用处理器的复杂电路。集成到芯片上的控制器可用于使各种处理器与芯片外组件(off-chip component)(例如,外部存储器和类似组件)介接。由控制器产生的时钟可用于存取这些芯片外组件。这些时钟应在某一容许公差内以特定标称速度操作,以确保控制器可在最坏情况温度和电压条件下与芯片外组件通信。
由于硅片制造工艺中固有的过程的缘故,由单个晶片产生的一组芯片可能落入不同处理速度额定值范围中。视应用而定,一些制造商被迫丢弃在标称公差范围外的慢芯片和快芯片。这导致大量代价非常高的浪费。
在试图保存晶片的不产生标称芯片的那些部分时,一些制造商采用一种速度分组(speed binning)方法,其中根据由单个晶片产生的各种芯片的分级处理速度来对所述各种芯片进行测试和分批。这种根据芯片的速度来对芯片进行分批的方法既耗费时间,代价又高。由于以降低的价格来出售慢芯片和快芯片的缘故而导致另外的成本。
使用延迟来实施确保组成电子装置的集成电路与外部组件之间的无误差通信所需要的时序。所述延迟随许多因素的变化而变化,所述因素包括集成电路的速度和电压,以及外部组件的速度。可(例如)使用对此类通信进行测试并接着从测试结果导出延迟的校准过程来确定这些延迟。许多集成电路和外部组件上的此类参数的变化可导致预定延迟对给定电子装置来说不是最佳的。另外,预先知道每一集成电路的实际速度和电压以及外部组件的速度是不实际的。因此,芯片制造者最多只好满足于确定将在此类参数的预期范围内无误差地工作的程序延迟,尽管知道此类预定延迟对许多电子装置来说不会是最佳的。

发明内容
在本发明的一个方面,一种电子装置包含电子组件和集成电路,所述集成电路经配置以产生系统时钟和具有来自所述系统时钟的可编程延迟的外部时钟,所述集成电路进一步经配置以将所述外部时钟提供到所述电子组件;确定系统时钟与外部时钟之间的集成电路与电子组件可在其中通信的延迟范围;且基于所述延迟范围而用多个预定延迟值中的一者来对外部时钟进行编程。
在本发明的另一方面,一种使集成电路与电子组件(所述集成电路具有系统时钟)校准的方法包含在集成电路上产生外部时钟,所述外部时钟具有来自系统时钟的可编程延迟,所述方法进一步包含将来自集成电路的外部时钟提供到电子组件以支持与电子组件的通信;确定系统时钟与外部时钟之间的集成电路与电子组件可在其中通信的延迟范围;且基于所述延迟范围而用多个预定延迟值中的一者来对外部时钟进行编程。
在本发明的又一方面,一种电子装置包含电子组件和集成电路,其中所述集成电路包括用于产生系统时钟的装置,其包含用于在集成电路上产生外部时钟的装置,所述外部时钟具有来自系统时钟的可编程延迟;用于将来自集成电路的外部时钟提供到电子组件以支持与电子组件的通信的装置;用于确定系统时钟与外部时钟之间的集成电路与电子组件可在其中通信的延迟范围的装置;和用于基于所述延迟范围而用多个预定延迟值中的一者来对外部时钟进行编程的装置。
在本发明的又一方面,一种计算机可读媒体包含指令程序,所述指令程序可由处理器执行以执行使集成电路与电子组件校准的方法,所述集成电路包括系统时钟和具有来自所述系统时钟的可编程延迟的外部时钟,将所述外部时钟提供到电子组件以支持与电子组件的通信,所述方法包含确定系统时钟与外部时钟之间的集成电路与电子组件可在其中通信的延迟范围;和基于所述延迟范围,用多个预定延迟值中的一者对外部时钟进行编程。
应了解,所属领域的技术人员从以下具体实施方式
中将容易了解本发明的其它实施例,具体实施方式
中以说明的方式展示并描述本发明的各个实施例。将认识到,本发明能够具有其它和不同实施例,且本发明的若干细节能够在各个其它方面容许修改,所有这些均是在不脱离本发明的精神和范围的情况下进行的。因此,应将附图和具体实施方式
视为本质上是说明性的而不是限制性的。


在附图中,以举例的方式而不是以限制的方式来说明本发明的各方面,其中图1是说明使用集成电路的电子装置的实例的概念方框图;图2是说明写入到芯片外存储器的时序参数的实例的时序图;图3是说明从芯片外存储器读取的时序参数的实例的时序图;图4是说明控制器的操作的实例的功能方框图;图5A和图5B是展示不同电压和速度下的集成电路的代表性延迟范围的条形图;图5C是展示根据本发明分成多个组的延迟范围的条形图;图6是说明可充当图7的自适应校准算法的先驱的校准算法的实例的流程图;和图7是说明根据本发明的自适应校准算法的实例的流程图。
具体实施例方式
下文结合附图陈述的具体实施方式
希望作为对本发明各个实施例的描述,且不希望代表可实践本发明的仅有的实施例。
具体实施方式
包括特定细节,以便提供对本发明的全面理解。然而,所属领域的技术人员将了解,可在无这些特定细节的情况下实践本发明。在一些情况下,以方框图形式来展示众所周知的结构和装置,以便避免混淆本发明的概念。首字母缩写词和其它描述性术语可仅为了便利和清楚而使用,且不希望限制本发明的范围。
在以下具体实施方式
中,可在经配置以耦合到电子组件(例如,存储装置)的集成电路的情境中描述本发明的各个方面。所述集成电路可以是(例如)包含至少一个处理器的专用集成电路(ASIC)。所述存储装置可以(例如)是同步动态随机存取存储器(SDRAM)或类似装置。虽然这些发明方面可能非常适合与这些组件一起使用,但所属领域的技术人员将容易了解,这些发明方面同样适用于各种其它电子装置中。因此,对特定类型的集成电路或电子组件(例如,外部或芯片外存储器)的任何参考仅希望说明所述发明方面,应了解此类发明方面具有较宽应用范围。
图1是使用集成电路102(例如,ASIC)的电子装置100的概念方框图。集成电路102可包括微处理器104、数字信号处理器(DSP)106、收发器108、输入/输出(I/O)接口110和外部总线接口(EBI)112。所有这些组件均可与内部系统总线(ISB)114耦合在一起。时钟产生器116可用于产生用于系统计时的系统时钟信号(或“系统时钟”)。不应将图1解释为需要电子装置100或其组件的任何特定实体布局。
微处理器104可用作运行应用程序的平台,所述应用程序尤其为电子装置100提供用户控制和总体系统管理功能。DSP106可实施有嵌入式通信软件层,其运行专用算法以减小对微处理器104的处理要求。微处理器104和DSP 106中的任一者或两者也可用于运行本文所述的算法。收发器108可用于提供对外部媒体的存取,所述外部媒体例如在无线电话、终端机、电子邮件或Web启用装置(例如,个人数据助理(PDA))或其它类似装置的情况下的无线电链路。在一些实施例中,收发器108可提供对以太网、电缆调制解调器线(cable modem line)、光纤、数字用户线(DSL)、公共电话交换网络(PSTN)或任何其它通信媒体的存取。在其它实施例中,所述电子装置可为自含式,而不具有收发器来支持外部通信。I/O接口110可用于支持各种用户接口。所述用户接口可包括键区、鼠标、触摸屏、音频扬声器或头戴送受话器(head set)、麦克风、相机和/或类似物。
EBI112可用于提供ISB114上的组件之间的存取。EBI112可包括控制器113,其在ISB114与位于集成电路102外部的组件(例如,一个或一个以上芯片外组件,如外部组件118)之间提供接口。所述接口可包括时钟总线120、地址总线122、控制总线124和数据总线126。尽管未图示,但EBI112还可提供到达液晶显示器(LCD)和/或其它用户接口装置的接口。
在电子装置100的至少一个实施例中,外部组件118可以是存储器,例如SDRAM。或者,外部组件可以是突发NOR、突发PSRAM、RAM、ROM、EPROM、EEPROM、VRAM或任何其它存储器组件或装置,或存储器阵列。在以上情况中的任一种情况下,控制器113可用于依据来自时钟产生器116的系统时钟的变化而产生外部时钟信号(或“外部时钟”)和反馈时钟信号(或“反馈时钟”)。外部时钟可经由时钟总线120提供到外部组件118,以从外部组件118(下文称为SDRAM118)进行读取和对外部组件118进行写入。反馈时钟可由控制器113用来对从SDRAM118读取的数据进行取样。
图2展示对SDRAM118进行写入的时序要求的实例。外部时钟(其由外部时钟204表示)可从系统时钟(其由系统时钟202表示)延迟。待写入到SDRAM118的数据由数据(或数据信号)206表示,且可在系统时钟转变之后不久时间t0时从控制器113释放到数据总线120(见图1)上。系统时钟的转变与t0之间的短延迟210是由于控制器113的传播延迟的缘故。数据总线120(见图1)增加了额外传播延迟,从而导致数据206在时间t1时到达SDRAM的输入。图2中以数据206的交叉影线来展示SDRAM的输入处的数据。
为了确保可靠的操作,数据206接着必须在外部时钟转变之前,在SDRAM118的输入处保持稳定,持续一段短暂时间。这被称为“最小建立时间(minimum set-up time)”,且在图2中表示为tset-up。在外部时钟转变之后,即在tset-up之后,数据206也必须保持稳定持续一段时间。这被称为“最小保持时间(minimum hold time)”,且在图2中表示为thold。如果不满足最小建立时间和最小保持时间,那么不能保证对SDRAM的写入操作。因此,从图2可容易看到,在系统时钟202与外部时钟204之间存在最小延迟要求以满足最小建立时间,且在所述两者之间存在最大延迟以满足最小保持时间。所述延迟可以是可编程的,且可设定在这些边界之间的任何地方,如图2中由外部时钟204的阴影部分208所示。
图3展示从SDRAM118进行读取的时序要求的实例。如先前结合图2所阐释,外部时钟204可从系统时钟202延迟。反馈时钟302也可从系统时钟202延迟,如图3所示。反馈时钟302可用于将来自SDRAM118的数据读取到控制器113中。数据206可在外部时钟204转变之后不久时间t0时,从SDRAM118释放到数据总线120(见图1)上。由于SDRAM118和数据总线120(见图1)的传播延迟的缘故,数据206在时间t1时到达控制器113的输入。控制器113的输入处的数据(其用数据206的交叉影线来展示)在反馈时钟转变之前必须保持稳定,持续一段短暂时间。此段时间由控制器113的最小建立时间tset-up界定。在反馈时钟302转变之后,数据206也必须保持稳定,持续由控制器113的最小保持时间thold界定的一段时间。一旦在反馈时钟302转变的情况下,将数据读取到控制器113中,那么所述数据可由系统时钟重新取样。重新取样过程具有其自身的要求,包括经取样的数据必须在系统时钟202的下一转变之前保持稳定的最小建立时间。因此,从图3可容易看到,系统时钟202与反馈时钟302之间存在最小延迟要求以满足最小建立时间,且所述两者之间存在最大延迟以满足最小保持时间和重新取样准备时间。所述延迟可在控制器113中编程,且可设定在这些边界之间的任何地方,如图3中由阴影部分304所示。
图4是控制器113的实施例的功能方框图。在所示实施例中,控制器113可划分成同步控制器402和异步控制器404。此划分仅仅是设计偏好,且所属领域的技术人员将容易了解,可使用任何配置来执行本揭示案全文所述的各种功能。控制器402和404可经配置以通过此项技术中众所周知的方法将地址总线122、控制总线124和数据总线126介接到ISB114。
控制器113可用于产生外部时钟204和反馈时钟302。多路复用器408可用于视数据206是从同步控制器计时出还是从异步控制器计时出而选择适当的系统时钟202。在所示实施例中,多路复用器408可经设定以选择由同步控制器402使用的系统时钟来介接到SDRAM 118。专用OR门140可用于通过将反相或非反相系统时钟202提供到输出来提供灵活性。可编程延迟单元412可用于设定外部时钟204的延迟。多路复用器和专用OR门控制,以及外部时钟的延迟可由(例如)在微处理器104上运行的软件或通过任何其它方法来编程。总线驱动器414可用于将外部时钟204提供到SDRAM118。
反馈时钟302可从系统时钟202或外部时钟204产生。系统时钟202和外部时钟204两者均可提供到多路复用器416以向软件程序设计员提供一些多功能性。在所述实施例中,可将选定的系统时钟提供到专用OR门418。专用OR门418允许使用反相或非反相时钟。可编程延迟单元420可用于延迟反馈时钟。反馈时钟302接着可反馈到控制器402和404。多路复用器和专用OR门控制,以及反馈时钟的延迟可由在微处理器104上运行的软件或通过任何其它方法来编程。
如先前所论述,由控制器113和SDRAM118所强加的某些时序约束可能限制外部时钟和反馈时钟的可能的延迟设定值。外部时钟的延迟设定值(例如)可受SDRAM118的最小建立时间和最小保持时间约束。类似地,反馈时钟的延迟设定值可受控制器113的最小建立时间、最小保持时间和重新取样准备时间约束。这些时序约束可随过程、电压和温度(PVT)而变化。
编程到集成电路中的校准算法可用于以每一装置为基础对延迟单元进行编程。此方法可为每一个别电子装置提供最佳时钟设定值。所述校准算法可在电子装置引导时或在其操作期间周期性地实地启用。校准算法可部分地依赖于在存储器中编程的统计信息。所述统计信息可从通过在工厂对足够的电子装置的样本进行测试而获得的数据集合中导出。此过程将被称为“特征化过程”。
所述特征化过程可以针对电子装置样本计算反馈时钟与外部时钟之间的延迟(“K”)而开始。返回图3,可容易看到,对于读取操作来说,控制器113的准备时间tset-up基于从外部时钟的转变到反馈时钟的转变的延迟。还可看到,保持时间thold基于从反馈时钟的转变到外部时钟的下一转变的延迟。因此,如果外部时钟与反馈时钟之间的延迟减小,那么准备时间tset-up减少且保持时间thold增加。相反,如果外部时钟与反馈时钟之间的延迟增加,那么准备时间tset-up增加且保持时间thold减少。因此,特征化过程的初始步骤可为针对电子装置样本计算反馈时钟与外部时钟之间的满足控制器113的最坏情况最小建立时间和最小保持时间的延迟。
假定在读取操作期间,将反馈与外部时钟装置之间的延迟设定为满足控制器的最小建立时间和最小保持时间,那么读取操作的失败或成功将完全取决于是否满足最小重新取样准备时间tset-up。参看图3,当系统时钟与反馈时钟之间的延迟较小时,重新取样准备时间tset-up非常长。然而,当两个时钟之间的延迟增加时,重新取样准备时间tset-up减少,直到其达到最小重新取样准备时间tset-up为止。这是系统时钟与反馈时钟之间的可保证读取操作的“最大延迟”。
返回图2,写入操作的成功或失败将取决于两个时序参数对SDRAM118进行写入的最小建立时间tset-up和最小保持时间thold。然而,实际情况是,最小保持时间thold通常不是限制因素。这是因为保持时间近似等于时钟周期减去准备时间tset-up,其比最小保持时间thold大得多。因此,SDRAM118的最小建立时间tset-up将决定系统时钟与外部时钟(或反馈)之间的可保证写入操作的“最小延迟”。
在特征化过程期间,可对样本中的每一电子装置执行测试程序,以确定系统时钟与反馈时钟之间的控制器113可在其中对SDRAM118进行写入和从SDRAM118进行读取的延迟值范围。此范围是由控制器113的最小重新取样准备时间tset-up时间所设定的“最大延迟”和由SDRAM118的最小建立时间tset-up所设定的“最小延迟”界定的连续范围。测试程序可涉及针对被测试的电子装置中的每一者,将计算出的反馈时钟与外部时钟之间的延迟编程到控制器113的可编程延迟单元中。接下来,每一电子装置的可编程延迟单元的调谐范围可在维持反馈时钟与外部时钟之间的延迟的同时,在整个调谐范围上摆动。更具体地说,对于每一电子装置来说,可将针对反馈时钟的可编程延迟单元420设定为零延迟,且可将针对外部时钟的可编程延迟单元412设定为K。接着,可编程延迟单元的延迟可一起递增增加。对于每一递增延迟来说,控制器113从SDRAM118进行读取且对SDRAM118进行写入,且接着视结果而将每一读取和写入试图分类为失败或成功。
实际情况是,特定集成电路的速度和SDRAM的速度可能存在变化,这可能影响特定电子装置的最佳反馈时钟和外部时钟延迟。举例来说,图5A和5B展示特征化过程期间从来自样本的两个不同电子装置产生的测试程序结果。在图5A和5B中的每一者中,每一条形图表示个别电子装置可操作的反馈时钟延迟范围。显然,集成电路的频率(即,时钟速度)的差异可能产生明显不同的反馈时钟延迟要求。虽然在图5A和图5B的每一者中展示外部时钟延迟,但所述结果或者可能已针对外部时钟延迟而呈现,因为在说明性实施例中,外部时钟与反馈时钟之间的关系是已知的。
参看图5A,可通过设定电子装置的最佳电压来开始特征化过程期间电子装置的测试程序。接着,将反馈时钟延迟设定为零(nfb=0),其中nfb是在反馈时钟的延迟单元中编程的数字值,且将外部时钟延迟设定为K(next=K),其中next是在外部时钟的延迟单元中编程的数字值。在这些条件下,将数据写入到SDRAM且接着从SDRAM读取数据。如果所读取的数据有效,即不出现误差,那么为值n记录“通过”。否则,为值n记录“失败”。接着,使值n递增,例如n=1,同时电压和频率保持不变。接着针对新的n执行写入、读取和记录通过/失败步骤。继续此过程,直到n=31(其为最大值)为止。结果(例如)展示在图5A条形图中。条形图的阴影区域表示通过值,且从约n=1延伸到约n=28。失败值落在n=1下方或n=28上方。可将系统时钟与反馈时钟之间的“最小延迟”称为最低通过值(lowest passing value,LPV),且可将系统时钟与反馈时钟之间的“最大延迟”称为最高通过值(HPV)。
可在最佳电压下对第二电子装置执行相同测试程序。在此情况下,第二电子装置中的集成电路比第一电子中的集成电路快。图5B条形图中展示结果。条形图的阴影区域表示通过值,且从约n=4延伸到约n=31。失败值落在n=4下方或n=31上方。将图5A与图5B的第一电子装置与第二电阻装置的结果进行比较,显然,具有较快集成电路的第二电子装置的系统时钟与反馈时钟之间的各个时钟延迟设定值对具有较慢集成电路的第一电子装置将不起作用。
可对许多电子装置执行特征化过程以达到较大总数的反馈时钟延迟解决方案。此数据可用于确定电子装置的不同分类的值的延迟范围。这些分类被称为“组”且基于电子装置的集成电路和SDRAM的速度。每一组可表示被测试的装置的组合。在说明性实施例中,界定四个组,其表示集成电路与SDRAM的组合,如下(1)慢集成电路,快SDRAM;(2)慢/标称集成电路,慢SDRAM;(3)快/标称集成电路,快SDRAM;和(4)快/标称集成电路,慢SDRAM。当然,可界定其它组合,且可界定更多或更少的组。
在特征化过程期间,对电子装置的足够大的样本进行测试可产生集成电路与SDRAM的每一组合的延迟值分布。从此类分布中可界定组。当然,存在可应用于测试数据以确定组的宽度(即,系统时钟与反馈时钟之间的延迟值范围)的大量已知统计方法。在可用的测试数据不足的情况下,可使用外推法来估计组宽度和相应的延迟。
图5C是条形图550,其展示组1、2、3和4,其中每一组均具有界定的组宽度。组1的宽度约为4-8,组2的宽度约为8-12,组3的宽度约为12-16,且组4的宽度约为16-20。在每一组内,可选择系统时钟与反馈时钟之间的延迟设定值。可从组的中心选择延迟设定值。举例来说,特征化为具有慢集成电路和快SDRAM的电子装置可归类到组1,且如果将系统时钟与反馈时钟之间的延迟设定为6(即,组1的中心处的延迟值),那么电子装置会适当地操作。在此情况下,系统时钟与外部时钟之间的延迟将为6+K。如果将K设定为4以实现2ns的近似准备时间和1ns的保持时间,那么可针对每一组建立以下延迟设定值组1→慢集成电路,快SDRAM反馈时钟延迟=6,外部时钟延迟=10组2→慢/标称集成电路,慢SDRAM反馈时钟延迟=10,外部时钟延迟=14组3→标称/快集成电路,快SDRAM反馈时钟延迟=14,外部时钟延迟=18组4→标称/快集成电路,慢SDRAM反馈时钟延迟=18,外部时钟延迟=22。
特征化过程期间确定的时钟设定值可由编程到电子装置中的自适应校准算法用来以每一装置为基础实地设定反馈时钟和外部时钟的延迟。这些时钟设定值和组定义可存储在电子装置中的存储器中,或以其它方式与自适应校准算法包括在一起。
图6提供描绘实地与特定电子装置一起使用的自适应校准算法的流程图600。如与所有其它算法一样,本文所述的过程和方法,自适应校准算法700可以在软件、硬件、固件或其任何组合中实施。自适应校准算法600类似于上文所述的用于确定图5A和5B的条形图的算法。自适应校准算法600可在电子装置100的最初引导时运行。自适应校准算法600也可在随后的引导时、随机地、周期性地,或响应于感测到的状态(例如,电压、温度或速度)的变化而运行。
在此实例中,在步骤604中,自适应校准算法初始将系统时钟与反馈之间的延迟设定为零(nfb=0),且将系统时钟与外部时钟之间的延迟设定为K(next=K)。步骤606测试反馈时钟是否已摆动通过整个调谐范围。这可通过确定nfb是否大于31来实现。假定在步骤606中,反馈时钟延迟尚未摆动越过整个调谐范围,那么过程600继续到步骤608,在步骤608中集成电路102将测试数据写入到SDRAM118。接着,过程600继续到步骤610,在步骤610中集成电路102从SDRAM118读取测试数据。
将读取的测试数据与写入的测试数据进行比较。如果在步骤612中,读取的数据有效(即,正确),那么过程600继续到步骤614,且为反馈时钟和外部时钟设定值下的操作记下“通过”状态。如果读取的数据与写入的数据不匹配,那么测试失败且在步骤616中为反馈时钟和外部时钟设定值记录“失败”状态。在任一种情况下,反馈时钟和外部时钟延迟值均接着在步骤618中递增,且过程600返回步骤606。以此方式,自适应校准算法600摆动整个延迟范围。一旦完成,过程600便继续到步骤620,在步骤620中确定电子装置100的所得LPV和HPV。
一旦已知LPV和HPV,自适应校准算法700便可用于确定最终时钟设定值。自适应校准算法700执行测试,所述测试基于集成电路和存储器装置的HPV、LPV和速度之间的关系(如上文所论述的组定义中所反映)的已知原理。
在步骤702中,获得电子装置100的LPV和HPV。虽然说明性实施例使用图6的过程来确定LPV和HPV,但自适应校准算法不要求电子装置100的LPV和HPV由图6的过程来确定。有可能可以其它方式来确定LPV和HPV值。LPV和HPV用于确定哪一组适合电子装置100,且因此确定哪一延迟设定值适合电子装置100。这是通过相对于整个调谐范围来测试LPV和HPV(即,nfb从0摆动到31)来实现的。
在步骤704中,作出HPV是否大于或等于31的判定。如果步骤704中的测试为假,那么过程继续到步骤706,在步骤706中作出LPV是否小于或等于0的判定。如果LPV大于或等于0,那么电子装置100属于组1,步骤708。如果LPV不小于或等于0,那么电子装置100属于组2,步骤710。如果在步骤704中HPV大于或等于31,那么算法进行到步骤712,在步骤712中作出关于LPV的判定。如果LPV小于或等于0,那么电子装置100属于组3,步骤714。否则,电子装置100属于组4,步骤716。
一旦确定了合适的组,集成电路102便用所述组的预定设定值来设定时钟延迟。在此实例中,其为组的中心的延迟设定值。在步骤720中,获得反馈时钟延迟,且在步骤722中,根据反馈时钟延迟和偏移量K确定外部时钟。且在步骤724中,使用来自步骤722的值来设定可编程外部时钟延迟单元412和可编程反馈时钟延迟单元420。
显然,上述算法可能已呈现为确定外部时钟延迟,且根据外部时钟延迟确定反馈时钟延迟,其中反馈时钟延迟=外部时钟延迟-K。任一方法均将满足要求,因为反馈时钟与外部时钟之间存在界定的关系,给定一者,便可获得另一者。
返回图7,且使用上文相对于图5C所描述的组定义,如果电子装置100属于组1,那么反馈时钟延迟=6,且外部时钟延迟=10;如果电子装置100属于组2,那么反馈时钟延迟=10,且外部时钟延迟=14;如果电子装置100属于组3,那么反馈时钟延迟=14,且外部时钟延迟=18;且如果电子装置100属于组4,那么反馈时钟延迟=18,且反馈时钟延迟=22。
如上文所提及,此过程不仅可在最初引导时运行,而且还可随后运行。举例来说,可在每次引导时、周期性地、随机地,或响应于感测到的状态运行自适应校准算法。此类感测到的状态可以是对集成电路或外部组件的电压、温度、速度的感测,或对集成电路与外部组件之间的通信中的误差的感测。
结合本文所揭示的实施例描述的各种说明性逻辑区块、模块和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以实施本文所述的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或一个以上微处理器,或任何其它此类配置。
结合本文所揭示的实施例而描述的方法或算法可直接在硬件中、在由处理器执行的软件模块中,或在两者的组合中实施。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM,或此项技术中已知的任何其它形式的存储媒体中。存储媒体可耦合到处理器,使得处理器可从存储媒体读取信息,且将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成为一体。处理器和存储媒体可驻存在ASIC中。
提供对所揭示实施例的以上描述以使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易了解对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下,本文所界定的一般原理可应用于其它实施例。因此,本发明不希望限于本文所示的实施例,而是应符合与本文所揭示的原理和新颖特征一致的最广范围。
权利要求
1.一种电子装置,其包含电子组件;和集成电路,其经配置以产生系统时钟和具有来自所述系统时钟的可编程延迟的外部时钟,所述集成电路进一步经配置以将所述外部时钟提供到所述电子组件,确定系统时钟与所述外部时钟之间所述集成电路与所述电子组件可在其中通信的延迟范围,且基于所述延迟范围,用多个预定延迟值中的一者对所述外部时钟进行编程。
2.根据权利要求1所述的电子装置,其中所述集成电路进一步经配置以存储所述预定延迟值。
3.根据权利要求1所述的电子装置,其中所述电子组件包含至少一个存储器装置。
4.根据权利要求3所述的电子装置,其中所述电子组件包含SDRAM、突发NOR、突发PSRAM、RAM、ROM、EPROM、EEPROM或VRAM中的至少一者。
5.根据权利要求3所述的电子装置,其中所述集成电路进一步经配置以通过对电子组件的多个读取/写入操作来确定所述延迟范围。
6.根据权利要求5所述的电子装置,其中所述集成电路进一步经配置以通过将所述读取操作中的每一者估计为通过状态或失败状态来确定所述延迟范围。
7.根据权利要求1所述的电子装置,其中所述延迟范围包含上边界和下边界,且其中所述集成电路进一步经配置以基于所述延迟范围的边界,用多个预定延迟值中的所述一者来对所述外部时钟进行编程。
8.根据权利要求7所述的电子装置,其中所述集成电路进一步经配置以确定多个预定延迟值中的所述一者为所述延迟范围的上边界是否高于所述系统时钟与所述外部时钟之间的最大可编程延迟的函数。
9.根据权利要求7所述的电子装置,其中所述集成电路进一步经配置以确定多个预定延迟值中的所述一者为所述延迟范围的下边界是否低于所述系统时钟与所述外部时钟之间的最小可编程延迟的函数。
10.根据权利要求1所述的电子装置,其中所述预定延迟值中的每一者与特征化所述集成电路的速度范围和特征化所述电子组件的速度范围有关。
11.根据权利要求1所述的电子装置,其中所述电子装置包含无线电话、个人数字助理、电子邮件装置或Web启用装置。
12.一种使集成电路与电子组件校准的方法,所述集成电路具有系统时钟,所述方法包含在所述集成电路上产生外部时钟,所述外部时钟具有来自所述系统时钟的可编程延迟;将来自所述集成电路的外部时钟提供到所述电子组件以支持与所述电子组件的通信;确定所述系统时钟与所述外部时钟之间所述集成电路与所述电子组件可在其中通信的延迟范围;和基于所述延迟范围,用多个预定延迟值中的一者对所述外部时钟进行编程。
13.根据权利要求12所述的方法,其进一步包含存储所述预定延迟值。
14.根据权利要求12所述的方法,其中所述电子组件包含至少一个存储器装置。
15.根据权利要求14所述的方法,其中所述电子组件包含SDRAM、突发NOR、突发PSRAM、RAM、ROM、EPROM、EEPROM或VRAM中的至少一者。
16.根据权利要求14所述的方法,其进一步包含通过对电子组件的多个读取/写入操作来确定所述延迟范围。
17.根据权利要求16所述的方法,其进一步包含通过将所述读取操作中的每一者估计为通过状态或失败状态来确定所述延迟范围。
18.根据权利要求12所述的方法,其进一步包含确定所述延迟范围的上边界和下边界,和基于所述延迟范围的边界,用多个预定延迟值中的所述一者对所述外部时钟进行编程。
19.根据权利要求18所述的方法,其进一步包含确定多个预定延迟值中的所述一者为所述延迟范围的上边界是否高于所述系统时钟与所述外部时钟之间的最大可编程延迟的函数。
20.根据权利要求18所述的方法,其进一步包含确定多个预定延迟值中的所述一者为所述延迟范围的下边界是否低于所述系统时钟与所述外部时钟之间的最小可编程延迟的函数。
21.根据权利要求12所述的方法,其中所述预定延迟值中的每一者与特征化所述集成电路的速度范围和特征化所述电子组件的速度范围有关。
22.根据权利要求12所述的方法,其中所述电子装置包含无线电话、个人数字助理、电子邮件装置或Web启用装置。
23.一种电子装置,其包含电子组件;和集成电路,其包含用于产生系统时钟的装置;用于在所述集成电路上产生外部时钟的装置,所述外部时钟具有来自所述系统时钟的可编程延迟;用于将来自所述集成电路的外部时钟提供到所述电子组件以支持与所述电子组件的通信的装置;用于确定所述系统时钟与所述外部时钟之间所述集成电路与所述电子组件可在其中通信的延迟范围的装置;和用于基于所述延迟范围用多个预定延迟值中的一者对所述外部时钟进行编程的装置。
24.根据权利要求23所述的电子装置,其进一步包含用于存储所述预定延迟值的装置。
25.根据权利要求23所述的电子装置,其中所述电子组件包含至少一个存储器装置。
26.根据权利要求25所述的电子装置,其中所述电子组件包含SDRAM、突发NOR、突发PSRAM、RAM、ROM、EPROM、EEPROM或VRAM中的至少一者。
27.根据权利要求25所述的电子装置,其进一步包含用于通过对电子组件的多个读取/写入操作来确定所述延迟范围的装置。
28.根据权利要求27所述的电子装置,其进一步包含通过将所述读取操作中的每一者估计为通过状态或失败状态来确定所述延迟范围的装置。
29.根据权利要求23所述的电子装置,其进一步包含用于确定所述延迟范围的上边界和下边界的装置,和用于基于所述延迟范围的边界用多个预定延迟值中的所述一者对所述外部时钟进行编程的装置。
30.根据权利要求29所述的电子装置,其进一步包含用于确定多个预定延迟值中的所述一者为所述延迟范围的上边界是否高于所述系统时钟与所述外部时钟之间的最大可编程延迟的函数的装置。
31.根据权利要求29所述的电子装置,其进一步包含用于确定多个预定延迟值中的所述一者为所述延迟范围的下边界是否低于所述系统时钟与所述外部时钟之间的最小可编程延迟的函数的装置。
32.根据权利要求23所述的电子装置,其中所述预定延迟值中的每一者与特征化所述集成电路的速度范围和特征化所述电子组件的速度范围有关。
33.根据权利要求23所述的电子装置,其中所述电子装置包含无线电话、个人数字助理、电子邮件装置或Web启用装置。
34.一种包含指令程序的计算机可读媒体,所述指令程序可由处理器执行以执行使集成电路与电子组件校准的方法,所述集成电路包括系统时钟和具有来自所述系统时钟的可编程延迟的外部时钟,将所述外部时钟提供到所述电子组件以支持与所述电子组件的通信,所述方法包含确定所述系统时钟与所述外部时钟之间所述集成电路与所述电子组件可在其中通信的延迟范围;和基于所述延迟范围,用多个预定延迟值中的一者对所述外部时钟进行编程。
35.根据权利要求34所述的计算机可读媒体,其中所述电子组件包含存储器,且其中所述集成电路进一步包括具有来自所述系统时钟的可编程延迟的反馈时钟,其中通过使用所述外部时钟对所述存储器进行写入和从所述存储器进行读取,且使用所述反馈时钟在所述集成电路处对从所述存储器读取的数据进行取样,来执行所述集成电路与所述存储器之间的通信,且所述方法进一步包含依据所述延迟范围的变化来校准所述反馈时钟延迟。
全文摘要
一种电子装置包含电子组件和集成电路,其中所述集成电路经配置以产生系统时钟和具有来自所述系统时钟的可编程延迟的外部时钟;将所述外部时钟提供到所述电子组件;确定系统时钟与所述外部时钟之间的所述集成电路与所述电子组件可在其中通信的延迟范围;且基于所述延迟范围,用多个预定延迟值中的一者来对所述外部时钟进行编程。
文档编号G11C29/50GK101095060SQ200580045421
公开日2007年12月26日 申请日期2005年11月7日 优先权日2004年11月5日
发明者加格鲁特·维利斯库马尔·帕特尔, 格雷戈里·布拉德, 萨纳特·卡普尔 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1