非整数分频 【发明背景】
随着现代计算机的工作频率不断提高,这些计算机的功耗也在相应地增大。等式1给出了功耗与频率之间的关系。
P=CV2f (1)在等式1中,P表示功率,C表示电容,V表示电压,而f表示频率。从等式1中可以看到,随着f增大,P也成比例地增大。
然而,有时,由于一种或多种系统限制、测试目的或性能问题,增大的功耗并不是在计算机系统的所有部分都需要或可行。例如,当功耗增大时,温度也相应地提高,而这可能导致可靠性降低。此外,由于计算机系统中某些部分的功耗增大,计算机系统的其它部分的功率供应可能受到不利的影响。因此,为了避免功耗增大导致的此类问题,要降低、即“分割”计算机系统的特定部分的频率。图1a和1b表示分割信号频率的典型先有技术方法。
具体地说,图1a表示由正沿触发的D-Q触发器(也称为“D-Q触发器”)(12)和延迟级(14)形成的分频器(10),而延迟级由反相器(16)形成。输入信号CLK_IN用作到D-Q触发器(12)的时钟输入端的输入。D-Q触发器(12)的Q输出经由FLIP_FLOP_OUT用作延迟级(14)的输入,延迟级(14)的输出又送到D-Q触发器(12)的D输入端和分频器(10)的输出端CLK_OUT。
图1b表示了图1a中所示的分频器(10)的时序图(20)。如果D-Q触发器(12)地D输入最初是逻辑高电平,即‘1’,当CLK_IN上的第一正沿、即第一“上升”沿(22)触发了D-Q触发器(12)时,则D-Q触发器在FLIP_FLOP_OUT上输出逻辑高电平(24)。FLIP_FLOP_OUT上的逻辑高电平(24)输入延迟级(14),延迟级(14)又使FLIP_FLOP_OUT上的逻辑高电平(24)反相,而在CLK_OUT上输出逻辑低电平(26),即‘0’。延迟级(14)输出的逻辑低电平也传送到D-Q触发器(12)的D输入端,以备D-Q触发器(12)下次被触发时使用。
CLK_IN的下一个上升沿(28)触发D-Q触发器(12),使D-Q触发器(12)由于D-Q触发器(12)的D输入端上的逻辑低电平而在FLIP_FLOP_OUT上输出逻辑低电平(30)。FLIP_FLOP_OUT上的逻辑低电平(30)输入延迟级(14),延迟级(14)又使FLIP_FLOP_OUT上的逻辑低电平(30)反相,而在CLK_OUT上输出逻辑高电平(32)。延迟级(14)输出的逻辑高电平也传送到D-Q触发器(12)的D输入端,以备D-Q触发器(12)下次被触发时使用。
图1b的时序图(20)的描述表明了CLK_OUT的频率是CLK_IN的频率的一半。换句话说,CLK_OUT的频率等于CLK_IN的频率除以2。实质上,图1a的分频器(10)和其它先有技术的分频器通过对输入信号的周期进行计数来生成输出信号。例如,图1a的分频器(10)对于输入信号的每两个周期生成输出信号的一个周期。此外,大多数分频器的功能可扩展为允许生成多个输出信号频率,而多个输出信号频率是通过将输入信号的频率除以特定的整数值来生成的。
图2a表示一种能够生成多个输出信号频率的典型先有技术的分频器(40)。具体地说,图2a表示由四个负沿触发的J-K触发器(也单独称为“J-K触发器”)(42、44、46、48)形成的分频器(40)。四个J-K触发器(42、44、46、48)的J和K输入被限制在逻辑高电平,因此,每当负沿、即“下降”沿到达四个J-K触发器(42、44、46、48)之一的时钟输入端时,存储在该J-K触发器内的值被反相。第一、第二和第三J-K触发器(42、44、46)的Q输出端分别连接到第二、第三和第四J-K触发器(44、46、48)的时钟输入端。另外,来自第一、第二和第三J-K触发器(42、44、46)的Q输出端的信号分别由C0、C1和C2来表示。第一J-K触发器(42)的时钟输入端连接到输入信号CLK,并且来自第四J-K触发器(48)的Q输出端的信号由C3表示。
图2b表示了图2a中所示分频器(40)的时序图(50)。最初,四个J-K触发器(42、44、46、48)存储了逻辑低电平。在CLK的第一下降沿(52),第一J-K触发器(42)的时钟输入产生跳变,并且第一J-K触发器(42)中存储的值从逻辑低电平转到逻辑高电平,从而导致逻辑高电平从第一J-K触发器(42)的Q输出端转到第二J-K触发器(44)的时钟输入端。此外,在第一J-K触发器(42)的Q输出端的逻辑高电平使C0转为高电平(54)。因此,第一J-K触发器(42)的时钟输入的第一下降沿(52)使C0转为高电平(54)。然而,C0上的逻辑高电平(54)不影响第二J-K触发器(44)中存储的值,因为第二J-K触发器(44)只可由其时钟输入的下降沿触发。
在CLK的第二下降沿(56),第一J-K触发器(42)的时钟输入产生跳变,并且第一J-K触发器(42)中存储的值从逻辑高电平转到逻辑低电平,从而导致逻辑低电平从第一J-K触发器(42)的Q输出端转到第二J-K触发器(44)的时钟输入端。此外,在第一J-K触发器(42)的Q输出端的这个逻辑低电平使C0转为低电平(58),并且触发第二J-K触发器(44)。这样,因为在CLK的第一下降沿(52)C0转为高电平(54)并且在CLK的第二下降沿(56)C0转为低电平(58),所以C0的频率是CLK频率的一半。换句话说,分频器(40)可产生频率等于时钟信号的频率除以2的信号。
因为第二J-K触发器(44)被C0的下降沿(58)触发,所以第二J-K触发器(44)中存储的值从逻辑低电平转到逻辑高电平,从而导致逻辑高电平从第二J-K触发器(44)的Q输出端转到第三J-K触发器(46)的时钟输入端。此外,在第二J-K触发器(44)的Q输出端的这个逻辑高电平使C1转为高电平(60)。因此,第一J-K触发器(42)的时钟输入的第二下降沿(56)使C0转为低电平(58),从而又触发第二J-K触发器(44)并使C1转为高电平(60)。然而,C1的上升沿(60)不影响第三J-K触发器(46)中存储的值,因为第三J-K触发器(46)只可由其时钟输入的下降沿触发。
在CLK的第四下降沿(62),第一J-K触发器(42)的时钟输入产生跳变,并且第一J-K触发器(42)中存储的值从逻辑高电平转到逻辑低电平,从而导致逻辑低电平从第一J-K触发器(42)的Q输出端转到第二J-K触发器(44)的时钟输入端。此外,在第一J-K触发器(42)的Q输出端的此逻辑低电平使C0转为低电平(64)并且触发第二J-K触发器(44)。
因为第二J-K触发器(44)被C0的下降沿(64)触发,所以第二J-K触发器(44)中存储的值从逻辑高电平转到逻辑低电平,从而导致逻辑低电平从第二J-K触发器(44)的Q输出端转到第三J-K触发器(46)的时钟输入端。此外,在第二J-K触发器(44)的Q输出端的此逻辑低电平使C1转为低电平(66)。因此,第一J-K触发器(42)的时钟输入的第四下降沿(62)使C0转为低电平(64),从而又触发第二J-K触发器(44)并使C1转为低电平(66)。此外,因为C1在CLK的第二下降沿(56)转为高电平(60)并且C1在CLK的第四下降沿(62)转为低电平(66),则C1的频率是CLK频率的四分之一。换句话说,分频器(40)可产生频率等于时钟信号频率除以4的信号。
因为C1转为低电平(66),所以第三J-K触发器(46)被触发并且第三J-K触发器(46)中存储的值从逻辑低电平转到逻辑高电平,从而导致逻辑高电平从第三J-K触发器(46)的Q输出端传到第四J-K触发器(48)的时钟输入端。此外,在第三J-K触发器(46)的Q输出端的此逻辑高电平使C2转为高电平(68)。因此,第一J-K触发器(42)的时钟输入的第四下降沿(62)使C0转为低电平(64),这又使C1转为低电平(66),从而又使C2转为高电平(68)。然而,C2的上升沿(68)不影响第三J-K触发器(46)中存储的值,因为第三J-K触发器(46)只可由其时钟输入的下降沿触发。
本领域的技术人员会理解,由于第一J-K触发器(42)在CLK的每个下降沿会产生跳变,并且第二J-K触发器(44)在CLK的每第二个下降沿会产生跳变,导致第三J-K触发器(46)在CLK的每第四个下降沿会产生跳变,以及第四J-K触发器(48)在CLK的每第八个下降沿会产生跳变。例如,CLK的第八个下降沿(70)使C0转为低电平(72),这又使C1转为低电平(74),从而又使C2转为低电平(76),又使C3转为高电平(78)。因此,如图2b所示,如果CLK的频率由f表示,则C0的频率是f/2,C1的频率是f/4,C2的频率是f/8,而C3的频率是f/16。
根据上述等式1,频率和功耗直接相关,因此,f按特定整数值分割会自动导致P按该特定整数值分割。类似于图1a中所示分频器(10),图2a中所示的分频器(40)实质上通过对原始信号的周期进行计数而生成分割的信号。
然而,虽然各种各样的情况要求降低功耗,但是在最佳性能出现在不等于原始频率除以任何整数值的频率值的情况下,按整数值分割原始频率会导致性能下降。
发明概述
一方面,一种能够按非整数值分割信号频率的分频器包括对信号相位进行计数的相位计数器级,其中,当相位的计数值达到一定数量时,所述相位计数器级产生信号沿,并且分频器的输出信号是根据相位计数器级所产生的信号沿来产生的。
另一方面,一种按非整数值分割信号频率的方法包括对信号的相位进行计数,其中,当相位的计数值达到一定数量时,相位计数器级生成信号沿,并且根据相位计数器级所产生的信号沿来产生输出信号。
通过以下说明和所附权利要求书来理解本发明的其它方面和优点。
附图简述
图1a表示典型的先有技术的分频器。
图1b表示图1a中所示的分频器的时序图。
图2a表示典型的先有技术的分频器。
图2b表示图2a中所示的分频器的时序图。
图3a表示根据本发明的实施例的分频器。
图3b表示根据图3a中所示实施例的时序图。
详细说明
本发明涉及能够进行非整数分频的分频器所用的方法和装置。更具体地说,本发明涉及通过对输入信号的相位计数来执行非整数分频的分频器所用的方法和装置。
图3a表示根据本发明的示范实施例的分频器(80)。分频器(80)包括相位计数器级(82)、触发器级(84)、延迟级(86)以及占空度校正器级(88)。输入信号CLK_IN用作相位计数器级(82)的输入。相位计数器级(82)的输出送到触发器级(84)的时钟输入端。触发器级(84)具有连接到逻辑高电平、即‘1’的数据输入端,它的输出同时送到延迟级(86)和占空度校正器级(88)。延迟级(86)的输出送到触发器级(84)的复位输入端,而占空度校正器级(88)输出分频器(80)的输出信号CLK_OUT。
为了下面参照图3b进行说明,把相位计数器级(82)产生的信号表示为PHASE_COUNT_OUT,把触发器级(84)产生的信号表示为FLIP_FLOP_OUT,并且把延迟级(86)产生的信号表示为DELAY_OUT。
本领域的技术人员知道,触发器级(84)可采用D-Q触发器、J-K触发器或其它类型的边沿触发的触发器来形成。此外,本领域的技术人员知道,在其它实施例中,触发器级(84)的数据输入端可连接到逻辑低电平、即‘0’。
图3b表示根据图3a所示实施例的示范时序图(90)。具体地说,图3b表示了当分频器(80)在CLK_OUT上产生的信号的频率等于CLK_IN的频率除以1.5时,CLK_IN、PHASE_COUNT_OUT、FLIP_FLOP_OUT、DELAY_OUT和CLK_OUT的定时波形。
CLK_IN在图3b中表示为具有频率f的脉冲时钟信号。为了将CLK_IN除以1.5,相位计数器级(82)对CLK_IN的相位进行计数,并且在CLK_IN的第三相位(94)在PHASE_COUNT_OUT上输出上升沿(92)。PHASE_COUNT_OUT上的上升沿(92)触发了触发器级(84),而触发器级(84)又由于其数据输入被限定在逻辑高电平而在FLIP_FLOP_OUT上输出逻辑高电平(96)。
FLIP_FLOP_OUT上的逻辑高电平(96)馈入延迟级(86),而延迟级在一定的延迟(在图3b中显示)后,在DELAY_OUT上输出逻辑高电平(98),其中DELAY_OUT上的逻辑高电平(98)使触发器级(84)复位,导致触发器级(84)在FLIP_FLOP_OUT上输出逻辑低电平(100)。
在CLK_IN的下一个第三相位(102),相位计数器级(82)在PHASE_COUNT_OUT上输出另一个上升沿(104),其中PHASE_COUNT_OUT上的所述上升沿(104)使触发器级(84)在FLIP_FLOP_OUT上输出高电平(106),此后重复上述过程(96、98、100)。在上面参照图3b所述的过程中,占空度校正器级(88)根据系统要求不断地校正FLIP_FLOP_OUT的占空度,并输出CLK_OUT。此外,本领域的技术人员应当理解,CLK_OUT可直接或间接取决于相位计数器级(82)进行的信号沿生成。
本领域的技术人员会明白,上述过程对于CLK_IN的每第三相位自行重复。这使得CLK_OUT的频率等于f/1.5,其中f是CLK_IN的频率。
此外,本领域的技术人员会明白,在其它实施例中,分频器(80)可用于按其它非整数值、如2.5来分割CLK_IN,在这种情况下,相位计数器级(82)将对CLK_IN的每第五相位在PHASE_COUNT_OUT上输出上升沿。此外,本领域的技术人员会明白,延迟级(86)可包含控制逻辑或者是可编程的,以便可以根据分割CLK_IN所按照的数量来自动调整延迟量。在其它实施例中,本领域的技术人员会明白相位计数器级(82)可以是可编程的,这样,可以自动选择分割CLK_IN所按照的数量而无需用户干预。
此外,本领域的技术人员会明白,在某些实施例中可能不需要占空度校正器级(88),视系统要求而定。另外,本领域的技术人员会明白,在其它实施例中,本发明能够按整数值和非整数值分割信号。
本发明可包括以下的一个或多个优点。在一些实施例中,由于分频器对输入信号的相位而不是输入信号的周期进行计数,因此分频器可产生频率等于输入信号频率除以非整数值的输出信号。
在一些实施例中,由于分频器可以按非整数值将原始信号的频率分割,因此,在高性能出现在等于原始信号频率的非整数因数的频率值的情况下,性能可得以提高。
在一些实施例中,由于分频器可以按非整数值将原始信号的频率分割,因此,在出现高性能时的功耗值与作为原始信号频率的非整数被除数的频率值相关的情况下,性能可得以提高。
在一些实施例中,由于分频器的相位计数器级是可编程的,因此分频器能够按不同的非整数值分割信号的频率。
在一些实施例中,由于分频器的相位计数器级是可编程的,因此分频器能够按整数值和非整数值分割信号的频率。
在一些实施例中,由于分频器的相位计数器级是可编程的,因此分频器分割原始信号频率的数量可自动选择而无需用户干预。
在一些实施例中,由于分频器的延迟级是可编程的,因此延迟级产生的延迟量可取决于分频器分割原始信号的数量。
虽然参照有限数量的实施例描述了本发明,但是从本公开中受益的本领域技术人员会明白,可以设计不脱离如本文所公开的本发明范围的其它实施例。因此,本发明的范围应当仅受所附权利要求书的限制。