动态同步化处理器时钟与总线时钟前缘的方法与系统的制作方法

文档序号:6609678阅读:182来源:国知局
专利名称:动态同步化处理器时钟与总线时钟前缘的方法与系统的制作方法
技术领域
本发明涉及一种计算机系统或系统单芯片(system-on-chip,SOC)装置内的处理器或微处理器,特别是涉及一种与处理器结合的电路,用以检测总线时钟的前缘(leading edge),以动态将较高频率的处理器时钟与较低频率的总线时钟同步化。
背景技术
计算机系统通常会根据处理器的各种特性来宣传产品的效能,特别是处理器的内部时钟。一般来说,处理器时钟的频率会高于总线时钟的频率数倍之多,因此虽然处理器通常可以在如产品介绍宣称的快速时钟速度下进行操作,但是许多处理器的时钟对总线及外围装置来说都太快了。因此这些处理器只能以较低的接口总线速度与外围装置通讯,即使是在系统单芯片(system-on-chip,SOC)装置内,处理器在数据传输时也被限制在较低的时钟频率。
就时间的观点来看,如果处理器没有被告知较慢速的总线时钟的时间特性,则两种频率上的差距会导致问题。举例来说,有一处理器时钟以四倍于总线时钟的速度运作,在这种情形下处理器可以在一个总线时钟周期的四个作用边缘(active edge)中任何一个传输数据。然而总线会预期在处理器时钟和总线时钟同步化时,也就是当它们的作用边缘或前缘对齐时,才开始通讯。为了充分利用整个总线时钟周期,处理器应该在总线时钟周期的开头开始数据传输。如果时钟周期间的关系未被考虑到,则其它外围装置与总线通讯会产生时间上的问题,进而导致整个计算机系统操作减速,因此处理器在传输信息时与总线时钟的前缘同步化实为一待解决的课题。
为了掌握处理器时钟与总线时钟间对应的时间关系,处理器必须知道总线时钟的前缘的位置以进行同步化。一种传统的解决方法是在系统启始运作时测定总线时钟与处理器时钟的比例,之后在操作过程中维持这个比例运作下去。但是这个方法的缺陷是计算机系统会被局限于单一时钟比例,这使得时钟无法动态地调整以达到省电模或是增加效能的需求。
另一种同步化方法为在处理器中提供一个锁相回路(phased lockedloop,PLL)装置以持续不断的重新将处理器时钟对总线时钟同步化。锁相回路装置会收到一个用于总线时钟的低频信号,并由该低频信号产生一个用于处理器时钟的高频信号。锁相回路装置的缺点是,在这种结构设定下很难设计出一个有效率的锁相回路电路,另外锁相回路装置并不便宜,并且会在硅芯片上占掉一块相当大的区域。
第三种方法是提供一种中央时钟控制电路(centralized clock controlcircuit)以确定总线时钟边缘的位置。如图1所示的时钟系统10的方块图,时钟系统10可适用于系统单芯片装置上。时钟系统10包含中央时钟控制电路12,以产生用于处理器14的处理器时钟与用于外围装置16的总线时钟,总线时钟沿路径18送出,而处理器时钟沿路径20送出。另外中央时钟控制电路12还通过路径22送出一控制信号,控制信号被设定为指出哪个处理器时钟的边缘与总线时钟的下一个上升边缘结合。
在现实中,总线时钟与处理器时钟被分配到数千个目的地。由于难以实作单一输出装置来输出信号给这么大量的组件,因此会利用工业标准的时钟树插入工具(clock tree insertion tool)来产生时钟树24。时钟树24具有数个分支、分支下数个更小的分支、以及下方更多层的分支等等。分支会分往数千个触发器(flip-flop,未显示于图中)或其它串接而且靠时钟信号取得时钟输入的组件,每个分支都包含一个或多个缓冲器(buffer)以正确的将时钟信号输出给触发器或时钟树的其它终端节点。
然而,缓冲器会在中央时钟控制电路12到触发器之间造成延迟,因此时钟树24还要被设计成能平衡总线时钟与处理器时钟从中央时钟控制电路12输往外围装置的延迟误差,这些延迟误差被称为插入时间(insertiontime)。由路径18输入的总线时钟在通过路径2 6到达时钟树24的终端(leaf)节点时,会产生插入延迟(insertion-delayed)的总线时钟信号,同样的插入延迟的处理器时钟信号则会通过路径28到达时钟树24的终端节点。
然而,这种技术的缺点是时钟树插入工具用来插入时钟树分支和缓冲器时,无法在传送控制信号的路径22上创造一个类似的延迟结构,以控制沿路径22传送的信号。如果在时钟树终端节点的控制信号相位(phase)不能对准处理器时钟及总线时钟的话,则控制信号就不会如所需地正确指向总线时钟的起始时间。而一般来说控制信号都会经过一些延迟,因此在执行插入工具后,芯片设计者必须要手动在布局中插入延迟组件以使控制信号对齐时钟。这种方式的问题在于,手动调整可能十分困难且耗时,再者,这种手动调整会导致比使用自动化插入工具还严重的人工失误。
图2为图1中的各个信号的时钟示意图,前三个信号为总线时钟、处理器时钟、及控制信号,各个信号由中央时钟控制电路12产生于时钟树24的根(root)节点。本图的实施例中处理器时钟频率为总线时钟频率的四倍,中央时钟控制电路12会倒数计算处理器时钟的时钟数以对应到一个总线时钟。以图2中的时钟为例,一个总线时钟的时间内会有4个处理器时钟3~0,其中总线时钟脉冲在处理器时钟3和2的时候在高位,在处理器时钟1和0的时候在低位。在处理器时钟倒数到0时,控制信号会被产生来指向新的总线时钟的开头,当新的总线时钟开始后,控制信号旋即回复低位。
图2中第四个和第五个时间信号为被输入时间延迟过的总线时钟与处理器时钟,这些时钟被时钟树24终端节点的触发器所接收。如前所述,这种使用中央时钟控制电路的技术具有控制信号在终端节点时会产生没有对准总线与处理器时钟的缺点,导致无法正确的同步化总线与处理器时钟,因此需要手动进行去除误差的调整。
因此,针对上述问题亟需提出一种改善现有技术缺陷的方法,特别是需要提供一种电路技术,其仅需要较少的设计就可以去除控制信号的误差,可以避免人工造成的失误,并且能更有效率的进行总线与处理器时钟的同步化操作。

