时钟电路的方法与设备的制作方法

文档序号:6356897阅读:122来源:国知局
专利名称:时钟电路的方法与设备的制作方法
技术领域
本发明涉及时钟,更具体涉及提供同步信号的时钟。
背景技术
大多数集成电路是同步操作的,并利用至少一个主时钟,由该主时钟生成其它时钟。产生多个时钟是为了用于不同的目的和不同的位置。该集成电路的不同功能有着适用于此特殊目的的不同时钟。对于一个处理系统,希望对于每一个时钟周期,可以使用诸如执行该处理系统的指令集中的任一指令等多种选项。时钟的速度,一方面希望是快的,另一方面也应该足够慢,以便使完成一个指令所必需的所有操作都能够完成。有些所需的操作涉及在单个时钟周期内完成尽可能多的事情。为做到这一点,需要提供所需的时钟来获得这些结果。一项现有技术通过加倍时钟频率来提供这些操作所需的时钟。
这一加倍频率的方法的一个缺点是需要为此提供一个锁相环。锁相环本身通常需要一个压控振荡器(VCO)。为适当操作,在集成电路上需要大量设计资源和空间。其结果是既耗时间又耗空间。
因此,需要为在单个周期内执行多项操作提供一种不需要利用锁相环来加倍频率的时钟机制。


