一种时钟变频控制装置及方法
文献发布时间:2024-06-11 18:36:55
技术领域
本发明涉及处理器技术领域,特别是涉及一种时钟变频控制装置及方法。
背景技术
随着芯片制造工艺的迅速发展,晶体管特征尺寸不断缩小,同时因为芯片集成规模的快速增大,芯片单位面积上的功耗不断增加。对于承担主要运算任务的处理器而言,功耗的增加提升了芯片的实时工作温度,导致计算系统的失效率提升,同时较高的温度降低了晶体管中载流子的迁移速率,使晶体管的翻转时间增加,降低了芯片的计算性能和可靠性。
实际工作中处理器芯片的运行负载随着任务需求的变化而变化,当工作负载较轻时,处理器工作在较低频率即能满足相应的任务需求,但当负载加重时,需要提升工作频率以提供更高的计算性能,而更高的工作频率意味着更快的晶体管翻转速率,以及更高的工作温度和功耗。
传统的时钟升降频使用多路选择器根据性能需求选择不同的分频系数,然后根据分频系数直接对PLL IP核进行配置或对系统主时钟进行计数取反操作,这种通过配置系数进行计数分频的升降频操作在频率变化较大时会使寄生参数对电路的影响增大,降低了数字电路系统的稳定性与可靠性。
因此,提供一种解决了频率短时间内变化较大所带来的寄生参数影响,无需多路选择器电路进行分频系数的选取配置,减小了面积开销的同时降低了功耗的时钟变频控制装置及方法是本领域技术人员亟待解决的问题。
发明内容
本发明的目的在于提供一种时钟变频控制装置及方法,该装置结构简单,安全、有效、可靠且操作简便,该装置及方法解决了频率短时间内变化较大所带来的寄生参数影响,无需多路选择器电路进行分频系数的选取配置,减小了面积开销的同时降低了功耗。
基于以上目的,本发明提供的技术方案如下:
一种时钟变频控制装置,包括:等待周期计数模块、逐级切换计数模块和状态切换模块;
所述等待周期计数模块,用于在时钟变频过程中对已配置的等待时钟周期进行计数,并输出等待时钟周期计数结果;
所述逐级切换计数模块,用于所述等待周期计数模块计数完成之后,对已配置的变频级数进行计数,并输出级数计数结果;
所述状态切换模块,用于在所述逐级切换计数模块计数完成之后,使时钟在初始状态、稳定输出状态和所述逐级变频状态之间进行切换。
优选地,所述状态切换模块包括:逐级降频模块;
所述逐级变频状态对应的包括:逐级降频状态;
所述逐级降频模块,用于配置每级降频幅度;
所述逐级降频模块,还用于根据所述每级降频幅度、所述等待时钟周期计数结果和所述级数计数结果,将时钟由初始频率降至目标频率。
优选地,所述状态切换模块还包括:逐级升频模块;
所述逐级变频状态对应的还包括:逐级升频状态;
所述逐级升频模块,用于配置每级升频幅度;
所述逐级升频模块,还用于根据所述每级升频幅度、所述等待时钟周期计数结果和所述级数计数结果,将时钟由所述目标频率升至所述初始频率。
优选地,还包括:时钟门控模块;
所述时钟门控模块,用于根据预设规则获取门控时钟信号,以减少有效时钟个数。
优选地,所述时钟门控模块包括:饱和门控计数器;
所述根据预设规则获取门控时钟信号具体为:对所述饱和门控计数器和所述级数计算结果进行二位饱和运算加法,使用第三位饱和进位作为所述时钟门控时钟信号。
优选地,所述等待周期计数模块,还用于,在每次输出等待时钟周期计数结果之后,复原为初始计数值后开始下一级的所述等待时钟周期计数,直至获取所有级数的等待周期计数结果。
优选地,还包括:配置模块:
所述配置模块,用于在所述初始状态或所述稳定输出状态下,配置时钟变频参数;
所述时钟变频参数包括:变频信号、逐级变频信号、所述等待时钟周期、所述变频级数和启动信号。
一种时钟变频控制方法,包括如下步骤:
通过等待周期计数模块,在时钟变频过程中对已配置的等待时钟周期进行计数;
通过逐级切换计数模块,在所述等待周期计数模块计数完成之后,对已配置的变频级数进行计数;
通过所述状态切换模块,在所述逐级切换计数模块计数完成之后,使时钟在初始状态、稳定输出状态和所述逐级变频状态之间进行切换。
本发明提供了一种时钟变频控制装置,设置有等待周期计数模块、逐级切换计数模块和状态切换模块;工作过程中,时钟最开始处于初始状态,即时钟初始频率(即处理器在该频率下工作),在负载较轻时,需要降低晶体管转速率,即降低时钟初始频率至目标频率;在负载较重时,需要将目标频率调整至时钟初始频率。通过状态切换模块,使得在初始状态的时钟切换至逐级变频状态,对应负载较重或较轻的情况,在时钟变频过程中,先对已配置的等待时钟周期进行计数,并输出等待时钟周期计数结果;通过逐级切换计数模块在等待周期计数模块计数完成之后,对已配置的变频级数进行计数,并输出计数结果;其中,等待周期计数模块计数完成相当于确认每级调频的等待时间;逐级切换计数模块计数完成相当于确认级数,确定变频级数与每级调频的等待时间,即可将时钟的初始频率经过稳定变频至目标频率后(或将目标频率稳定的变动至初始频率),将时钟从初始状态切换至稳定输出状态,在负载较轻时,需要调整目标频率至初始频率,即将时钟从稳定输出状态切换至初始状态。
相比于现有技术,本发明由于采用了逐级变频,可以有效解决了频率短时间内变化较大所带来的寄生参数影响,提高了稳定性和可靠性。且本发明实质上还是同步时钟,无需多路选择器电路进行分频系数的选取配置,减小了面积开销的同时降低了功耗。
本发明还提供了一种时钟变频控制方法,由于与该装置解决相同的技术问题,属于相同的发明构思,理应具有相同的有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种时钟变频控制装置的结构示意图;
图2为本发明实施例提供的状态切换模块的结构示意图;
图3为本发明实施例提供的时钟变频过程中的状态转移示意图;
图4为本发明实施例提供的一种时钟变频控制方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例采用递进的方式撰写。
本发明实施例提供了一种时钟变频控制装置及方法。主要解决现有技术中,通过配置系数进行计数分频的升降频操作在频率变化较大时会使寄生参数对电路的影响增大,降低了数字电路系统的稳定性与可靠性的技术问题。
如图1和图3所示,一种时钟变频控制装置,包括:等待周期计数模块、逐级切换计数模块和状态切换模块;
等待周期计数模块,用于在时钟变频过程中对已配置的等待时钟周期进行计数,并输出等待时钟周期计数结果;
逐级切换计数模块,用于等待周期计数模块计数完成之后,对已配置的变频级数进行计数,并输出级数计数结果;
状态切换模块,用于在逐级切换计数模块计数完成之后,使时钟在初始状态、稳定输出状态和逐级变频状态之间进行切换。
实际运用过程中,状态切换模块中设定了时钟切换的三种状态,SLOW/QUICK为逐级降频/升频状态(即逐级变频状态);IDLE为初始状态;STEADY为稳定输出状态;在负载较轻时,需要降低频率,以减少功耗,此时时钟处于初始状态,通过等待周期计数模块对等待时钟周期进行计数完成之后,通过逐级切换计数模块对已配置的变频级数进行计数,在逐级切换计数模块计数完成之后(整个计数过程即为时钟处于逐渐变频状态进行变频的过程),通过状态切换模块将时钟由初始状态切换为稳定输出状态(即低频状态)。在负载较重时,需要增加频率,以提高工作效率,此时时钟处于稳定输出状态,通过同样的等待周期计数模块和逐级切换计数模块的计数流程后,通过状态切换模块将时钟由稳定输出状态切换为初始状态(即高频状态)。
如图2所示,优选地,状态切换模块包括:逐级降频模块;
逐级变频状态对应的包括:逐级降频状态;
逐级降频模块,用于配置每级降频幅度;
逐级降频模块,还用于根据每级降频幅度、等待时钟周期计数结果和级数计数结果,将时钟由初始频率降至目标频率。
实际运用过程中,状态切换模块设置有逐级降频模块,对应的逐级变频状态对应的有逐级降频状态。逐级降频模块可以根据实际需要配置每级降频幅度,并通过每级降频幅度、等待时钟周期计数结果和级数计数结果,将时钟由初始频率降至目标频率。
在本实施例中,通过逐级降频模块配置每级降频幅度为1/4的锁相环主时钟主时钟mainclk频率;每级频率切换都需要经过特定个数的mainclk时钟周期(通过等待时钟周期计数结果确定);根据实际需要设置将初始频率降低为目标频率具体需要多少级数(通过级数计数结果确定)。在降至目标频率后,切换为稳定输出状态。
如图2所示,优选地,状态切换模块还包括:逐级升频模块;
逐级变频状态对应的还包括:逐级升频状态;
逐级升频模块,用于配置每级升频幅度;
逐级升频模块,还用于根据每级升频幅度、等待时钟周期计数结果和级数计数结果,将时钟由目标频率升至初始频率。
实际运用过程中,对应的状态切换模块还设置有逐级升频模块,以及逐级变频状态对应的还包括有逐级升频状态。同样的,逐级升频模块可以根据实际需要配置每级升频幅度,并通过每级升频幅度、等待时钟周期计数结果和级数计数结果,将时钟由目标频率升至初始频率。
在本实施例中,每级升频幅度与每级降频幅度可以设置相同,也可以设置不相同,均可以根据实际需要进行设置。在从目标频率升至初始频率,切换为初始状态。
优选地,还包括:时钟门控模块;
时钟门控模块,用于根据预设规则获取门控时钟信号,以减少有效时钟个数。
实际运用过程中,还设置有时钟门控模块。时钟门控模块,通过时钟门控模块根据预设规则,获取相应的门控时钟信号,以减少有效时钟个数,从而降低主频时钟,同时使得时钟增加或者减少得更加平均。
优选地,时钟门控模块包括:饱和门控计数器;
根据预设规则获取门控时钟信号具体为:对饱和门控计数器和级数计算结果进行二位饱和运算加法,使用第三位饱和进位作为时钟门控时钟信号。
实际运用过程中,通过时钟门控模块内设置的饱和门控计数器与逐级切换计数模块中逐级计数器所输出的计数结果,进行二位的饱和运算加法,并使用第三位的饱和仅为作为门控时钟信号(即门控信号调控主时钟mainclk的有效时钟个数),以达到进一步降低主频时钟的效果。
需要说明的是,饱和加是一种特殊的加法运算。它预先设定一个上限Max.对两个数字进行加法操作时,如果最终的结果>Max,则运算结果取Max。这种运算一般用于DSP信号分析领域。
优选地,等待周期计数模块,还用于,在每次输出等待时钟周期计数结果之后,复原为初始计数值后开始下一级的等待时钟周期计数,直至获取所有级数的等待周期计数结果。
实际运用过程中,等待周期计数模块,在时钟切换至变频状态时,已配置的等待周期数在等待周期计数模块中不断自减,直至恢复成计数初始值,然后开始下一级的调频计数,直至完成所有级数的等待周期计数结果。
优选地,还包括:配置模块:
配置模块,用于在初始状态或稳定输出状态下,配置时钟变频参数;
时钟变频参数包括:变频信号、逐级变频信号、等待时钟周期、变频级数和启动信号。
实际运用过程中,还设置有配置模块,配置模块,在时钟处于初始状态或稳定输出状态,配置时钟变频参数,变频参数具体包括变频信号、逐级变频信号、等待时钟周期、变频级数和启动信号。
为清楚理解本方案,整体完整的说明下本方案的实施过程,如下:
首先在配置模块中,配置好升/降频信号、逐级升降信号、逐级升降级数以及启动信号等参数以及每次频率切换需要等待的主时钟周期数。为方便描述,将第一个寄存器命名为CMD,第二个寄存器命名为PRD,CMD中配置的升/降频信号命名为mode_up、逐级升降频信号命名为mode_degree、逐级升降级数命名为degree、启动信号的上升沿有效信号命名为start_pos。升降频等待周期计数器命名为prd_cnt,时钟逐级切换计数器命名为idegree,门控时钟电路中的饱和门控计数器命名为idegreegate。
启动升降频状态控制电路,将时钟由IDLE切换到SLOW状态,开始将原始主时钟频率逐级降频至目标频率。在降频过程中首先在升降频等待周期计数模块中对PRD寄存器配置的等待周期进行计数,其中的升降频等待周期计数器prd_cnt的每次完整计数意味着每级调频的等待时间,计数完成后在时钟逐级切换计数电路中对调频的级数进行计数,时钟逐级切换计数器idegree的计数完成信号将会使调频状态由SLOW切换至STEADY,稳定输出降频之后的时钟频率。同时,idegree的计数结果与饱和门控时钟计数器idegreegate进行2位的饱和加法运算,将饱和进位作为门控时钟信号控制较少有效的时钟个数,从而实现降频的目的。处于STEADY状态时可以再次配置CMD和PRD寄存器将调频状态切换至QUICK,开始将较低频率恢复至原始的主时钟频率。在逐级升频过程中,同样需要经过每次调频的等待时钟周期计数以及逐级调频的级数计数,升频完成后,由升降频状态控制电路将调频状态切换至IDLE。
在某个实施例中:每次1/4主时钟频率的调频幅度,所以升降频级数计数器的初始值为3,每完成一次等待时钟周期计数,级数计数器将会减一,直到减至配置好的级数,生成的降频计数完成信号将应用于调频状态切换的控制。而当升频条件触发时,调频状态将会切换到QUICK,开始对升频的级数进行计数,每级升频等待时钟周期计数完成都会使级数计数器加一,直到恢复成初始值,生成的升频计数完成信号同样将应用于调频状态切换的控制。
如图4所示,一种时钟变频控制方法,包括如下步骤:
S1.通过等待周期计数模块,在时钟变频过程中对已配置的等待时钟周期进行计数;
S2.通过逐级切换计数模块,在等待周期计数模块计数完成之后,对已配置的变频级数进行计数;
S3.通过状态切换模块,在逐级切换计数模块计数完成之后,使时钟在初始状态、稳定输出状态和逐级变频状态之间进行切换。
步骤S1至步骤S3中,时钟最开始处于初始状态,通过状态切换模块将初始状态切换至逐级变频状态,在此状态下,通过等待周期计数模块对已配置的等待时钟周期进行计数,在完成等待时钟周期计数后,通过逐级切换计数模块对已配置的变频级数进行计数,在完成变频级数计数完成后,通过状态切换模块将逐级变频状态切换为稳定输出状态。按照上述方式,对应的通过状态切换模块,将稳定输出状态切换为逐级变频状态,在完成变频后,再次切换为初始状态。
在本申请所提供的实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
另外,在本发明各实施例中的各功能模块可以全部集成在一个处理器中,也可以是各模块分别单独作为一个器件,也可以两个或两个以上模块集成在一个器件中;本发明各实施例中的各功能模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令及相关的硬件来完成,前述的程序指令可以存储于计算机可读取存储介质中,该程序指令在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
应当理解,本申请中如若使用了“系统”、“装置”、“单元”和/或“模块”,仅是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请中如若使用了流程图,则该流程图是用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
以上对本发明所提供的一种时钟变频控制装置及方法进行了详细介绍。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种信号控制装置及方法、显示控制装置及方法、显示装置
- 一种基于LoRa的广域分布式系统时钟同步装置和方法
- 一种构建用于集成电路设计的时钟树的方法及装置
- 时钟控制装置、时钟控制方法、时钟控制程序及集成电路
- 时钟控制装置、时钟控制方法、时钟控制程序及集成电路