发明内容
本发明的目的是提出一种能检测出时钟信号的前缘的系统与方法,以进行总线与处理器时钟的同步化操作。在本发明的一实施例中,披露了一种电路用以指出一第一时钟前缘的位置;此电路包含一先前边缘检测器用以检测第一时钟信号的前一个前缘,该先前边缘检测器被设计为接收在时钟树终端节点的一第一时钟信号与一第二时钟信号,并可产生一先前边缘信号;此电路还包含一时钟比例控制器用以产生一时钟比例信号以指出第一时钟信号与第二时钟信号频率的比例,其中第二时钟信号的频率最好为第一时钟信号的频率的整数倍;此电路还包含一组合逻辑组件用以接收时钟比例信号,并产生新时钟比例信号;此电路还包含一时钟计数器用以接收第二时钟信号、先前边缘信号、时钟比例信号、以及新时钟比例信号,该时钟计数器并用以产生一时钟计数信号;该电路还包含一标志产生电路用以处理时钟计数信号并产生一时钟边缘标志信号代表第一时钟信号下一个前缘的位置。于本发明一实施例中,第一时钟信号为总线时钟信号,第二时钟信号为处理器时钟信号。
在本发明的另一实施例中,本发明所披露的电路包含一装置用以提供一第一时钟信号与一第二时钟信号,其中该第二时钟信号的频率为该第一时钟信号的频率的整数倍。在此实施例中,该装置并未在时钟信号之外提供控制信号以指出第一时钟信号的一边缘的位置;该电路还包含一时钟树用以分配第一时钟信号与第二时钟信号给多个目标组件,其中所述目标组件所接收的第一时钟信号与第二时钟信号受时钟树的插入时间所延迟;该电路还包含一运算模块,该运算模块具有一装置用以局部检测被插入时间延迟的第一时钟信号的前缘。于本发明一实施例中,第一时钟信号为总线时钟信号,第二时钟信号为处理器时钟信号,运算模块为一处理器。
在又一实施例中,本发明披露一种检测时钟信号的前缘的方法,该方法包含在没有对应的控制信号的情况下产生第一时钟信号与第二时钟信号;接收被插入时间延迟的第一时钟信号与第二时钟信号,并处理被插入时间延迟的第一时钟信号与第二时钟信号以产生一标志信号,该标志信号用以指出被插入时间延迟的第一时钟信号的前缘。于本发明一实施例中,第一时钟信号为总线时钟信号,第二时钟信号为处理器时钟信号。
对本领域的技术人员而言,其它未包含在本发明下述所披露的内容与图标中的系统、方法、特征或优点的显而易见的,因此凡其它未脱离发明所揭示的精神的前提下所完成的等效改变或修饰,均应包含在本发明的权利要求的范围内。