图1是依照所述发明的一个实施例的处理系统的框图;图2是一个时序图,以便于理解图1所示的处理系统的操作;和图3是图1所示的处理系统的一个部分的详细框图。
本领域技术人员应该认识到,图中的组件遵照简洁和清晰的原则来绘制,并不一定必需按照比例绘制的。例如,图中某些组件的尺寸相对于其它组件而言被夸大了,以便于增进对本发明的实施例的理解。
具体实施例方式
下面将要描述的技术提供了在系统时钟的单个周期内操作内存的一种方法。产生的第二个时钟大体上与主时钟有90度的相差。这提供了位于主时钟的相邻时钟边沿中点的时钟边沿。增加的时钟边沿提供的好处在于,使得内存可以在单个周期内写入和读出。
图1所示的处理系统10包括处理器12,内存14和可编程延迟器16。处理器12根据全局时钟GC提供的时序进行操作。内存14通过两组总线A1和A2与处理器12连接。每组总线有一条读总线,一条写总线,和一条地址总线。内存14根据全局时钟GC和延迟全局时钟DGC所提供的时序进行操作。可编程延迟器16提供延迟全局时钟DGC,该时钟的频率与全局时钟GC相同,相位基本上延迟90度。
图2所示的时序图示出了基于时钟GC和DGC的时钟边沿的一些功能操作。时钟周期的开始被认为发生在全局时钟GC的上升沿,其终止发生在下一个上升沿,该上升沿也被指定为下一个时钟周期的开始。全局时钟GC的下降沿位于时钟周期的中间。全局时钟GC理想地具有50%的占空比。延迟全局时钟在周期的约25%处具有上升沿,在周期的约75%处具有下降沿。这样,如图2所示,每个周期可认为拥有四个时钟边沿,以位于全局时钟GC的上升沿处的P0为始,继之以P1、P2和P3,它们分别位于延迟时钟DGC的时钟上升沿处、全局时钟GC的下降沿处和延迟全局时钟DGC的下降沿处。
在操作中,可能希望处理器12执行一次读和一次写。在读、写的地址均已知,写的数据也已知的情形下,有机会在同一个周期内执行读和写,以提高操作速度。在此情况中,处理器12于周期开始之前在地址总线A1和A2上提供地址。地址锁存于P3与P0之间,并保持到P3的下一次出现。假设在此情况中总线组A1用于读,在周期开始处P0,按照地址总线A1上地址的选取来启用内存14的一行。在P2处启用内存14内的读出放大器,使得待读的数据有效并在P2处被时钟输出(clock out)到A1数据总线上。数据保持有效,直到下一个P2出现。同样是在P2处,根据地址总线A2上的地址,可访问内存的另一行,待写的数据在写总线A2被采样。待写的数据必须至少在P2之前的短暂建立时间内是有效的。在P3处,锁存下一组地址,从而在P0为下一个周期的开始做好准备。
这一能力有利于提供高操作速度。它使得读和写能够在单个周期内进行。类似地,通过将两组总线A1和A2与全局时钟GC和延迟全局时钟DGC结合使用,可以在同一周期内进行两次读或两次写。
处理器12通过持续更新可编程延迟器16的延迟来将延迟全局时钟保持在大体上90度延迟处。如果全局时钟GC的频率发生变化,处理器12通过调节可编程延迟器16的延迟做出响应。该延迟每128个全局时钟GC周期就更新一次。周期数是可以选择的,可以变小或变大。由于在频率的改变能够被精确量化之前可能需要一定数量的周期,对该周期数的减小可能存在限制。
图3示出了可编程延迟器(programmable delay)16和处理器12的控制部分30。控制部分30包括一个同步器18,一个控制单元20,一个可编程延迟器22,一个可编程延迟器24,以及一个D触发器26。可编程延迟器22和24与可编程延迟器16是一样的。可编程延迟器22和24的延迟由控制单元20选择。驱动器28,作为对全局时钟GC的响应,提供与全局时钟GC同相、同频率的处理器全局时钟PGC,分别送到控制单元20的输入,可编程延迟器22的输入,以及触发器26的时钟输入。可编程延迟器22的输出被耦合到可编程延迟器24的输入。可编程延迟器24的输出连接到D触发器26的D输入。同步器18通过更新总线32和更新使能信号UE连接到控制单元20,并连接到可编程延迟器18。可编程延迟器16、22和24是一样的。它们并非必须是一样的,但是应该同样具有如下的特征,因为对于给定的编程输入,它们应该具有大体上一样的延迟量。
如果可编程延迟器22和24被编程以联合产生一个180度的延迟,那就表明延迟器的设置是适当的,因为这意味着可编程延迟器22和24各产生90度延迟。然后,此编程量即为使编程后的延迟器16提供所需的90度延迟而需要的量。这一过程开始时,编程使各可编程延迟器具有最小的延迟,在本实施例中该延迟为500皮秒(ps)。联合的延迟器连接到触发器26的D输入。之后,在该时钟输入(在此情况中即为处理器全局时钟PGC,而该处理器全局时钟PGC可以认为等效于全局时钟GC)的上升沿将D输入的逻辑状态连接到D触发器的输出。因此,只要延迟小于180度,触发器26输出的逻辑状态都会是逻辑低。一旦延迟达到180度,在处理器全局时钟PGC切换到逻辑高的同时,触发器26的输出将切换到逻辑高。控制单元20从最小延迟开始逐步增加延迟,直到出现180度延迟。在此情况中,每次增量为40皮秒(ps),但此数值可增大或减小,这取决于为可编程延迟器16获取90度延迟所需的精确度。进一步地,可以用诸如逐次逼近等其它技术来替代简单地增加延迟量以查找180度点的技术。
在控制单元20已确定达到180度标志(对于每个可编程延迟器而言即为90度)所需的延迟量后,该信息在更新使能信号UE的控制下被转发到同步器18。总线32可以有其它用途,并传送与更新延迟无关的信息。因此,信号UE指示同步器18总线32上的信息为有效的更新信息。同步器18调整可编程延迟器16的更新。全局时钟GC的每次跳变(边沿)都会使得在延迟全局信号DGC上出现一个类似的但是延迟的边沿。因此,可编程延迟器16的更新应该发生在提供相应的边沿之后,但是在接收到下一个边沿之前。
因此,控制部分30提供了这样一种方法,该方法可以提供大体上位于周期的25%和75%处的时钟边沿,而不需要诸如VCO之类的PLL及其附加电路。这也避免了加倍频率的需要。加倍时钟的速度可能会是麻烦的,这部分地是因为该时钟信号必须经过的间隔而导致通常所需的电流驱动。所述以分割时钟取代增加频率的技术可以被扩展到包含其它情形。例如,可能希望使延迟的时钟不是延迟90%。因此,可能希望有超过两个可编程延迟器串联,此时可编程延迟器的数量就是所需延时的整倍数,该整倍数不是2。同样地,检测一个非180度的延迟可能是方便的,也是因为这个原因,该整数倍数可以不是2。
在上述说明书中,参照特定的实施例描述了本发明。然而,本领域普通技术人员应该认识到,可以在不脱离所附权利要求书中所阐明的本发明的范围的前提下,做出各式各样的修改和变动。因此,本说明书和附图应该被理解为是说明性的,而并非具有限定性的意义,希望把所有这样的修改都包含在本发明的范围之中。
以上结合特定实施例对利益、其它好处和问题的解决方案进行了描述。然而,利益、好处、问题的解决方案,以及可导致任何利益、好处或解决方案发生或使其更加显著的任何一个或多个组件,都不会被解释为任何或所有权利要求的关键的、必需的或基本的特性或组件。如这里所使用的,术语“包括(comprises、comprising)”或其任何其它变形,意旨涵盖非排它性的包含,例如包括了一列组件的过程、方法、物品或设备并非仅包括这些元素,而是有可能还包括其它未明确列出的或为该过程、方法、物品或设备所固有的组件。
权利要求
1.一种方法,用于由主时钟信号产生延迟时钟信号;用于提供第一可编程延迟器;用于提供第二可编程延迟器;用于提供第三可编程延迟器;用于通过所述第一和第二可编程延迟器连接所述主时钟信号;用于将所述第一和第二可编程延迟器均改变到具有第一最终延迟,使得所述主时钟信号被延迟大约180度;用于将所述第三个可编程延迟器编程到具有所述第一最终延迟;和用于将所述主时钟连接到所述第三可编程延迟器,以提供所述延迟时钟信号。
2.如权利要求1所述的方法,其进一步包括改变所述主时钟的频率;将所述第一和第二可编程延迟器均改变到具有第二最终延迟,使得所述主时钟信号被延迟大约180度;和将所述第三可编程延迟器编程到具有所述第二最终延迟。
3.如权利要求2所述的方法,其中所述的第一、第二和第三可编程延迟器是一样的。
4.如权利要求3所述的方法,其进一步包括提供一个内存;将所述主时钟连接到所述内存;和将所述延迟时钟信号连接到所述内存。
5.如权利要求4所述的方法,其进一步包括在所述主时钟的第一周期的第一部分中执行一次对所述内存的读操作,作为对所述主时钟和所述延迟时钟的响应;和在所述第一周期的第二部分中执行一次对所述内存的写操作,作为对所述主时钟和所述延迟时钟的响应。
6.一种由主时钟生成延迟时钟的时钟电路,其包括第一可编程延迟器,其连接到所述主时钟;第二可编程延迟器,其连接到所述第二延迟器,用以提供输出时钟;第三可编程延迟器,其连接到所述主时钟,用以提供所述延迟时钟;控制单元,其连接到所述第一、第二和第三延迟器,用以对所述第一、第二和第三延迟器进行编程;和触发器,其连接到所述输出时钟、所述主时钟和所述控制单元。
7.如权利要求6所述的时钟电路,其进一步包括同步单元,其连接于所述控制单元与所述第三可编程延迟器之间。
8.如权利要求6所述的时钟电路,其中所述触发器的特征进一步在于,用以指示所述第一和第二可编程延迟器何时达到180度延迟。
9.如权利要求8所述的时钟电路,其进一步包括连接于所述第一可编程延迟器和所述主时钟之间的驱动器。
10.如权利要求9所述的时钟电路,其中所述控制单元的特征进一步在于,当所述触发器检测到180度延迟时向所述第一和第二可编程延迟器提供最终延迟信号,并且将所述最终延迟信号连接到所述第三可编程延迟器,作为对所述触发器指示所述第一和第二可编程延迟器达到180度延迟的响应。
11.一种响应主时钟的处理系统,其包括内存,其用以接收所述主时钟;时钟可编程延迟器,其有一个用以接收所述主时钟的输入,以及一个连接到所述内存的输出;处理器,其连接到所述内存和所述时钟可编程延迟器,用以将所述可编程阵列编程到具有所需的延迟,以及向所述内存提供地址和数据;其中所述的处理器进一步包括可编程延迟装置,其连接到所述主时钟,用以提供参考延迟;检测装置,其连接到所述可编程延迟装置,用以确定所述参考延迟何时变为所需延迟的整数倍。
12.如权利要求11所述的处理系统,其中所述的检测装置包含触发器。
13.如权利要求12所述的处理系统,其中所述的可编程延迟装置包含一对可编程延迟器,这对可编程延迟器具有与所述时钟可编程延迟器相同的特性。
14.如权利要求13所述的处理系统,其中所述的一对可编程延迟器提供180度延迟。
15.如权利要求11所述的处理系统,其中所述内存的特征进一步在于,在所述主时钟的一个周期内执行读和写。
16.一种由主时钟信号产生延迟时钟信号的方法,其包括提供第一可编程延迟器;提供一个可编程延迟装置,其具有一定数量的参考可编程延迟器,所述数量超过1;通过所述可编程延迟装置连接所述主时钟信号;改变所述的每个参考可编程延迟器的延迟,直到获得大体上为所需延迟整数倍的延迟,该整数倍数等于所述数量;将所述第一可编程延迟器编程到大体上为所需延迟;和将所述主时钟连接到所述第三可编程延迟器,以提供所述延迟时钟信号。
17.如权利要求16所述的方法,其中所述的数量为2,且所述的所需延迟为90度。
18.如权利要求16所述的方法,其中所述的参考可编程延迟器与所述第一可编程延迟器具有同样的特征。
19.如权利要求16所述的方法,其进一步包括利用触发器来检测是否获得所述的大体上为所需延迟的整数倍的延迟,以及该整数倍数是否等于所述数量。
20.如权利要求16所述的方法,其进一步包括提供内存;将所述主时钟连接到所述内存;和将所述延迟时钟信号连接到所述内存。
全文摘要
本发明公开一种附加时钟,其被主时钟延迟90度,以在一个周期中提供所需的附加时钟边沿。对附加时钟边沿的需要来自于对在同一时钟周期中执行一次读和一次写的希望。通过一个可随主时钟的变化而更新的时钟可编程延迟器来获得精确的延迟。通过用两个其它的可编程延迟器获得180度延迟来方便地检测延迟量。所述180度延迟可用触发器简单地检测。引起总量为180度延迟的编程信号在每个可编程延迟器上都引起90度延迟。同一编程信号于是被连接到所述时钟可编程延迟器,以获得所需的用于所述的附加时钟的90度延迟。
文档编号G06F1/10GK1531778SQ02809265
公开日2004年9月22日 申请日期2002年5月7日 优先权日2001年6月18日
发明者戴维·莫舍, 伊亚尔·古特金, 施缪尔·迪诺, 马克西姆·托齐克, 古特金, 迪诺, 姆 托齐克, 戴维 莫舍 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1