CN1257612C - 根据初始状态门控时钟脉冲触发的状态机、计数器及方法 - Google Patents
根据初始状态门控时钟脉冲触发的状态机、计数器及方法 Download PDFInfo
- Publication number
- CN1257612C CN1257612C CN 02129835 CN02129835A CN1257612C CN 1257612 C CN1257612 C CN 1257612C CN 02129835 CN02129835 CN 02129835 CN 02129835 A CN02129835 A CN 02129835A CN 1257612 C CN1257612 C CN 1257612C
- Authority
- CN
- China
- Prior art keywords
- state
- clock pulse
- state cell
- cell
- counter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Logic Circuits (AREA)
Abstract
本发明提供一种状态机、计数器及相关装置与方法。本发明中的状态机设有多个状态单元及一时钟脉冲门控电路,各状态单元用来接收一时钟脉冲的触发以产生对应的递变状态输出,该时钟脉冲门控电路则用来根据一初始状态选择性地将一触发时钟脉冲不提供至该多个状态单元中的某些状态单元,使得当其他状态单元受该触发时钟脉冲触发而更新对应的状态输出时,所述状态单元不会受触发而改变对应的状态输出。
Description
技术领域
本发明提供一种计数器、状态机与相关方法,尤指一种具有状态单元、并能根据一初始状态而选择性地停止将时钟脉冲提供至状态不会变化的状态单元以节省功率消耗的计数器、状态机与相关方法。
背景技术
各式各样的微处理机系统,已成为现代信息装置中不可或缺的基础;一个基本的应用集成电路(ASIC)就可视为一基本的微处理机系统,而结构完整的电子产品,如手机、个人数字助理器(PDA)或是个人计算机,更是组合了许多微处理机系统,以形成多样的数据处理功能。在微处理机系统中,常要以时钟脉冲触发的顺序(sequential)控制的方式,来协调微处理机系统中各个不同构成功能块在不同的时间发挥特定的功用,以完成整个微处理机系统特定的功能。举例来说,若一微处理机系统要完成某功能时,要先由该微处理机系统中的甲电路处理数据,再传至乙电路,由乙电路继续完成后续的数据处理。此时微处理机系统就可利用顺序控制的方式,先触发甲电路开始处理数据,并循序触发甲电路将处理完的数据传输至乙电路,接着再触发乙电路接收数据、开始进一步处理数据等等。通过顺序控制的触发,就能协调微处理机系统中各个构成功能块先后工作的顺序,完成微处理机系统应尽的功能。
当一微处理机系统要使用顺序控制时,会以一状态机(state machine)来依据一时钟脉冲的触发,产生出依预设顺序递变的状态,并以这些状态来触发微处理机系统中其他的构成功能块来依序进行不同的功能。请参考图1。图1为一公知状态机10的功能方块图。状态机10中设有多个状态单元12(图1中示出三个做为代表),各状态单元12中设有一顺序逻辑(sequential logic)电路14及一组合逻辑(combinational logic)电路16。一般来说,每个状态单元能产生一位(bit)的状态位18作为该状态单元对应的状态输出,集合状态机10中各状态单元产生的状态位18,就能组合为一数字数据形式的多位状态20。为了协调各状态单元的统一工作,状态机10中会以一时钟脉冲CLK0做为一触发的时钟脉冲来触发各状态单元工作。时钟脉冲CLK0中具有多个周期的脉冲(pulse),每一周期的脉冲会触发状态机10更新其状态20。
在各个状态单元12中,顺序逻辑电路14通常为一触发器(flip-flop),其设有一用来接收输入数据的输入端口D0、一用来输出状态位的输出端口Q0、一设定端口S0及一时钟脉冲端T0。顺序逻辑电路14能由时钟脉冲端T0接收时钟脉冲CLK0的触发,在时钟脉冲CLK0的每个周期中由其输入端口D0接收输入数据,并由其输出端口Q0输出更新后的状态位18。顺序逻辑电路14的工作特性,是当其在时钟脉冲CLK0的某一周期中输出一更新后的状态位18时,该状态位18不仅与输入端口D0接收的输入数据有关,也和输出端口Q0在前一周期输出的状态位18(也就是更新前的状态位18)有关。换句话说,顺序逻辑电路14能“记忆”之前输出的状态位。此外,顺序逻辑电路14中的设定端口S0则用来接收一初始状态22,使顺序逻辑电路14能根据该初始状态,将输出端口Q0输出的状态位设定为一特定的初始值;当顺序逻辑电路14接收时钟脉冲CLK0后续各周期脉冲的触发后,其输出端口Q0输出的状态位18就会由该特定的初始值开始依序变化更新。各个状态单元12中的组合逻辑电路16则通常由各种逻辑门所组成,以依据状态20来产生对应顺序逻辑电路14的输入数据。
状态机10的工作原理可描述如下。当状态机10要开始工作时,会将初始状态22传输至各个状态单元12,使得各状态单元12输出的状态20为特定的初始值;随着时钟脉冲CLK0中各周期脉冲的触发,各状态单元12会更新各自的状态位18,状态20也就随之更新。在时钟脉冲CLK0的某一周期中,该周期对应的状态20会经由各状态单元12中的组合逻辑电路16产生对各个顺序逻辑电路14的输入数据;到了下一个周期时,各状态单元12就能依据组合逻辑电路16的输入数据(也就是依据前一周期的状态20),再加上各顺序逻辑电路14本身的“记忆”功能,来更新状态20。电路设计者只要设计各状态单元12中的组合逻辑电路,就能使状态机10在时钟脉冲CLK0的触发下,依照特定的顺序更新状态20的内容。
在微处理机系统中,计数器(counter)可说是状态机的一种特例。请参考图2。图2为一公知的倒计数(counting down)二进制(binary)计数器30的功能方块示意图。在图2的示意例中,计数器30设有多个状态单元(图2中示出四个做为代表)31及一辅助电路35,而此四个状态单元即分别用来产生位B1至B4,并形成计数器30的状态36(也就是计数器30的计数值);换句话说,位B1至B4就分别是计数器30中各状态单元31的状态位。而辅助电路35则能在接收一初始值启动讯号EN1后,根据初始状态34设定各状态单元对应状态位的初始值,并在接收一计数启动讯号EN2后,将一作为触发时钟脉冲的时钟脉冲CLK统一传输至各个状态单元31。在各状态单元31中,触发器32作为各状态单元的顺序逻辑电路,与门(AND gate)37则组合出各个状态单元31中的相异组合逻辑电路。其中触发器32可以是T触发器,输入端T为其输入端口,分别用来输出两互为反相的位的输出端Q、Q′则为其输出端口;设定端S为其设定端口,用来接收辅助电路35的初始状态设定,以设定各顺序逻辑电路的对应状态位的初始值;而时钟脉冲端CK则用来接收时钟脉冲CLK的触发。
当一微处理机系统要使用公知的计数器30来计数时,会在计数开始之前先以初始值载入启动讯号EN1来触发辅助电路35,以根据初始状态34设定各状态单元31对应状态位的初始值;要开始计数时,就会以计数启动讯号EN2触发辅助电路35将时钟脉冲CLK统一传输至各状态单元31,计数器30就会根据时钟脉冲CLK的触发开始计数了。
请参考图3(并同时参考图3)。在计数器30中,经由各状态单元中组合逻辑电路的设计,计数器30的状态36随时钟脉冲CLK的触发而依序改变的情形,即示于图3。图3的纵轴即为时间;波形38则是时钟脉冲CLK随时间变化的波形(波形38的横轴即为波形的大小)。如图3所示,时钟脉冲CLK中具有多个周期的脉冲,每一周期的时间长短为时段T;随着时钟脉冲CLK中的周期T1、T2、T3等等的触发,由位B1至B4组合出的状态36,也会由“1111”、“1110”、“1101”等等依序变化,就如图3中所示。换句话说,若把状态36当作是计数器30的计数值,图3中的状态36就会由“1111”开始倒计数,直到“0000”。
计数器在微处理机及计算机系统中有很广泛的用途。举例来说,参照图2、图3的计数器30,若微处理机中的某一第一构成功能块要每隔一段特定的时间(譬如说是16个时钟脉冲周期的时间)就发出一特殊的指令给另一个第二构成功能块,第一构成功能块就可以设定计数器30由某个初始的计数值开始倒计数(像是由图3中的“1111”开始),等数到某一计数值之后(譬如说是图3中的“0000”),第一构成功能块就知道时间已经经过了多少个时钟脉冲周期,并可依照计数值的指示来发出该特殊的指令。另外,举例来说,若微处理机中某一第一构成功能块要传输特定数量成批数据(譬如说是16批)至另一第二构成功能块,第一构成功能块就可以随着每一批数据的传输触发计数器30一次,等到计数器30的计数值由“1111”倒计数至“0000”,第一构成功能块就知道已经传输了16批数据了。
为了要使微处理机系统更具有功能上的弹性,在各构成功能块利用计数器时,只要对计数器设定不同的初始计数值,就能弹性的运用计数器来定量计数。延伸前述的例子,若第一构成功能块原本要每隔16个时钟脉冲周期的时间就发出一特殊的指令,但因工作上的需求,要改为每隔8个时钟脉冲周期就发出一特殊指令,此时第一构成功能块就可将计数器30的初始状态设为“0111”,并由“0111”开始倒计数,同样地,当数到“0000”后,第一构成功能块就知道已经经过8个周期的时间了,就如图4中所示。请参考图4;图4即为计数器30的状态36由计数值“0111”一直倒计数至“0000”时状态递变的示意图,图4的纵轴为时间。同理,若第一构成功能块要传输在传输16批数据后,又要传输4批数据,那么第一构成功能块可将计数器的初始状态设为“0011”,并随着每批数据的传输由“0011”、“0010”、“0001”同样地也是倒计数至“0000”,此时第一构成功能块就能由计数值回到“0000”而知道已经传输了4批数据。而一般的状态机也能达成类似的功能。
不过,在以上述的方式来弹性地运用计数器时,某些状态单元会一直维持相同的状态而不改变。举例来说,在图4的例子中,当计数器30被用来数出8时(就是8个周期脉冲),用来产生位B4的状态单元就一直不会改变其状态输出,使得位B4一直为“0”。同理,若只要用计数器30来数出4,就只有位B2、B1对应的状态单元会工作而更新位B2、B1的值,位B4、B3对应的状态单元并不会随时钟脉冲的触发而改变位B4、B3的值。更进一步地,若要增加计数器的使用弹性,可增加计数器中计数单元的个数,使得计数器的状态(也就是计数值)能具有更多的状态位。举例来说,一个具有8位的计数器,在由“11111111”倒计数至“00000000”的过程中会经过256个时钟脉冲周期,而该计数器使用的弹性也会更大,可经由对初始状态的控制数出1到256中任何一个数目。不过,同样地,在以8位计数器来数出少于256的数目时,该计数器中也会有状态不改变的状态单元;要数出的数目越小,状态不改变的状态单元也会越多。若是以8位计数器用来数出8时,就会有5个状态单元不会改变状态;用来数出4时,则会有6个状态单元不会改变状态。同理,在弹性运用状态机时,也会发生类似的情况;也就是说,有某些状态单元的状态输出会维持不变。
不过,如图1或图2中所示,因为状态机或计数器中的各个状态单元都要同步协调工作,所以公知技术中各状态单元都会统一由一时钟脉冲触发;即使有某一状态单元不会改变状态,该时钟脉冲还是要驱动该状态单元。一般来说,在现行技术下,状态单元都是以互补金属氧化物半导体晶体管(CMOS)来实际实现,像是状态单元中会接收时钟脉冲触发的顺序逻辑电路,也就是由互补金属氧化物半导体晶体管实现的。请参考图5。图5为一典型互补金属氧化物半导体晶体管所实现的逻辑门40。逻辑门40以偏置源Vd及地端G作为直流偏置,其中n型金属氧化物半导体晶体管M1、M2的栅极分别电连接到节点N1、N2,p型金属氧化物半导体晶体管M3、M4的栅极亦分别电连接到节点N1、N2,以分别接收位A及位B的输入;输出的位C则由节点N 3取出,以实现一与非门(NAND)的功能。当输入的位A为一在数字“0”、“1”交替的时钟脉冲,而位B为固定的数字“0”时,输出的位C不会随位A的改变而改变,并会一直维持于数字“1”。在这种情况下,虽然逻辑门40输出的位C不会改变,但驱动位A在数字“1”、“0”(也就是高低电平间)间互换时,还是要消耗功率。由于金属氧化物半导体晶体管的栅极等效上可视为一个电容,当要将位A要由数字“0”提升为数字“1”时,就要消耗能量来对晶体管M1、M3的栅极充电;当要将位A由数字“1”拉低至数字“0”时,同样地也要消耗能量来对晶体管M1、M3的栅极放电。换句话说,即使一状态单元的状态输出不随时钟脉冲的触发而改变,但是由逻辑门组成的状态单元还是会消耗时钟脉冲的驱动能量。
换句话说,在弹性利用上述讨论的公知计数器或状态机时,仅会利用到一部分的状态单元,其他多余的状态单元则不会改变其状态输出,但当时钟脉冲驱动计数器或状态机中的各个状态单元时,状态不变的状态单元还是会消耗时钟脉冲驱动的能量,举例来说,当图2中的计数器30用来以图4中的方式数出8时,位B4不会改变,但位B4对应的状态单元还是会持续地消耗时钟脉冲的驱动能量。这样一来,不仅平白增加微处理机系统的功率消耗,对于微处理系统芯片的电路集成度的提升,也会有不良的影响。
发明内容
因此,本发明的主要目的在于提供一种依据初始状态判断有哪些状态单元不会改变状态并停止供应时钟脉冲至这些状态单元的状态机及相关应用、方法,以克服公知技术的缺点。
本发明提供一种计数器,其包含有:
多个状态单元,各状态单元用来产生一状态输出;而每一状态单元具有一对应的时钟脉冲端,用来接收一具有多个脉冲的时钟脉冲;
其中当每一状态单元由对应的时钟脉冲端接收一时钟脉冲时,该状态单元可根据一预设的原则以在接收该时钟脉冲的不同脉冲时更新其对应的状态输出;以及
一时钟脉冲门控电路,电连接到该多个状态单元,用来仅根据一固定的初始值于该多个状态单元中选择出至少一第一状态单元及至少一第二状态单元,以将一触发时钟脉冲提供至各第一状态单元的时钟脉冲端,并停止提供该触发时钟脉冲至各第二状态单元的时钟脉冲端,使得当各第一状态单元依据该触发时钟脉冲的不同脉冲而更新各第一状态单元的对应状态输出时,各第二状态单元对应的状态输出会维持不变;且该时钟脉冲门控电路不会依据各第一状态单元的状态输出变化而将该触发时钟脉冲提供至各第二状态单元,亦不会停止提供该触发时钟脉冲至各第一状态单元。
在公知的状态机或计数器中,各个用来产生递变状态的状态单元会统一以一时钟脉冲触发;即使在状态递变的过程中某些状态单元会一直维持同样的状态输出,时钟脉冲还是要耗费功率来驱动这些状态单元。因此公知技术的状态机或计数器无法避免这些状态单元消耗功率带来的负面影响,包括消费能量、增加系统驱动时钟脉冲的负担等等。
而在本发明的状态机或计数器中,则另设有一时钟脉冲门控电路,能依据初始状态来判断在后续状态递变的过程中有哪些状态单元的状态输出会维持不变,并停止将时钟脉冲传输至这些状态单元,使得时钟脉冲不需驱动这些状态输出不会改变的状态单元,以减少系统驱动时钟脉冲的负担及能量消耗。
附图说明
图1为一公知状态机的功能方块图。
图2为一公知计数器的功能方块图。
图3、4为图2中计数器状态递变的时序图。
图5为一典型互补金属氧化物半导体晶体管的电路示意图。
图6为本发明中状态机功能方块的示意图。
图7、图8为本发明中计数器功能方块的示意图。
附图符号说明
10、50状态机
12、31、52、71、U(1)-U(N)状态单元
14、54顺序逻辑电路
16、56组合逻辑电路
18、58状态位
20、36、60状态
22、34、62、74初始状态
24位
30、70、90计数器
32触发器
35、75辅助电路
37、A1-A4、A(1)-A(N)与门
38波形
40逻辑门
66、80时钟脉冲门控电路
76锁存电路
EN1、EN3、EN5初始值载入启动讯号
EN2、EN4、EN6计数启动讯号
G地端
Vd偏压源
T时段
M1-M4晶体管
B1-B4、A-C、D1-D4、D1i-D4i、D(1)-D(N)、Di(1)-Di(N)位
O1-O3、O(1)-O(N)或门
D0、D1输入端口
Q0、Q1输出端口
T0、T1、CK、TK时钟脉冲端
S0、S1设定端口
Q、Q′输出端
T输入端
CLK0-CLK2、CLK时钟脉冲
S、St设定端
N1-N3、Na-Nd节点
具体实施方式
请参考图6。图6为本发明中状态机50的功能方块示意图。类似于图1中公知状态机10,状态机50也设有多个状态单元52(图6中示出三个做为代表),用来依据时钟脉冲的触发而产生递变的状态位58作为状态输出。结合各状态单元52产生的状态位58就形成状态机50产生的状态60。各状态单元52中设有一顺序逻辑电路54及一组合逻辑电路56。其中各个顺序逻辑电路54对应地设有一输入端口D1、一输出端口Q1、一设定端口S1及一时钟脉冲端T1。顺序逻辑电路54依据输入端口D1的输入数据与时钟脉冲端T1所接收的时钟脉冲触发,就能在输出端口Q1输出随时钟脉冲递变的状态位58。依据设定端口S1传入的初始状态62,顺序逻辑电路54就能设定状态位58的初始值。
本发明与公知状态机最主要的不同处,在于本发明中增设有一时钟脉冲门控电路66,用来依据初始状态62判断在状态60由初始状态62开始递变的过程中,有哪些状态单元52的状态输出会维持不变。找出状态输出维持不变的状态单元后,时钟脉冲门控电路66就会停止提供时钟脉冲到这些状态单元52,以减少时钟脉冲的功率消耗。当然,对于状态输出会递变的状态单元,时钟脉冲门控电路66还是会统一以一时钟脉冲CLK1来当作触发时钟脉冲,以触发各状态单元的状态输出随时间递变。
请参考图7。为具体说明本发明的实施情形,现以本发明的构思实施于一4位倒计数二进制计数器时的相关配置来进一步描述本发明的实施方法;图7即为本发明中计数器70的电路方块图。类似于图2中计数器30的配置,计数器70中具有四个状态单元71,每一状态单元分别用来产生一对应的位D1至D4作为其状态输出;集合位D1至D4,就形成计数器70的状态76(也就是计数器70的计数值,其中位D4为最重要位,MSB,即MostSignificant Bit)。各状态单元71中的基本结构(如顺序逻辑电路、组合逻辑电路)可以由图2中各状态单元31类推而得,在不妨碍本发明技术公知的情形下,于此不再重复。为了突出本发明的重点,图7中各状态单元71仅示出一对应的设定端St及一时钟脉冲端TK,各状态单元71可依据设定端St输入的数据设定对应状态输出的初始值,并由时钟脉冲端TK输入的时钟脉冲触发而使对应状态输出随时间递变。此外,计数器70中也设有一辅助电路75,用来接收一初始值载入启动讯号EN3的触发而根据一初始状态74来设定各状态单元状态输出的初始值。对应于由位D1至D4所组合出来的状态76,初始状态74也是由四个位D1i至D4i所形成。而位D1i至D4i就分别为位D1至D4的初始值。
本发明的计数器70与图2中公知计数器30最重要的相异处,在于本发明的计数器70另设有一时钟脉冲门控电路80。时钟脉冲门控电路80可将一时钟脉冲CLK2选择性地供应至特定的状态单元71。在本实施例中,时钟脉冲门控电路80设有与门(AND gate)A1至A5、或门(OR gate)O1至O3以及一锁存(latch)电路76。其中与门A1至A4分别电连接到用来产生位D1至D4的四个状态单元的时钟脉冲端TK;换句话说,与门A1至A4及运算(ANDoperation)的结果就分别是各状态单元71的触发时钟脉冲。与门A5则用来依据一计数启动讯号EN4的触发而将时钟脉冲CLK2导入至时钟脉冲门控电路80。当辅助电路74受初始值载入启动讯号EN3的触发而设定各状态单元71的初始值时,也同样会触发锁存电路76将初始状态74的各个位D1i至D4i储存锁存至锁存电路76中;而时钟脉冲门控电路80中的各个或门与与门就能依据锁存电路76中的位D1i至D4i来选择性地将时钟脉冲CLK2提供至某些状态单元71。举例来说,当计数器70用来数出8时,初始状态74会是“0111”(即图4中所示的情形);换句话说,位D4i至D1i分别是数字的“0”、“1”、“1”、“1”。此时或门O1至O3的输出分别是“1”、“1”、“1”。等到计数启动讯号EN4由数字“0”转变为“1”而触发计数器70开始计数时,时钟脉冲CLK2就会由与门A5传输至与门A1,并分别由与门A1、A2、A3将时钟脉冲CLK2供应至位D1、D2及D3对应的状态单元。至于对应于位D4、状态在倒计数过程中一直不会改变的状态单元,由于与门A4一输入端为位D4i的数字“0”,所以与门A4就会将时钟脉冲CLK2门控,不会将其传输至位D4对应的状态单元,使得该状态单元不会受到时钟脉冲触发,并使位D4能一直维持初始值(也就是位D4i的值)。这样一来,时钟脉冲CLK2就不会因为要驱动位D4对应状态单元而多消耗功率,计数器70也还是能正常地依据图4中的状态递变而由初始状态“0111”倒计数至“0000”。
同理,若计数器70要由“0011”倒计数至“0000”而数出4,则时钟脉冲门控电路80中的或门O3至O1的或运算结果分别是数字“0”、“1”、“1”,使得时钟脉冲CLK2仅会由与门A2与A1传输至位D2、D1对应的状态单元;而与门A3的输出则为数字“0”,与门A4的两输入端都是数字“0”,故时钟脉冲CLK2就不需触发位D3、D4分别对应的两个状态单元。计数器70也能由初始状态“0011”随时钟脉冲的触发而递变为“0010”、“0001”最后数至“0000”。
请参考图8。图8为本发明的构思运用于一N位倒计数二进制计数器90时,其时钟脉冲门控电路94主要相关配置的示意图。计数器90中具有多个状态单元U(N)、U(N-1)、等等至U(n)、U(1);分别用来产生位D(N)、D(N-1)等等至D(n)、D(1)等的状态输出,并由这些位形成计数器90的状态92。为突出时钟脉冲门控电路94的基本设计构思,在此一般化的情形中,各状态单元仅示出对应的时钟脉冲端TK,用来接收时钟脉冲的触发;用来设定各状态位初始值的辅助电路则予以省略。而时钟脉冲门控电路94中设有与门A(N)、A(N-1)至A(n)、A(1)、A(0),以及或门O(N-1)、O(n)等等至O(1);锁存电路96则用来配合初始值载入启动讯号EN5的触发而储存各状态单元对应位的初始值,也就是位Di(N)、Di(N-1)等等至Di(n)、Di(1)。与门A(0)配合计数启动讯号EN6将一时钟脉冲CLK3引入时钟脉冲门控电路94,与门A(N)至A(1)则分别对应于状态单元U(N)至U(1)。如图8中状态单元U(n)一般性配置所显示的,状态单元U(n)的时钟脉冲端TK由与门A(n)的输出来触发,与门A(n)的输出端也于节点Na电连接到与门A(n+1)的一个输入端;而与门A(n)的一输入端连接于或门O(n)的输出端,另一输入端则于节点Nb连接于与门A(n-1)的输出端。或门O(n)的输出端另外于节点Nd电连接到或门O(n-1)的一个输入端,或门O(n)的两个输入端则分别用来接收位Di(n)(也就是位D(n)的初始值),以及于节点Nc电连接到或门O(n+1)的输出端。当此N位计数器90用来数出2L(2的L次方)时,Di(1)至Di(L)为数字“1”,Di(L+1)至Di(N)为数字“0”(即以数字D(n)为状态92最重要位)。因此,或门O(1)至O(L)或运算的输出皆为数字“1”,而其余或门O(L+1)至O(N-1)皆输出数字“0”。而与门A(1)至A(L)的一个输入端为数字“1”,就可将时钟脉冲CLK3传输至状态单元U(1)至U(L),以触发这些状态单元更新位D(1)至D(L)。而与门A(L+1)一输入端会接收与门A(L)输出的时钟脉冲,但另一输入端为数字“0”而停止将时钟脉冲传输至状态单元U(L+1)。而与门A(L+2)至A(N)两输入端都为数字“0”,当然也不会触发状态单元U(L+2)至U(N)。这样一来,计数器90就不必触发状态不会改变的状态单元U(L+1)至U(N),而状态单元U(1)至U(1)也就能递变倒计数至各位皆为数字“0”的状态92以数出2L。当然,图7、图8所显示的仅为本发明中时钟脉冲门控电路一实施例,其他可达同样功能的电路也可应用于本发明的时钟脉冲门控电路,最重要的是能够达到以初始状态来判断各状态单元的状态输出是否会改变,并正确的将时钟脉冲供应给状态输出会改变的状态单元,并停止供应时钟脉冲至状态输出不会改变的状态单元。
总结来说,在公知计数器或状态机在使用时,即使有某些状态单元的状态输出不会改变,这些状态单元也都还会被时钟脉冲触发;使得时钟脉冲还要消耗额外的功率来驱动这些状态单元,会造成系统资源的额外消耗。与之比较,本发明则以一时钟脉冲门控电路来根据初始状态找出状态输出不会改变的状态单元,并停止将时钟脉冲提供给这些状态单元,仅需将时钟脉冲提供至状态会改变的状态单元;这样一来,就可减少时钟脉冲驱动的功率需求,避免系统功率及资源的无谓消耗,提升微处理机系统资源运用的效率。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求书所进行的等效变化与修改,皆应属本发明的涵盖范围。
Claims (8)
1.一种计数器,其包含有:
多个状态单元,各状态单元用来产生一状态输出;而每一状态单元具有一对应的时钟脉冲端,用来接收一具有多个脉冲的时钟脉冲;
其中当每一状态单元由对应的时钟脉冲端接收一时钟脉冲时,该状态单元可根据一预设的原则以在接收该时钟脉冲的不同脉冲时更新其对应的状态输出;以及
一时钟脉冲门控电路,电连接到该多个状态单元,用来仅根据一固定的初始值于该多个状态单元中选择出至少一第一状态单元及至少一第二状态单元,以将一触发时钟脉冲提供至各第一状态单元的时钟脉冲端,并停止提供该触发时钟脉冲至各第二状态单元的时钟脉冲端,使得当各第一状态单元依据该触发时钟脉冲的不同脉冲而更新各第一状态单元的对应状态输出时,各第二状态单元对应的状态输出会维持不变;且该时钟脉冲门控电路不会依据各第一状态单元的状态输出变化而将该触发时钟脉冲提供至各第二状态单元,亦不会停止提供该触发时钟脉冲至各第一状态单元。
2.如权利要求1所述的计数器,其中当该初始值改变时,该时钟脉冲门控电路会于该多个状态单元中对应地选择出不同的第一状态单元及第二状态单元。
3.如权利要求1所述的计数器,其中每一状态单元另有一设定端,用来接收一初始状态,使得当该状态单元由对应的时钟脉冲端接收一时钟脉冲的触发时,会先输出一对应该初始状态的初始状态输出,再依据该预设的原则于接收该时钟脉冲的后续脉冲时,更新对应的状态输出。
4.如权利要求3所述的计数器,其中当该时钟脉冲门控电路依据该初始值选择该第一状态单元及该第二状态单元时,该计数器另可根据该初始值由各状态单元的设定端设定各状态单元的初始状态。
5.如权利要求1所述的计数器,其另包含有一锁存电路,连接于该时钟脉冲门控电路,用来储存该初始值。
6.如权利要求1所述的计数器,其中各状态单元包含有一触发器。
7.一种使用于一种计数器的方法,其中该计数器包含有:
多个状态单元,各状态单元用来产生一状态输出;而每一状态单元具一对应的时钟脉冲端,用来接收一具有多个脉冲的时钟脉冲;
其中每一各状态单元由对应的时钟脉冲端接收一时钟脉冲时,该状态单元可根据一预设的原则以在接收该时钟脉冲的不同脉冲时更新其对应的状态输出;而该方法包含有:
仅根据一固定的初始值于该多个状态单元中选择出至少一第一状态单元及至少一第二状态单元,以将一触发时钟脉冲提供至各第一状态单元的时钟脉冲端,并停止提供该触发时钟脉冲至各第二状态单元的时钟脉冲端,使得当各第一状态单元依据该触发时钟脉冲的不同脉冲而更新各第一状态单元的对应状态输出时,各第二状态单元对应的状态输出会维持不变,和
其中,当根据该初始值选择出第一状态单元及第二状态单元时,针对不同的初始值,于该多个状态单元中对应地选择出不同的第一状态单元及第二状态单元。
8.如权利要求7所述的方法,其中每一状态单元另有一设定端,用来接收一初始状态,使得当该状态单元由对应的时钟脉冲端接收一时钟脉冲的触发时,会先输出一对应该初始状态的初始状态输出,再依据该预设的原则于接收该时钟脉冲的后续脉冲时,更新对应的状态输出,和
其另包含有:当依据该初始值选择该第一状态单元及该第二状态单元时,另根据该初始值由各状态单元的设定端设定各状态单元的初始状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02129835 CN1257612C (zh) | 2002-08-15 | 2002-08-15 | 根据初始状态门控时钟脉冲触发的状态机、计数器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02129835 CN1257612C (zh) | 2002-08-15 | 2002-08-15 | 根据初始状态门控时钟脉冲触发的状态机、计数器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1395218A CN1395218A (zh) | 2003-02-05 |
CN1257612C true CN1257612C (zh) | 2006-05-24 |
Family
ID=4746340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02129835 Expired - Lifetime CN1257612C (zh) | 2002-08-15 | 2002-08-15 | 根据初始状态门控时钟脉冲触发的状态机、计数器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1257612C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005114845A2 (en) * | 2004-05-13 | 2005-12-01 | Thomson Licensing | Method and apparatus for synchronizing a clock generator in the presence of jittery clock sources |
KR100989458B1 (ko) * | 2008-05-13 | 2010-10-22 | 주식회사 하이닉스반도체 | 반도체 장치의 카운터 |
WO2012106880A1 (zh) * | 2011-07-11 | 2012-08-16 | 华为技术有限公司 | 获取芯片内部状态数据的方法和装置 |
-
2002
- 2002-08-15 CN CN 02129835 patent/CN1257612C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1395218A (zh) | 2003-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1103951C (zh) | 用于自定时算法执行的装置和方法 | |
CN1253995C (zh) | 开关电源控制电路和利用开关电源控制电路的开关电源 | |
Chen et al. | Minimization of switching activities of partial products for designing low-power multipliers | |
CN1107598A (zh) | 人工神经及其使用方法 | |
CN1637683A (zh) | 用于减少空闲模式下的功率消耗的处理器系统和方法 | |
CN101213749A (zh) | 多位可编程分频器 | |
EP0740420A2 (en) | N+1 Frequency divider counter and method therefor | |
CN101986259B (zh) | 无符号定点除法器 | |
CN1832351A (zh) | 通用时钟同步器及通用时钟同步方法 | |
CN100375011C (zh) | 任意精度运算器、任意精度运算方法和电子设备 | |
CN1892528A (zh) | 产生数字信号处理器和存储器的时钟信号的电路和方法 | |
CN111930682A (zh) | 时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机 | |
CN1257612C (zh) | 根据初始状态门控时钟脉冲触发的状态机、计数器及方法 | |
CN1021147C (zh) | 具有共用控制存储器的多处理机控制器 | |
US7149275B1 (en) | Integrated circuit and method of implementing a counter in an integrated circuit | |
Sharma et al. | Shift register design using two bit flip-flop | |
CN1813437A (zh) | 跨时钟域的事件无损传递 | |
US6937688B2 (en) | State machine, counter and related method for gating redundant triggering clocks according to initial state | |
JPH11500848A (ja) | 第1および第2のロード可能なカウンタを具えたパラメータ化可能な制御モジュールと、複数のかかるパラメータ化可能な制御モジュールを具えた電子回路と、かかる回路を合成する方法 | |
JPH06161712A (ja) | 多値減算器 | |
CN114138233A (zh) | 串行移位补码乘加器 | |
CN1588639A (zh) | 集成电路复位方法及复位系统 | |
Olivieri et al. | Bus-switch coding for reducing power dissipation in off-chip buses | |
CN1851637A (zh) | 产生随机数的装置及方法 | |
CN1167989C (zh) | 用于将非同步脉冲信号转换为同步脉冲信号的同步元件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20060524 |