图1显示传统时钟系统用以产生、分配、及同步化时钟信号的区块示意图。
图2显示图1中产生的各个信号的时序示意图。
图3显示本发明一实施例的时钟系统的方块图。
图4显示如图3所示的总线时钟边缘检测器的一实施例的方块图。
图5显示如图4所示的先前边缘检测器的一实施例的方块图。
图6显示如图5所示的实施例中处理器/总线时钟频率比为1∶1的信号时序图。
图7显示如图5所示的实施例中处理器/总线时钟频率比为2∶1的信号时序意图。
图8显示如图5所示的实施例中处理器/总线时钟频率比为3∶1的信号时序图。
图9显示如图5所示的实施例中处理器/总线时钟频率比为4∶1的信号时序图。
图10显示如图4所示的时钟计数器的一实施例的方块图。
图11显示如图5及图10所示的实施例中处理器/总线时钟频率比为1∶1的信号时序图。
图12显示如图5及图10所示的实施例中处理器/总线时钟频率比为2∶1的信号时序图。
图13显示如图5及图10所示的实施例中处理器/总线时钟频率比为3∶1的信号时序图。
图14显示如图5及图10所示的实施例中处理器/总线时钟频率比为4∶1的信号时序图。
图15显示处理器/总线时钟频率比为1∶1的时钟边缘信号与标志信号的时序图。
图16显示处理器/总线时钟频率比为2∶1的时钟边缘信号与标志信号的时序图。
图17显示处理器/总线时钟频率比为3∶1的时钟边缘信号与标志信号的时序图。
图18显示处理器/总线时钟频率比为4∶1的时钟边缘信号与标志信号的时序图。
图19至图21显示将处理器时钟信号与总线时钟信号前缘同步化的方法流程图。
附图符号说明10 时钟系统12 中央时钟控制电路14 处理器16 外围装置18 路径20 路径22 路径24 时钟树26 路径28 路径30 时钟系统32 中央时钟控制电路34 处理器36 外围装置38 总线时钟边缘检测器40 路径42 路径44 时钟树46 路径48 路径50 先前边缘检测器52 时钟比例控制器54 组合逻辑组件56 时钟计数器58 标志产生电路60 路径62 路径64 路径66 路径68 路径
70 第一与门72 反相器74 第一触发器76 第二触发器78 第二与门80 或门82 多路转换器84 3位触发器86 减法器88 路径90 检测总线时钟信号的前一个前缘92 依据总线时钟信号与处理器时钟信号的比例产生时钟计数94 在接续的处理器时钟周期间倒数96 当时钟计数相当于一预定值时建立标志98 产生总线时钟信号与处理器时钟信号100 接收被插入时间延迟的总线时钟信号与处理器时钟信号102 处理被插入时间延迟的总线时钟信号与处理器时钟信号以产生标志信号104 将被插入时间延迟的处理器时钟信号与总线时钟信号的前缘进行同步化106 检测总线时钟信号的前一个边缘108 产生比例信号110 依据计数器的计数值产生一标志信号具体实施方式
本发明的部分实施例详细描述如下。然而,除了详细描述外,本发明还可以广泛地在其它的实施例施行,且本发明的范围不受限定,其以本发明的权利要求为准。再者,在本说明书中,各组件的不同部分并没有依照尺寸绘图。某些尺度与其它相关尺度相比已经被放大,以提供更清楚的描述和本发明的理解。
由于现有技术中使用中央时钟控制电路产生控制信号,会产生被插入时间延迟的总线时钟与处理器时钟信号无法对齐的情况,导致计时上的问题,而需要芯片设计者人工设计延迟电路来去除控制信号的误差。本发明则使用逻辑电路以产生标志信号,其概念类似于控制信号;然而标志信号只通过处理时钟树终端节点的时钟而局部产生于处理器内,因此本发明的实施例不会有时钟树根节点的控制信号,也进而不需要人工延迟根节点控制信号以产生同步化的终端节点控制信号。本发明所使用的逻辑电路以标准设计及合成的方法产生,因此其可以使用标准设计工具序列流程产生,并且不需要任何人工干涉,进而减少设计时间以及降低错误风险。如同理想的控制信号,本发明所披露的局部产生的标志信号能指出新的总线时钟的开头,以同步化总线时钟与处理器时钟。藉由本发明的方法,时钟同步化可以避免时钟树内由于控制信号所产生的延迟;即使如果总线与处理器的时钟比在操作过程中改变,本发明的电路一样有能力重新检测并进行同步化。
众所周知,处理器电路可以在一个时钟信号的上升边缘或下降边缘产生响应,通常时钟信号的上升边缘被当作前缘(leading egde)或作用边缘(active edge),因此为了简化说明,本发明所举的范例中将时钟的上升边缘作为作用边缘。然而必须说明的是,对本领域的技术人员而言,对本发明的电路加以修改使用在对下降边缘或上升边缘的系统也是可行的。
图3为本发明所披露的一实施例的时钟系统30的方块图,时钟系统30包含中央时钟控制电路32、处理器34、以及外围装置36,其中处理器34包含了总线时钟边缘检测器38;中央时钟控制电路32包含硬件和/或软件,用以产生总线时钟信号并沿路径40送出,另外还会产生处理器时钟信号沿路径42送出,处理器时钟信号的频率为总线时钟信号的频率的整数倍。时钟树44的插入可以工业标准工具来实现,并设计为具有许多缓冲器以将时钟信号送往多个不同的目标装置;时钟树44还被用来平衡时钟延迟,以使两个时钟信号可以经过相同的插入延迟时间。当时钟信号到达时钟树44的终端节点时,总线时钟信号会被插入时间延迟,以下叙述中以“bus_clk”来表示此总线时钟信号,同样的“processor_clk”表示被插入时间延迟的处理器时钟信号。图3中总线时钟信号bus_clk以路径46送出,处理器时钟信号processor_clk以路径48送出。
与现有技术相较,中央时钟控制电路32并不产生控制信号,在本实施例与其它在本发明的精神与范围内的替代实施例中,都不会产生时钟树根节点的控制信号或者将控制信号弃置不用,而是由总线时钟边缘检测器38局部产生标志信号以替代控制信号。更明确的说,总线时钟边缘检测器38会接收总线时钟信号bus_clk与处理器时钟信号processor_clk,并处理这些终端节点的时钟信号以产生标志信号,用以指出下一个总线时钟的前缘位置。处理器时钟信号在知道总线时钟信号下一个前缘的位置后,可以和处理器时钟信号同步以更有效率的进行数据通信功能。
图4为如图3所示的总线时钟边缘检测器38的一实施例方块图,本实施例的总线时钟边缘检测器38包含了先前边缘检测器50、时钟比例控制器52、组合逻辑组件54、时钟计数器56、以及标志产生电路58。通过中央时钟控制电路32与时钟树44的根节点的时钟信号,会沿着路径46与48被先前边缘检测器50接收。时钟比例控制器52提供有效比例信号“valid_ratio”沿路径60送出,以指出处理器时钟信号与总线时钟信号间频率的比例是否为1∶1;如果比例为1∶1,有效比例信号valid_ratio为逻辑0;如果比例为2∶1或更大的值,则有效比例信号valid_ratio为逻辑1。
先前边缘检测器50沿着路径46接收总线时钟信号bus_clk、沿路径48接收处理器时钟信号processor_clk、以及沿路径60接收有效比例信号valid_ratio。当有效比例信号valid_ratio为高位,代表时钟频率比例并非1∶1时,先前边缘检测器50会检测先前总线时钟周期开头的前缘。事实上,先前边缘检测器50检测的是在被同步化的总线时钟信号与处理器时钟信号开始后,处理器时钟信号的第一个非作用边缘。也就是说,先前边缘检测器50会找到在总线时钟信号第一相位的中间点,此时较高频率的处理器时钟会第一次改变状态。因此,先前边缘检测器50可以避免对时钟信号的边缘采样,导致得到不明的状态(逻辑0或1)。在处理过这些信号后,先前边缘检测器50提供先前边缘信号“previous_edge”,并沿路径62送往时钟计数器56,在下述图5中将对先前边缘检测器50的功能更详细的描述以便了解该装置。
除了产生有效比例信号valid_ratio沿路径60送出之外,时钟比例控制器52还会产生时钟比例信号”clock_ratio”沿路径64送往组合逻辑组件54。时钟比例信号clock_ratio信号包含一编码(code)值用来表示时钟信号间的整数比例值,也就是用以对较高频的处理器时钟周期进行分频以获得总线时钟周期的除数。组合逻辑组件54用以接收时钟比例信号clock_ratio,并对编码值译码以产生新时钟计数信号“new_clk_count”并沿路径66送出,其中解码处理为按照下列的真值表。

