专利名称:无毛刺可编程时钟整形器的制作方法
无毛刺可编程时钟整形器
背景技术:
通常在计算系统中,时钟信号用来定义用于同步部件之间的数据的操作和活动的时间基准。时钟分配网络在整个计算系统内从公共点到各个部件分配时钟信号。可以在整个时钟分配网络内采用可编程延迟线和修改时钟信号的各种电路以插入时钟延迟以及用其他方式修改时钟信号来匹配不同部件之间的正时(timing)。作为ー个示例,图1示出了可以用在计算系统中的时钟整理器(trimmer)电路100。时钟整理器电路100是基于施加到时钟输入信号(CKIN) 104的整理值(TRM_VALUE)102可编程的以改变施加到时钟输入信号104的延迟量。使用级联2输入反相多路复用器106改变延迟。特别地,级联多路复用器106中的第一多路复用器接收时钟输入信号104作为两个输入中的每ー个。级联多路复用器106中接下来的多路复用器的每ー个均接收前ー个多路复用器的输出作为ー个输入而时钟输入信号104作为另ー个输入。整理值102由解码器108解码以为级联多路复用器106中多路复用器的每ー个提供选择信号。经解码的整理值控制哪些多路复用器选择从级联多路复用器106中的ー个多路复用器传递到下ー个的级联时钟值,以便控制施加到时钟输入信号104的延迟量。从时钟整理器电路100输出的时钟输出信号(CKOUT) 110相对于时钟输入信号104偏移(skew) 了通过级联多路复用器106施加的延迟量。为了更精细的粒度控制,实现反相多路复用器以减小多路复用器之间的延迟步(st印)长。在一些情况下,经延迟的时钟信号可以反相,并且在输出之前由级联多路复用器106中的最后的多路复用器校正经延迟的时钟信号的极性。有各种与这一方法相关联的问题和局限性。例如,时钟整理器电路100仅经配置以联动(1ck-St印)地将延迟添加到时钟输入信号104的上升沿和下降沿使得占空比是固定的。換言之,时钟输入信号的上升沿和下降沿不可独立编程。这ー特征导致计算系统的性能速度的整体下降,因为在ー些条件下由联动延迟减慢了时钟频率。
图1示意性地示出了现有技术时钟整理器电路。图2示意性地示出了计算系统的实施例。图3示意性地示出了上升沿偏移逻辑的实施例。图4示意性地示出了下降沿偏移逻辑的实施例。图5示意性地示出了时钟整形电路的实施例。图6示意性地示出了包括可变负载通路门(pass-gate)的上升沿偏移逻辑的实施例。图1示意性地示出了经配置以实施时钟门控的上升沿偏移逻辑的另ー实施例。图8示意性地示出了级联的多个时钟整形电路。图9示出了用于在微处理器中动态整形时钟信号的方法的实施例。
具体实施方式
本公开提出了用于在可以称为“无毛刺”的时钟整形中,在不生成毛刺的情况下动态地整形时钟信号的新颖的微处理器架构和方法。更具体地,本公开涉及经配置以独立地调整时钟信号路径的上升沿和/或下降沿的时钟整形电路。换言之,时钟整形电路经配置以选择性地调整时钟信号的上升沿延迟、下降沿延迟或者上升沿延迟和下降沿延迟。可编程时钟整形电路使在不停止时钟源的操作的情况下时钟信号的实时重新编程成为可能。这样的独立信号整形功能可以有利地用来在硅生产之后(即流片之后)在电路中调试时钟信号路径以提高计算系统速度、效率和性能。图2示意性地示出了计算系统200的实施例。计算系统200包括微处理器202。在所不出的实施例中,微处理器202是包括多个处理核心204的多核微处理器。然而,在一些实施例中,微处理器200可以仅包括单个处理核心。时钟源206经配置以生成定义时间基准来同步计算系统200内的数据活动的时钟信号。时钟分配网络208 (例如时钟树)将时钟信号从时钟源206分配到多个处理核心204中的每一个。在所不出的实施例中,多个处理核心中的每一个均包括时钟整形电路210。在一些实施例中,多个处理核心204中的一个或多个可以包括多于一个的时钟整形电路。在一些实施例中,多个处理核心204中的一个或多个可以不包括时钟整形电路。例如,在一些实施例中,时钟整形电路可以放置在时钟源206和多个处理核心204之间的时钟分配网络208中以将时钟信号提供给多于一个的处理核心。注意时钟整形电路在微处理器中的使用仅仅是一个示例,并且应该理解时钟整形电路可以利用在具有时钟信号的任意数字芯片(例如,数字信号处理芯片、存储器模块等等)中。此外,应该理解在数字芯片中可以实现任意合适数量的时钟整形电路。时钟整形电路210经配置以接收起源于时钟源206的时钟输入信号。时钟整形电路210包括上升沿偏移逻辑212和下降沿偏移逻辑214。上升沿偏移逻辑212经配置以选择性地延迟时钟输入信号的上升沿。下降沿偏移逻辑214经配置以独立于对上升沿的调整来选择性地延迟时钟输入信号的下降沿。时钟整形电路210经配置以输出相对于时钟输入信号选择性地发生偏移的时钟输出信号。时钟整形电路210经配置以取决于操作条件使时钟输出信号相对于时钟输入信号不同地发生偏移。在一些情况下,时钟整形电路210通过经由上升沿偏移逻辑212将上升延迟量添加到时钟输入信号的上升沿来使时钟输出信号相对于时钟输入信号发生偏移。例如,可以在后硅(post-silicon)调试期间确定处理操作实际上可以花费比从微处理器202的设计所预期的更少的时间来完成。因为处理操作比预期花费更少的时间,时钟整形电路210可以动态地延迟时钟信号的上升沿以缩短时钟信号的占空比。为缩短占空比所做出的延迟调整可以提高时钟信号的速度路径的性能。进一步,在一些实现方案中,在处理操作完成之后剩余的时间可以借用给其他操作,诸如用于不同的流水线阶段和/或用于阶段之间
坐坐寸寸ο在一些情况下,时钟整形电路210通过经由下降沿偏移逻辑214将下降延迟量添加到时钟输入信号的下降沿来使时钟输出信号相对于时钟输入信号发生偏移。例如,可以在后硅调试期间确定处理操作实际上可以花费比从微处理器202的设计所预期的更多的时间来完成。因为处理操作比预期花费更多的时间,时钟整形电路210可以动态地延迟时钟信号的下降沿以延长时钟信号的占空比来允许操作在时钟周期内完成。为延长占空比所做出的延迟调整可以减少时钟信号的速度路径中的不确定性并使微处理器更强健。
在一些情况下,时钟整形电路210通过经由上升沿偏移逻辑212将上升延迟量添加到时钟输入信号的上升沿并且经由下降沿偏移逻辑214将下降延迟量添加到时钟输入信号的下降沿来使时钟输出信号相对于时钟输入信号发生偏移。例如,为了在多个处理核心204中的两个或更多个之间匹配时钟插入延迟,时钟整形电路210可以通过将延迟添加到时钟信号的上升沿和下降沿二者来使时钟输入信号发生偏移。在一些情况下,时钟整形电路210不使时钟输出信号相对于时钟输入信号发生偏移。換言之,在一些情况下,时钟整形电路210不将实质的上升延迟添加到时钟输入信号的上升沿或不将实质的下降延迟添加到时钟输入信号的下降沿,或者延迟实质上是O。正如上面所提到的,应该理解时钟整形电路210可以用于以任意合适的方式修改微处理器202的时钟信号。在一些实现方案中,时钟整形电路可以用于静态地匹配两个处理核心之间的时钟插入延迟。在一些实现方案中,时钟整形电路可以用作本地时钟树的一部分以匹配逻辑部件216之间的正吋。注意在不脱离本公开的范围的情况下,时钟整形电路可以用在具有时钟信号的任意类型的数字芯片中以按要求修改时钟信号。逻辑部件216可以包括实施处理操作或与基于时钟信号操作的处理操作相关联的任意合适的部件。例如,逻辑部件216可以包括位于处理流水线的提取、解码和执行(以及在一些情况下记忆和写回)阶段的各种部件。此外,时钟整形电路210经配置以动态地改变添加到时钟信号的上升沿的上升延迟量并动态地改变添加到时钟信号的下降沿的下降延迟量。这样的延迟可以基于不同的处理操作和对应的完成时间、不同处理核心之间的延迟匹配等等而改变。图3示意性地示出了实现在图2所示的时钟整形电路210中的上升沿偏移逻辑212的实施例。上升沿偏移逻辑212经配置以选择性地延迟时钟输入信号(CKIN)302的上升沿。多个缓冲器314串联耦合以产生可以施加到时钟输入信号302的上升沿的不同延迟量。多个缓冲器314中的第一缓冲器经配置以接收时钟输入信号302,第一缓冲器将时钟输入信号302输出到系列中下一个缓冲器的输入,依此类推。因为缓冲器串联耦合,所以每个缓冲器均添加了延迟步,该延迟步被添加到系列中前一个缓冲器的延迟歩。多路复用器306用于选择施加到时钟输入信号302的上升沿的延迟量。多路复用器306包括多个输入线308、输出线310和选择线312。注意取决于实施例选择线312可以包括多个线或者可以包括多个位线。在所示出的实施例中,选择线312作为I位使能线和4位选择线示出。多个缓冲器314的每个输出均耦合到多路复用器306的关联输入线。此夕卜,时钟输入信号302直接耦合到多路复用器306的输入线之一,并且电源(VDD) 316耦合到多路复用器306的另ー输入线。多路复用器306经配置以基于选择线312的状态选择多个输入线308之一以发送到输出线310。选择线312经配置以接收经配置以激活或停用延迟功能的延迟上升使能信号(DELAY_RISE)320以及经配置以选择传递到输出线310的上升延迟量的时钟延迟信号304。将延迟上升使能信号320发送到耦合到选择线312的锁存器318。锁存器318经配置以接收延迟上升使能信号320、在时钟输入信号302上升之前建立延迟上升使能信号320以及保持延迟上升使能信号320直到时钟输入信号302下降。由解码器322接收时钟延迟信号304。解码器322输出经解码的时钟延迟信号,其与延迟上升使能信号320 —起作为输入发送到AND门324。将AND门324的输出发送到耦合到选择线312的锁存器326。锁存器326经配置以接收时钟延迟信号304、在时钟输入信号302上升之前建立时钟延迟信号304以及保持时钟延迟信号304直到时钟输入信号302下降。通过对信号加以锁存,在由多路复用器306进行选择期间不发生信号的切换。因此,从多路复用器306输出的毛刺可以消除。结合使用时钟延迟信号304和延迟上升使能信号320以改变施加到时钟输入信号302的上升沿的上升延迟量。特别地,延迟上升使能信号320的状态确定上升延迟是否施加到时钟输入信号302的上升沿。例如,在所示出的实施例中,当延迟上升使能信号320是O时,则多路复用器306的输入线4 (VDD)被选择,并且输出线310被设置为VDD (即电源),而时钟输入信号302的上升沿不被延迟。换言之,通过强制输出线310为VDD,可以旁路多路复用器306使得没有延迟被添加到时钟输入信号302的上升沿。在一些实施例中,时钟延迟信号304和延迟上升使能信号320可以合并为使能多路复用器306以及控制输入选择的一个信号。另一方面,如果延迟上升使能信号320是1,那么延迟功能被激活,并且基于时钟延迟信号304选择延迟量。在所示出的实施例中,时钟延迟信号304可以在以下四个不同的延迟步之间确定选择:(I)使时钟输入信号302通过多路复用器306的延迟量;(2)使时钟输入信号302通过一个缓冲器和多路复用器306的延迟量;(3)使时钟输入信号302通过两个缓冲器和多路复用器306的延迟量;以及(4)使时钟输入信号302通过三个缓冲器和多路复用器306的延迟量。应该理解在不脱离本公开的范围的情况下可以采用任意合适数量的步和步长。将所选择的时钟延迟(CKDLY)提供到多路复用器306的输出线310。所选择的时钟延迟与时钟输入信号302 —起作为输入发送到AND门328。时钟输出信号(CK0UT)330从AND门328输出。时钟输出信号330相对于时钟输入信号302选择性地发生偏移,以致当延迟上升使能信号320激活上升沿偏移逻辑212的延迟功能时上升沿包括上升延迟量。这一配置使施加到时钟输入信号302的上升延迟量能够根据多个缓冲器314而动态地改变。注意上述实施例仅仅是示例性的,并且应该理解在不脱离本公开的范围的情况下可以实现其他配置。例如,多路复用器306可以具有不同数量的输入,使得多于或少于可选择以施加到上升沿的四个不同延迟量。图4示意性地示出了实现在图2所示的时钟整形电路210中的下降沿偏移逻辑214的实施例。下降沿偏移逻辑214经配置以选择性地延迟时钟输入信号(CKIN)302的下降沿。多个缓冲器414串联耦合以产生施加到时钟输入信号302的下降沿的不同延迟量。多个缓冲器414中的第一缓冲器经配置以接收时钟输入信号302,第一缓冲器将时钟输入信号302输出到系列中下一个缓冲器的输入,依此类推。因为缓冲器串联耦合,所以每个缓冲器均添加了延迟步,该延迟步被添加到系列中前一个缓冲器的延迟步。多路复用器406用于选择施加到时钟输入信号302的下降沿的延迟量。多路复用器406包括多个输入线408、输出线410和选择线412。多个缓冲器414的每个输出均耦合到多路复用器406的关联输入线。此外,时钟输入信号302直接耦合到多路复用器406的输入线之一,而地(GND)416耦合到多路复用器406的另一输入线。多路复用器406经配置以基于选择线412的状态选择多个输入线408之一以发送到输出线410。选择线412经配置以接收经配置以激活或停用延迟功能的延迟下降使能信号(DELAY_FALL)420以及经配置以选择传递到输出线410的下降延迟量的时钟延迟信号404。将延迟下降使能信号420发送到耦合到选择线412的锁存器418。锁存器418经配置以接收延迟下降使能信号420、在时钟输入信号302上升之前建立延迟下降使能信号420以及保持延迟下降使能信号420直到时钟输入信号302下降。注意在一些实施例中锁存器418和426是高相位锁存器。由解码器422接收时钟延迟信号404。解码器422输出经解码的时钟延迟信号,其与延迟下降使能信号420 —起作为输入发送到AND门424。将AND门424的输出发送到耦合到选择线412的锁存器426。锁存器426经配置以接收时钟延迟信号404、在时钟输入信号302下降之前建立时钟延迟404以及保持时钟延迟信号404直到时钟输入信号302上升。通过对时钟延迟信号404和延迟下降使能信号420加以锁存,在由多路复用器406进行选择期间不发生信号的切換。因此,从多路复用器406输出的毛刺可以消除。结合使用时钟延迟信号404和延迟下降使能信号420以改变施加到时钟输入信号302的下降沿的下降延迟量。特别地,延迟下降使能信号420的状态确定下降延迟是否施加到时钟输入信号302的下降沿。例如,在所示出的实施例中,当延迟下降使能信号420是0吋,则多路复用器406的输入线4 (GND)被选择,并且输出线410被设置为GND (即,地),而时钟输入信号302的下降沿不被延迟。換言之,通过强制输出线410为GND,可以旁路多路复用器406使得没有延迟被添加到时钟输入信号302的下降沿。另ー方面,如果延迟下降使能信号420是1,那么延迟功能被激活,并且基于时钟延迟信号404选择延迟量。在所示出的实施例中,时钟延迟信号404可以在以下四个不同的延迟步之间确定选择:(I)使时钟输入信号302通过多路复用器406的延迟量;(2)使时钟输入信号302通过ー个缓冲器和多路复用器406的延迟量;(3)使时钟输入信号302通过两个缓冲器和多路复用器406的延迟量;以及(4)使时钟输入信号302通过三个缓冲器和多路复用器406的延迟量。将所选择的时钟延迟(CKDLY)提供到多路复用器406的输出线410。所选择的时钟延迟与时钟输入信号302 —起作为输入发送到OR门428。从OR门428输出时钟输出信号(CK0UT)430。时钟输出信号430相对于时钟输入信号302选择性地发生偏移,以致当延迟下降使能信号420激活下降沿偏移逻辑214的延迟功能时下降沿包括下降延迟量。该配置使施加到时钟输入信号302的下降延迟量能够根据多个缓冲器414而动态地改变。注意上述实施例仅仅是示例性的,并且应该理解在不脱离本公开的范围的情况下可以实现其他配置。例如,多路复用器406可以具有不同数量的输入,使得多于或少于可选择以施加到上升沿的四个不同延迟量。图5示意性地示出了时钟整形电路210的实施例。时钟整形电路210合并了图3所示的上升沿偏移逻辑212和图4所示的下降沿偏移逻辑214以使时钟输出信号(CKOUT)508相对于时钟输入信号302选择性地发生偏移。上升沿偏移逻辑212和下降沿偏移逻辑214并行接收时钟输入信号302并同时操作。时钟整形电路210包括含有输入线504、输出线506和选择线508的多路复用器502。多路复用器502的输入线504经配置以接收由上升沿偏移逻辑212所输出的时钟输出信号(上升(RISE)) 330和由下降沿偏移逻辑214所输出的时钟输出信号(下降(FALL))430。选择线508经配置以接收时钟输入信号(CKIN) 302。当时钟输入信号302是高(匡ロ,O时,多路复用器502选择由上升沿偏移逻辑212所输出的时钟输出信号330以传递到输出线506。当时钟输入信号302是低(S卩,O)时,多路复用器502选择由下降沿偏移逻辑214所输出的时钟输出信号430以传递到输出线506。此外,时钟整形电路210包括锁存器510和512。锁存器510经配置以接收延迟下降使能信号420、在时钟输入信号302上升之前建立延迟下降使能信号420以及保持延迟下降使能信号420直到时钟输入信号302下降。锁存器512经配置以接收时钟延迟信号404、在时钟输入信号302下降之前建立时钟延迟404以及保持时钟延迟信号404直到时钟输入302上升。为了在时钟输入信号302的上升和下降期间预防毛刺而锁存信号。在该配置中,上升沿偏移逻辑212的输出和下降沿偏移逻辑214的输出比由多路复用器502的选择线508所接收的时钟输入信号302传播得更慢,并且上升沿偏移逻辑212和下降沿偏移逻辑214的输出的过渡是单调的。因此,时钟整形电路210的时钟输出信号508是无毛刺的。此外,因为上升沿偏移逻辑212经配置以动态地改变施加到时钟输入信号302的上升延迟量,而下降沿偏移逻辑214经配置以独立于对上升沿的调整来动态地改变施加到时钟输入信号302的下降延迟量,所以时钟整形电路210也可以用于为不同的应用而整形时钟输入信号或者整理时钟输入信号。例如,时钟整形电路210可以在速度路径调试应用中延迟上升沿或下降沿。在另一示例中,时钟整形电路210可以在时钟整理应用中延迟上升沿和下降沿二者。图6示意性地示出了包括可变负载通路门602的上升沿偏移逻辑212的实施例。上升沿偏移逻辑212的部件可以实质上与图3所示的那些相同并以相同方式识别,不再进一步描述。通路门602是可用于提供小于多个缓冲器314中任意一个的延迟步长的通路晶体管(B卩,开关)的网络。通路门602可以用于对从输出线310输出的时钟输入信号302提供额外的中间(例如,1/2步)延迟以使时钟偏移控制的粒度更精细。上升沿逻辑可以包括用于激活通路门602的额外延迟信号(ADDITIONAL_DELAY)608,以调整施加到输出线510的额外延迟。将额外延迟信号608发送到锁存器606。锁存器606经配置以接收额外延迟信号608、在时钟输入信号302上升之前建立额外延迟信号608以及保持额外延迟信号608直到时钟输入信号302下降。通过在时钟输入信号的过渡过程中锁存额外延迟信号,时钟输出信号330可以做到无毛刺。额外延迟信号608用于控制通路门602以改变施加到多路复用器306的输出线310处的节点N的负载604的量。在一些实现方案中,负载604是门和/或线负载。负载604经由激活通路门602添加到节点N导致输出线510上的信号更晚(例如,几皮秒以后)上升。换言之,当将负载604施加到节点N时,时钟输入信号302的上升沿的延迟超出从多路复用器306输出的延迟量。该配置仅仅用于说明目的而在上升沿偏移逻辑中示出,并且应该理解可以将通路门和对应的可编程负载添加到时钟整形电路210的其他节点以提高延迟控制粒度。例如,可以将可编程负载添加到下降沿偏移逻辑以将更精细粒度的延迟添加到下降沿。图7示意性地示出经配置以实施时钟门控的上升沿偏移逻辑212的另一实施例。上升沿偏移逻辑212的部件可以实质上与图3所示的那些相同并以相同方式识别,不再进一步描述。上升沿偏移逻辑212包括时钟使能信号(CKEN) 702,其选择性地禁用/使能上升沿偏移逻辑212的一部分,使得各种部件(例如,锁存器)不需要频繁切换状态。通过减小上升沿偏移逻辑212的部件切換状态的频率,上升沿偏移逻辑212的功耗降低。上升沿偏移逻辑212包括耦合到锁存器318的输入的AND门704。AND门704经配置以接收延迟上升使能信号320和时钟使能信号702。AND门704导致延迟上升使能信号320仅当使能(例如,上升)时钟使能信号702时才使能多路复用器306的激活。此外,上升沿偏移逻辑212包括耦合到多路复用器306的多个输入线308之一的锁存器706。锁存器706经配置以接收时钟使能信号702。时钟使能信号702的经锁存版本取代电源(例如,VDD)连接,使得仅当由时钟延迟信号304选择经锁存版本且使能(例如,上升)时钟使能信号702时,才没有延迟地传递时钟输入信号302。该配置仅仅用于说明的目的而在上升沿偏移逻辑中示出,并且应该理解可以将时钟门控添加到时钟整形电路210的其他部分以降低功耗。例如,可以将时钟门控配置添加到下降沿偏移逻辑用于功耗的更大降低。图8示意性地示出了级联的多个时钟整形电路800。多个时钟整形电路800每个均可以与图4所示的时钟整形电路210相同或相似。相对于单个时钟整形电路,多个时钟整形电路800可以达到更宽范围的偏移能力和/或更大数量的步用于更精细的粒度。相对于将可增加导致毛刺的可能性的额外的多路复用器级联在一起,或者相对于利用具有可生成更多噪声的额外选择线的更大型多路复用器,级联的时钟整形电路可以提供更强健的配置,。在所示出的实施例中,两个时钟整形电路级联在一起示出,尽管应该理解在不脱离本公开的范围的情况下,多于两个时钟整形电路可以级联在一起以达到任意合适范围的偏移能力。第一时钟整形电路802经配置以接收时钟输入信号302。第一时钟整形电路802经配置以输出时钟输出信号806,其相对于时钟输入信号302选择性地发生偏移,以致上升沿包括上升延迟量、下降沿包括下降延迟量或者上升沿包括上升延迟量并且下降沿包括下降延迟量。第二时钟整形电路804与第一时钟整形电路802级联。第二时钟整形电路804经配置以通过进ー步増加时钟输出信号的上升延迟量、进ー步増加时钟输出信号的下降延迟量或者进ー步増加时钟输出信号的上升延迟量并且进一步增加时钟输出信号的下降延迟量来使时钟输出信号806相对于时钟输入信号302选择性地发生偏移。第二时钟整形电路804经配置以输出进ー步相对于时钟输出信号806发生偏移的进ー步经延迟的输出信号808。在一些实施例中,第一和第二时钟整形电路可以具有相同或不同的延迟步数量。在一些实施例中,第一和第二时钟整形电路可以具有相同或不同的步长。例如,在所示出的实施例中,第一时钟整形电路802具有每个均具有四十皮秒步长的四个延迟步以及第ニ时钟整形电路804具有每个均具有十二皮秒步长的四个延迟歩。图9示出了用于动态地整形数字电路中时钟信号的方法900的实施例。在ー个示例中,方法900可以由图2所示的微处理器202的时钟整形电路210实现。然而,应该理解方法900可以由具有时钟信号的任意数字电路中的时钟整形电路实施。在902处,方法900包括确定数字电路是否正在操作。如果数字电路正在操作,那么方法900移动到904。否则,方法900返回到902。
在904处,方法900包括在数字电路的操作期间接收时钟输入信号。在906处,方法900包括在不停止数字电路的操作的情况下延迟时钟输入信号的上升沿和下降沿之一或对此二者均加以延迟。如上所讨论的,可以基于确定时钟输入信号的上升沿和/或下降沿是否应该被延迟以及延迟多少的时钟延迟信号来延迟时钟输入信号。在一些情况下,延迟上升沿而不延迟下降沿。在一些情况下,延迟下降沿而不延迟上升沿。在一些情况下,延迟下降沿并且延迟上升沿。当延迟时钟输入信号的下降沿时,其独立于对上升沿的调整被延迟。换言之,当延迟上升沿时不一定延迟下降沿。此外,在一些情况下延迟上升沿或下降沿以调整时钟输入信号的占空比。在一些操作条件下,不延迟上升沿和下降沿或者对两个沿的延迟实质上都是O。例如,两个逻辑部件可已经同步,使得不需要偏移调整来匹配逻辑部件之间的时钟信号正时。在一些实施例中,基于在时钟输入信号上升之前被锁存以及被保持直到时钟输入信号下降的时钟延迟信号来实施延迟。因此,可以在不导致毛刺的情况下延迟时钟输入信号。在908处,方法900包括输出相对于时钟输入信号发生偏移的时钟输出信号。基于时钟延迟信号的状态,时钟输出信号的上升沿可以包括上升延迟量,时钟输出信号的下降沿可以包括下降延迟量,或者上升沿可以包括上升延迟量并且下降沿可以包括下降延迟量。应该理解在一些情况下上升延迟量可以设置为实质上是0以及下降延迟量可以设置为实质上是O。换言之,在一些情况下,时钟输出信号可以按要求相对于时钟输入信号不实质上发生偏移或被延迟。通过独立地动态调整时钟信号的上升沿和下降沿,可以调整时钟信号以在不减慢计算系统整体性能的情况下为计算系统中的不同部件调节操作完成时间。此外,因为时钟信号是动态地可编程的,所以后硅生产(即,后流片)时可以有利地调整时钟信号以调试不同部件并对可要求比设计所指定的更多或更少的时间来完成的不同处理操作进行调节。在本说明书和所附权利要求中,术语“第一”、“第二”、“第三”等仅仅作为标签使用,且并不意味着向其对象强加数字的或位置的要求。如本文所使用的,以单数叙述的以及用“一”开始的元素或步骤应该理解为不排除复数个所述元素或步骤,除非这样的排除被明确声明。此外,本发明对“一个实施例”的引用并不意图解释为排除还包含所叙述特征的额外实施例的存在。此外,除非明确地相反声明,实施例“包含”、“包括”或“具有”具有特定属性的元素或多个元素可以包括不具有该属性的额外的此类元素。应该理解本文所述的配置和/或方法本质上是示例性的,并且这些具体的实施例或示例不应该视为限制的意义,因为大量的变化是可能的。本文所述的具体例程或方法可以表示一个或多个任意数量的处理策略。因此,所示出的各种行为可以以所示出的顺序、以其他顺序、并行地实施或者在一些情况下省略。同样,上述过程的顺序可以改变。本公开的主题包括本文所公开的各种过程、系统和配置、以及其他特征、功能、行为和/或属性的所有新颖的和非显而易见的组合和子组合,以及其任意的或所有的等同物。
权利要求
1.一种微处理器,包含: 一个或多个处理核心;以及 所述ー个或多个处理核心内的时钟整形电路,其经配置以接收时钟输入信号,所述时钟整形电路包括: 上升沿偏移逻辑,经配置以选择性地延迟所述时钟输入信号的上升沿;以及 下降沿偏移逻辑,经配置以独立于对所述上升沿的调整来选择性地延迟所述时钟输入信号的下降沿,其中所述时钟整形电路经配置以输出相对于所述时钟输入信号选择性地发生偏移的时钟输出信号,使得所述时钟输出信号的上升沿包括上升延迟量、所述时钟输出信号的下降沿包括下降延迟量、或者所述时钟输出信号的所述上升沿包括上升延迟量并且所述时钟输出信号的所述下降沿包括下降延迟量。
2.根据权利要求1所述的微处理器,其中所述时钟输入信号由所述时钟整形电路发生偏移以匹配所述多个处理核心中的两个或更多个之间的时钟插入延迟。
3.根据权利要求1所述的时钟整形电路,其中所述上升沿偏移逻辑经配置以动态地改变所述上升延迟量以及所述下降沿偏移逻辑经配置以动态地改变所述下降延迟量。
4.根据权利要求2所述的时钟整形电路,其中所述上升延迟量根据多个缓冲器动态地改变以及所述下降延迟量根据多个缓冲器动态地改变。
5.根据权利要求1所述的时钟整形电路,其中所述上升沿偏移逻辑包括(i)串联耦合的多个缓冲器,其中所述多个缓 冲器中的第一缓冲器经配置以接收所述时钟输入信号;以及(ii)包含多个输入线、输出线和经配置以选择所述多个输入线之一来发送到所述输出线的选择线的第一多路复用器,其中所述多个缓冲器的每ー个的输出均耦合到所述多个输入线之一,并且所述选择线经配置以接收时钟延迟信号,所述时钟延迟信号经配置以选择传递到所述输出线的所述上升延迟量,以及其中所述下降沿偏移逻辑包括(i)串联耦合的多个缓冲器,其中所述多个缓冲器中的第一缓冲器经配置以接收所述时钟输入信号;以及(ii)包含多个输入线、输出线和经配置以选择所述多个输入线之一来发送到所述输出线的选择线的第二多路复用器,其中所述多个缓冲器的每ー个的输出均耦合到所述多个输入线之一,并且所述选择线经配置以接收时钟延迟信号,所述时钟延迟信号经配置以选择传递到所述输出线的所述下降延迟量。
6.根据权利要求5所述的时钟整形电路,其中所述第一多路复用器的所述多个输入线之ー耦合到电源,并且当所述时钟延迟信号指示不延迟所述时钟输出信号的所述上升沿时,所述选择线经配置以选择耦合到所述电源的所述输入线;以及 其中所述第二多路复用器的所述多个输入线之一耦合到地,并且当所述时钟延迟信号指示不延迟所述时钟输出信号的所述下降沿时,所述选择线经配置以选择耦合到地的所述输入线。
7.根据权利要求1所述的微处理器,其中所述时钟整形电路是第一时钟整形电路以及所述ー个或多个处理核心进ー步包含: 第二时钟整形电路,与所述第一时钟整形电路级联,其经配置以通过进ー步増加所述时钟输出信号的所述上升延迟量、进ー步増加所述时钟输出信号的所述下降延迟量、或者进ー步増加所述时钟输出信号的所述上升延迟量并且进一步增加所述时钟输出信号的所述下降延迟量,来使所述时钟输出信号相对于所述时钟输入信号选择性地发生偏移。
8.根据权利要求7所述的微处理器,其中所述第二时钟整形电路具有区别于所述第一时钟整形电路的用于改变所述上升延迟量和所述下降延迟量的延迟步长。
9.一种用于动态地整形数字电路中的时钟输入信号的方法,包含: 在所述数字电路的操作期间,接收时钟输入信号; 在不停止所述数字电路的操作的情况下延迟所述时钟输入信号的上升沿和下降沿中的一个或对二者均加以延迟,其中独立于对所述上升沿的调整而选择性地延迟所述下降沿;以及 输出相对于所述时钟输入信号发生偏移的时钟输出信号,使得所述时钟输出信号的上升沿包括上升延迟量、所述时钟输出信号的下降沿包括下降延迟量、或者所述上升沿包括上升延迟量并且所述下降沿包括下降延迟量。
10.根据权利要求9所述的方法,其中调整所述时钟输出信号的所述上升沿或所述时钟输出信号的所述下降沿中的一个或对二者均加以调整,以调整所述时钟输入信号的占空比。
11.根据权利要求9所述的方法,其中基于在所述时钟输入信号上升之前被锁存并被保持直到所述时钟输入信号下降的时钟延迟信号来实施延迟。
12.根据权利要求9所述的方法,进一步包含: 在操作状态期间,将所述上升延迟量设置为大致是O并且将所述下降延迟量设置为大致是O。
13.一种经配置以接收时钟输入信号的时钟整形电路,包含: 上升沿偏移逻辑,经配置 以选择性地延迟所述时钟输入信号的上升沿;以及 下降沿偏移逻辑,经配置以独立于对所述上升沿的调整来选择性地延迟所述时钟输入信号的下降沿,其中所述时钟整形电路经配置以输出相对于所述时钟输入信号选择性地发生偏移的时钟输出信号,使得所述时钟输出信号的上升沿包括上升延迟量、所述时钟输出信号的下降沿包括下降延迟量、或者所述时钟输出信号的所述上升沿包括上升延迟量并且所述时钟输出信号的所述下降沿包括下降延迟量。
14.根据权利要求13所述的时钟整形电路,其中所述上升沿偏移逻辑经配置以动态地改变所述上升延迟量以及所述下降沿偏移逻辑经配置以动态地改变所述下降延迟量。
15.根据权利要求14所述的时钟整形电路,其中所述上升延迟量根据多个缓冲器动态地改变以及所述下降延迟量根据多个缓冲器动态地改变。
16.根据权利要求13所述的时钟整形电路,其中所述上升沿偏移逻辑包括(i)串联耦合的多个缓冲器,其中所述多个缓冲器中的第一缓冲器经配置以接收所述时钟输入信号;以及(ii)包含多个输入线、输出线和经配置以选择所述多个输入线之一来发送到所述输出线的选择线的第一多路复用器,其中所述多个缓冲器的每一个的输出均耦合到所述多个输入线之一,并且所述选择线经配置以接收时钟延迟信号,所述时钟延迟信号经配置以选择传递到所述输出线的所述上升延迟量,以及其中所述下降沿偏移逻辑包含(i)串联耦合的多个缓冲器,其中所述多个缓冲器中的第一缓冲器经配置以接收所述时钟输入信号;以及(ii)包含多个输入线、输出线和经配置以选择所述多个输入线之一来发送到所述输出线的选择线的第二多路复用器,其中所述多个缓冲器的每一个的输出均耦合到所述多个输入线之一,并且所述选择线经配置以接收时钟延迟信号,所述时钟延迟信号经配置以选择传递到所述输出线的所述下降延迟量。
17.根据权利要求16所述的时钟整形电路,其中所述上升沿偏移逻辑进一步包括第一锁存器,耦合到所述第一多路复用器的所述选择线,所述第一锁存器经配置以接收所述时钟延迟信号、在所述时钟输入信号上升之前建立所述时钟延迟信号以及保持所述时钟延迟信号直到所述时钟输入信号下降,以及其中所述下降沿偏移逻辑进一步包括第二锁存器,耦合到所述第二多路复用器的所述选择线,所述第二锁存器经配置以接收所述时钟延迟信号、在所述时钟输入信号下降之前建立所述时钟延迟信号以及保持所述时钟延迟信号直到所述时钟输入上升。
18.根据权利要求17所述的时钟整形电路,其中所述上升沿偏移逻辑进一步包含: 第一 AND门,耦合到所述第一锁存器的输入,其经配置以接收所述时钟延迟信号和时钟使能信号;以及 第三锁存器,耦合到所述第一多路复用器的所述多个输入线之一,其经配置以接收所述时钟使能信号;以及 其中所述下降沿偏移逻辑进一步包含: 第二 AND门,耦合到所述第二锁存器的输入,其经配置以接收所述时钟延迟信号和时钟使能信号;以及 第四锁存器,耦合到所述第二多路复用器的所述多个输入线之一,其经配置以接收所述时钟使能信号。
19.根据权利 要求16所述的时钟整形电路,其中所述第一多路复用器的所述多个输入线之一耦合到电源,并且当所述时钟延迟信号指示不延迟所述时钟输出信号的所述上升沿时,所述选择线经配置以选择耦合到所述电源的所述输入线;以及 其中所述第二多路复用器的所述多个输入线之一耦合到地并且当所述时钟延迟信号指示不延迟所述时钟输出信号的所述下降沿时,所述选择线经配置以选择耦合到地的所述输入线。
20.根据权利要求16所述的时钟整形电路,其中所述上升沿逻辑进一步包含: 第一通路门,耦合到所述第一多路复用器的所述输出线,其经配置以接收改变所述第一通路门上的负载以选择性地增加从所述第一多路复用器输出的所述时钟输出信号的所述上升沿的所述上升延迟量的额外延迟信号;以及 第二通路门,耦合到所述第二多路复用器的所述输出线,其经配置以接收改变所述第二通路门上的负载以选择性地增加从所述第二多路复用器输出的所述时钟输出信号的所述下降沿的所述下降延迟量的所述额外延迟信号。
全文摘要
在一个实施例中,微处理器包括一个或多个处理核心。至少一个处理核心包括经配置以接收时钟输入信号的时钟整形电路。时钟整形电路包括经配置以选择性地延迟时钟输入信号上升沿的上升沿偏移逻辑和经配置以独立于对上升沿的调整来选择性地延迟时钟输入信号下降沿的下降沿偏移逻辑。
文档编号G06F1/06GK103092255SQ20121043644
公开日2013年5月8日 申请日期2012年11月5日 优先权日2011年11月3日
发明者C·K·李 申请人:辉达公司