时钟计数器56沿路径48接收时钟树44的处理器时钟信号processor_clk、沿路径62接收先前边缘检测器50的先前边缘信号previous_edge、沿路径60接收时钟比例控制器52的有效比例信号valid_ratio、以及沿路径66接收组合逻辑组件54的新时钟计数信号new_clk_count,时钟计数器56会处理这些信号以产生一计数信号给标志产生电路58。根据计数信号,标志产生电路58产生一标志信号沿路径68送出,该标志信号用以指出下一个总线时钟周期的起点。对时钟计数器56的功能将于图10的实施例中更详细的描述以便了解该装置。
图5显示如图4所示的先前边缘检测器50的一实施例的电路图。本实施例的先前边缘检测器50包含第一与门(AND)70、反相器72、第一触发器74、第二触发器76、第二与门78,第一与门70用来接收总线时钟信号bus_clk与有效比例信号valid_ratio。如上所述,如果总线时钟信号的频率与处理器时钟信号的频率的比例为1∶1,有效比例信号valid_ratio为逻辑0。在这种情况下,先前边缘检测器50会提供连续0值沿路径62输出先前边缘信号previous_edge;也就代表了在总线时钟周期的第一相位中,并没有发生处理器时钟周期改变状态的中间点,这时先前边缘检测器50会被关闭。另一方面,当时钟频率比例为2∶1或更大的值,有效比例信号valid_ratio会是逻辑1(也就是高位),先前边缘检测器50会启动并按正常方式运作。
当有效比例信号valid_ratio与总线时钟信号bus_clk都是高位时,第一与门70会输出逻辑1值,由第一触发器74的输入处D所接收,反相器72会反转处理器时钟信号,使触发器74与76得以锁定在处理器时钟的非作用边缘。因为如上述所举的各个例子中总线时钟信号bus_clk与处理器时钟信号processor_clk的前缘都对应于上升缘,这些触发器会被锁定在处理器时钟的下降缘。但是本发明不限于此实施例,在其它实施例中当处理器时钟的下降边缘是作用边缘时,反相器72可以被移除。本领域技术人员亦可随其需要对本发明所披露的电路进行修改,在不脱离本发明的精神与范围的情况下设计使用下降缘的电路。
当这些触发器下一次被锁定时,第一与门74原本的状态会移往第二触发器76的输入处D,因此第二触发器76会保持总线时钟的前一状态,并输出总线时钟的前一状态给第二与门78的反向输入端,第一触发器74则输出总线时钟的目前状态给第二与门78的非反向输入端。当前一状态为0而目前状态为1时,也就代表总线时钟上升缘的过渡期,第二与门78会沿路径62输出内容为高位的先前边缘信号previous_edge。因此当两个时钟都在上升缘时,先前边缘检测器50会检测到总线时钟的前一上升缘。事实上,因为两个时钟周期的开头一开始就被同步化,而各个触发器会在总线时钟的第一相位的中间点被锁定在处理器时钟的非作用边缘,以避免采样到边缘处。先前边缘检测器50的输出结果会在前一总线周期开始后,提供延迟了半个处理器时钟的信号,由于有效比例信号valid_ratio的时钟比大于2∶1,处理器时钟会在总线时钟仍在高位时转换,在本实施例中为从逻辑1值转为0值。
图6显示如图5所示的先前边缘检测器50所处理的信号及输出的时序图,此示意图是以处理器与总线时钟频率比例为1∶1的情况绘制。由于有效比例信号valid_ratio在此情况下为0,第一与门70会持续输出0值而通过触发器锁定;第二与门78的一个输入端会接收到0值输入,因此持续产生逻辑0值的先前边缘信号previous_edge。
图7显示如图5所示的先前边缘检测器50的信号及输出的时序示意图,此示意图是以处理器与总线时钟频率比例为2∶1的情况绘制。时序图上方为总线时钟bus_clk的各个相位,在这种情况下,先前边缘检测器50会接收到高位(逻辑1)的有效比例信号valid_ratio,因此第一与门70的输出值会依总线时钟信号bus_clk而定,而触发器74与76会同样的被处理器时钟信号processor_clk的下降缘锁定。在总线时钟bus_clk第二相位的中间点时,处理器时钟信号processor_clk的下降缘会锁定这些触发器,而第一触发器74会自总线时钟信号bus_clk信号锁存逻辑0值输入。在处理器时钟信号processor_clk信号的下一个下降缘时,也就是发生在总线时钟bus_clk下一个第一相位的中间点时,第二触发器76会自第一触发器74的前一状态锁存逻辑0值,而这时第一触发器会自总线时钟信号bus_clk锁存逻辑1值。当触发器74与76分别输出1和0,第二与门78会输出逻辑高位的先前边缘信号previous_edge,而在下一次处理器时钟信号processor_clk信号的下降缘时,第二与门78不再收到1和0的输入,因此先前边缘信号previous_edge会降为低位。由此先前边缘信号previous_edge可以表示出被延迟半个处理器时钟周期的总线时钟周期开头,此时处理器时钟信号processor_clk在总线时钟信号bus_clk在高位时的中间点会转换为低位。
图8显示如图5所示的先前边缘检测器50信号及输出的时序示意图,此示意图是以处理器与总线时钟频率比为3∶1的情况绘制;其中先前边缘信号previous_edge的产生与上述图72∶1的情况类似,差异在于先前边缘信号previous_edge只有在总线时钟的1/3周期间保持高位。同样的,图9显示如图5所示的先前边缘检测器50在时钟频率比为4∶1的情况下信号及输出的时序示意图,其中先前边缘信号previous_edge的产生与上述时钟频率比为2∶1、3∶1的情况类似,差异在于先前边缘信号previous_edge只有在总线时钟的1/4周期间保持高位。
图10显示如图4所示的时钟计数器56的一实施例的方块图,本实施例中计数器56包含或门(OR)80、多路转换器82、3位触发器84、以及减法器(或减1装置)8。在第一种情况,有效比例信号valid_ratio为0,也就是时钟比为1∶1时,有效比例信号valid_ratio信号被反转输入或门80,导致或门80持续产生1值输出,并沿路径88送往多路转换器82的选择输入端。下述中将或门80沿路径88的输出信号表示为加载新时钟计数信号load_new_clk_count,以指示图4中组合逻辑组件54的3位新时钟计数信号”new_clk_count”应于何时被载入。如果选择输入接收到逻辑1值,则加载新时钟计数信号load_new_clk_count会令多路转换器82选择输入1,即接收新时钟计数信号new_clk_count。在时钟比1∶1的情况下,只有多路转换器82的输入1会被选择,因此3位触发器84只会输出新时钟计数信号new_clk_count,以作为时钟计数器56的输出时钟计数信号clk_count。
在其它时钟比非1∶1的情况下,有效比例信号valid_ratio被反转为1输入至或门80,使或门80留在低位,因此或门80的输出会追随先前边缘信号previous_edge。当先前边缘信号previous_edge在高位时,多路转换器82会选择输入1的信号输出,也就是新时钟计数信号new_clk_count,并在处理器时钟信号的前缘被锁定至触发器84。触发器84的输出时钟计数信号clk_count会反馈到减法器86,如其名称所示,减法器86会将时钟计数信号clk_count的值减去1。如果时钟计数信号clk_count的值为000,经减法器86减1后会反转(roll over)或重置(reset)为111。当先前边缘信号previous_edge为0时,多路转换器82的输入0的值,也就是时钟计数信号clk_count减1的值会被选择输出并送往触发器84,并且循环通过减法器86在每一次处理器时钟信号processor_clk的脉冲(pulse)时逐渐递减,直到先前边缘信号previous_edge再度为1,这时新的时钟计数信号会被锁定在时钟计数器56。
图11显示如图6所示的总线时钟信号bus_clk、处理器时钟信号processor_clk、与先前边缘信号previous_edge的时序示意图,还有图10所示的时钟计数器56产生的加载新时钟计数信号load_new_clk_count与3位的时钟计数信号clk_count,此示意图是以处理器与总线时钟频率比为1∶1的情况绘制。如上所述,加载新时钟计数信号load_new_clk_count会因为有效比例信号valid_ratio为0而持续在高位,导致多路转换器82持续加载新时钟计数信号new_clk_count,在时钟比1∶1的情况下对照上列的真值表中除数为1的部份,新时钟计数信号new_clk_count输出值会是000。
图12显示如图7所示的总线时钟信号bus_clk、处理器时钟信号processor_clk、与先前边缘信号previous_edge信号的时序示意图,还有由图10所示的时钟计数器56产生的加载新时钟计数信号load_new_clk_count与3位的时钟计数信号clk_count,此示意图是以处理器与总线时钟频率比为2∶1的情况绘制。由于在此情况下有效比例信号valid_ratio为高位,所以加载新时钟计数信号load_new_clk_count会等于先前边缘信号previous_edge。在处理器时钟信号的上升缘时,触发器84会在先前边缘信号previous_edge在高位时加载新时钟计数信号new_clk_count。在时钟比2∶1下对照上列的真值表,新时钟计数的值会是000(对照除数为2的部份),之后在处理器时钟信号的下一次上升缘时,先前边缘信号previous_edge会降至低位,而时钟计数信号clk_count减1的值111会载入触发器84。处理器时钟信号的再下一次上升缘时,先前边缘信号previous_edge恢复至高位,新的计数信号000被加载,因此在时钟比2∶1的情况,时钟计数的值会在000与111之间持续切换。
图13显示如图8所示的总线时钟信号bus_clk、处理器时钟信号processor_clk、与先前边缘信号previous_edge的时序示意图,还有图10的时钟计数器56产生的加载新时钟计数信号load_new_clk_count与3位的时钟计数信号clk_count信号,此示意图是以处理器与总线时钟频率比为3∶1的情况绘制。在本实施例中,当先前边缘信号previous_edge在处理器时钟信号procesor_clk达到高位时,新时钟计数信号new_clk_count对照上列的真值表会是001(对照除数为3的部份)。在处理器时钟信号processor_clk接续的两个上升缘时,减法器86执行两次减1循环,计数值通过多路转换器82、触发器84,分别成为000与重置为111。而再下一个上升缘时,先前边缘信号previous_edge与加载新时钟计数信号load_new_clk_count恢复至高位,新计数信号001被加载,因此在时钟比3∶1的情况,时钟计数的值会在001、000、111之间持续切换。
图14显示如图9所示的总线时钟信号bus_clk、处理器时钟信号processor_clk、与先前边缘信号previous_edge的时序示意图,还有图10所示的时钟计数器56产生的加载新时钟计数信号load_new_clk_count与3位的时钟计数信号clk_count,此示意图是以处理器与总线时钟频率比为4∶1的情况绘制。与图13时钟比3∶1的情况类似,本实施例例的时钟计数信号clk_count信号会循环减1至111,再加载新的时钟计数信号010,因此时钟计数会在010、001、000、111之间持续切换。
如上所述的1∶1、2∶1、3∶1、4∶1时钟比的情况,本领域的技术人员应可以将本发明的应用推展至上述真值表所列出的时钟比8∶1的情况。然而如本领域的技术人员所知,若将本发明的时钟计数信号增加1位,则时钟比的就可以提高到1∶1到16∶1的范围。如此本发明可应用到更高时钟比的情形下对处理器和总线时钟进行同步化,在这些替换用的实施例中,电路可依上述内容在不脱离本发明精神及范围的前提下进行修改。例如图4的组合逻辑组件54可修改成输出4位的新时钟计数信号new_clk_count值给时钟计数器56。
回到图4,标志产生电路58会接收时钟计数器56输出的3位时钟计数信号clk_count;接着标志产生电路58会处理时钟计数信号以产生一时钟边缘标志信号clk_edge_flag,并沿路径68输出。时钟边缘标志信号clk_edge_flag可用以指出新的总线时钟周期的开头,和现有技术中的控制信号作用类似,但差异在于时钟边缘标志信号clk_edge_flag是在时钟树终端节点产生。标志产生电路58会分析时钟计数信号clk_count,并且在时钟计数信号clk_count为000时输出高位的时钟边缘标志信号clk_edge_flag。
图15显示图11的各个信号以及标志产生电路58输出的时钟边缘标志信号clk_edge_flag信号的时序示意图。在本实施例中,由于时钟计数信号clk_count持续为000,标志产生电路58会持续保持时钟边缘标志信号clk_edge_flag在高位。同样的,图16至图18分别显示图12至14的各个信号以及标志产生电路58输出的时钟边缘标志信号clk_edge_flag的时序示意图,标志产生电路58在时钟计数信号clk_count为000时输出逻辑1值的时钟边缘标志信号clk_edge_flag信号。
应注意的是不管哪一种时钟比的实施例,时钟边缘标志信号clk_edge_flag指出的是经插入时间延迟过后新的时钟周期的开头,也就是在终端节点的位置的信号,因此类似现有技术中控制信号的理想型态。然而现有技术中根节点的控制信号除了会遭受延迟之外,也需要额外的人工设计,本发明的标志信号则是以终端节点的总线时钟与处理器时钟所产生。因此不管这些时钟怎么被插入时间所延迟,总线时钟边缘检测器38都能自动检测出下一个总线时钟的前缘,而不需要其它特别针对延迟时间额外设计的电路。且由于下一个总线时钟的前缘可预先得知,处理器可以与此边缘同步化进行通信,实现处理器时钟与总线时钟同步化的目的。
除了上述实施例之外,本领域的技术人员应可理解本发明亦适用于时钟频率比为整数的其它组件或模块之间,例如一第一时钟频率的第一组件与一第二时钟频率的第二组件,两者的时钟频率比N为一整数,以达到组件或模块间时钟同步化的目的。本发明所举的处理器时钟信号与总线时钟信号同步化的实施例仅为实际应用的其中一种,并非用以限定本发明的范围。本发明的其它实施例可适用于如南桥芯片、北桥芯片、总线桥接器、内存控制器、输出入控制器或接口芯片、周边装置控制器或接口芯片、微处理器之间,或具有类似功能的其它组件或模块之间。
图19至图21为本发明一实施例的处理器时钟与总线时钟前缘同步化的方法流程图,这些图中所示的方法可以分别与图3至图5与图10所显示的组件相对应,亦可适用于其它具有类似功能的适当组件或模块。
图19显示用以产生一标志信号以指出总线时钟前缘的实施例的方法流程图;在本发明的一实施例中,本方法适用于将处理器时钟信号与所检测到的总线时钟信号的前缘同步化。在图19所示的方法实施例中,首先在步骤90检测总线时钟信号的前一个前缘;在检测总线时钟信号的前一个前缘时,会产生一个先前边缘信号previous_edge;之后的步骤92为依据总线时钟信号与处理器时钟信号的比例产生一时钟计数,于本实施例中处理器时钟频率是总线时钟频率的整数倍。时钟计数会在先前边缘信号previous_edge信号是高位时被载入。在步骤94时,时钟计数会在接续的处理器时钟信号周期间倒数;最后于步骤96当时钟计数相当于一预定值时建立一标志,如图16至图18的实施例为时钟计数等于000时。在本发明的一实施例中,处理器内的总线时钟边缘检测器会执行图19所示的方法。
图20为本发明所示的另一方法的实施例,在步骤98会产生总线时钟信号与处理器时钟信号,其中产生总线时钟信号的过程不会如现在有技术产生控制信号,如上所述,本发明的实施例并不需要控制信号。步骤100为接收被插入时间延迟的总线时钟信号与处理器时钟信号,插入时间延迟可能是时钟树或时钟系统中其它导致延迟的组件所造成的影响。步骤102为处理被插入时间延迟的总线时钟信号与处理器时钟信号以产生标志信号,标志信号可用以指出被插入时间延迟后新的总线时钟周期的开头。在本发明另一实施例中,步骤102处理被插入时间延迟的总线时钟信号与处理器时钟信号的方法如下述的图21所示。最后步骤104将被插入时间延迟的处理器时钟信号与被插入时间延迟的总线时钟信号的前缘进行同步化。
图21为本发明一实施例的处理被插入时间延迟的总线时钟信号与处理器时钟信号的方法,适用于图20中的步骤102。在本实施例中,步骤106为检测总线时钟信号的前一个边缘,步骤108为产生比例信号,用以指出处理器时钟频率与总线时钟频率的比例,步骤110为依据计数器的计数值产生一标志信号,此计数器是运作是依据先前总线时钟边缘与比例信号。
如前所述,本发明的产生标志信号的方法并非仅限用于处理器时钟信号与总线时钟信号之间的同步化,本领域的技术人员应可理解其它时钟频率比为整数的时钟信号亦可利用图19至图21的方法来进行同步化。以上所述仅为本发明的较佳实施例而已,并非用以限定本发明的权利要求;凡其它未脱离发明所揭示的精神的前途下所完成的等效改变或修饰,均应包含在本领域的权利要求的范围内。
权利要求
1.一种电路系统,用以指出一时钟的前缘的位置,该电路系统包含一时钟比例控制器,用以产生一时钟比例信号,该时钟比例信号用以指出一第二时钟与该第一时钟的频率比例,以及产生一有效比例信号,用以指出该时钟比例信号是否为1∶1,其中该第二时钟的频率为该第一时钟的频率的整数倍;一先前边缘检测器,用以检测该第一时钟周期的前一个前缘,该先前边缘检测器用以接收该有效比例信号、位于一时钟树的终端节点上的该第一时钟与该第二时钟信号,并根据所接收的所述信号产生一先前边缘信号;一组合逻辑组件,用以接收该时钟比例信号,并根据所接收的该时钟比例信号产生一新时钟计数信号;一时钟计数器,用以接收该第二时钟信号、该先前边缘信号、该有效比例信号、与该新时钟计数信号,并根据所述信号产生一时钟计数信号;以及一标志产生电路,用以接收该时钟计数信号,并根据该时钟计数信号产生一时钟边缘标志信号,该时钟边缘标志信号用以指出该第一时钟周期的下一个前缘的时间位置。
2.如权利要求1所述的电路系统,其中该先前边缘检测器包含下列项目的任意组合一第一与门,用以接收该第一时钟信号与该有效比例信号;一第一触发器,用以接收该第一与门的一第一输出结果;一第二触发器,用以该第一触发器的一第二输出结果;一第二与门,用以接收该第一触发器未被反转的该第一输出结果与该第二触发器被反转的一第三输出输出结果,并产生该先前边缘信号;以及一反向器,用以反转该第二时钟信号,其中该第一触发器与该第二触发器被锁定在被反转的该第二时钟信号。
3.如权利要求1所述的电路系统,其中该时钟计数器包含一或门,用以接收该先前边缘信号与被反转的该有效比例信号;一多路转换器,具有一选择输入处接收该或门的输出结果;一触发器,用以接收该多路转换器的输出结果,该触发器被锁定在该第二时钟信号,并根据该多路转换器的输出结果产生该时钟计数信号;以及一减法器,接收该时钟计数信号并对该时钟计数信号减值;其中该多路转换器于一第一输入端接收该新时钟计数信号并于一第二输入端接收被减值的该时钟计数信号。
4.如权利要求1所述的电路系统,其中该时钟计数信号具有至少1位的值,该第一时钟信号为总线时钟信号,该第二时钟信号为处理器时钟信号。
5.一种时钟系统,用以指出一时钟信号的前缘的位置,包含一中央时钟控制电路,用以产生一第一时钟信号及一第二时钟信号,该第二时钟的频率为该第一时钟的频率的整数倍,其中该中央时钟控制电路并不产生一控制信号用以指出该第一时钟的一边缘的时间位置;一时钟树,用以发送该第一时钟信号及该第二时钟信号到多个目标组件,其中所述目标组件收到的该第一时钟信号及该第二时钟信号受该时钟树的一插入时间所延迟;以及一运算模块,包含一时钟边缘检测器,用以检测被该插入时间延迟的该第一时钟的一前缘。
6.如权利要求5所述的时钟系统,其中该时钟边缘检测器包含一先前边缘检测器,用以检测被该插入时间延迟的该第一时钟信号的一先前边缘。
7.如权利要求6所述的时钟系统,其中该先前边缘检测器还包含以下项目的组合一第一触发器,用以提供一目前第一时钟状态;一第二触发器,用以提供一先前第一时钟状态;一与门,根据该先前第一时钟状态与该目前第一时钟状态判断一第一时钟过渡期;以及一反向器,用以将该第一触发器与该第二触发器锁定在该第二时钟的一非作用边缘。
8.如权利要求5所述的时钟系统,其中该第一时钟信号为总线时钟信号,该第二时钟信号为处理器时钟信号,该运算模块为一处理器。
9.如权利要求5所述的时钟系统,其中该时钟边缘检测器包含下列项目的组合一时钟计数器,用以产生一计数信号;以及一标志产生电路,用以产生一标志指出第一时钟的下一个前缘的时间位置。
10.如权利要求9所述的时钟系统,其中该时钟计数器包含一触发器,用以产生该时钟信号并输出;一减法器,用以对被输出的该时钟信号减值;一或门,用以指出何时载入一新时钟计数信号;以及一多路转换器,用以选择输出该新时钟计数信号或该被减值的时钟信号。
11.如权利要求10所述的时钟系统,其中该多路转换器根据被该插入时间延迟的一先前第一时钟信号的一边缘以及该第一时钟与该第二时钟的频率比选择输出何种信号。
12.如权利要求9所述的时钟系统,其中该运算模块能根据该标志对一外围装置同步化通信数据。
13.一种检测方法,用以产生标志以指出时钟的前缘的时间位置,包含检测一第一时钟的前一个前缘以提供一先前边缘信号;当该先前边缘信号为高位时,根据一第二时钟与该第一时钟的频率比加载一时钟计数;在后续的第二时钟周期期间倒数该时钟计数;以及当该时钟计数包含一预定值时建立一标志。
14.如权利要求13所述的检测方法,其中该第二时钟频率为该第一时钟频率的整数倍,且该第一时钟信号为总线时钟信号,该第二时钟信号为处理器时钟信号。
15.一种检测方法,用以指出时钟信号的前缘,包含产生一第一时钟信号与一第二时钟信号,其中并不产生对应于该第一时钟信号与该第二时钟信号的一控制信号;接收被插入时间延迟的该第一时钟信号与该第二时钟信号;以及处理被插入时间延迟的该第一时钟信号与该第二时钟信号以产生一标志信号,用以指出被插入时间延迟的该第一时钟信号的一前缘的时间位置。
16.如权利要求15所述的检测方法,还包含同步化被插入时间延迟的该第二时钟信号与被插入时间延迟的该第一时钟信号的该前缘。
17.如权利要求15所述的检测方法,其中该处理被插入时间延迟的该第一时钟信号与该第二时钟信号的步骤,还包含检测该第一时钟信号的一先前边缘;产生一比例信号,用以指出该第一时钟信号与该第二时钟信号的频率比;以及依据该第一时钟信号的该先前边缘与该比例信号使用一计数器,其中该标志信号是根据该计数器的一计数值产生。
全文摘要
一种检测系统及方法,用以检测总线时钟的前缘。该检测系统包含用以提供总线时钟与处理器时钟的装置,该装置并不需要提供指出总线时钟边缘时间位置的控制信号。该检测系统还包含用以送出总线时钟与处理器时钟给多个目标组件的时钟树,其中多个目标组件所收到的时钟会因为时钟树的插入时间而被延迟。该检测系统亦包含一处理器,该处理器中具有一用以检测被插入时间延迟的总线时钟前缘的装置。本发明所披露的检测方法包含产生总线时钟与处理器时钟,其中本发明的方法不产生对应这些时钟的控制信号;接收被插入时间延迟的总线时钟与处理器时钟;以及处理这些被插入时间延迟的时钟以产生标志信号,用以指出被插入时间延迟的总线时钟前缘的位置。
文档编号G06F1/12GK101063894SQ200710109978
公开日2007年10月31日 申请日期2007年6月11日 优先权日2006年6月13日
发明者威廉V·米勒 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1